Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2015 Jul 1.
Published in final edited form as: IEEE Trans Biomed Eng. 2014 Jul;61(7):1947–1956. doi: 10.1109/TBME.2014.2309727

Real-Time Simulation of Three-Dimensional Shoulder Girdle and Arm Dynamics

Edward K Chadwick 1, Dimitra Blana 2, Robert F Kirsch 3, Antonie J van den Bogert 4
PMCID: PMC4068297  NIHMSID: NIHMS592978  PMID: 24956613

Abstract

Electrical stimulation is a promising technology for the restoration of arm function in paralysed individuals. Control of the paralysed arm under electrical stimulation, however, is a challenging problem that requires advanced controllers and command interfaces for the user. A real-time model describing the complex dynamics of the arm would allow user-in-the-loop type experiments where the command interface and controller could be assessed. Real-time models of the arm previously described have not included the ability to model the independently controlled scapula and clavicle, limiting their utility for clinical applications of this nature. The goal of this study therefore was to evaluate the performance and mechanical behaviour of a real-time, dynamic model of the arm and shoulder girdle. The model comprises seven segments linked by eleven degrees of freedom and actuated by 138 muscle elements. Polynomials were generated to describe the muscle lines of action to reduce computation time, and an implicit, first-order Rosenbrock formulation of the equations of motion was used to increase simulation step-size. The model simulated flexion of the arm faster than real time, simulation time being 92% of actual movement time on standard desktop hardware. Modelled maximum isometric torque values agreed well with values from the literature, showing that the model simulates the moment-generating behaviour of a real human arm. The speed of the model enables experiments where the user controls the virtual arm and receives visual feedback in real time. The ability to optimise potential solutions in simulation greatly reduces the burden on the user during development.

Keywords: musculoskeletal modelling, forward dynamics, shoulder, biomechanics

I. Introduction

A NUMBER of recent publications have shown significant and promising advances in the ability of brain-computer interfaces (BCI) to control prosthetic and robotics-based devices [1], [2] to assist people with seriously impaired movement. In order to achieve the goal of restoring natural control of movement to people with spinal cord injury, such high levels of control must be extended to re-animated limbs where movement is achieved under the power of the user’s own muscles.

We have previously shown the feasibility of such an approach by demonstrating direct cortical control of simulated arm reaching by a person with tetraplegia [3]. The simulated arm was realised using a forward-dynamic model describing the complex dynamics of muscle activation and contraction, muscle non-linearities and muscle skeleton coupling.

In forward dynamics, we specify the muscle activations or neural excitations, and mathematically describe how those translate into movements. Figure I shows the essential components in a forward-dynamic musculoskeletal model. The muscle model (block 1) describes the transfer from neural excitation to muscle force for each muscle part, the muscle-skeleton model (block 2) describes the transition from muscle forces to joint torques, and the segment inertial model (block 3) describes the effect of joint torques on segment accelerations. Integration of the state variables over time results in the simulation of a movement trajectory based on a series of inputs describing neural excitation. In our application, the neural excitation values are calculated by a controller whose inputs are the desired movements decoded from the BCI.

Fig. 1.

Fig. 1

Block diagram showing the simulation phases of a musculoskeletal model. u: vector of neural inputs; F: muscle forces; L: muscle lengths; T: joint torques; θ¨: joint accelerations.

By creating a dynamic simulation of muscle-driven movement, we are able to optimise design parameters and BCI decoding methods, and test different control schemes for the user in a safe but accelerated way. However, in our initial demonstration of direct cortical control [3], the simulated arm was limited to planar movements of the shoulder and elbow, and did not include the additional control requirements of a mobile scapula and clavicle.

The addition of an independently-controlled shoulder girdle allows us to model the complex muscle control requirements needed to ensure appropriate positioning and stabilisation of the scapula during movement. This is an essential feature of any neuroprosthesis control algorithm that claims to enable natural control of the whole arm. In musculoskeletal dynamics, however, differential equations describing the model are typically very stiff and non-linear.

A model including the shoulder girdle suffers particularly from high stiffness due to the low-mass rigid bodies of the scapula and clavicle being actuated by high-stiffness muscles. As a result, forward dynamic simulations using explicit numerical methods require very small time steps and are much slower than real time [4]. This precludes their use in the “user-in-the-loop” type experiments necessary for development and testing of control algorithms that is the focus of our work.

Previously, we overcame this problem by using SD/FAST to generate equations of motion, and running simulations using a fixed-step solver on a dedicated, real-time operating system [5]. In addition, in order to achieve real-time simulations, we restricted the motion of the shoulder girdle, and only modelled glenohumeral and elbow motions.

The goal of this project, therefore, was to create a “virtual arm” that can simulate the complex musculoskeletal dynamics of the whole shoulder girdle in real time, given a set of neural inputs derived from a controller. We achieved this by using an implicit method based on a first-order Rosenbrock formula, resulting in simulation times faster than real time, with the same accuracy as a much slower variable-step explicit method.

In the current paper, we describe the resulting model of the shoulder and elbow that includes independent control of the clavicle and scapula, demonstrate its ability to run simulations in real time, and show the validity of the resulting simulations by comparison with published literature on torque-angle curves for the shoulder and elbow.

II. Methods

A. SIMM Model

The model was initially built in SIMM (MusculoGraphics, Inc.), using anatomical data from cadaver studies performed by Klein-Breteler et al. [6]. These data are available on SimTK.org (https://simtk.org/home/dsem). The model was later imported into Opensim [7], from where the muscle moment arm and length functions are generated. Simulation of the model is subsequently performed using Matlab and custom C-code, as outlined in Section II-B9. It consists of seven body segments (thorax, clavicle, scapula, humerus, ulna, radius and hand), and eleven degrees of freedom (three orthogonal hinges at the sterno-clavicular, acromio-clavicular and glenohumeral joints, and elbow flexion-extension and forearm pronation-supination). It contains 138 muscle elements. Details of the original SIMM model and its evaluation using inverse dynamic simulations can be found in [8].

B. Musculoskeletal dynamics

1) Activation dynamics

The active state a is controlled by neural excitation u, and this process is modelled as a first-order differential equation according to [9]:

dadt=(uTact+1uTdeact)(ua) (1)

The values for the activation and deactivation time constants (Tact and Tdeact) were derived from the proportions of fast and slow twitch fibers in the muscle (from [10]).

2) Muscle contraction dynamics

The muscle model is a 3-element Hill-type model (figure 2). The contractile element (CE) represents the muscle fibres, the parallel elastic element (PEE) represents the passive properties of muscle fibres and surrounding tissue, and the series elastic element (SEE) represents the tendon and any elastic tissue in the muscle itself that is arranged in series with the muscle fibres.

Fig. 2.

Fig. 2

The 3-element Hill muscle model, showing the contractile element CE, parallel elastic element PEE, and series elastic element SEE. LCE is the CE length, LM is the muscle length, and ϕ is the pennation angle.

The state equation for muscle contraction represents the force balance between the elements of the muscle model:

(Factive+fPEE(LCE))cosϕ=fSEE(LMLCEcosϕ) (2)

where LCE is the CE length, LM is the muscle length, ϕ is the pennation angle, and Factive, fPEE and fSEE are the forces in CE, PEE and SEE. The equations describing these forces are included in appendix A. To avoid singularities relating to pennation, the state variable used for the muscle contraction differential equation is s = LCEcosϕ [4].

3) Muscle-skeleton coupling

Moment arms were exported from Opensim for a large number of combinations of joint angles. These data were used to generate polynomial regression models for muscle length as a function of joint angles:

LM(q)=i=1Ncij=1Mqjeij (3)

where N is the number of polynomial terms, and q1, q2, … qM are the angles of the joints crossed by the muscle. The moment arm with respect to joint angle k (where 1 ≤ kM) is obtained by partial differentiation with respect to the kth joint angle (i.e. the ratio between muscle-tendon shortening velocity and joint angular velocity). This definition is consistent with the use of generalized forces and virtual work in Kane’s equations that were used for simulation of the system [11].

The polynomial coefficients c were found by minimizing the error in moment arms and the error in muscle length of the polynomial model, relative to the Opensim results. To make sure that all moment arms are accurately represented by the polynomial model, all terms were normalized to the largest moment arm for each muscle.

4) Passive Joint Torques

Passive joint torques M are modelled as a sum of damping and stiffness terms:

M={bq.k1(qqmid)+k2(qqmin)2,ifq<qminbq.k1(qqmid),ifqminqqmaxbq.k1(qqmid)k2(qqmax)2,ifq>qmax} (4)

where b is a small damping coefficient (1Nms/rad), k1 is the stiffness within the joint limits that tends to push the joints towards the middle of the range of motion (where q = qmid) and is also small (5Nm/rad) and k2 is the stiffness that only occurs outside the range of motion and is large enough to prevent the joints from going too far out of the limits (5000Nm/rad2).

5) Conoid Ligament

The conoid ligament restricts the axial rotation of the clavicle. It is modelled as a non-linear spring:

F=k2(d+d2+2) (5)

where d is the displacement from the conoid slack length, k is the stiffness and is a small parameter that eliminates negative displacements (i.e. allows the ligament to pull but not push). The conoid slack length is 17.4mm and the other parameters, stiffness (80N/mm) and (1mm), were chosen so that the force-displacement curve best matches the experimental curve from [12].

6) Scapula-thorax contact

Scapulo-thoracic contact was modelled as deformable, rather than a hard constraint as is typically used in inverse-dynamic models. Stiffness is high when the scapula goes inside the thorax (modelled as an ellipsoid), and zero (or low) when it is outside the thorax. This allows a “winging” scapula to be simulated by the model. The equation for the scapula-thorax contact force and its derivation are shown in appendix B.

7) Equations of motion

The multibody model has 22 state variables: the 11 angles q and 11 angular velocities q.. The equations of motion are:

M(q).q¨+B(q,q.)+C(q).τ=0 (6)

The first term represents inertial effects, with M being an 11 × 11 mass matrix. The second term includes effects of centrifugal and coriolis forces, gravity, ligaments, and contact forces. The last term is the effect of joint moments τ via an 11×11 coefficient matrix C. τ is the summation of the passive joint moments (Eq. 4), muscle moments, conoid ligament moment and scapula-thorax contact moment. The muscle moments are calculated by multiplying the muscle moment arms, which are the derivatives of Eq. 3, by the simulated muscle forces. The conoid ligament force and scapula-thorax contact force are calculated in Autolev (see section II-B9 on “Implementation”), which also computes the moment arms using partial velocities.

8) System dynamics

If the equations of motion are combined with the muscle dynamics, the model can be described with an implicit first order differential equation:

f(x,x.,u)=0 (7)

The state vector x contains 298 variables: 11 angles q, 11 angular velocities q., 138 muscle contraction state variables s, and 138 muscle active states a. The function f has 298 equations, and consists of four parts:

  • 11 identities ddt(x(1:11))=xdot(1:11)

  • 11 multibody equations of motion (eq 6)

  • 138 muscle activation dynamics equations (eq 1)

  • 138 muscle contraction dynamics equations (eq 2)

9) Implementation

Equations of motion for the model were derived using Autolev (Online Dynamics Inc., Sunnyvale, CA). Muscle dynamics were implemented using custom C code. The dynamic residuals f and the Jacobians are calculated in a Matlab MEX function.

C. Forward dynamic simulation

Forward dynamic simulation of a musculoskeletal system model involves solving the state trajectory x(t), given an initial state x(0) and controls u as functions of time and/or state. Due to the implicit formulation of the system equation f, and the fact that all functions used (e.g. the conoid ligament force, the muscle contractile force, etc.) are continually differentiable, we can calculate exact analytical Jacobians fx, fx. and fu. This allows efficient simulation with an L-stable implicit Rosenbrock method based on the backwards Euler discretisation:

Δx=(fx+1hfx.)1(fx.x.nf(xn,x.n,un)fu(un+1un))xn+1=xn+Δxx.n+1=Δxh (8)

For the derivation of the above equation see the appendix in [4].

The accuracy of the implicit method has been demonstrated in [4], where the same simulation was performed using two solvers: the implicit Rosenbrock method, and a second-order explicit Runge-Kutta method. For that simulation, the timestep used by the implicit method was 3ms, resulting in a faster-than-realtime speed, while the average timestep used by the explicit method was 2μs. In spite of using a timestep 1500 times larger than the Runge-Kutta method, the implicit method showed an RMS error in the resulting joint angles of just 0.11 degrees.

In the same study, to investigate the effect of the timestep on the accuracy of the implicit solver, the simulation was run with various timesteps ranging from 0.05ms to 6ms, when the method became unstable. It was shown that the RMS error between the implicit method and the Runge-Kutta increased with larger timesteps, but remained below 0.2 degrees (figure 5(b) in [4]).

D. Glenohumeral joint stability

A polynomial modelling procedure was also used to approximate the lines of action of the muscles crossing the glenohumeral (GH) joint, in order to estimate the resultant joint force, and subsequently assess GH stability. One polynomial model, similar to (3), was needed for each orthogonal component (x, y and z) of the muscle line of action, as described in [5]. The contribution of the muscles to the GH joint force is then found using the amplitude of the muscle forces and the polynomial approximation of the lines of action. This is added to the force due to the weight and acceleration of the arm segments to calculate the resultant GH joint reaction force. The direction of this vector can be used to assess GH stability: if it points inside the glenoid cavity, the joint is stable; if not, the force vector tends to dislocate the joint [5], [13].

The stability value is defined as:

GHstab=(θθa)2+(ϕϕa)21 (9)

where θ and ϕ are the angles of the vector away from the normal to the glenoid along the major and minor axes of the ellipse representing the glenoid fossa, and θa and ϕa are the angles of that vector at the rim of the glenoid. GHstab is −1 at the centre of the glenoid fossa, and approaches 0 as the vector approaches the edge of the fossa.

During simulation, this stability value could be used to simply monitor the effect of the applied muscle excitations on the glenohumeral joint, or used by a real-time controller to modify the muscle excitations to ensure glenohumeral stability. The direction as well as the magnitude of any potential instability can be monitored by generating a polar plot of the reaction force in an ellipse representing the glenoid, using the angles θ and ϕ.

E. Example real-time simulation

To demonstrate the speed of the model and its ability to produce a standard movement, a simulation was run generating forward flexion of the arm. Since this model at its current state can only run forward-dynamic simulations, the muscle excitation patterns for the arm flexion movement were based on an inverse-dynamic simulation performed using the Delft Shoulder and Elbow model (described in [13], [14]). The input motion used to generate the neural excitation set was averaged from measured motions taken from approximately 20 subjects. Neural inputs were estimated every 50ms throughout the movement.

During the forward-dynamic simulation, the joint angles, velocities, and muscle states were recorded. In addition, GH force was recorded to monitor glenohumeral stability, and scapular contact forces were recorded to monitor scapular stability. To achieve real-time speed with these computations, a 4ms timestep was used, slightly higher than the 3ms used in [4], but with minimal impact on accuracy, as discussed in section II-C.

F. Model evaluation using maximum isometric moments

The implicit formulation has been shown to be as accurate as commonly used explicit methods, but the accuracy of the model itself also needs to be assessed against experimental data. To do this, maximum isometric joint moments estimated using the model were compared with experimental data reported in the literature [15]–[20]. This provides a robust assessment of the mechanical behaviour of the model, reducing the sensitivity of the output to computational factors such as the exact choice of cost function. This is also the method that has been used by other authors for the evaluation of upper limb models (e.g. [21]) as data for comparison can be found in the literature.

Measured arm joint moments usually include three thoracohumeral moments (shoulder flexion/extension, abduction/adduction and internal/external rotation), elbow flexion/ extension and forearm pronation/supination. Experimental data do not typically include measurements of clavicular and scapular angles, so the model itself needs to find the optimal shoulder angles that result in maximum arm moments. Moreover, to find a maximum joint moment it is not sufficient to simply fully activate all muscles that contribute to this moment, since glenohumeral stability and scapular positioning need to be taken into account: the muscle forces around the glenohumeral joint need to keep the joint stable and avoid dislocation, and muscle forces acting on the scapula need to keep it pressed against the thorax, to avoid winging. We therefore need to perform an optimisation procedure to obtain the maximum isometric joint moments.

With the addition of external moments, the system dynamics equation (7) becomes:

f(x,x.,u,M)=0 (10)

where M is the vector of the five externally applied moments. Additionally, note that x. = 0 because static equilibrium is required, and u does not matter because activation dynamics can be ignored in the steady state. The system dynamics can then be written as:

f(x,0,0,M)=0 (11)

with f* being only the elements of f without activation dynamics.

The optimisation problem is then to find the state vector x and five external moments M such that (11) is satisfied and M(i) is maximized, where i is the degree of freedom whose moment is to be maximized. This is done for each posture (three thoraco-humeral angles, two elbow angles) for which the maximum isometric joint moments are sought.

Additional constraints to the optimization are given by the need to constrain the reaction force vector to lie within the glenoid ellipse (GHstab) ≤ 0), and by requiring the scapular points Trigonum Spinae and Angulus Inferior to lie on the surface of the thorax ellipsoid to prevent scapular winging, similar to [13]. Finally, the muscle active states must lie between 0 and 1.

This procedure was implemented in Matlab using the function FMINCON, a gradient-based method that seeks the minimum of a constrained, non-linear, multi-variable function.

III. Results

A. Example real-time simulation

The model was tested on an Intel i5 processor running at 2.67GHz. The simulated movement was 1.3 seconds long, and using a 4ms time-step the simulation was completed in 1.2 seconds, which is faster than real time. Figure 3 shows the arm angles produced during the forward dynamic simulation. The muscle excitation patterns used as inputs were taken from a forward flexion movement, and as it can be seen from the output plane of elevation, which is about 50 degrees, the simulated movement is indeed forward flexion. The arm elevation goes from about 10 to 80 degrees.

Fig. 3.

Fig. 3

Results of a forward dynamic simulation. The 1.3-seconds long forward flexion movement was simulated in 1.2 seconds. Shown are the angles between thorax and clavicle (panel A), clavicle and scapula (panel B), and thorax and humerus (panel C). The inset in panel C shows the direction of the glenohumeral joint reaction force with respect to the glenoid fossa represented by an ellipse. During the simulation, the GH force direction moves from ”Start” to ”Finish”.

The inset in panel C shows the polar plot of the glenohumeral joint reaction force in an ellipse representing the glenoid, as described in section II-D. During the simulation, the GH force moves from a superior position in the glenoid (labeled ”Start”) towards the center (labeled ”Finish”). Throughout the movement, the GH force vector remains within the glenoid cavity, which means that the GH joint is stable.

B. Model evaluation using maximum isometric moments

Figures 4, 5 and 6 show the maximum isometric moments (Panel A) generated by the model, and equivalent values from the literature, for shoulder flexion and extension, abduction and adduction, and internal and external rotation respectively. In each case, the maximum isometric moment is shown for each elevation angle from 10 to 80 degrees. The model-predicted moments are plotted alongside values obtained from the literature, where these were available. Where variability in the data from the literature was given in the reported study, these values are also shown. Panels B and C of these same figures show the scapular and clavicular angles adopted by the model during the exertion of maximum moments in each arm position.

Fig. 4.

Fig. 4

Panel A shows the maximum isometric shoulder flexion moments (red lines) and extension moments (black lines). The model estimates (thick solid lines) are compared to experimental data from Winters and Kleweno [18] (thin solid lines), Garner and Pandy [15] (dashed lines), and Otis et al. [16] (dotted lines). In all cases, elevation is in the sagittal plane, with the arm externally rotated, the elbow is at sixty degrees of flexion, and the forearm is at neutral pronation/supination. Panels B and C show the clavicular and scapular angles assumed by the model for each maximum moment trial, red for shoulder flexion and black for shoulder extension.

Fig. 5.

Fig. 5

Panel A shows the maximum isometric shoulder abduction moments (red lines) and adduction moments (black lines). The model estimates (thick solid lines) are compared to experimental data from Garner and Pandy [15] (dashed lines), and Otis et al. [16] (dotted lines). In all cases, arm elevation is in the scapular plane, the elbow is at sixty degrees of flexion, and the forearm is at neutral pronation/supination. Panels B and C show the clavicular and scapular angles assumed by the model for each maximum moment trial, red for shoulder abduction and black for shoulder adduction.

Fig. 6.

Fig. 6

Panel A shows the maximum isometric shoulder internal rotation moments (red lines) and external rotation moments (black lines). The model estimates (thick solid lines) are compared to experimental data from Garner and Pandy [15] (dashed lines), Otis et al. [16] (dotted lines) and Engin and Kaleps [17] (thin solid lines). In all cases, the shoulder is at sixty degrees of abduction in the scapular plane, the elbow is at sixty degrees of flexion, and the forearm is at neutral pronation/supination. Panels B and C show the clavicular and scapular angles assumed by the model for each maximum moment trial, red for internal rotation and black for external rotation.

Figures 7 and 8 show maximum isometric moments for elbow flexion/extension and forearm pronation/supination against the relevant angle. Similarly, Panel A shows the moments, and Panels B and C show the scapular and clavicular angles.

Fig. 7.

Fig. 7

Panel A shows the maximum isometric elbow flexion moments (red lines) and extension moments (black lines). The model estimates (thick solid lines) are compared to experimental data from Buchanan et al. [20] (thin solid lines), and Amis et al. [19] (dotted lines). In all cases, the shoulder is at ninety degrees of abduction in the coronal plane, and the forearm is at a neutral pronation/supination angle. Panels B and C show the clavicular and scapular angles assumed by the model for each maximum moment trial, red for elbow flexion and black for elbow extension.

Fig. 8.

Fig. 8

Panel A shows the maximum isometric forearm pronation moments (red lines) and supination moments (black lines). The model estimates (thick solid lines) are compared to experimental data from Winters and Kleweno [18] (thin solid lines), and Garner and Pandy [15] (dashed lines). In all cases, the shoulder is at the side of the torso, and the elbow is at a ninety degrees of flexion. Panels B and C show the clavicular and scapular angles assumed by the model for each maximum moment trial, red for pronation and black for supination.

IV. Discussion

The forward dynamic simulation results demonstrate that our model runs comfortably in real time on normal desktop hardware, and produces the movement expected from the given neural inputs, i.e. forward flexion of the arm. The maximum isometric moment simulations show that the model reliably simulates the moment-generating behaviour of a real human arm under a range of conditions.

The method of evaluation performed in the current study is similar to that reported by [21], but with an important difference in the model: our model contains a fully described shoulder girdle. That is, the scapula and clavicle are independently controlled by muscle forces, rather than being kinematically-controlled either by measured motions or by regression equations describing the scapulo-humeral rhythm.

The combination of real-time performance and the ability to control the shoulder girdle by simulated muscle forces allows the model to be used in “user-in-the-loop” type experiments, where the virtual arm is under the control of a potential neuroprosthesis user. This enables the development and testing of neuroprosthetic devices that control whole arm movement including the positioning of the scapula and clavicle.

For the majority of the simulations, there is general agreement between the model-predicted maximum isometric moments and those reported in the literature, both in the shape of the torque-angle curves, and in the magnitudes of the maximum moments reported. The conditions for which agreement is less good are discussed further below.

For elevation of the arm, shoulder flexion and scapular abduction moments agreed well with the experimental data throughout the range of motion. For extension moments, however, the model values were lower than the literature, while for adduction they were higher. In addition, the model predicted increasing strength up to 90 degrees of abduction, while the experimental data show a slight decrease at higher elevation angles (above 70 degrees). The same behaviour was shown by the model of [21], and can be explained by the increasing moment arms of the shoulder adductors through this range. The lack of agreement with the experimental data may be caused by differences in the expression of the force-length curve or by overestimated passive forces in the model.

For shoulder internal rotation moments, the model data show the same shape as the experimental data with the maximum torques decreasing slightly at both ends of the range of motion. In addition, the values agree very well with those of Otis [16] and Engin [17], but are significantly lower than those found by Garner [15]. It should be noted that the model data we use here are taken from a single cadaver source and not scaled in any way, so we might expect significant deviation from values taken from other small populations. In external rotation efforts, the model exhibits good agreement with the torques found in the literature.

Elbow flexion torques fall within the range of measured values, and show the correct shape, having a maximum value in the middle of the range of motion and decreasing at the extremes. Elbow extension is similar, but this time the model overestimates measured torques somewhat. Pronation and supination torques agree well with measured values throughout the range of motion.

A further check on the integrity of the model is provided by the analysis of the scapular and clavicular positions reached by the model during the exertion of maximum moments. These angles were not specified as inputs, but were optimised along with the neural excitations required to produce the maximum moments. Since we are attempting to simulate normal kinematics, the scapula was constrained to lie on the surface of the thorax to prevent scapular winging, and the GH joint reaction force was constrained to be inside the glenoid to maintain the stability of the glenohumeral joint.

No data on shoulder girdle kinematics were reported by the studies we used to compare maximum moments of the model with measured data, so the resulting model kinematics have been assessed by comparison with studies that have reported shoulder girdle kinematics for comparable arm positions [22], [23]. The difficulty of accurately measuring scapular and clavicular kinematics during maximal effort tasks may explain the lack of data in this area.

In general, shoulder girdle kinematics adopted by the model were within the expected ranges, did not reach the limits of motion, and followed normal patterns with arm elevation. However, there were a number of differences during elevation of the humerus in both the sagittal and scapular planes:

  • Clavicle retraction was fairly constant at approximately 40° during arm elevation in forward flexion and, after an initial increase remained approximately constant at 50° in scapular plane abduction. Previous work by de Groot [23] has shown that it increases from 25° to 40° with increasing elevation angle on average.

  • Axial rotation of the clavicle in scapular plane abduction would normally be expected to increase from approximately 0 to 50° at 90° humeral elevation, but appears to be suppressed in the case of the maximal abduction moment.

  • Scapular lateral rotation appears to be lower than normal by about 20° during a maximal abduction moment, but normal during an adduction moment.

For shoulder axial rotation, there are large differences in scapular and clavicular orientation between the maximal internal and external moment conditions, although the normal (unloaded) range of values according to [23] lies between the two.

For elbow flexion and extension, the humerus was in a fixed position with respect to the thorax, with the arm elevated at 90 degrees. Nonetheless, considerable differences were seen in shoulder girdle angles for the different loading conditions. In particular, axial rotation of the clavicle is low at low elbow flexion angles during a flexion effort, and protraction of the scapula changes significantly with flexion angle during the same effort. For pronation and supination moments, scapular protraction angle is lower than expected.

In general, scapular protraction and lateral rotation tend to be low, and axial rotation of the clavicle is also suppressed in some cases. The scapulo-thoracic constraint during the maximum moment simulations requires that the medial border of the scapula stays a fixed distance away from the thorax, which might not be true for all shoulder positions (for example during forward flexion). The rigidity of this constraint may therefore be a significant factor affecting the model-predicted shoulder kinematics and may restrict the scapula and clavicle from taking up more normal positions. This constraint could be made more flexible, as proposed recently by Bolsterlee et al. [24].

V. Conclusion

We have demonstrated a comprehensive musculoskeletal model of the shoulder and arm, including the additional degrees of freedom introduced by the scapula and clavicle, that can run forward-dynamic simulations in real time. This was achieved using an implicit formulation of system dynamics and an implicit solver, allowing the use of a much larger step-size than in previous work. With this method, we achieved speeds 1.1 times faster than real time, using an ordinary personal computer and no specialized hardware. We have shown that the model can replicate the behaviour of a real human arm in terms of torque-angle curves over all degrees of freedom, and that the independently-controlled scapula and clavicle adopt realistic postures during maximal effort tasks.

Integrated with a 3D visualization environment, this model will provide an invaluable tool for applications that require real-time simulation of arm movements including realistic muscle and limb dynamics. The methods presented here can be applied equally well to other musculoskeletal models, and to off-line simulations where simulation speed has always been a bottleneck.

Acknowledgments

This work was supported by the National Institutes of Health under contract N01-HD-5-3403.

Biography

graphic file with name nihms-592978-b0009.gif

Edward Chadwick received the B.Eng. degree in Mechanical Engineering from The University of Nottingham, U.K., in 1993, and was awarded his Ph.D. in Bioengineering by the University of Strathclyde, U.K., in 1999. From there he went on to complete post-doctoral positions in the area of shoulder biomechanics at the Technical University of Delft in the Netherlands and Case Western Reserve University in Cleveland, Ohio. He is currently a lecturer in the Institute for Science and Technology in Medicine at Keele University in the UK. His research interests are in biomechanical modelling of the upper limb and the application of modelling and simulation to rehabilitation in people with neuromuscular deficit.

graphic file with name nihms-592978-b0010.gif

Dimitra Blana received the B.S. degree in Electrical and Computer Engineering from the National Technical University of Athens, Greece, in 2001. She then went on to earn the M.S. degree in Biomedical Engineering from Case Western Reserve University, Cleveland, OH, in 2003, and a PhD from the same institution in 2008. She is currently working as a post-doctoral Research Fellow in the Institute for Science and Technology in Medicine at Keele University in the UK. Her research interests are in biomechanical modelling and controller design for upper extremity neuroprostheses.

graphic file with name nihms-592978-b0011.gif

Robert Kirsch (M’82) received the B.S. degree in electrical engineering from the University of Cincinnati, OH, in 1982, and the M.S. and Ph.D. degrees in biomedical engineering from Northwestern University, in 1986 and 1990, respectively. He was a post-doctoral fellow in the Department of Biomedical Engineering, McGill University, Montréal, QC, Canada, from 1990 to 1993. He is currently a Professor of Biomedical Engineering at Case Western Reserve University, Cleveland, OH, and Executive Director of the Cleveland VA FES Center. His research focuses on restoring movement to disabled individuals using functional electrical stimulation (FES) and controlling FES actions via natural neural commands.

graphic file with name nihms-592978-b0012.gif

Antonie (Ton) van den Bogert received his B.S. and M.S. degrees in physics and applied mathematics at the University of Utrecht, and in 1989 a Ph.D. degree in veterinary sciences from the same university for computational modelling of locomotion in horses. After post-doctoral work in sports biomechanics at the University of Calgary, he became a faculty member in Kinesiology in 1993. He moved to Cleveland in 1998 to take up positions in the Lerner Research Institute of the Cleveland Clinic, and Case Western Reserve University. He is currently Professor of Human Motion and Control at Cleveland State University. His current research interest is in human biomechanics and motor control, with applications in the prevention and rehabilitation of musculoskeletal injuries and the development of assistive technology for persons with disabilities. He is a founding member of the Technical Group Computer Simulation (TGCS) and President of the International Society of Biomechanics from 2011-13.

Appendix A. The muscle model

The active force in the CE is:

Factive=α.Fmax.fFL(LCE).fFV(L.CE) (12)

where: a is the active state Fmax is the maximum isometric force, estimated for each muscle using the physiological cross-sectional area measured in the cadaver studies in [6], multiplied by a specific tension of 100N/cm2. This value is higher than that typically found in in-vivo studies, but is within the range reported in the literature for cadaver studies [25], and used in other modelling studies [21].

fFL(LCE) is the isometric force-length relationship of the CE, approximated by a Gaussian curve:

fFL(LCE)=e(LCELCEoptW.LCEopt)2 (13)

LCE is CE length, LCEopt is the CE optimal length (values from the cadaver studies of Klein-Breteler [6]), and W is the width parameter of the force-length curve, set to 0.56.

The values of the pennation angle at optimal fibre length are taken from the same cadaver study, and based on those values, the pennation angle at any fibre length can be calculated using the constant volume assumption [26]:

LCEsin(ϕ)=constant=LCEoptsin(ϕopt) (14)

where ϕ is the pennation angle and ϕopt is the pennation angle at optimal length.

fFV(L.CE) is the force-velocity relationship of the CE, approximated using two hyperbolic equations (from [27]):

fFV(VCE)={Vmax+VCEVmaxVCEA,ifVCE0gmax.VCE+c3VCE+c3,ifVCE>0} (15)

VCE is the CE velocity. The Hill curve parameter A is assumed to have a value of 0.25 [28], and the maximal shortening velocity at full activation Vmax is assumed to have a value of 10.LCEopt per second [28]. The parameter gmax, the maximal normalized eccentric muscle force, was assumed to be 1.5 [27]. The constant c3 is set to a value that produces a continuous first derivative at VCE = 0:

c3=VmaxA(gmax1)A+1 (16)

The passive elastic elements (PEE and SEE) are modelled as non-linear springs:

F(L)={k1(LLslack),ifLLslackk1(LLslack)+k2(LLslack)2,ifL>Lslack}

The k1 term is small (10N/m) but is needed to ensure that stiffness is never zero, which could cause singularity in the Jacobian of the implicit system dynamics at zero activation. The stiffness parameter k2 for SEE is chosen for each muscle such that when the SEE elongation is 4%, the SEE force equals the maximum isometric force. The k2 parameter for PEE is chosen such that when the CE is stretched to its maximal length for active force production (=W.LCEopt), the PEE force equals the maximum isometric force (from [27]). Lslack for the SEE is approximated by the tendon slack length measured in the cadaver studies, while Lslack for the PEE is set to equal LCEopt, except for a few muscle elements for which this resulted in very high passive forces. Those values are shown in table V in [5].

Appendix B. Modelling the scapula-thorax contact

The scapula-thorax contact is modelled using two points on the scapula: TS (trigonum spinae) and AI (angulus inferior), and an ellipsoid representing the thorax, with centre (mx, my, mz) and axes αx, αy, αz (from [13]):

F(x,y,z)=(xmxαx)2+(ymyαy)2+(zmzαz)21=0 (17)

We model the contact force as being the result of an elastic potential energy that is zero on the surface and increases quadratically when moving away from the surface:

V(x,y,z)=14k(ax2+ay2+az2)F2(x,y,z) (18)

Parameter k is used to calculate the contact stiffness and is set to 20kN/m. The stiffness of the contact is not the same everywhere on the contact surface, but the exact value is not important for our application, as long as it is large enough to prevent penetration into the surface. To represent the contact with a constant stiffness, the force would need to be a function of distance from the surface. This is not easily calculated, and also has singularities which we need to avoid for our numerical methods to work. The a2 factor is introduced to give V the dimension of energy.

The contact force is the negative gradient of the potential energy:

Fx=k(xmx)αx2+αy2+αz2αx2.F(x,y,z) (19)
Fy=k(ymy)αx2+αy2+αz2αy2.F(x,y,z) (20)
Fz=k(zmz)αx2+αy2+αz2αz2.F(x,y,z) (21)

We modify these equations to make the force go to zero when the point x,y,z is outside the surface, where F > 0:

Fx=k(xmx)αx2+αy2+αz2αx2.F(x,y,z) (22)
Fy=k(ymy)αx2+αy2+αz2αy2.F(x,y,z) (23)
Fz=k(zmz)αx2+αy2+αz2αz2.F(x,y,z) (24)

where F is a continuous function that attenuates positive values but leaves negative values unchanged:

F(x,y,z)=12(FF2+2) (25)

The parameter (set to 0.01) determines the transition region between linear stiffness (inside) and zero stiffness (outside).

Contributor Information

Edward K. Chadwick, Institute for Science and Technology in Medicine, Keele University, UK.

Dimitra Blana, Institute for Science and Technology in Medicine, Keele University, UK..

Robert F. Kirsch, Biomedical Engineering Department at Case Western Reserve University..

Antonie J. van den Bogert, Mechanical Engineering Department at Cleveland State University.

References

  • [1].Collinger JL, Wodlinger B, Downey JE, Wang W, Tyler-Kabara EC, Weber DJ, McMorland AJ, Velliste M, Boninger ML, Schwartz AB. High-performance neuroprosthetic control by an individual with tetraplegia. The Lancet. 2012 Dec.6736(no. 12):1–8. doi: 10.1016/S0140-6736(12)61816-9. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [2].Hochberg LR, Bacher D, Jarosiewicz B, Masse NY, Simeral JD, Vogel J, Haddadin S, Liu J, Cash SS, van der Smagt P, Donoghue JP. Reach and grasp by people with tetraplegia using a neurally controlled robotic arm. Nature. 2012 May;485(no. 7398):372–375. doi: 10.1038/nature11076. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [3].Chadwick EK, Blana D. Continuous neuronal ensemble control of simulated arm reaching by a human with tetraplegia. Journal of Neural Engineering. 2011;8(no. 3):034003. doi: 10.1088/1741-2560/8/3/034003. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [4].van den Bogert AJ, Blana D, Heinrich D. Implicit methods for efficient musculoskeletal simulation and optimal control. Procedia IUTAM. 2011;2:297–316. doi: 10.1016/j.piutam.2011.04.027. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [5].Chadwick E, Blana D, van den Bogert A, Kirsch R. A Real-Time, 3D Musculoskeletal Model for Dynamic Simulation of Arm Movements. IEEE Transactions on Biomedical Engineering. 2008 doi: 10.1109/TBME.2008.2005946. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [6].Klein Breteler MD, Spoor CW, Van der Helm FC. Measuring muscle and joint geometry parameters of a shoulder for modeling purposes. Journal of Biomechanics. 1999 Nov.32(no. 11):1191–7. doi: 10.1016/s0021-9290(99)00122-0. [DOI] [PubMed] [Google Scholar]
  • [7].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 Nov.54(no. 11):1940–50. doi: 10.1109/TBME.2007.901024. [DOI] [PubMed] [Google Scholar]
  • [8].Blana D, Hincapie JG, Chadwick EK, Kirsch RF. A musculoskeletal model of the upper extremity for use in the development of neuroprosthetic systems. Journal of Biomechanics. 2008 Jan.41(no. 8):1714–21. doi: 10.1016/j.jbiomech.2008.03.001. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [9].He J, Levine W, Loeb G. Feedback gains for correcting small perturbations to standing posture. IEEE Transactions on Automatic Control. 1991 Mar.36(no. 3):322–332. [Google Scholar]
  • [10].Winters JM, Stark L. Analysis of fundamental human movement patterns through the use of in-depth antagonistic muscle models. IEEE Transactions on Biomedical Engineering. 1985 Oct.32(no. 10):826–39. doi: 10.1109/TBME.1985.325498. [DOI] [PubMed] [Google Scholar]
  • [11].An KN, Takahashi K, Harrigan TP, Chao EY. Determination of muscle orientations and moment arms. Journal of biomechanical engineering. 1984 Aug.106(no. 3):280–2. doi: 10.1115/1.3138494. [DOI] [PubMed] [Google Scholar]
  • [12].Harris RI, Wallace AL, Harper GD, Goldberg JA, Sonnabend DH, Walsh WR. Structural properties of the intact and the reconstructed coracoclavicular ligament complex. The American Journal of Sports Medicine. 2000;28(no. 1):103–8. doi: 10.1177/03635465000280010201. [DOI] [PubMed] [Google Scholar]
  • [13].van Der Helm FCT. A finite element musculoskeletal model of the shoulder mechanism. Journal of Biomechanics. 1994;27(no. 5):551–69. doi: 10.1016/0021-9290(94)90065-5. [DOI] [PubMed] [Google Scholar]
  • [14].Nikooyan AA, Veeger HEJ, Chadwick EKJ, Praagman M, Helm F. C. T. V. d. Development of a comprehensive musculoskeletal model of the shoulder and elbow. Medical & Biological Engineering & Computing. 2011 Dec.49(no. 12):1425–35. doi: 10.1007/s11517-011-0839-7. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [15].Garner BA, Pandy MG. Musculoskeletal model of the upper limb based on the visible human male dataset. Computer Methods in Biomechanics and Biomedical Engineering. 2001 Feb.4(no. 2):93–126. doi: 10.1080/10255840008908000. [DOI] [PubMed] [Google Scholar]
  • [16].Otis JC, Warren RF, Backus SI, Santner TJ, Mabrey JD. Torque production in the shoulder of the normal young adult male. The interaction of function, dominance, joint angle, and angular velocity. The American Journal of Sports Medicine. 1990;18(no. 2):119–23. doi: 10.1177/036354659001800201. [DOI] [PubMed] [Google Scholar]
  • [17].Engin AE, Kaleps I. Active muscle torques about long-bone axes of major human joints. Aviation, Space, and Environmental Medicine. 1980 Jun.51(no. 6):551–5. [PubMed] [Google Scholar]
  • [18].Winters JM, Kleweno DG. Effect of initial upper-limb alignment on muscle contributions to isometric strength curves. Journal of Biomechanics. 1993 Feb.26(no. 2):143–53. doi: 10.1016/0021-9290(93)90045-g. [DOI] [PubMed] [Google Scholar]
  • [19].Amis a. a., Dowson D, Wright V. Analysis of elbow forces due to high-speed forearm movements. Journal of Biomechanics. 1980 Jan.13(no. 10):825–31. doi: 10.1016/0021-9290(80)90170-0. [DOI] [PubMed] [Google Scholar]
  • [20].Buchanan TS, Delp SL, Solbeck JA. Muscular resistance to varus and valgus loads at the elbow. Journal of Biomechanical Engineering. 1998 Oct.120(no. 5):634–9. doi: 10.1115/1.2834755. [DOI] [PubMed] [Google Scholar]
  • [21].Holzbaur KRS, Murray WM, Delp SL. A Model of the Upper Extremity for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control. Annals of Biomedical Engineering. 2005 Jun.33(no. 6):829–840. doi: 10.1007/s10439-005-3320-7. [DOI] [PubMed] [Google Scholar]
  • [22].Ludewig PM, Phadke V, Braman JP, Hassett DR, Cieminski CJ, LaPrade RF. Motion of the shoulder complex during multiplanar humeral elevation. The Journal of Bone and Joint Surgery. 2009 Feb.American ume, 91(no. 2):378–89. doi: 10.2106/JBJS.G.01483. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [23].De Groot JH. The variability of shoulder motions recorded by means of palpation. Clinical Biomechanics. 1997;12(no. 7):461–72. doi: 10.1016/s0268-0033(97)00031-4. [DOI] [PubMed] [Google Scholar]
  • [24].Bolsterlee B, Veeger HEJ, van der Helm FCT. Modelling clavicular and scapular kinematics: from measurement to simulation. Medical & Biological Engineering & Computing. 2013 Mar. doi: 10.1007/s11517-013-1065-2. [DOI] [PubMed] [Google Scholar]
  • [25].Buchanan TS. Evidence that maximum muscle stress is not a constant: differences in specific tension in elbow flexors and extensors. Medical engineering & physics. 1995 Oct.17(no. 7):529–36. doi: 10.1016/1350-4533(95)00005-8. [DOI] [PubMed] [Google Scholar]
  • [26].Otten E. Concepts and models of functional architecture in skeletal muscle. Exercise and Sport Sciences Reviews. 1988 Jan.16:89–137. [PubMed] [Google Scholar]
  • [27].McLean SG, Su a., van den Bogert a. J. Development and Validation of a 3-D Model to Predict Knee Joint Loading During Dynamic Movement. Journal of Biomechanical Engineering. 2003;125(no. 6):864. doi: 10.1115/1.1634282. [DOI] [PubMed] [Google Scholar]
  • [28].Herzog W. Muscle. In: Nigg BM, Herzog W, editors. Biomechanics of the Musculo-Skeletal System. no. 2. 2nd ed. Vol. 195. Aug. 1999. pp. 148–188. [Google Scholar]

RESOURCES