Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2013 Feb 2.
Published in final edited form as: J Biomech. 2011 Dec 15;45(3):595–601. doi: 10.1016/j.jbiomech.2011.10.040

Estimation of musculotendon kinematics in large musculoskeletal models using multidimensional B-Splines

Massimo Sartori a,b,*, Monica Reggiani c, Antonie J van den Bogert d, David G Lloyd e
PMCID: PMC3264840  NIHMSID: NIHMS342948  PMID: 22176708

Abstract

We present a robust and computationally inexpensive method to estimate the lengths and three-dimensional moment arms for a large number of musculotendon actuators of the human lower limb. Using a musculoskeletal model of the lower extremity, a set of values was established for the length of each musculotendon actuator for different lower limb generalized coordinates (joint angles). A multidimensional spline function was then used to fit these data. Muscle moment arms were obtained by differentiating the musculotendon length spline function with respect to the generalized coordinate of interest. This new method was then compared to a previously used polynomial regression method. Compared to the polynomial regression method, the multidimensional spline method produced lower errors for estimating musculotendon lengths and moment arms throughout the whole generalized coordinate workspace. The fitting accuracy was also less affected by the number of dependent degrees of freedom and by the amount of experimental data available. The spline method only requires information on musculotendon lengths to estimate both musculotendon lengths and moment arms, thus relaxing data input requirements, whereas the polynomial regression requires different equations to be used for both musculotendon lengths and moment arms. Finally, we used the spline method in conjunction with an electromyography driven musculoskeletal model to estimate muscle forces under different contractile conditions, which showed the method is suitable for the integration into large scale neuromusculoskeletal models.

Keywords: musculoskeletal modeling, musculotendon length, muscle moment arm, muscle force, multidimensional spline interpolation

1. Introduction

Musculoskeletal modeling has applications ranging from the study of muscle contributions to movement (Lloyd and Besier, 2003; Winby et al., 2009) to the development of human-machine interfaces (Fleischer and Hommel, 2008). Musculoskeletal modeling and simulations require accurate estimates of musculotendon kinematics including musculotendon length (ℓmt) and three-dimensional moment arms (r) to accurately predict musculotendon forces (Fmt) and joint moments.

Musculotendon kinematics estimates can be produced by software that models musculotendon paths wrapping around points and/or surfaces (Delp et al., 2007; Delp et al., 1990). However, this is based on obstacle detection and may cause discontinuities in the predicted musculotendon kinematics (Gao et al., 2002; Garner and Pandy, 2000). Moreover, it is desirable that musculotendon kinematics equations are continuously differentiable to enable the computation of analytical Jacobians for the forward simulation of the musculoskeletal system (Ackermann and van den Bogert, 2010; Menegaldo et al., 2006).

Sets of differentiable polynomial regression equations (Peq) have been proposed to estimate ℓmt and r from nominal values of both parameters corresponding to combinations of discrete joint angles or generalized coordinates (GC) (Menegaldo et al., 2004). This required gathering data sets on both ℓmt and r and manually identifying the best-performing equations that depended on the muscle, number of GCs, and the fitted musculotendon parameter. This necessitated computing and storing coefficients for all equations for ℓmt and r for each muscle before use.

Alternatively, continuously differentiable multidimensional cubic splines can be used, but are yet to be examined as a means to estimate musculotendon kinematics. In this paper we show a single spline function per muscle can be used to estimate ℓmt and r based on only nominal values of mt. We then compare fitting accuracy and computation time to Peq. The ℓmt nominal values were derived from musculoskeletal geometry models using OpenSim (Delp et al., 2007). Finally, we quantified how differences in the ℓmt estimates affect Fmt estimates using an electromyography (EMG) driven musculoskeletal model (Buchanan et al., 2004; Lloyd and Besier, 2003).

2. Methods

The performance of Peq and spline methods were examined using two musculoskeletal models (Table 1): LowerLimb4307 (Delp et al., 1990) and LowerLimb1310 (Winby et al., 2009). The reader is referred to (Menegaldo et al., 2004) for Peq theory, while a summary of spline theory (Habermann and Kindermann, 2007) is now presented.

Table 1.

Generalized coordinates (GCs) and their angular ranges of motion (ROM), expressed in degrees, of the two general lower limb models. The LowerLimb4307 model had 43 musculotendon actuators (MTAs) and 7 GCs (Delp et al., 1990). This was used by Menegaldo et al. (Menegaldo et al., 2004) to study polynomial regression equations (Peq) fitting accuracy and was used in this study as the comparison method. The LowerLimb1310 model had 13 MTAs crossing the knee joint and 10 GCs (Winby et al., 2009). It was used to study splines and Peq fitting capabilities over a wider range of GC angles. The metatarsus-phalangeal angle was not used in this model because MTAs do not cross the metatarsus-phalangeal joint. Two different ROM arrangements were used for this model to examine how the fitting accuracy varied when the distance between nodes increased.

LowerLimb4307 Model Min Max
Hip internal-external rotation (HR) -20 20
Hip adduction-abduction (HA) -50 15
Hip flexion-extension (HF) -10 95
Knee flexion-extension (KF) -10 95
Subtalar flexion-extension (SF) -20 20
Ankle dorsi-plantar flexion (AF) -30 30
Metatarsus-phalangeal angle (MA) -30 30

LowerLimb1310 Model Reduced ROM Extended ROM

Min Max Min Max

Hip internal-external rotation (HR) -20 20 -30 20
Hip adduction-abduction (HA) -50 15 -50 30
Hip flexion-extension (HF) 0 95 -10 95
Knee internal-external rotation (KR) -5 5 -10 10
Knee adduction-abduction (KA) -3 3 -5 5
Knee flexion-extension (KF) 0 120 -10 120
Subtalar flexion-extension (SF) -10 10 -20 20
Ankle adduction-abduction (AA) -10 10 -20 20
Ankle dorsi-plantar flexion (AF) -30 30 -40 30

A cubic spline consists of a series of third-order polynomials spliced together to preserve continuity of the first and second-order derivatives. The points at which polynomials are spliced together, a = x0 < x1 <… < xn = b ∈ ℝ are called nodes, where Δn = [a = x0, x1,…, xn = b] is the bounded interval of interest. If Δn and the interpolation data yi ∈ ℝ, i = 0,…, n are given, a spline interpolates yi while satisfying n + 3 conditions on the nodes: s1 (xi) = yi for i = 0,…, n, and 1 (a) = α, s̈1 (b) = β, where s1 represents a one-dimensional spline function on Δn, 1 is its second-order derivative, while α and β are real-valued terms (Habermann and Kindermann, 2007). A spline with n + 1 nodes can be written as a linear combination of n + 3 cubic polynomials u1, u2,…, un+3 defining a basis:

s1(x)=i=lmciui(x) (1)

with coefficients ci, where m = min(l + 3, n + 3), l=[xah]+1, and h is the distance between nodes. When the interpolation data vary as a function of d variables (d-dimensional case), Eq. (1) can be generalized (Habermann and Kindermann, 2007) thus requiring Nc=i=1d(n1+3) coefficients whilst a spline value can be computed using i=1d(mili+1)3d coefficients and basis functions.

Given two real-valued variables x and z on the bounded intervals Δn1 = [a1, b1] and Δn2 = [a2, b2], the spline partial derivative with respect to x can be computed using the spline coefficients ci1i2:

s2(x,z)x=i1=l1m1i2=l2m2ci1i2u˙i1(x)νi2(z) (2)

where ui1 (x) and υi2 (z) represent basis functions for the two variables respectively and i1 (x) is the first-order derivative.

The problem of finding ℓmt as a function of d GC-angles, (q1,…, qd) is formulated by determining the (n1 + 3) · … · (nd + 3) coefficients for the d-dimensional spline function sd(q1,…, qd), where ℓmt are the nominal data to be interpolated. Moment arms (rqi) with respect to a specific GC (qi) are then found by the partial differentiation (Eq. (2)) of sd(q1,…, qd):

rqi=mt(q1,,qd)qi=sd(q1,,qd)qi (3)

The ℓmt values for qi that extend beyond their intervals Δi, ∀ 1 ≤ id, are obtained by creating a tangent line at all end points using linear extrapolation with the slope given by the values of rqi at the end points. Moment arms are therefore kept constant for qi values that extend beyond Δi.

2.1 Validation procedure

Validation comprised of four tests to assess fitting accuracy and one to examine computation time and memory storage requirements. GC ranges of motion (ROM) were sampled into equidistant nodes and input into OpenSim1 to compute ℓmt and r nominal values for Peq coefficient calculation. Only ℓmt values were used for splines coefficients. The fitting accuracy was assessed both on the interpolation nodes (on-nodes) and on points located midway between nodes (off-nodes).

The four fitting accuracy tests examined the ability of the spline and Peq methods in reproducing OpenSim-generated ℓmt, r and Fmt calculated using OpenSim-generated ℓmt (Section 2.2). The Mean Fitting Error (MFE) and its standard deviation (σ) were used to measure the expected error, and its variation, for Peq and spline estimations of OpenSim-generated values:

MFE=1Ni=1N|X^iXi|, (4)

where is the OpenSim-generated ℓmt or r, or Fmt calculated using OpenSim-generated ℓmt; the X corresponds to the value estimated using the Peq or spline methods, and N the number of fitting function points. The percent MFE (%ε) was estimated with respect to the corresponding expected OpenSim-generated value (E[]):

%ε=MFEE[X^]×100 (5)

The MFE with 95% confidence interval (CI) was estimated using the Central Limit Theorem, which enabled maximum expected errors (MEE) to be calculated:

MEE=MFE+1.96σ,(95%) (6)

This assumed a random error with normal distribution that is generally not the case (Fig. 1a). A normality check was performed using a one-sample Kolmogorov-Smirnov test with a 5% significance level (Miller, 1956). If normality was rejected, then a more conservative MEE with 90% and 95% CIs was obtained using the Chebyshev’s Theorem, which can be applied to any probability distribution with known mean and σ:

MEE=MFE+3.16σ,(90%) (7)
MEE=MFE+4.47σ,(95%) (8)

All metrics were applied to all fitting accuracy tests, except for %ε that was only used in the second test. These tests are now described in more detail.

Figure 1.

Figure 1

Figure 1

Figure 1

Figure 1

Figure 1

Figure 1

First fitting accuracy test: all graphs report values for the tibialis anterior muscle using the LowerLimb4307 model (Delp et al., 1990). (a) The two surfaces represent the distribution of the difference between musculotendon length ℓmt computed using OpenSim and ℓmt estimated by Peq (poly) and spline function (spline) respectively. (b) The distribution of the ankle dorsi-plantar flexion moment arms (rAF) computed using OpenSim and using Peq respectively. (c) The distribution of the subtalar flexion-extension moment arm (rSF) computed using OpenSim and using the spline function respectively. Histograms (d), (e) and (f) show the spline method fitting error distribution associated to mt, rAF and rSF respectively. The maximum expected errors (MEEs) are calculated both using Chebyshev’s Theorem (cheby) and the Central Limit Theorem (norm).

2.2 Validation Fitting Accuracy Tests

The first test of fitting accuracy examined splines and Peq musculotendon kinematics using Menegaldo’s et al. input data, musculoskeletal model (i.e. LowerLimb4307 model), analysis procedure, and resulting Peq set (Menegaldo et al., 2004). GC ROMs were sampled with 20 points, although when ℓmt depended on four GCs, a 15-point sampling was used.

In the second test the semimembranosus was chosen to examine how fitting accuracy changed with a large number of GCs, and varying distance between nodes. The LowerLimb1310 model was used with a 10-point GC ROM sampling using two different ROM arrangements (Table 1). The number of GCs was varied from four to six. The 4-GC set included: hip internal-external rotation (HR), hip adduction-abduction (HA), hip flexion-extension (HF), and knee flexion-extension (KF). The 5-GC set added knee internal-external rotation (KR), and the 6-GC set included knee adduction-abduction (KA).

In the third and fourth tests, biarticular thigh muscles from the LowerLimb1310 model were chosen to assess the impact of the spline and Peq estimates of ℓmt on the calculation of Fmt. This employed four GCs with knee GCs reduced to KF only, and a 10-point extended ROM sampling (Table 1). Fmt was estimated as a function of EMG and ℓmt using an EMG-driven model (Lloyd and Besier, 2003) which we briefly summarize. Raw EMGs were first high-pass filtered (30Hz), full wave rectified, and low-pass filtered (6Hz) to create EMG linear envelopes (e(t)). The linear envelopes were normalized to maximum EMG data that were the peak e(t) values from a set of motor tasks that included; three trials of running at 5m/s, five repeated calf rises, and maximum exertion isometric knee flexion-extension trials twice repeated at each 100, 70 and 40 degrees of knee flexion on a Biodex (NY, USA) dynamometer. The normalized linear envelopes were then processed using a model that represented the muscle’s twitch response as a critically-damped second-order filter (Lloyd and Besier, 2003). These data series (u(t)) were subsequently adjusted to account for the non-linear EMG-to-force relationship (Lloyd and Besier, 2003). The resulting muscle activation (a(t)) was a dimensionless term varying between 0 and 1.

Each musculotendon actuator (MTA) had muscle fibers modeled as a Hill-type muscle model (Zajac, 1989) in series with a non-linear elastic tendon (Lloyd and Besier, 2003). Fibers where modeled using generic force-length f(lm), force-velocity f(νm), and parallel passive force-length curves fP(lm). These were normalized to maximum isometric muscle force (Fmax), optimal fiber length (lom), and maximum muscle contraction velocity (νmax) (Zajac, 1989). Tendons were modeled with a non-linear force-strain function f(ε) (Zajac, 1989), where ε=ltlstlst is the tendon strain, lt is the tendon length, and lst is the tendon slack length, with f(ε) normalized to Fmax (Zajac, 1989). Using biomechanical parameters from (Delp et al., 1990), Fmt was calculated as a function of a(t), fiber length lm and fiber contraction velocity νm:

Fmt=Ft=Fmcos(ϕ(t))=[a(t)f(lm)f(νm)+fP(lm)]Fmaxcos(ϕ(t)), (9)

where Ft is the tendon force, and φ(t) is the pennation angle that changes with lm (Scott and Winter, 1991). ℓmt estimates were generated using OpenSim, Peq and splines, which were used as the basis to calculate Fmt time series for each MTA (Lloyd and Besier, 2003). Briefly, this was performed using initial values of lm from which tendon length was determined, i.e. lt = ℓmt − lm cos(φ(t)). Then, tendon strain ε=ltlstlst was calculated from which Ft, and Fmt, were determined. By rearranging Eq. (9) the fiber velocity dependent muscle force Fν was determined (Buchanan et al., 2004):

Fν=(FmfP(lm)Fmax)a(t)f(lm)Fmax (10)

since activation a(t) was known and both f(lm) and fP(lm) were evaluated using the current lm. Using Fν and inverting the fiber-velocity relationship f(νm), νm could be determined, which was then numerically integrated to estimate the next lm in time. And so the process continued until the end of the time series producing estimates for each MTA’s time varying Fmt. In the special case for isometric contractile conditions, a simplified procedure (Buchanan et al., 2004) was used in which initial values for lm and lt were iteratively adjusted to ensure Ft = Fm cos(φ(t)) and mt = lt + lm cos(φ(t)).

We compared Fmt computed using splines and Peq-generated values for ℓmt to our gold standard Fmt derived using the OpenSim-generated ℓmt. Estimated Fmt values were multiplied by the respective muscle KF moment arms and summed to determine the total KF moment.

In the third test the EMG-driven model was used to examine the impact of mt estimates on Fmt estimates under maximum isometric contractile conditions (i.e. a(t) = 1 and νm(t) = 0, ∀t) not involving real subject data. On-nodes and off-nodes ℓmt values were calculated using OpenSim, Peq, and splines, where each mt value was associated to a hypothetical instant of time t.

The fourth test studied how mt estimates affected Fmt evaluations in low-effort (walking at 1.4 ± 0.3m/s) and higher-effort (jogging at 2.3 ± 0.4m/s) dynamic contractile conditions. A healthy male subject (mass: 81.7Kg, height: 175.7cm, age: 30years) gave his informed, written consent prior to data collection. The subject’s static anatomical poses and gait patterns were captured using a seven-camera Vicon MX Motion Analysis system (Oxford Metrics, UK) sampling at 100Hz. During the gait trials, ground reaction forces (GRF) and EMG data were acquired at 2000Hz synchronously with motion data. EMGs were collected from the muscles crossing the knee defined in the LowerLimb1310 model. Marker trajectories and GRF were low-pass filtered (6Hz) as suggested by (McLean et al., 2005). OpenSim was used to create a dynamic motion simulation per gait trial. The LowerLimb1310 model was scaled (Delp et al., 2007) to match the subject’s anthropometry based on experimentally measured marker positions from static poses. OpenSim created virtual representations of the experimental markers and an inverse kinematics algorithm solved for GC-angles that minimized the difference between experimental and virtual markers (Delp et al., 2007). GC-moments needed to generate the subject’s movement were computed using the OpenSim inverse dynamics algorithm (Kuo, 1998). The inverse kinematics GC-angles from the walking and jogging trials were within the bounds of the extended range of motion of the LowerLimb1310 model (Table 1), from which the mt values were computed for each muscle using OpenSim, Peq, and splines respectively.

Some EMG-driven model parameters vary non-linearly with subject’s anthropometry and the physiological conditions during testing and could not be obtained experimentally or from literature. These parameters were calibrated to the individual (Lloyd and Besier, 2003; Winby et al., 2009) and included two global activation filtering coefficients that were varied between -1 and 1 to realize a stable positive solution to the critically-damped recursive filter (Lloyd and Besier, 2003). One global activation shape parameter was also varied between -5 and 0 to account for the non-linearity of the EMG-to-force relationship (Lloyd and Besier, 2003). Finally, muscle-specific lst values were varied so that lst=initial value±5%, with initial values taken from literature (Delp et al., 1990; Lloyd and Besier, 2003). The parameters were adjusted using a simulated annealing algorithm that minimized2 the least-squared differences between the KF moments estimated using the EMG-driven model and inverse dynamics (Winby et al., 2009). Three walking and two jogging trials were used for parameter adjustment. Using the adjusted parameters the EMG-driven model was then used to estimate Fmt (Eq. (9)) in other gait trials not used in the adjustment process. Forces estimated during the stance phase were time-normalized and two ensemble average curves computed from walking and jogging trials respectively and used to estimate the instantaneous force errors using Eq. (4) (with N = 1, ∀0% stancei ≤ 100% stance).

Finally, we examined how computation time varied with the number of GC’s. To this end, we computed the average time needed to repeatedly estimate one sample of ℓmt and r 10000 times with GCs varying from one to six respectively. A 2.26GHz 3GB-RAM PC was used. Both spline and Peq evaluation routines were implemented in C++ for speed comparison. Furthermore, the memory required to store the coefficients and nominal data for all muscles during each test for both Peq and spline methods was assessed. For each test and method, two text files were created where coefficients and nominal data were stored respectively, and then the files sizes were reported in megabytes.

3. Results

The tibialis anterior muscle was chosen to demonstrate the spline performances in the first test. This muscle’s kinematics depended on ankle dorsi-plantar flexion (AF) and subtalar flexion-extension (SF). The variation of mt, r, and errors are easy to visualize in 3D (Fig. 1). The fitting errors between the OpenSim and spline mt values were uniform throughout the GC workspace reaching a 0.3 × 10−6 cm maximum while Peq errors reached higher peaks (0.14cm) at the boundaries3 (Fig. 1a). The Peq fitting error for the AF moment arms reached peak values (0.59cm) at the boundaries (Fig. 1b). There was good agreement between the OpenSim-generated surface associated to SF moment arms and those generated by the spline function with a 8 × 10−4 cm maximum error (Fig. 1c). The distribution of the spline-generated errors is shown in Figs 1d, 1e and 1f. Errors were in the order of 10−5 cm for the mt estimation and in the order of 10−3 cm for the estimation of AF and SF moment arms. The distribution of the Peq-generated error was previously published by Menegaldo et al. (Menegaldo et al., 2004) and is not reported in this study. However, for all muscles, Peq MFEs were always three orders of magnitude larger than spline MFEs (Table 2).

Table 2.

First fitting accuracy test: the mean fitting errors (MFE) and standard deviations (σ), expressed in meters, for both polynomial regression equation (Peq) and splines. Values are associated to the estimation of musculotendon length (ℓmt) and moment arms (r) and were obtained by averaging MFEs and σ associated to all muscles in the LowerLimb4307 model (Delp et al., 1990). Moment arm estimates from the splines were obtained by differentiating the musculotendon length (ℓmt) spline function (Eq. (3)). A set of Peq were individually fitted to ℓmt and r for each muscle.

MFE ± σ mt rHR rHA rHF rKF rSF rAF rMA
Peq 7.2E-04± 6.4E-04 2.1E-03± 1.6E-03 2.8E-03± 2.2E-03 2.9E-03± 2.3E-03 4.7E-04± 5.1E-04 9.4E-04± 9.1E-04 4.4E-04± 7.2E-04 1.6E-04± 9.3E-05
Spline 1.1E-07± 3.2E-07 1.8E-06± 3.3E-06 3.4E-06± 1.2E-05 3.8E-06± 1.4E-05 1.2E-05± 4.1E-05 6.7E-06± 1.9E-05 2.0E-06± 3.8E-06 9.3E-07± 9.9E-07

From the second test, Peq-generated mt fitting errors (Table 3) evaluated off-nodes (10-3m) were smaller than those evaluated on-nodes (between 10-3m and 10-2m). On-nodes spline errors were negligible (10-10m), due to the spline interpolation conditions, and off-nodes spline errors varied between 10-6m and 10-4m (Table 3). Finally, spline-generated %ε for the HA moment arms (Table 4) were smaller (between 0.04% and 0.26%) than Peq-generated %ε (between 8.38% and 12%).

Table 3.

Second fitting accuracy test: the semimembranosus’s musculotendon length (ℓmt) fitting error (meters) using the LowerLimb1310 model (Winby et al., 2009). In this test the effect of the number (n = 4, 5, and 6) of generalized coordinates (GC) and the distance between interpolation nodes (reduced/extended GC range of motion (ROM)) were evaluated. Pneq represents the n-dimensional polynomial regression equation that was a function of n GCs, while sn represents the n-dimensional spline function. Both polynomial regression and spine methods were used to estimate ℓmt using the reduced and extended ROMs for the GCs listed in Table 1. With these two ROM arrangements, ℓmt was estimated both on the interpolation nodes (on-nodes) and at points placed midway between two consecutive interpolation nodes (off-nodes). Error measures used to quantify the fitting accuracy included: Mean Fitting Error (MFE), standard deviation (σ) and 95% confidence interval using the Chebyshev’s distribution (MEE).

On or off nodes Reduced ROM
Extended ROM
MFE σ MEE MFE σ MEE
On Nodes
P4eq
2.15E-03 1.74E-03 9.92E-03
P4eq
2.35E-03 2.22E-03 1.23E-02
S4 2.39E-10 1.69E-10 9.97E-10 S4 2.25E-10 1.60E-10 9.42E-10


Off Nodes
P4eq
1.86E-03 1.42E-03 8.19E-03
P4eq
1.91E-03 1.71E-03 9.54E-03
S4 6.93E-06 7.18E-06 3.90E-05 S4 1.62E-05 2.11E-05 1.11E-04
On Nodes
P5eq
2.16E-03 1.68E-03 9.69E-03
P5eq
2.45E-03 2.26E-03 1.26E-02
S5 2.46E-10 1.75E-10 1.03E-09 S5 2.31E-10 1.66E-10 9.74E-10


Off Nodes
P5eq
1.87E-03 1.34E-03 7.85E-03
P5eq
2.02E-03 1.72E-03 9.71E-03
S5 6.92E-06 7.17E-06 3.90E-05 S5 1.62E-05 2.11E-05 1.11E-04
On Nodes
P6eq
2.17E-03 1.68E-03 7.49E-03
P6eq
2.53E-03 2.28E-03 1.27E-02
S6 2.56E-10 1.83E-10 1.07E-09 S6 2.51E-10 1.82E-10 1.06E-09


Off Nodes
P6eq
1.86E-03 1.33E-03 7.81E-03
P6eq
2.08E-03 1.74E-03 9.86E-03
S6 1.35E-05 1.88E-05 9.74E-05 S6 2.66E-05 3.52E-05 1.84E-04

Table 4.

Second fitting accuracy test: the percent mean fitting error (%ε) obtained using the LowerLimb1310 model (Winby et al., 2009). Values of %ε are from the estimation of the semimembranosus hip adduction-abduction moment arms (rHA). In this test the effect of the number (n = 4, 5, and 6) of generalized coordinates (GC) and the distance between interpolation nodes (reduced/extended GC range of motion (ROM)) were evaluated. Values of %ε are calculated using Pneq that represents the n-dimensional polynomial regression equation that was a function of n GCs and was used to directly estimate rHA. Furthermore, values of %ε are also calculated using snlmtqHA that is the first-order partial derivative of the n-dimensional spline function that was used to directly estimate ℓmt (i.e. snlmt) with respect to hip adduction-abduction GC (qHA). Values of %ε were calculated using both an extended and a reduced ROM as in Table 1. With these two arrangements, %ε was calculated both on the interpolation nodes (on-nodes) and on a set of nodes placed midway between the interpolation nodes (off-nodes).

Reduced ROM Extended ROM

On-Nodes Off-Nodes On-Nodes Off-Nodes
P4eq
10.35 8.39 12.01 9.94
s4lmtqHA
0.18 0.05 0.26 0.06

P5eq
10.34 8.38 12.00 9.93
s5lmtqHA
0.18 0.04 0.26 0.06

P6eq
10.34 8.38 12.00 9.95
s6lmtqHA
0.18 0.05 0.26 0.07

From the third test, the muscle forces estimated using OpenSim-generated mt are shown in Table 5. Peq-generated force errors fell into classes with errors in the hundreds of newtons (N) (Fig. 2a). However, spline-generated force errors were always less than 30N (Fig. 2b) and at all times fell in the first and smallest Peq error class (Fig. 2a).

Table 5.

Third fitting accuracy test: the mean, standard deviation (σ), maximum (Max), and minimum (Min) musculotendon force (expressed in newtons) during maximum isometric contractile conditions. These were obtained using OpenSim-generated musculotendon lengths ℓmt, for the biarticular thigh muscles: semimembranosus (SM), semitendinosus (ST), biceps femoris long head (BFLH), sartorius (SAR), rectus femoris (RF), and gracilis (GRA). The ℓmt nominal values for the force estimation were obtained from the 104 data points corresponding to all configurations of hip adduction-abduction, hip internal-external rotation, hip flexion-extension, and knee flexion-extension (Section 2.2).

SM ST BFLH SAR RF GRA
Mean 1090.6 306.8 623.9 102.3 895.1 105.9
σ 886.2 56.7 351.6 8.5 603.4 17.5
Max 5368.9 545.8 2084.4 168.85 3924.3 177.4
Min 0 95.7 0 78.5 0.1 49.6

Figure 2.

Figure 2

Figure 2

Figure 2

Histograms (a) and (b) report the third test’s error distribution associated to the prediction of the maximum isometric musculotendon force Fmt. The maximum expected error (MEE) calculated both using Chebyshev’s Theorem (cheby) and the Central Limit Theorem (norm) are also reported. Histogram (a) shows the error distribution for both spline and polynomial regression equations Peq (poly). MEEs are reported for Peq only because spline’s MEEs are contained in the first (smallest) error class. Histogram (b) shows the error distribution for the spline method only as well as associated MEEs. Graph (c) reports the absolute value of the instantaneous semimembranosus force prediction errors averaged over all walking and jogging trials during the fourth test. Histograms (a) and (b), and graph (c) combine values for all biarticular thigh muscles in the LowerLimb1310 model (Table 5) (Winby et al., 2009).

From the fourth test, the estimated forces generated by semimembranosus in walking and jogging are reported in Table 6. Peq-generated force errors were higher during high-activation jogging tasks than during low-activation walking tasks as opposed to the spline case (Fig 2c). The mt fitting errors significantly varied between spline and Peq and directly impacted on the force prediction. During walking, Peq-generated mt fitting errors reached peak values (0.5±0.07cm) from 50% to 70% of stance corresponding to peak force errors (4.5±0.5N) in the same range (Fig. 2c). During jogging, Peq-generated mt fitting errors reached peak values (0.48±0.02cm) from 65% to 80% of stance corresponding to an increase in force error up to 20N in a similar range (Fig 2c). Spline-generated mt fitting errors were always less than 0.006cm with corresponding force errors smaller than 1N during walking and jogging (Fig. 2c).

Table 6.

Fourth fitting accuracy test: the semimembranosus’s activation and musculotendon force, obtained using OpenSim-generated ℓmt, for the four discrete events in gait: beginning of stance, first activation/force peaks, second activation/force peaks, end of stance phase. Values are averaged over the 15 walking (Walk) and 5 jogging (Jog) trials (Section 2.2).

Stance % 0 25 40 100 Walk
Activation 0.02 ± 0.01 0.49 ± 0.05 0.39 ± 0.08 0.03 ± 0.01
Force (N) 23.5 ± 12.4 369 ± 24.7 277 ± 51 5.14 ± 11.4
Stance % 0 30 48 100 Jog
Activation 0.24 ± 0.03 0.65 ± 0.03 0.49 ± 0.04 0.28 ± 0.02
Force (N) 132.5 ± 17.6 441 ± 13 277.9 ± 11.3 95.38 ± 11.6

In all tests, the Kolmogorov-Smirnov test rejected the normal distribution hypothesis for splines and Peq fitting errors for all muscles justifying the use of the Chebyshev’s Theorem for CI computation.

Spline computation time ranged from 10−5ms (one-dimensional case) to 10−2ms (six-dimensional case) as opposed to 10−5ms with the Peq. Even though the number of spline coefficients varies exponentially with the number of GCs and nodes, compared to the Peq, the total memory required was smaller in the spline case since splines only needed nominal ℓmt data to estimate both ℓmt and r (Table 7).

Table 7.

The number of coefficients per muscle, and memory requirements in megabytes (MB) to store coefficients (Coefficient Storage) and nominal values for coefficient calculation (Nominal Data Storage) both for polynomial regression equations (Peq) and splines. The total memory to store both coefficients and nominal values is also reported (Total Storage). For Peq, these parameters vary with the number of generalized coordinates (GCs) and muscles. For splines they also vary with the number of nodes (Section 2). Because a different set of polynomial regression equations are generated depending on the number of GCs, the reported number of Peq coefficients per muscle is relative to all coefficients from all polynomial regression equations within each set (Menegaldo et al., 2004). Data for tests 3 and 4 are the same as those for test 2 with 4 GCs.

Test 1 Test 2
GCs 1 2 3 4 4 5 6
Muscles 5 6 27 6 9 9 9
Nodes per muscle 20 202 203 154 104 105 106
Polinomial Eq. Coefficients per Muscles 18 60 116 195 195 300 434
Coefficient Storage (MB) 0.004 0.004 0.047 0.023 0.039 0.059 0.086
Nominal Data Storage(MB) 0.008 0.085 9.385 17.32 3.36 200.6 482.8
Total Storage (MB) 0.012 0.089 9.432 17.343 3.399 200.7 482.9
Spline Coefficients per Muscle 23 529 12,167 104,976 28,516 371,293 4,826,809
Coefficient Storage (MB) 0.004 0.033 0.766 6.607 2.696 35.055 455.717
Nominal Data Storage (MB) 0.002 0.027 2.227 3.079 0.6 29.9 61.8
Total Storage (MB) 0.006 0.06 2.993 9.686 3.296 64.955 517.52

4. Discussion

Multidimensional cubic B-splines were used to estimate lower-limb musculotendon kinematics and were compared to a previous method that employed polynomial regression (Menegaldo et al., 2004). Splines provided fitting errors that were uniform throughout the GC workspace and at least three orders of magnitude smaller than Peq errors, the latter increasing at the workspace boundaries. Peq-generated force errors were i) larger than spline-generated errors during maximum isometric contractile conditions, and ii) dependent on the level of muscle activation during dynamic tasks. This suggests splines may be more reliable for integration into forward dynamics musculoskeletal models, in which analytical Jacobians can be easily computed by differentiating the ℓmt spline function (Eq. (3)).

The time needed to evaluate one point on Peq was always in the order of 10-5ms whereas spline computation time varied exponentially with the number of GCs. However, this was always less than 0.01ms (6-GC case) thus providing adequate speed for applications requiring real-time computation of mt and r with the subsequent real-time estimation of Fmt and joint moments. Examples of these emerging applications are biofeedback (Murai et al., 2010) or EMG-controlled powered orthoses (Fleischer and Hommel, 2008) where the real-time deadline is the muscle electromechanical delay of about 20ms (Nordez et al., 2009).

In general, spline fitting accuracy increases with the number of nodes with no over-fitting risk. We showed, in tests 1 and 2, that sampling GC-angles with 10, 15 or 20 equidistant nodes allowed for robust fitting of individual MTA kinematics. The number of nodes has to be chosen considering the number of spline coefficients and the associated memory storage requirements, which vary exponentially with the number of GCs (i.e. d) and nodes (Table 7). However, during our tests, the total memory to store coefficients and nominal values for splines was smaller than that needed for Peq. One spline per muscle is required to estimate both mt and r while (d+1) Peq are needed to individually fit mt and r nominal values (Menegaldo et al., 2004) (Table 7). This is an issue when nominal values are obtained from imaging techniques, with large storage requirements, and from which values for r are difficult to determine.

As just suggested, one may use imaging methods to create splines from more realistic nominal values of mt. These could be determined using the centroids of three-dimensional muscle geometry created from MRI data (Blemker et al., 2007) or by three-dimensional geometric modeling such as host-mesh fitting methods (Oberhofer et al., 2010). Future developments may relax the limitation of splines needing equally spaced nodes, by using a generic spline basis as explained in (Habermann and Kindermann, 2007).

Finally, our method is implemented in C++ with a MATLAB interface4 and is designed as a functional block that returns mt and r as a function of GC-angles facilitating the integration into large and complex musculoskeletal models.

Supplementary Material

01

Acknowledgments

The authors would like to thank Dr Elena Ceseracciu for her contribution to the implementation of the C++/MATLAB interface.

Funding sources included the US National Institute of Health (R01EB009351-01A2), the Australian National Health and Medical Research Council, the Western Australian Medical and Health Research Infrastructure Council, and the CARIPARO foundation in Italy.

Footnotes

1

We used the OpenSim 2.2.0 available at: https://simtk.org/home/opensim

2

OpenSim-generated mt were used.

3

The polynomial regression equations were from (Menegaldo et al., 2004).

4

Spline and polynomial regression code, C++/MATAB interface, experimental data, and documentation are available as Supplementary Web Material from the Journal of Biomechanics web site.

Conflict of interest statement There were not conflicts of interest between these funding bodies and procedures and results in this study.

Publisher's Disclaimer: This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

References

  1. Ackermann M, van den Bogert AJ. Predictive simulation of gait in rehabilitation. Proceedings of the 32nd Annual International Conference of the IEEE Engineering in Medicine and Biology Society; Buenos Aires, Argentina. 2010. [DOI] [PubMed] [Google Scholar]
  2. Blemker SS, Asakawa DS, Gold GE, Delp SL. Image-based musculoskeletal modeling: applications, advances, and future opportunities. Journal of Magnetic Resonance Imaging. 2007;25:441–451. doi: 10.1002/jmri.20805. [DOI] [PubMed] [Google Scholar]
  3. Buchanan TS, Lloyd DG, Manal K, Besier TF. Neuromusculoskeletal modeling: estimation of muscle forces and joint moments and movements from measurements of neural command. Journal of Applied Biomechanics. 2004;20:367–395. doi: 10.1123/jab.20.4.367. [DOI] [PMC free article] [PubMed] [Google Scholar]
  4. Delp SL, Anderson FC, Arnold AS, Loan P, Habib A, John CT, Guendelman E, Thelen DG. OpenSim: open-source software to create and analyze dynamic simulations of movement. IEEE Transactions on Biomedical Engineering. 2007;54:1940–1950. doi: 10.1109/TBME.2007.901024. [DOI] [PubMed] [Google Scholar]
  5. Delp SL, Loan JP, Hoy MG, Zajac FE, Topp EL, Rosen JM. An interactive graphics-based model of the lower extremity to study orthopaedic surgical procedures. IEEE Transactions on Biomedical Engineering. 1990;37:757–767. doi: 10.1109/10.102791. [DOI] [PubMed] [Google Scholar]
  6. Fleischer C, Hommel G. A Human-Exoskeleton Interface Utilizing Electromyography. IEEE Transactions on Robotics. 2008;24:827–882. [Google Scholar]
  7. Gao F, Damsgaard M, Rasmussen J, Christensen ST. Computational method for muscle-path representation in musculoskeletal models. Biological cybernetics. 2002;87:199–210. doi: 10.1007/s00422-002-0326-1. [DOI] [PubMed] [Google Scholar]
  8. Garner BA, Pandy MG. The Obstacle-Set Method for Representing Muscle Paths in Musculoskeletal Models. Computer methods in biomechanics and biomedical engineering. 2000;3:1–30. doi: 10.1080/10255840008915251. [DOI] [PubMed] [Google Scholar]
  9. Habermann C, Kindermann F. Multidimensional Spline Interpolation: Theory and Applications. Computational Economics. 2007;30:153–166. [Google Scholar]
  10. Kuo AD. A least-squares estimation approach to improving the precision of inverse dynamics computations. Journal of Biomechanical Engineering-Transactions of the Asme. 1998;120:148–159. doi: 10.1115/1.2834295. [DOI] [PubMed] [Google Scholar]
  11. Lloyd DG, Besier TF. An EMG-driven musculoskeletal model to estimate muscle forces and knee joint moments in vivo. Journal of Biomechanics. 2003;36:765–776. doi: 10.1016/s0021-9290(03)00010-1. [DOI] [PubMed] [Google Scholar]
  12. McLean SG, Huang X, van den Bogert AJ. Association between lower extremity posture at contact and peak knee valgus moment during sidestepping: implications for ACL injury. Clinical Biomechanics. 2005;20:863–870. doi: 10.1016/j.clinbiomech.2005.05.007. [DOI] [PubMed] [Google Scholar]
  13. Menegaldo LL, de Toledo Fleury A, Weber HI. Moment arms and musculotendon lengths estimation for a three-dimensional lower-limb model. Journal of Biomechanics. 2004;37:1447–1453. doi: 10.1016/j.jbiomech.2003.12.017. [DOI] [PubMed] [Google Scholar]
  14. Menegaldo LL, de Toledo Fleury A, Weber HI. A ‘cheap’ optimal control approach to estimate muscle forces in musculoskeletal systems. Journal of Biomechanics. 2006;39:1787–1795. doi: 10.1016/j.jbiomech.2005.05.029. [DOI] [PubMed] [Google Scholar]
  15. Miller LH. Table of Percentage Points of Kolmogorov Statistics. Journal of the American Statistical Association. 1956;51:111–121. [Google Scholar]
  16. Murai A, Kurosaki K, Yamane K, Nakamura Y. Musculoskeletal-see-through mirror: computational modeling and algorithm for whole-body muscle activity visualization in real time. Progress in Biophysics and Molecular Biology. 2010;103:310–317. doi: 10.1016/j.pbiomolbio.2010.09.006. [DOI] [PubMed] [Google Scholar]
  17. Nordez A, Gallot T, Catheline S, Guevel A, Cornu C, Hug F. Electromechanical delay revisited using very high frame rate ultrasound. Journal of Applied Physiology. 2009;106:1970–1975. doi: 10.1152/japplphysiol.00221.2009. [DOI] [PubMed] [Google Scholar]
  18. Oberhofer K, Stott NS, Mithraratne K, Anderson IA. Subject-specific modelling of lower limb muscles in children with cerebral palsy. Clinical Biomechanics. 2010;25:88–94. doi: 10.1016/j.clinbiomech.2009.09.007. [DOI] [PubMed] [Google Scholar]
  19. S H, Winter DA. A comparison of three muscle pennation assumptions and their effect on isometric and isotonic force. Journal of Biomechanics. 1991;24:163–167. doi: 10.1016/0021-9290(91)90361-p. [DOI] [PubMed] [Google Scholar]
  20. Winby CR, Lloyd DG, Besier TF, Kirk TB. Muscle and external load contribution to knee joint contact loads during normal gait. Journal of Biomechanics. 2009;42:2294–2300. doi: 10.1016/j.jbiomech.2009.06.019. [DOI] [PubMed] [Google Scholar]
  21. Zajac FE. Muscle and tendon: properties, models, scaling, and application to biomechanics and motor control. Critical Reviews in Biomedical Engineering. 1989;17:359–411. [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

01

RESOURCES