Next Article in Journal
Detection of Ki67 Hot-Spots of Invasive Breast Cancer Based on Convolutional Neural Networks Applied to Mutual Information of H&E and Ki67 Whole Slide Images
Next Article in Special Issue
Biotribology in Arthroplasty: Worn Surfaces Investigation on Ceramic Hip Femoral Heads Considering Wettability
Previous Article in Journal
Prediction of Residual Stress of Carburized Steel Based on Machine Learning
Previous Article in Special Issue
A Perspective on Biotribology in Arthroplasty: From In Vitro toward the Accurate In Silico Wear Prediction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Explicit Analytical Multibody Approach for the Analysis of Upper Limb Dynamics and Joint Reactions Calculation Considering Muscle Wrapping

by
Alessandro Ruggiero
* and
Alessandro Sicilia
Department of Industrial Engineering, University of Salerno, Via Giovanni Paolo II, nº 132, 84084 Fisciano, Italy
*
Author to whom correspondence should be addressed.
Submission received: 5 October 2020 / Revised: 20 October 2020 / Accepted: 30 October 2020 / Published: 2 November 2020
(This article belongs to the Special Issue In-Silico Methods in Musculoskeletal Biomechanics and Biotribology)

Abstract

:

Featured Application

Explicit biomechanical multibody model for the inverse dynamics of upper limb musculoskeletal systems considering muscle wrapping.

Abstract

The aim of this paper is to present an explicit analytical biomechanical multibody procedure able to be implemented in the solution of the musculoskeletal systems inverse dynamics problems. The model is proposed in formal multibody analysis and implemented in the Matlab numerical environment. It is based on the constraint kinematical behaviour analysis and considers both linear muscle actuators and curved ones, by calculating the geodesic muscle path over wrapping surfaces fixed to the bodies. The model includes the Hill muscle approach in order to evaluate both the contractile elements’ actions and the passive ones. With the aim to have a first validation, the model was applied to the dynamical analysis of the “arm26” OpenSim model, an upper limb subjected to external forces of gravity and to known kinematics. The comparison of results shows interesting matching in terms of kinematical analysis, driving forces, muscles’ activations and joint reactions, proving the reliability of the proposed approach in all cases in which it is necessary to achieve in-silico explicit determinations of the upper limb dynamics and joint reactions (i.e., in joint tribological optimization).

1. Introduction

In the framework of biomechanics, the dynamics of the human body plays an important role: it is necessary to apply knowledge of the joint contact forces during certain human kinematics motion to analyse the joint loading, and to define the synovial joints (hip, knee, ankle, etc.) tribological behaviour and mechanical performances. It is necessary to estimate the friction and the wear of the articulated surfaces [1,2,3], to predict some articular diseases such as the osteoarthritis [4,5] and to design prostheses able to replace the worn natural joint [6,7,8] or to investigate the influence of some properties on the prosthesis performance [9,10,11], etc.
The in vitro or in vivo approaches to study biomechanical phenomena, are characterised by a wide deviation of the measurement results. Since they are dependent on many parameters and vary from subject to subject [12,13,14], many experiments are required to define an average behaviour of a certain physical system. For these reasons, the in silico approach is becoming a very suitable way to overcome the described issues, and many software, able to solve numerically dynamical musculoskeletal systems, have been developed by researchers, such as OpenSim, AnyBody, etc.
Each software is built with algorithms used to approach mathematical problems; despite them being computationally optimized to solve problems, they are not fully controllable and they are not easy to use as a subroutine in more complex models.
A musculoskeletal system can be seen as a set of bodies; the bones, linked by joints which, simultaneously, allow and constrain the relative motions between them. It is moved by a complex actuation system composed by “deformable actuators” attached to the bodies, the muscles, governed by neural excitation signals [15]. In order to analyse the joint contact forces of an articulated system subjected to a known motion, one of the best ways to achieve the goal is to solve the inverse dynamics problem with a multibody approach, after performing the scaling and the inverse kinematics [16] to adapt the musculoskeletal system to the particular subject and motion.
With reference to the above issues, an analysis of scientific literature furnishes interesting findings.
In [6] the authors analysed the differences between two multibody musculoskeletal models of the upper limb, an anatomical one and one provided with a reverse shoulder prosthesis. They focused on the comparison between the muscles’ lengths, forces and joint reactions by varying the shoulder replacement location and geometry.
In [9] the authors validated the quality of a multibody simulation in the framework of above-knee amputees subjects based on a socket. They compared the calculated loads acting on the socket interface with the ones acquired by measurement devices applied on six subjects during level walking captured in gait laboratories, obtaining good agreements.
In [11] the authors discussed the theoretical multibody approaches and contact simulations in the framework of mechanical hands so as to adapt them to prosthetic hands. They studied the dynamical behaviour of the finger and the phalanx in order to analyse the grasping ability of the artificial hand.
In [17] the authors proposed to associate a fatigue model to the muscle one, in a general multibody simulation, considering the muscular force history, to evaluate its fitness level. The authors, with reference to a simple upper extremity system subjected to gravity and a concentrated load, obtained interesting results in terms of the increase of the muscles activation and/or of the number of recruited muscles after a loss of force production capacity.
In [18] the authors furnished a detailed description of the main techniques used to solve the inverse dynamics of musculoskeletal systems, showing the joint modelling, the muscular tissue dynamics and the physiological criteria. They applied the model in the case of the gait analysis of a geometrically reliable whole body.
In [19] the authors showed the multibody analysis potential to solve problems in the framework of the craniofacial biomechanics of both human and non-human applications.
In [20] the authors performed an overview on the multibody kinematic optimization, focusing on the reliability of the kinematical analysis associated to the upper limb modelling with respect to the motion of the soft tissue artefacts, the skin, which in general provides errors.
In [21] the authors developed an interesting multibody model of the human spine by discretising the linked intervertebral discs by a series of rotational joints, obtaining reliable results and pointing out on the model utility in the framework of the seating systems comfort investigation and of the surgical field.
In the above scientific framework, the aim of this paper is to develop, step by step, an explicit analytical multibody model representing the “core model” of a novel algorithm written by the authors in the Matlab environment, able to solve the inverse dynamics of upper limb musculoskeletal systems, allowing the explicit control of the involved variables. The reliability of the model is evaluated by performing a comparison with the results of an inverse dynamics analysis obtained from the open-source software OpenSim on the upper limb system subjected to a known kinematics example.

2. Materials and Methods

2.1. Musculoskeletal System

From a general point of view, a multibody model firstly needs the topology of the system, namely the set of n B bodies and n J joints together with the information about which joint links the parent body to the child bodies. The parent body of a joint is the body in which the joint is defined in terms of reference frame, while the child bodies of a joint are the bodies subjected to the relative motion, linked through the joint to the parent body.
We assumed as reference model the OpenSim “arm26” [22] (Figure 1) together with the reference frames of the ground and the joints: it is composed of 3 bodies: the ground, the humerus and the forearm; these are denoted by the complex of the ulna-radius-hand and by 2 joints, the shoulder, which connects the humerus to the ground, and the elbow, which links the forearm to the humerus.
Each body i in the space is described by Lagrangian coordinates q i , (1), which is a vector of 7 elements composed of its mass centre G i translation with respect to the ground t i and its orientation with respect to the ground reference frame denoted by the unit quaternion θ i .
q i = [ t i θ i ]
According to the quaternion theory [23], a unit quaternion θ is a unit vector composed of a scalar real part and a vector imaginary part, describing the orientation of a floating reference frame rotated with respect to a fixed one by the knowledge of the rotation angle and the axis around which it is performed. The information about the quaternion and its time derivatives allows calculating a body’s angular velocity ω together with the rotation matrix R with respect to the ground reference frame. A kinematical analysis is necessary to elaborate the position r P , the velocity v P or the acceleration a P of any point P in the space (joint, muscle attachment point, external force application point, etc.) fixed to a body i , through its local position with respect to the body i , u ¯ P , i , the body’s Lagrangian coordinates q i and their derivatives q ˙ i and q ¨ i [23], as described in (2).
r P = t i + R i u ¯ P , i v P = t ˙ i R i u ¯ ˜ P , i G ¯ i θ ˙ i a P = t ¨ i ω ˜ i R i u ¯ ˜ P , i G ¯ i θ ˙ i R i u ¯ ˜ P , i G ¯ i θ ¨ i

2.2. Kinematical Analysis Based on the Constraints

Since the time evolutions of the n d o f system’s degrees of freedom are known, a kinematical analysis can be immediately performed. The analysis is based on the idea that the system has to satisfy during the time t the set of constraint equations coming from the joints’ kinematical behaviour, through the right set of the bodies’ Lagrangian coordinates q [24,25], obtained by concatenating the individual ones q i along the column direction.
A multibody system made of n B bodies (including the ground) which move in a known way, is subjected to the constraint equations composed by:
-
n d o f rheonomic constraints which drive the degrees of freedom to move with the known trajectories ( C r );
-
n c scleronomic constraints due to the relative motions blocked by the joints kinematical behaviour ( C s );
-
( n B 1 ) constraints which guarantee that the bodies’ quaternions keep the unitary norm ( C b ) .
From the mobility Equation (3),
n d o f = 6 ( n B 1 ) n c ,
the 7 ( n B 1 ) constraint equations needed to find the same number of unknown q are included in the constraint vector C in (4).
C ( q , t ) = [ C r ( q , t ) C s ( q ) C b ( q ) ] = 0
The kinematical analysis, in (5), can be performed by solving the closed non-linear system of equations C through the Newton iterative method for the position problem and by differentiating the constraints with respect to time t , obtaining two linear systems to solve the velocity and acceleration, which provide the Lagrangian velocities q ˙ and accelerations q ¨ .
q ( k + 1 ) = q ( k ) C q 1 ( q ( k ) , t ) C ( q ( k ) , t ) C q q ˙ = C t C q q ¨ = ( C ˙ t + C ˙ q q ˙ )
The constraint Jacobian C q and the other matrices and vectors involved in the kinematical analysis in (5) ( C , C t ,   C ˙ q , C ˙ t ), are obtained by analysing the joints kinematical behaviour. In this application the shoulder and the elbow are modelled as revolute joints, so only this joint type is discussed. A revolute joint J allows only a relative rotation θ between the linked bodies i and j around an axis defined by the unit vector v ^ fixed to the parent body i , as showed in the Figure 2.
The rheonomic constraint C r , J associated to the revolute joint J is generally modelled considering that the scalar product between two particular vectors fixed to the related bodies has to be equal to the cosine of the relative rotation θ [18,25]: the periodicity of the trigonometric functions does not allow to reaching a unique solution numerically solving the position analysis. In this work this particular constraint is modelled considering that the difference between the bodies’ absolute angular coordinates φ projected on the rotation axis v ^ has to be equal to the relative rotation θ , as written in (6).
C r , J ( q , t ) = v ^ T R i T ( φ j φ i ) θ ( t ) = 0
The related scleronomic constraints C s , J are composed of a translational part and a rotational one [25], in (7):
-
the joint position calculated starting from the body i , r J , i , has to be equal to the one seen by the body j , r J , j ;
-
a vector fixed to body j , s ¯ j , parallel to the rotation axis v ^ , has to be orthogonal with respect to others two vectors fixed to the body i , s ¯ i 1 and s ¯ i 2 , both orthogonal to the rotation axis v ^ and to each other.
{ r J , i = t i + R i u ¯ J , i r J , j = t j + R j u ¯ J , j s j = R j s ¯ j s i 1 = R i s ¯ i 1 s i 2 = R i s ¯ i 2     C s , J ( q ) = [ r J , i r J , j s i 1 T s j s i 2 T s j ] = 0
While the joint local positions u ¯ J , i and u ¯ J , j are provided by the geometry of the system, the vectors s ¯ j , s ¯ i 1 and s ¯ i 2 can be calculated considering the spherical transformation that rotates the reference frame of the body i or j leading the x axis to be parallel with respect to the rotation axis v ^ .
The time derivatives of the rheonomic constraint are then performed in (8) (considering that from the quaternion theory results G ˙ θ ˙ = 0 ).
C ˙ r , J ( q , q ˙ , t ) = v ^ T G ¯ i θ ˙ i + v ^ T R i T R j G ¯ j θ ˙ j θ ˙ ( t ) = 0 C ¨ r , J ( q , q ˙ , q ¨ , t ) = v ^ T G ¯ i θ ¨ i + v ^ T R i T R j G ¯ j θ ¨ j + v ^ T R i T ω ˜ i T R j G ¯ j θ ˙ j + v ^ T R i T ω ˜ j R j G ¯ j θ ˙ j θ ¨ ( t ) = 0
Collecting the terms in order to build the matrices needed for the kinematical analysis, Equation (9) is obtained.
C ˙ r , J = [ 0 v ^ T G ¯ i ] [ t ˙ i θ ˙ i ] + [ 0 v ^ T R i T R j G ¯ j ] [ t ˙ j θ ˙ j ] θ ˙ ( t ) = 0 C ¨ r , J = [ 0 v ^ T G ¯ i ] [ t ¨ i θ ¨ i ] + [ 0 v ^ T R i T R j G ¯ j ] [ t ¨ j θ ¨ j ] + 0 [ t ˙ i θ ˙ i ] + [ 0 v ^ T R i T ( ω ˜ i T + ω ˜ j ) R j G ¯ j ] [ t ˙ j θ ˙ j ] θ ¨ ( t ) = 0
The same logic is adopted in order to find the time derivatives of the scleronomic constraints in (10).
C ˙ s , J ( q , q ˙ ) = [ t ˙ i R i u ¯ ˜ J , i G ¯ i θ ˙ i t ˙ j + R j u ¯ ˜ J , j G ¯ j θ ˙ j s ¯ j T R j T R i s ¯ ˜ i 1 G ¯ i θ ˙ i s ¯ i 1 T R i T R j s ¯ ˜ j G ¯ j θ ˙ j s ¯ j T R j T R i s ¯ ˜ i 2 G ¯ i θ ˙ i s ¯ i 2 T R i T R j s ¯ ˜ j G ¯ j θ ˙ j ] = 0 C ¨ s , J ( q , q ˙ , q ¨ ) = [ t ¨ i R i u ¯ ˜ J , i G ¯ i θ ¨ i R i ω ¯ ˜ i u ¯ ˜ J , i G ¯ i θ ˙ i t ¨ j + R j u ¯ ˜ J , j G ¯ j θ ¨ j + R j ω ¯ ˜ j u ¯ ˜ J , j G ¯ j θ ˙ j s ¯ j T R j T R i s ¯ ˜ i 1 G ¯ i θ ¨ i s ¯ j T R j T ( ω ˜ j T + ω ˜ i ) R i s ¯ ˜ i 1 G ¯ i θ ˙ i s ¯ i 1 T R i T R j s ¯ ˜ j G ¯ j θ ¨ j s ¯ i 1 T R i T ( ω ˜ i T + ω ˜ j ) R j s ¯ ˜ j G ¯ j θ ˙ j s ¯ j T R j T R i s ¯ ˜ i 2 G ¯ i θ ¨ i s ¯ j T R j T ( ω ˜ j T + ω ˜ i ) R i s ¯ ˜ i 2 G ¯ i θ ˙ i s ¯ i 2 T R i T R j s ¯ ˜ j G ¯ j θ ¨ j s ¯ i 2 T R i T ( ω ˜ i T + ω ˜ j ) R j s ¯ ˜ j G ¯ j θ ˙ j ] = 0
Collecting the terms again, Equation (11) is obtained.
C ˙ s , J = [ I R i u ¯ ˜ J , i G ¯ i 0 s ¯ j T R j T R i s ¯ ˜ i 1 G ¯ i 0 s ¯ j T R j T R i s ¯ ˜ i 2 G ¯ i ] [ t ˙ i θ ˙ i ] + [ I R j u ¯ ˜ J , j G ¯ j 0 s ¯ i 1 T R i T R j s ¯ ˜ j G ¯ j 0 s ¯ i 2 T R i T R j s ¯ ˜ j G ¯ j ] [ t ˙ j θ ˙ j ] = 0 C ¨ s , J = [ I R i u ¯ ˜ J , i G ¯ i 0 s ¯ j T R j T R i s ¯ ˜ i 1 G ¯ i 0 s ¯ j T R j T R i s ¯ ˜ i 2 G ¯ i ] [ t ¨ i θ ¨ i ] + [ I R j u ¯ ˜ J , j G ¯ j 0 s ¯ i 1 T R i T R j s ¯ ˜ j G ¯ j 0 s ¯ i 2 T R i T R j s ¯ ˜ j G ¯ j ] [ t ¨ j θ ¨ j ] + [ 0 R i ω ¯ ˜ i u ¯ ˜ J , i G ¯ i 0 s ¯ j T R j T ( ω ˜ j T + ω ˜ i ) R i s ¯ ˜ i 1 G ¯ i 0 s ¯ j T R j T ( ω ˜ j T + ω ˜ i ) R i s ¯ ˜ i 2 G ¯ i ] [ t ˙ i θ ˙ i ] + [ 0 R j ω ¯ ˜ j u ¯ ˜ J , j G ¯ j 0 s ¯ i 1 T R i T ( ω ˜ i T + ω ˜ j ) R j s ¯ ˜ j G ¯ j 0 s ¯ i 2 T R i T ( ω ˜ i T + ω ˜ j ) R j s ¯ ˜ j G ¯ j ] [ t ˙ j θ ˙ j ] = 0
Once the rheonomic and scleronomic constraints are evaluated, the ones related to the quaternions’ unitary norm are written for each body i in (12).
C b . i ( q ) = θ i T θ i 1 = 0
The time derivatives of C b , i are evaluated in (13).
C ˙ b , i ( q , q ˙ ) = 2 θ i T θ ˙ i = 0 C ¨ b , i ( q , q ˙ , q ¨ ) = 2 θ i T θ ¨ i + 2 θ ˙ i T θ ˙ i = 0
Collecting the terms for the last time, Equation (14) is written.
C ˙ b , i = [ 0 2 θ i T ] [ t ˙ i θ ˙ i ] = 0 C ¨ b , i = [ 0 2 θ i T ] [ t ¨ i θ ¨ i ] + [ 0 2 θ ˙ i T ] [ t ˙ i θ ˙ i ] = 0
Every constraint k is written in the form of (15) in order to extrapolate the needed submatrices that have to be associated to the related i and j bodies’ Lagrangian coordinates, so that the kinematical analysis can be solved. With reference to Equation (6), it is worth noting that the rheonomic constraint equations C r are written in such a way as to separate the functional dependence on the Lagrangian coordinates q , through the vector a , and the one on the time t , through the set of degrees of freedom q d o f .
{ C r ( q , t ) = a ( q ) q d o f ( t ) C r , t = q ˙ d o f C r , t t = q ¨ d o f   { C k ( q , t ) = 0 C ˙ k ( q , q ˙ , t ) = C q , i q ˙ i + C q , j q ˙ j + C t , k = 0 C ¨ k ( q , q ˙ , q ¨ , t ) = C q , i q ¨ i + C q , j q ¨ j + C ˙ q , i q ˙ i + C ˙ q , j q ˙ j + C ˙ t , k = 0

2.3. Inverse Dynamics

The solution over time of the kinematical problem provides all the quantities needed for the inverse dynamics. In particular, with reference to the chosen generalised coordinates q i , the equation of motion includes the mass matrix M , the vector of the centrifugal and Coriolis generalised force Q v and the external generalised force Q e [23] and it is written in the form of virtual work for a virtual displacement δ q by including the work of the internal forces through the constraint Jacobian C q and the Lagrange multipliers λ in (16).
δ q T ( M q ¨ Q v Q e + C q T λ ) = 0  
Since the work of the internal forces is considered, the equation of motion (22) is satisfied for any virtual displacement δ q : in order to refer the bodies’ orientations to the local cartesian angular coordinates φ ¯ i , instead of the quaternion θ i , a coordinate change is performed through the matrix J q [23], in (17).
δ q i = [ δ t i δ θ i ] = [ I 0 0 1 4 G ¯ i T ] [ δ t i δ φ ¯ i ] = J q , i δ q ¯ i     δ q ¯ T J q T ( M q ¨ Q v Q e + C q T λ ) = 0  
The generalised force vector Q c and the new constraint Jacobian C q ¯ are defined in (18), leading to the final form of the multibody equation of motion.
{ Q c = J q T ( M q ¨ Q v Q e ) C q ¯ = C q J q     C q ¯ T λ + Q c = 0
The coordinate transformation in (17) allows neglecting the part of the Jacobian associated with the constraints needed to keep the quaternions’ unitary norm: then Equation (18) becomes a closed linear system in which the unknowns are the Lagrange multipliers associated with the rheonomic constraints λ r , representing the driving forces associated to each degree of freedom, and the ones related to the scleronomic constraints λ s [25], as showed in (19).
{ C q ¯ = [ C q ¯ , r C q ¯ , s ] λ = [ λ r λ s ]     [ C q ¯ , r T C q ¯ , s T ] [ λ r λ s ] = Q c
The scleronomic multipliers λ s are not equal to the joint reaction forces, because the actuation of the musculoskeletal system doesn’t associate a single actuator to each degree of freedom: there are more muscles than degrees of freedom (redundancy) and, moreover, the muscular action is composed of a passive part which has to be considered as a known external force. In order to evaluate muscle forces and joint reactions, a muscle model is needed.

2.4. Hill Muscle Model

The Hill muscle model considers the muscle–tendon unit as a linear actuator between two attachment points A and B on the linked bodies (Figure 3) composed by the series of the tendon SE with length l t and the muscle, that is modelled as a parallel between the contractile element CE and the passive element PE, with length l m and inclined with respect to the action line by the pennation angle α p [26,27,28].
The force F m generated by the muscle–tendon series is shared by the tendon and the muscle, so it can be evaluated as the sum of the ones generated by the contractile element F C E , representing the active action due to the sarcomeres’ contractions, and the passive element F P E , due to the muscular fibre tissue stiffness, projected on the action line through the pennation angle α p . The active part F C E depends on the activation level a , a scalar number between 0 and 1 determined by the muscular recruitment criterion, the muscle fibre length l m and deformation velocity v m through the force–length–velocity relationships, while the passive force F P E depends only on the muscle fibre length l m [28,29,30], as written in (20) and depicted in the Figure 4:
-
according to the force–length relation f l , increasing the muscle fibre length, the active force increases until it reaches a peak (the maximum isometric force F 0 ) in correspondence with the optimal fibre length l 0 , then it decreases;
-
the muscle generates a greater force than the maximum isometric one (in correspondence of zero deformation velocity) when it lengthens, with an asymptotic behaviour, and a lower force until it reaches the maximum contraction velocity v m a x , beyond which it is not able to produce actuation, following the force–velocity relation f v ;
-
the passive element opposes a growing resistance only if the muscle length is greater than the optimal fibre length l 0 , until it reaches a maximum value following the relation f P E .
{ l ˜ = l m l 0 v ˜ = v m v m a x     { F C E = a f l ( l ˜ ) f v ( v ˜ ) F 0 F P E = f P E ( l ˜ ) F 0     F m = ( F C E + F P E ) cos α p
Generally it is assumed that the tendon dynamics is negligible, so that the tendon length l t can be considered as a constant, and that the muscle width w m keeps constant values, even in correspondence of the muscle optimal fibre length l 0 , when the muscle is inclined by the known optimal pennation angle α 0 . Then, with reference to Figure 3, Equation (21) is used to calculate the muscle length l m , the muscle deformation velocity v m and the pennation angle α p , starting from the length l m t and the deformation velocity v m t of the muscle–tendon unit, which are known from kinematical analysis [25].
{ l m t = l t + l m cos α p w m = l m sin α p = l 0 sin α 0     { l m = ( l 0 sin α 0 ) 2 + ( l m t l t ) 2 α p = arctan ( l 0 sin α 0 l m t l t ) v m = l ˙ m = v m t cos α p

2.5. Wrapping Muscles

While some muscles’ attachment points are fixed to the bodies, others depend on the particular pose of the musculoskeletal system, because the related muscles can wrap around bony surfaces fixed to the bodies [31,32,33]. In order to locate the intermediate attachment points due to the muscle wrapping, the curve that the muscle follows around the wrapping surface is modelled with a geodesic [34,35], since this approach models the wrapping muscle by constraining its associated curve to follow the smooth shortest path around the related surfaces; this approach also achieves a low computation cost. The surface’s spatial representation can be described with two parameters, u and v , through the parametric equations x ( u , v ) which satisfy the implicit surface equation f ( x ) = 0 . The geodetic curve c ( s ) , along the curvilinear coordinate s , is evaluated as the constrained motion of a particle with mass m on the surface x ( u , v ) in absence of external actions: then the particle’s equation of motion is assembled in (22) and it is solved according to its forward dynamics. The particle is characterised by three degrees of freedom in space; for the translation q , its mass m is arbitrary because its value affects only the Lagrange multiplier λ associated to the unique surface constraint C .
{ q = d q d s M = m I C = f ( q )     { M q + C q T λ = 0 C ( q ) = 0
Differentiating the constraint C with respect to the curvilinear coordinate s , the constraint Jacobian C q and its derivative C q are obtained. The geodesic forward dynamics problem written in (23) is a closed non-linear differential algebraic equation and it is solved numerically by marching techniques. Coupling it with the initial conditions r 0 , the attachment point position, and t ^ 0 , the tangent unit vector parallel to the surface, calculated from the straight-line muscle line action projected on the surface tangent plane, gives the initial direction: the solution q ( s ) is equal to the geodesic c ( s ) .
{ C = f ( q ) q = C q q = 0 C = f ( q ) q + f ( q ) q = C q ' q + C q q = 0 { M q + C q T λ = 0 C q q = C q ' q { [ M C q T C q 0 ] [ q λ ] = [ 0 C q ' q ] q ( 0 ) = r 0 q ( 0 ) = t ^ 0
With reference to Figure 5, in correspondence with each time instant, the model detects the contact between the straight-line muscles A B . and the associated surfaces x ( u , v ) ; then it calculates the geodesics starting from the two intersections P and Q on the surface, c P and c Q , varying the attachment points location until the original muscle A B is split in two straight-line muscle units A P and Q B tangent to the surface while the related geodesics are collinear to each other in correspondence with the geodesics’ closest points P * and Q * [34].
From the differential geometry, the tangent, normal and binormal unit vectors,   t ^ , n ^ and b ^ , respectively, are given in (24).
t ^ = c = [ x u x v ] [ u v ] n ^ = f | f | b ^ = t ^ × n ^
The objective is to find the unknown geodesics initial positions, the attachment points locations described by the surface parameters ( u 0 P , v 0 P ) and ( u 0 Q , v 0 Q ) , that set to zero the function f in (25), in which the first two components impose the surface’s tangency of the split muscles, while the last two components guarantee the geodesics’ collinearity. The non-linear closed problem can be solved using the Newton iterative method, numerically calculating numerically the Jacobian function J f .
ε = [ u 0 P v 0 P u 0 Q v 0 Q ]     { r P = x ( u 0 P , v 0 P ) r Q = x ( u 0 Q , v 0 Q )     { t ^ P = r P r A | r P r A | t ^ Q = r Q r B | r Q r B | f ( ε ) = [ t ^ P T n ^ P t ^ Q T n ^ Q b ^ P * T ( r P * r Q * ) b ^ P * T t ^ Q * ] = 0     ε ( k + 1 ) = ε ( k ) J f 1 ( ε ( k ) ) f ( ε ( k ) )
Once the Newton cycle has reached convergence, the two geodesics c P and c Q are joined in correspondence of the collinearity point, resulting in the definitive muscle path c P Q .
The surface types analysed in this work are the cylinder x c , with radius r and height h , and the ellipsoid x e , with semiaxes s x , s y and s z , given in (26).
x c ( u , v ) = [ r cos u r sin u v ] 0 u 2 π h 2 v h 2 x e ( u , v ) = [ s x cos v cos u s y cos v sin u s z sin v ] 0 u 2 π π 2 v π 2 f c ( x ) = x 2 + y 2 r 2 = 0 f e ( x ) = ( x s x ) 2 + ( y s y ) 2 + ( z s z ) 2 1 = 0

2.6. Static Optimization

Once the muscle path is defined, the muscle forces have to be turned into generalised forces through the muscle Jacobian Φ q by the principle of virtual work in order to include them in the equation of motion [17,18,25]. In general, each muscle is modelled as a series of straight-line and curved musculotendon actuators (Figure 6), so the muscle’s virtual work δ W m is calculated with the sum of the individual units work considering that the muscle force F m is constant along the muscle path and that there is no friction between the muscle path and the wrapping surfaces [35].
With reference to Figure 6, the three bodies i , j and k are linked by the same muscle, together with an intermediate wrapping surface fixed to another body w : locating the musculotendon units action lines by the unit vectors l ^ and the position r of the attachment points, the aim is to relate the virtual work to the bodies’ generalised coordinates δ q in order to build the muscle Jacobian Φ q in (27).
{ r A = t i + R i u ¯ A r B = t j + R j u ¯ B r P = t w + R w u ¯ P r Q = t w + R w u ¯ Q r C = t k + R k u ¯ C   { l ^ A B = r B r A | r B r A | l ^ B P = r P r B | r P r B | l ^ Q C = r C r Q | r C r Q |     { δ W A B = F m l ^ A B T ( δ r B δ r A ) δ W B P = F m l ^ B P T ( δ r P δ r B ) δ W P Q = 0 δ W Q C = F m l ^ Q C T ( δ r C δ r Q ) { δ W A B = F m ( l ^ A B T [ I   R i u ¯ ˜ A G ¯ i ] [ δ t i δ θ i ] l ^ A B T [ I   R j u ¯ ˜ B G ¯ j ] [ δ t j δ θ j ] ) δ W B P = F m ( l ^ B P T [ I   R j u ¯ ˜ B G ¯ j ] [ δ t j δ θ j ] l ^ B P T [ I   R w u ¯ ˜ P G ¯ w ] [ δ t w δ θ w ] ) δ W Q C = F m ( l ^ Q C T [ I   R w u ¯ ˜ Q G ¯ w ] [ δ t w δ θ w ] l ^ Q C T [ I   R k u ¯ ˜ C G ¯ k ] [ δ t k δ θ k ] ) δ W m = δ W A B + δ W B P + δ W P Q + δ W Q C = F m ( Φ q , i δ q i + Φ q , j δ q j + Φ q , w δ q w + Φ q , k δ q k )
Then, once the muscle Jacobian Φ q and the muscle force vector F m have been assembled, the generalised muscle force Q m can be included as an external force in the equation of motion (16) instead of the constraint Jacobian part related to the rheonomic constraints, as written in (28).
Q m T δ q = F m T Φ q δ q     δ q T ( M q ¨ Q v Q e Φ q T F m + C q , s T λ s + C q , b T λ b ) = 0
Changing the orientation coordinates through the matrix J q , so as to neglect the constraint Jacobian part related to the unitary norm of the quaternions, Equation (29) is obtained.
Φ q ¯ = Φ q J q     Φ q ¯ T F m C q ¯ , s T λ s = Q c
Each muscle force F m , i depends on the muscle length l m , i , the muscle deformation velocity v m , i and the pennation angle α p , i through the Hill model: these quantities can be calculated through Equation (21), evaluating the musculotendon length l m t , i and deformation velocity v m t , i . Analysing each muscle series i , in general it can be composed by n s straight-line units (from A j to B j ) and n w wrapped units (from P k to Q k ), so the musculotendon length l m t , i and deformation velocity v m t , i can be calculated as the sum of the individual contributions in (30).
{ l m t , i = j = 1 n s | r B , j r A , j | + k = 1 n w     | c P Q , k | d s v m t , i = j = 1 n s ( v B , j v A , j ) T l ^ A B , j + k = 1 n w ( v Q , k T t ^ Q , k v P , k T t ^ P , k )
From Equation (20), each muscle force F m , i is written in Equation (31) as the sum of an active part F ¯ C E , i multiplied by the activation level a i and a passive part F ¯ P E , i , in order to relate the muscle force vector F m to the activation vector a , through the maximum active muscle force F ¯ C E , and the passive muscle force vector F ¯ P E (which take into account the muscles’ length, velocity, pennation and maximum isometric force).
F m , i = a i F ¯ C E , i + F ¯ P E , i     D C E = d i a g ( F ¯ C E )     F m = D C E a + F ¯ P E
Substituting in (29), the unknowns in the equation of motion (32) are the activation vector a and the Lagrange multipliers related to the scleronomic constraints λ s , which definitely represent the joint reactions, by including the muscle activation Jacobian Φ q ¯ , C E and the generalised passive muscle force vector Q P E .
{ Φ q ¯ , C E = D C E Φ q ¯ Q P E = Φ q ¯ T F ¯ P E     [ Φ q ¯ , C E T C q ¯ , s T ] [ a λ s ] = Q c Q P E
Since the linear equation system (32) has more unknowns than equations, due to the muscle redundancy, it is used as an equality constraint in the static optimization problem which minimizes the global muscle activation level (physiological criterion). If the muscle topology modelling is not accurate, the static optimization could fail, so the Lagrange multipliers associated with the rheonomic constraints λ r are reintroduced in (32) with the role of residual actuators, whose action has to be minimized together with the muscle activations (bounded between 0 and 1), in order to ensure the optimization convergence while satisfying the equation of motion, as written in (33).
[ Φ q ¯ , C E T C q ¯ , s T C q ¯ , r T ] [ a λ s λ r ] = Q c Q P E { A = [ Φ q ¯ , C E T C q ¯ , s T C q ¯ , r T ] x = [ a λ s λ r ] b = Q c Q P E   min x J ( x ) = a T a + λ r T λ r A x = b 0 a 1

3. Results and Discussion

In this section, the results regarding the simulation of the upper limb subjected to gravity during a simple kinematics are discussed. The input data are taken from the OpenSim model “arm26” [22]. As already mentioned, the analysed upper limb is composed of three bodies: ground, humerus and forearm; these are linked by two revolute joints, the shoulder and elbow, whose main data (inertial properties, relative locations and rotation axes) are listed in Table 1, Table 2, Table 3 and Table 4.
The musculoskeletal system is moved by six muscles (long triceps, lateral triceps, medial triceps, long biceps, short biceps and brachialis), characterised by parameters included in the Table 5.
The wrapping surfaces included are a cylinder fixed to the ground interacting with the long triceps, a first ellipsoid interacting with the long biceps, a second ellipsoid interacting with the long triceps (both the ellipsoids are fixed to the humerus) and a cylinder fixed to the humerus interacting with all the triceps on the back and with the brachialis on the front. The wrapping surfaces have locations u ¯ w and orientations θ w with respect to the reference joints, these are reported in Table 6, along with the surface geometries.
The degrees of freedom are the shoulder and the elbow rotations and the analysed kinematics, as reported in Figure 7, which shows the movement of the elbow from 0° to 90° during 1 s while the shoulder does not move.
In order to prove the reliability of the kinematical analysis, Figure 8; Figure 9 show the comparison between the system configuration (the position of the bodies with their mass centre, the muscles and the wrapping surfaces) in the OpenSim model and in the Matlab model, in correspondence of the first and the last time instants. The kinematical analysis can be viewed in Supplementary Materials—Video S1.
The long biceps wrapped on the ellipsoid keeps its path on the surface during the simulation because the shoulder angle is constant; it is shown in Figure 10.
The wrapping muscles on the cylinder close to the elbow are viewed in Figure 11 at the start and at the end of the analysis time period, in order to show the brachialis wrapping on the cylinder front and the triceps wrapping on the cylinder back. The complete time evolution of the muscles’ wrapping on the cylinder is available in Supplementary Materials—Video S2.
A first quantitative comparison in the framework of the kinematical analysis is shown in Figure 12 on the muscles’ fibre length l m , which also accounts for the muscle wrapping.
Given that the comparison is satisfactory, the unique noticeable difference is related to the long biceps fibre length, probably due to a different wrapping algorithm used by the OpenSim software. After the kinematical analysis, the results of the inverse dynamics are shown in the Figure 13, in which the comparison between OpenSim and Matlab is made on the driving forces (rheonomic Lagrange multipliers λ r ). The inverse dynamics outputs result in a very satisfactory match between the Matlab model and the OpenSim software.
The tool “Static Optimization” in OpenSim does not take into account the muscle passive force and allows choosing between the physiological criterion by using the muscle’s force–length–velocity relationships or not. In the latter option the muscular activation a is intended as the ratio between the muscle force F m and the maximum isometric force F 0 , bounded between 0 and 1. In the configuration of non-physiological criterion, the comparison on the muscles’ activation is shown, respectively, in Figure 14. The comparison of the muscle forces is not shown because in this case the forces are proportional to the activations. The evaluated activations a calculated with the Matlab model are slightly underestimated with respect to the ones evaluated by OpenSim, which, moreover, show some discontinuities.
The results obtained with the physiological criterion but not taking into account the passive muscle forces are shown in Figure 15, in terms of muscle activations a , and in Figure 16, in terms of muscle forces F m . In this configuration there are small underestimations and overestimations in different parts of the time period and the OpenSim software returns some discontinuities, regarding both the activations and the muscle forces.
The “Computed Muscle Control” tool in OpenSim [36] allows evaluating the muscle activations, also considering the passive muscle forces, by calculating through PID controllers the muscle actions necessary to obtain the minimum difference between the trajectories of the degrees of freedom simulated with the forward dynamics and the ones known by inverse kinematics. The comparison results regarding the muscle activation a and the muscle forces F m are shown respectively in Figure 17 and in Figure 18. In this last configuration, which includes all the analysed phenomena, despite the good qualitative match between the Matlab model and the OpenSim software, there are some discrepancies, probably due to the different approaches with respect to static optimization. While the muscle activations are underestimated, the muscle forces seems to be more similar to each other, except for the first instants of the time period discussed.
Another interesting result is obtained regarding the residual actuators λ r e s (which are the rheonomic Lagrange multipliers λ r of Equation (33)), also provided in the OpenSim tools, in this configuration. With reference to Figure 19, the residual actuators show a similar behaviour, both quantitively and qualitatively. The quantitative response of the residual actuators shows that the particular muscles’ topology, together with their characteristic parameters listed in Table 5, does not fully satisfy the equation of motion, since they result from the minimization, but their role is marginal if compared to the rheonomic Lagrange multipliers coming from the inverse dynamics (Figure 13) and, in fact, the residual action is needed just to reach the minimization convergence and to complete the calculus, not for substituting the real actuators represented by the muscles.
Once the inverse dynamics problem of the musculoskeletal system is solved, the Matlab model provides the joint reactions. In Figure 20, the joint reactions λ j r (which are the scleronomic Lagrange multipliers λ s of Equation (33)) which act on the upper limb joints during the analysed kinematics are shown.

4. Conclusions

The objective of this work was to propose and to describe step by step the procedure to achieve a general multibody approach able to solve the inverse dynamics problem of a musculoskeletal system, the upper limb, implemented in a novel code developed in the Matlab environment. By knowledge of the musculoskeletal system degrees of freedom together with the system’s topology, the model allows a kinematical analysis based on the evaluation of the constraints’ kinematical behaviour. Subsequently, associating an actuator for each degree of freedom and including the external forces, the inverse dynamics is solved by calculating the rheonomic Lagrange multipliers, related to the driving actions that lead the system to move following the known kinematics. The knowledge of the muscles’ topology leads the kinematical analysis to evaluate the muscle paths between the bodies and around the wrapping surfaces fixed to the bodies: in the case of wrapped muscle, an algorithm based on the calculus of geodesic curves is used. The muscle paths are involved in the elaboration of the muscles’ lengths, deformation velocities and pennation angles, in order to include in the equation of motion, through the Hill muscle model, the muscles’ passive forces and the muscles’ activations. The last step of the model is to analyse the muscular recruitment through static optimization: the evaluation of the set of muscles’ activation levels and joint reaction forces, able to minimize the global activation and to satisfy the equation of motion.
The effectiveness of the model was examined by its application on an upper limb model subjected to a simple kinematics and to gravity forces. All the inputs data were taken from the OpenSim software and the simulation results were compared with the ones provided by the software, obtaining a general satisfactory qualitative and quantitative matching:
-
despite the kinematical analysis, exactness is noticeable, the only difference found was a small overestimation of the long biceps muscle fibre length, probably due to the different wrapping algorithm used by OpenSim;
-
the inverse dynamics in terms of driving force results were almost completely matched;
-
the static optimization was characterised by a general underestimation of the muscles’ activations in all the cases considered (both physiological and non-physiological criterion in absence of passive muscles’ forces and physiological criterion considering the passive muscle actions compared with the Computed Muscle Control tool of OpenSim). The underestimation was regained by comparing the muscle forces, the differences were probably due to the different approaches in the minimization techniques and, certainly, to the different approach to the inverse dynamics of the Computed Muscle Control;
-
the good outcome of the comparison was also confirmed by the matching of the residual actuators.
In summary, with the limitation of its validation with only one imposed upper limb kinematics, the model resulted as a suitable, open and fully controllable tool in the framework of the multibody musculoskeletal dynamics of the human upper limb. However, despite the model being characterised by the accurate analytical description of important muscular phenomena (muscle dynamics, recruitment and wrapping), it has to process more complex kinematics in order to perform a more accurate validation and to design a fully in silico optimization model of the artificial human joints. The deepening of the involved phenomena is always a stimulating necessity, in order to understand more clearly the human body mechanical behaviour, so future research perspectives will be devoted to:
-
a full validation with more upper limb kinematics;
-
the application of the model in the framework of the lower limb musculoskeletal system, in order to compare the simulated joint reactions with the in vivo measurements during the gait analysis;
-
the coupling of the model with a lubrication one, in order to estimate the wear of an artificial joint or to evaluate the joints friction forces or torques to include in the equation of motion as non-conservative actions;
-
the upgrade of the model by including the forward dynamics, in order to make a detailed comparison with the Computed Muscle Control tool of the OpenSim software;
-
the deepening of the Hill muscle model, in order to include the tendon dynamics;
-
the possible applications of the model in the framework of the biomechatronics and robotics fields.

Supplementary Materials

The following are available online at https://0-www-mdpi-com.brum.beds.ac.uk/2076-3417/10/21/7760/s1, Video S1: Inverse kinematics, Video S2: Elbow wrapping.

Author Contributions

Theoretical research design, A.R.; analytical development, A.R. and A.S.; software programming, A.S.; writing A.S.; supervision, A.R.; project administration, A.R.; funding acquisition, A.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by MIUR, PRIN 2017-BIONIC.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

q Lagrangian coordinates
t Translation vector
θ Unit quaternion vector
R Rotation matrix
u ¯ Local position vector
r ,   v ,   a Position, velocity and acceleration vector in the ground reference frame
n B ,   n d o f ,   n c Number of bodies, degrees of freedom and constraints
C Constraint equations
C q Constraint (Jacobian)
v ^ Rotation axis unit vector
q d o f Degrees of freedom vector
M Mass matrix
Q Generalised force vector
λ Lagrange multipliers
J q Coordinate change matrix
l t Tendon length
l m Muscle fibre length
v m Muscle fibre deformation velocity
w m Muscle width
α p Muscle fibre pennation angle
F C E Muscle contractile element force
F P E Muscle passive element force
F m Muscle force
l 0 ,   α 0 Optimal muscle fibre length and the related pennation angle
F 0 Maximum isometric force
l m t ,   v m t Musculotendon length and deformation velocity
x ( u , v ) ,   f ( x ) Surfaces’ parametric and implicit equations
s Curvilinear coordinate
c Curve
t ^ ,   n ^ ,   b ^ Tangent, normal and binormal unit vectors
Φ q Muscle (Jacobian)
a Muscle activation vector
λ r ,   λ s Lagrange multipliers related to the rheonomic constraints (or residual actuators) and to the scleronomic constraints (or joint reactions)

References

  1. Ruggiero, A.; Sicilia, A. A Mixed Elasto-Hydrodynamic Lubrication Model for Wear Calculation in Artificial Hip Joints. Lubricants 2020, 8, 72. [Google Scholar] [CrossRef]
  2. Ruggiero, A.; Sicilia, A. Lubrication modeling and wear calculation in artificial hip joint during the gait. Tribol. Int. 2020, 142, 105993. [Google Scholar] [CrossRef]
  3. Ruggiero, A.; Sicilia, A.; Affatato, S. In silico total hip replacement wear testing in the framework of ISO 14242-3 accounting for mixed elasto-hydrodynamic lubrication effects. Wear 2020, 460, 203420. [Google Scholar] [CrossRef]
  4. Chen, Z.; Chen, Z.; Xin, H.; Zhang, Q.; Jin, Z. Musculoskeletal multibody dynamics simulation of the contact mechanics and kinematics of a natural knee joint during a walking cycle. Proc. Inst. Mech. Eng. Part H J. Eng. Med. 2018, 232, 508–519. [Google Scholar]
  5. Varady, P.A.; Glitsch, U.; Augat, P. Loads in the hip joint during physically demanding occupational tasks: A motion analysis study. J. Biomech. 2015, 48, 3227–3233. [Google Scholar] [CrossRef]
  6. Quental, C.; Folgado, J.; Ambrósio, J.; Monteiro, J. Multibody System of the Upper Limb Including a Reverse Shoulder Prosthesis. J. Biomech. Eng. 2013, 135, 111005. [Google Scholar] [CrossRef]
  7. Stylianou, A.P.; Guess, T.M.; Kia, M. Multibody Muscle Driven Model of an Instrumented Prosthetic Knee During Squat and Toe Rise Motions. J. Biomech. Eng. 2013, 135, 41008. [Google Scholar] [CrossRef] [Green Version]
  8. Ruggiero, A.; Merola, M.; Affatato, S. On the biotribology of total knee replacement: A new roughness measurements protocol on in vivo condyles considering the dynamic loading from musculoskeletal multibody model. Measurement 2017, 112, 22–28. [Google Scholar] [CrossRef]
  9. Schwarze, M.; Hurschler, C.; Seehaus, F.; Oehler, S.; Welke, B. Loads on the prosthesis–socket interface of above-knee amputees during normal gait: Validation of a multi-body simulation. J. Biomech. 2013, 46, 1201–1206. [Google Scholar] [CrossRef] [PubMed]
  10. Ruggiero, A.; Merola, M.; Affatato, S. Finite element simulations of hard-on-soft hip joint prosthesis accounting for dynamic loads calculated from a musculoskeletal model during walking. Materials 2018, 11, 574. [Google Scholar] [CrossRef] [Green Version]
  11. Cosenza, C.; Niola, V.; Savino, S. A mechanical hand for prosthetic applications: Multibody model and contact simulation. Proc. Inst. Mech. Eng. Part H J. Eng. Med. 2018, 232, 819–825. [Google Scholar] [CrossRef] [PubMed]
  12. Bergmann, G.; Bender, A.; Dymke, J.; Duda, G.; Damm, P. Standardized Loads Acting in Hip Implants. PLoS ONE 2016, 11, e0155612. [Google Scholar] [CrossRef] [PubMed]
  13. Kassi, J.-P.; Heller, M.O.; Stoeckle, U.; Perka, C.; Duda, G.N. Stair climbing is more critical than walking in pre-clinical assessment of primary stability in cementless THA in vitro. J. Biomech. 2005, 38, 1143–1154. [Google Scholar] [CrossRef] [PubMed]
  14. Westerhoff, P.; Graichen, F.; Bender, A.; Halder, A.; Beier, A.; Rohlmann, A.; Bergmann, G. In vivo measurement of shoulder joint loads during activities of daily living. J. Biomech. 2009, 42, 1840–1849. [Google Scholar] [CrossRef]
  15. Nordin, M.; Frankel, V.H. (Eds.) Basic Biomechanics of the Musculoskeletal System; Lippincott Williams & Wilkins: Filadelfia, PA, USA, 2001. [Google Scholar]
  16. Trinler, U.; Baker, R. Estimated landmark calibration of biomechanical models for inverse kinematics. Med. Eng. Phys. 2018, 51, 79–83. [Google Scholar] [CrossRef]
  17. Silva, M.T.; Pereira, A.F.; Martins, J. An efficient muscle fatigue model for forward and inverse dynamic analysis of human movements. Procedia IUTAM 2011, 2, 262–274. [Google Scholar] [CrossRef] [Green Version]
  18. Silva, M.T.; Ambrósio, J. Solution of Redundant Muscle Forces in Human Locomotion with Multibody Dynamics and Optimization Tools. Mech. Based Des. Struct. Mach. 2003, 31, 381–411. [Google Scholar] [CrossRef]
  19. Curtis, N. Craniofacial biomechanics: An overview of recent multibody modelling studies. J. Anat. 2010, 218, 16–25. [Google Scholar] [CrossRef]
  20. Duprey, S.; Naaim, A.; Moissenet, F.; Begon, M.; Cheze, L. Kinematic models of the upper limb joints for multibody kinematics optimisation: An overview. J. Biomech. 2017, 62, 87–94. [Google Scholar] [CrossRef] [Green Version]
  21. Huynh, K.; Gibson, I.; Jagdish, B.; Lu, W. Development and validation of a discretised multi-body spine model in LifeMOD for biodynamic behaviour simulation. Comput. Methods Biomech. Biomed. Eng. 2013, 18, 175–184. [Google Scholar] [CrossRef]
  22. Holzbaur, K.R.S.; Murray, W.M.; Delp, S.L. A Model of the Upper Extremity for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control. Ann. Biomed. Eng. 2005, 33, 829–840. [Google Scholar] [CrossRef]
  23. Shabana, A. Dynamics of Multibody Systems; Cambridge University Press: Cambridge, UK, 2020. [Google Scholar]
  24. Nikravesh, P.E.; Gim, G. Systematic Construction of the Equations of Motion for Multibody Systems Containing Closed Kinematic Loops. J. Mech. Des. 1993, 115, 143–149. [Google Scholar] [CrossRef]
  25. Oliveira, H. Inverse Dynamic Analysis of the Human Locomotion Apparatus for Gait; Instituto Superior Técnico: Lisbon, Portugal, 2016. [Google Scholar]
  26. Jovanovic, K.; Vranic, J.; Miljkovic, N. Hill’s and Huxley’s muscle models-tools for simulations in biomechanics. Serbian J. Electr. Eng. 2015, 12, 53–67. [Google Scholar] [CrossRef] [Green Version]
  27. Millard, M.; Uchida, T.; Seth, A.; Delp, S.L. Flexing Computational Muscle: Modeling and Simulation of Musculotendon Dynamics. J. Biomech. Eng. 2013, 135, 021005. [Google Scholar] [CrossRef]
  28. Romero, F.; Alonso, F.J. A comparison among different Hill-type contraction dynamics formulations for muscle force estimation. Mech. Sci. 2016, 7, 19–29. [Google Scholar] [CrossRef] [Green Version]
  29. John, C. Complete Description of the Thelen 2003 Muscle Model; OpenSim: Stanford, CA, USA, 2011. [Google Scholar]
  30. Thelen, D.G. Adjustment of Muscle Mechanics Model Parameters to Simulate Dynamic Contractions in Older Adults. J. Biomech. Eng. 2003, 125, 70–77. [Google Scholar] [CrossRef] [Green Version]
  31. Hada, M.; Yamada, D.; Tsuji, T. An analysis of equivalent impedance characteristics by modeling the human musculoskeletal structure as a multibody system. In Proceedings of the ECCOMAS Thematic Conference, Milano, Italy, 25–28 June 2007; pp. 1–20. [Google Scholar]
  32. Gao, F.; Damsgaard, M.; Rasmussen, J.; Christensen, S.T. Computational method for muscle-path representation in musculoskeletal models. Biol. Cybern. 2002, 87, 199–210. [Google Scholar] [CrossRef]
  33. Zarifi, O.; Stavness, I. Muscle wrapping on arbitrary meshes with the heat method. Comput. Methods Biomech. Biomed. Eng. 2016, 20, 1–11. [Google Scholar] [CrossRef]
  34. Stavness, I.; Sherman, M.; Delp, S. A General Approach to Muscle Wrapping over Multiple Surfaces; Stanford University: Stanford, CA, USA, 2012. [Google Scholar]
  35. Scholz, A.; Stavness, I.; Sherman, M.A.; Delp, S.L.; Kecskeméthy, A. Improved Muscle Wrapping Algorithms Using Explicit Path-Error Jacobians. New Adv. Mech. Mach. Sci. 2013, 15, 395–403. [Google Scholar]
  36. Thelen, D.G.; Anderson, F.C.; Delp, S.L. Generating dynamic simulations of movement using computed muscle control. J. Biomech. 2003, 36, 321–328. [Google Scholar] [CrossRef]
Figure 1. OpenSim arm26 model topology.
Figure 1. OpenSim arm26 model topology.
Applsci 10 07760 g001
Figure 2. Revolute joint scheme.
Figure 2. Revolute joint scheme.
Applsci 10 07760 g002
Figure 3. Hill muscle scheme.
Figure 3. Hill muscle scheme.
Applsci 10 07760 g003
Figure 4. Hill model force–length (a) and force-velocity (b) curves.
Figure 4. Hill model force–length (a) and force-velocity (b) curves.
Applsci 10 07760 g004
Figure 5. Geodesics on a wrapping surface.
Figure 5. Geodesics on a wrapping surface.
Applsci 10 07760 g005
Figure 6. Muscle series.
Figure 6. Muscle series.
Applsci 10 07760 g006
Figure 7. Arm26 degrees of freedom over time.
Figure 7. Arm26 degrees of freedom over time.
Applsci 10 07760 g007
Figure 8. Kinematics first time instant in (a) OpenSim and (b) Matlab.
Figure 8. Kinematics first time instant in (a) OpenSim and (b) Matlab.
Applsci 10 07760 g008
Figure 9. Kinematics last time instant in (a) OpenSim and (b) Matlab.
Figure 9. Kinematics last time instant in (a) OpenSim and (b) Matlab.
Applsci 10 07760 g009
Figure 10. Shoulder wrapping.
Figure 10. Shoulder wrapping.
Applsci 10 07760 g010
Figure 11. Elbow wrapping in the (a) first and (b) the last time instants.
Figure 11. Elbow wrapping in the (a) first and (b) the last time instants.
Applsci 10 07760 g011
Figure 12. Muscles’ fiber lengths comparison: (a) Matlab (a) and (b) OpenSim.
Figure 12. Muscles’ fiber lengths comparison: (a) Matlab (a) and (b) OpenSim.
Applsci 10 07760 g012
Figure 13. Inverse dynamics comparison: (a) Matlab and (b) OpenSim.
Figure 13. Inverse dynamics comparison: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g013
Figure 14. Muscles’ activations with non-physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Figure 14. Muscles’ activations with non-physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g014
Figure 15. Muscles’ activations with physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Figure 15. Muscles’ activations with physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g015
Figure 16. Muscles’ forces with physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Figure 16. Muscles’ forces with physiological criterion and no passive forces: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g016
Figure 17. Muscles’ activations with physiological criterion and passive forces: (a) Matlab and (b) OpenSim.
Figure 17. Muscles’ activations with physiological criterion and passive forces: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g017
Figure 18. Muscles’ forces with physiological criterion and passive forces: (a) Matlab and (b) OpenSim.
Figure 18. Muscles’ forces with physiological criterion and passive forces: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g018
Figure 19. Residual actuators: (a) Matlab and (b) OpenSim.
Figure 19. Residual actuators: (a) Matlab and (b) OpenSim.
Applsci 10 07760 g019
Figure 20. Upper limb joint reactions: (a) shoulder forces, and (b) torques, (c) elbow forces and (d) torques.
Figure 20. Upper limb joint reactions: (a) shoulder forces, and (b) torques, (c) elbow forces and (d) torques.
Applsci 10 07760 g020
Table 1. Bodies’ inertial properties.
Table 1. Bodies’ inertial properties.
Body Mass   m   [ kg ] Inertia Tensor Entries
I ¯ x x   [ g   m 2 ]   I ¯ y y   [ g   m 2 ]       I ¯ z z   [ g   m 2 ] I ¯ x y   [ g   m 2 ]       I ¯ y z   [ g   m 2 ]       I ¯ x z   [ g   m 2 ]
Humerus1.8614.814.5513.19000
Forearm1.5319.281.5720.06000
Table 2. Bodies’ mass center position with respect to the reference joints.
Table 2. Bodies’ mass center position with respect to the reference joints.
BodyLocal Position Vector
u ¯ G x   [ m ] u ¯ G y   [ m ] u ¯ G z   [ m ]
Humerus0−0.1800
Forearm0−0.1810
Table 3. Joints’ positions with respect to the reference joints.
Table 3. Joints’ positions with respect to the reference joints.
JointLocal Position Vector
u ¯ J x   [ m ] u ¯ J y   [ m ] u ¯ J z   [ m ]
Shoulder−0.0175−0.00700.1700
Elbow0.0061−0.2904−0.0123
Table 4. Joints’ rotation axed with respect to the parent bodies.
Table 4. Joints’ rotation axed with respect to the parent bodies.
JointUnit Vector Axis
v ^ x v ^ y v ^ z
Shoulder−0.05890.00230.9983
Elbow0.04940.03660.9981
Table 5. Muscles’ properties.
Table 5. Muscles’ properties.
MuscleMaximum Isometric Force
F 0   [ N ]
Optimal Muscle Fibre Length
l 0   [ m ]
Slack
Tendon Length
l t   [ m ]
Optimal Pennation Angle
α 0   [ r a d ]
Maximum Contraction Velocity
v m a x   [ l 0 / s ]
Long triceps798.520.13400.14300.20910
Lateral triceps624.300.11380.09800.15710
Medial triceps624.300.11380.09080.15710
Long biceps624.300.11570.2723010
Short biceps435.560.13210.1923010
Brachialis987.260.08580.0535010
Table 6. Wrapping surfaces location and orientation with respect to the reference joints and geometry.
Table 6. Wrapping surfaces location and orientation with respect to the reference joints and geometry.
Wrapping SurfaceLocal Position VectorLocal OrientationGeometry
u ¯ w , x   [ m ] u ¯ w , y   [ m ] u ¯ w , z   [ m ] θ w , x   [ r a d ] θ w , y   [ r a d ] θ w , z   [ r a d ] [ m m ]
Ground cylinder−0.0439−0.00390.14781.3753−0.29462.4360 r = 3 h = 30
Shoulder ellipsoid 1−0.0078−0.0041−0.00143.0016−0.85352.5742 s x = 35 s y = 20 s z = 20
Shoulder ellipsoid 20.00330.00730.0003−2.0043−1.00160.9755 s x = 25 s y = 20 s z = 20
Elbow cylinder0.0028−0.2919−0.0069−0.1402−0.00630.1550 r = 16 h = 50
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ruggiero, A.; Sicilia, A. A Novel Explicit Analytical Multibody Approach for the Analysis of Upper Limb Dynamics and Joint Reactions Calculation Considering Muscle Wrapping. Appl. Sci. 2020, 10, 7760. https://0-doi-org.brum.beds.ac.uk/10.3390/app10217760

AMA Style

Ruggiero A, Sicilia A. A Novel Explicit Analytical Multibody Approach for the Analysis of Upper Limb Dynamics and Joint Reactions Calculation Considering Muscle Wrapping. Applied Sciences. 2020; 10(21):7760. https://0-doi-org.brum.beds.ac.uk/10.3390/app10217760

Chicago/Turabian Style

Ruggiero, Alessandro, and Alessandro Sicilia. 2020. "A Novel Explicit Analytical Multibody Approach for the Analysis of Upper Limb Dynamics and Joint Reactions Calculation Considering Muscle Wrapping" Applied Sciences 10, no. 21: 7760. https://0-doi-org.brum.beds.ac.uk/10.3390/app10217760

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop