minimal formulation of joint motion for biomechanisms · minimal formulation of joint motion for...

13
Nonlinear Dyn (2010) 62: 291–303 DOI 10.1007/s11071-010-9717-3 ORIGNAL PAPER Minimal formulation of joint motion for biomechanisms Ajay Seth · Michael Sherman · Peter Eastman · Scott Delp Received: 1 May 2009 / Accepted: 7 April 2010 / Published online: 1 May 2010 © Springer Science+Business Media B.V. 2010 Abstract Biomechanical systems share many prop- erties with mechanically engineered systems, and re- searchers have successfully employed mechanical en- gineering simulation software to investigate the me- chanical behavior of diverse biological mechanisms, ranging from biomolecules to human joints. Un- like their man-made counterparts, however, biomech- anisms rarely exhibit the simple, uncoupled, pure- axial motion that is engineered into mechanical joints such as sliders, pins, and ball-and-socket joints. Cur- rent mechanical modeling software based on internal- coordinate multibody dynamics can formulate engi- neered joints directly in minimal coordinates, but re- quires additional coordinates restricted by constraints to model more complex motions. This approach can be inefficient, inaccurate, and difficult for biomech- anists to customize. Since complex motion is the rule rather than the exception in biomechanisms, the ben- efits of minimal coordinate modeling are not fully realized in biomedical research. Here we introduce a practical implementation for empirically-defined internal-coordinate joints, which we call “mobilizers.” A mobilizer encapsulates the observations, measure- ment frame, and modeling requirements into a hinge specification of the permissible-motion manifold for A. Seth ( ) · M. Sherman · P. Eastman · S. Delp Bioengineering Department, Stanford University, Stanford, CA 94305-5448, USA e-mail: [email protected] url: http://www.stanford.edu/group/nmbl/ a minimal set of internal coordinates. Mobilizers support nonlinear mappings that are mathematically equivalent to constraint manifolds but have the advan- tages of fewer coordinates, no constraints, and exact representation of the biomechanical motion-space— the benefits long enjoyed for internal-coordinate mod- els of mechanical joints. Hinge matrices within the mobilizer are easily specified by user-supplied func- tions, and provide a direct means of mapping per- missible motion derived from empirical data. We present computational results showing substantial per- formance and accuracy gains for mobilizers versus equivalent joints implemented with constraints. Exam- ples of mobilizers for joints from human biomechan- ics and molecular dynamics are given. All methods and examples were implemented in Simbody™—an open source multibody-dynamics solver available at https://Simtk.org. Keywords Multibody dynamics · Internal coordinates · Computer simulation · Biomechanics · Molecular dynamics · Skeletal modeling 1 Introduction Physics-based simulations of biological structures em- ploy computational tools to understand the dynamics of complex biological mechanisms that influence hu- man health. Simulations of musculoskeletal dynam- ics, for example, are used to quantify joint reaction

Upload: others

Post on 22-Oct-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Nonlinear Dyn (2010) 62: 291–303DOI 10.1007/s11071-010-9717-3

O R I G NA L PA P E R

Minimal formulation of joint motion for biomechanisms

Ajay Seth · Michael Sherman · Peter Eastman ·Scott Delp

Received: 1 May 2009 / Accepted: 7 April 2010 / Published online: 1 May 2010© Springer Science+Business Media B.V. 2010

Abstract Biomechanical systems share many prop-erties with mechanically engineered systems, and re-searchers have successfully employed mechanical en-gineering simulation software to investigate the me-chanical behavior of diverse biological mechanisms,ranging from biomolecules to human joints. Un-like their man-made counterparts, however, biomech-anisms rarely exhibit the simple, uncoupled, pure-axial motion that is engineered into mechanical jointssuch as sliders, pins, and ball-and-socket joints. Cur-rent mechanical modeling software based on internal-coordinate multibody dynamics can formulate engi-neered joints directly in minimal coordinates, but re-quires additional coordinates restricted by constraintsto model more complex motions. This approach canbe inefficient, inaccurate, and difficult for biomech-anists to customize. Since complex motion is the rulerather than the exception in biomechanisms, the ben-efits of minimal coordinate modeling are not fullyrealized in biomedical research. Here we introducea practical implementation for empirically-definedinternal-coordinate joints, which we call “mobilizers.”A mobilizer encapsulates the observations, measure-ment frame, and modeling requirements into a hingespecification of the permissible-motion manifold for

A. Seth (�) · M. Sherman · P. Eastman · S. DelpBioengineering Department, Stanford University, Stanford,CA 94305-5448, USAe-mail: [email protected]: http://www.stanford.edu/group/nmbl/

a minimal set of internal coordinates. Mobilizerssupport nonlinear mappings that are mathematicallyequivalent to constraint manifolds but have the advan-tages of fewer coordinates, no constraints, and exactrepresentation of the biomechanical motion-space—the benefits long enjoyed for internal-coordinate mod-els of mechanical joints. Hinge matrices within themobilizer are easily specified by user-supplied func-tions, and provide a direct means of mapping per-missible motion derived from empirical data. Wepresent computational results showing substantial per-formance and accuracy gains for mobilizers versusequivalent joints implemented with constraints. Exam-ples of mobilizers for joints from human biomechan-ics and molecular dynamics are given. All methodsand examples were implemented in Simbody™—anopen source multibody-dynamics solver available athttps://Simtk.org.

Keywords Multibody dynamics · Internalcoordinates · Computer simulation · Biomechanics ·Molecular dynamics · Skeletal modeling

1 Introduction

Physics-based simulations of biological structures em-ploy computational tools to understand the dynamicsof complex biological mechanisms that influence hu-man health. Simulations of musculoskeletal dynam-ics, for example, are used to quantify joint reaction

Page 2: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

292 A. Seth et al.

forces of articulating bones in studies of osteoarthritis[1, 2] and joint prosthetics [3]. Simulations of mole-cular machines [4–6] are used to characterize the dy-namics of molecular processes in biology. To gain con-fidence in biosimulations, models must be accurateand subjected to sensitivity [7] and design optimiza-tion [8] analyses, demanding vast amounts of compu-tation. Simulation accuracy and efficiency are gener-ally competing goals, but here we present a multibodyformulation that improves both, and is well-suited for,simulation of biomechanisms.

Structures over a wide range of biological domainscan be modeled as systems of rigid bodies connectedby joints; that is, multibody systems. Although forcecalculations and specialized numerical methods [9] af-fect the cost of simulating biomechanisms, our focus ison the efficiency of the multibody dynamics formula-tion. The multibody dynamics formulation influencesthe number of force calculations and the demands onnumerical methods. We consider internal coordinateformulations [10], implemented using an O(n) recur-sive algorithm (surveyed by Jain [11]), to be the pre-ferred method for simulating biomechanisms. Inter-nal coordinates are particularly useful because coordi-nates are directly related to degrees of freedom (dofs)of interest. Internal coordinates also provide a minimalset of system equations with the opportunity to obtaina system free of algebraic constraints, which yieldsa system composed of ordinary differential equations(ODEs) and avoids numerically intensive mixed dif-ferential algebraic equations (DAEs) [12]. A system ofODEs does not require constraint stabilization [13, 14]and is better suited for design optimization [15, 16]and sensitivity analyses [17], as well as optimal con-trol [18, 19] applications. Internal coordinate for-mulations are prevalent in musculoskeletal modeling[20–23] and ubiquitous in coarse-grained biomolecu-lar dynamics for NMR refinement [24–26]. In otherbiomolecular contexts, multibody dynamics has yetto be fully exploited, but internal-coordinate methodshave already been applied successfully [27–29]. Formechanically engineered systems, limitations result-ing from the underlying tree structure and the com-plexity of recursive internal coordinate formulationshave been successfully resolved (e.g. [30–32]); ad-dressing the challenges for efficiently representingbiomechanisms is the subject of this paper.

To illustrate one of the challenges with a simpli-fied example, consider the representation of screw mo-tion that has a single rotation about a screw axis and a

Fig. 1 Screw motion. A collar body translates (u2) along acommon z-axis with a screw as it spins (u1) about the sameaxis

translation along the same axis (z-axis, Fig. 1), whichare coupled by the screw’s pitch s (in m/rad, for ex-ample). Whereas typical mechanical joints such as apin, slider, universal, cylindrical, and planar partitionmotion into rotational and translational components,a screw joint inconveniently couples a rotation and atranslation. In automated software having no built-inscrew, a common approach [33, 34] is to employ acylindrical joint providing two dofs with internal coor-dinates u1 and u2 and then to enforce the relationshipof rotation to translation via the constraint u2 = su1.The result is a set of three DAEs (one rotational andone translational differential equation, and one alge-braic equation). While this is a substantial reductionfrom the eleven equations required by spatial formu-lations (three rotational and three translational differ-ential equations, and five algebraic equations), it stillrequires a system of three DAEs to model a single dof.

In practice, of course, a screw can be treated ef-ficiently [45]. But the problem is more severe forbiomechanical joints, where a knee [35] or shoulder[36] couples multiple rotational and translational mo-tions according to bone geometry that differs betweensubjects and must be determined empirically. Coarse-grained models of biomolecular machines can alsolead to coupled, empirically described motion [37].Lee and Terzopoulos [38] recognized this limitation ofmechanical joints and introduced a spline joint in a dif-ferential geometry framework for expressing a com-plex motion path in terms of a single internal coordi-nate.

In this paper we introduce a practical, extensi-ble formulation and implementation of the internal-coordinate joint, called a “mobilizer,” which encap-sulates a general mapping of complex joint motion,including motion that is empirically-determined, to

Page 3: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 293

internal coordinates critical for modeling biomech-anisms, and deals with pragmatic issues such as thelaboratory frame and joint directionality (from parentto child) associated with the spanning-tree structure ofinternal-coordinate methods. We begin with the mo-bilizer formulation and demonstrate how to define thescrew above and a novel ellipsoid joint with a mobi-lizer. These examples lead to the derivation of a user-configurable mobilizer, which we use to define a real-istic biomechanical knee model and a coarse-grainedmolecular model. We compare the performance of mo-bilizers to conventional joints using constraints anddiscuss the implications of mobilizers for the simula-tion of biomechanisms.

2 Joints in internal coordinates

In biomechanics the term “joint” connotes a physical-ly-realizable connection that can be represented byvarious combinations of coordinates and algebraicconstraints. The term “hinge” refers to a revolute ro-tational joint. To avoid confusion between these phys-ical objects, the multibody dynamics concepts of thegeneralized hinge, and their computational represen-tations, we use the term “mobilizer” to encapsulatethe complete specification of the unconstrained mo-tion permitted between two bodies, modeling require-ments, and the resulting implementation in software.A single mobilizer connects each body of a multi-body system to its unique “parent” body forming atree topology; that concept is often called a “hinge”in internal-coordinate multibody dynamics literature(e.g. [39]). A body connected by a mobilizer intro-duces new coordinates q and speeds u to the system,which we term “mobilities,” but does not add con-straints. This contrasts the conventional notion thatevery rigid body has six dofs, some of which may beremoved by joints. We take the view that a body onlypossesses those dofs that are granted by its mobilizer.This provides a clear distinction between a body con-nected by a pin mobilizer (i.e. the internal-coordinatejoint representation) introducing a single mobility andan ODE, and an otherwise free (6-dof) rigid body con-strained by a pin (five algebraic constraints) that leadsto a set of 11 DAEs.

2.1 Mobilizer representation of permissible motion

The main purpose of a mobilizer is to define thepermissible-motion space spanned only by coordi-

nates that are degrees of freedom associated with aphysical joint. To do so, we build on the internal-coordinate concept of the “hinge matrix” [39] (also“hinge map matrix” [31]; “joint map matrix” [40];or “joint motion map matrix” [25, 41]), which is amapping between mobilities and the relative spatialkinematics used to formulate the recursive Newton–Euler equations of motion [42]. Specifically, we ex-ploit the hinge matrix and its time derivative to map thepermissible-motion space of a physical joint, in termsof the mobilities that correspond to joint dofs, whichwould otherwise require scleronomic constraints act-ing on spatial kinematics.

The Internal Variable Dynamics Module (IVM) ofX-PLOR [25] was built on internal-coordinate meth-ods using spatial operators described by Jain et al.[39], and we have built on this fundamental frameworkto implement the mobilizer and develop the multi-purpose open-source multibody dynamics solver, Sim-body, as part of a biosimulation toolkit (SimTK [43],https://simtk.org).

In Simbody, a mobilizer from parent frame P tochild frame B is completely characterized by the fol-lowing four equations:

P XB ≡ [P RB(q) P pB(q)

], (1)

P V B ≡{

P ωB(q,u)P νB(q,u)

}= P HB(q) · u, (2)

P AB ≡ P V B = P HBu + P HBu, (3)

q = N(q)u. (4)

Equation (1) describes the position transform, P XB ,comprised of the rotation matrix, R, and translationvector, p, of a mobilizer frame, B , fixed in the body(Bo frame) with respect to a parent mobilizer frame P ,fixed in the parent body (Po) (Fig. 2). The spatial ve-locity, P V B in (2), and acceleration, P AB in (3), of B

with respect to P , are specified by the hinge matrix, H,and its time derivative, H. The evolution of the coordi-nates, q , is governed by the differential relationship (4)with the mobilities, u, according to the kinematic cou-pling matrix N. Each of these elements can be found inthe literature; our contribution is to present them in aform which permits non-dynamicist end users to rou-tinely map external data into novel internal-coordinatejoints, as will be shown below.

In formulations where explicit constraints are used,joint reaction forces are obtained directly from the

Page 4: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

294 A. Seth et al.

Fig. 2 A mobilizer (bold dashed arrow) is the kinematic re-lationship between two bodies (a parent P and a child body B)parameterized by 1 to 6 mobilities in Euclidian space. Equationsof motion are recursively generated in terms of the derivativesof the mobilities and applied forces of each body

Lagrange multipliers used to enforce the constraints[44]. However, explicit constraints are unnecessary tocompute reaction loads (e.g. bearing loads of a pinjoint) and can be obtained from the spatial accelera-tions of the bodies from (3). Internal-coordinate codeslike SD/FAST [33] and Simbody use a recursive forcebalance from leaf bodies inwards to the root to yieldthe reactions imposed by each mobilizer.

2.2 Screw mobilizer example

In the screw motion example (Fig. 1), either the an-gular (u1) or the translational speed (u2) of the col-lar (blue) with respect to the screw (green) is a goodchoice for the mobility. Given the pitch s of the screw,we choose the angular speed of the collar as the singlemobility, u, and its angular position as the single co-ordinate, q , such that q = u. The mobilizer equationsfor the collar (the child) body with respect to a framefixed in the screw (the parent) are:

P XB =⎡

⎣cos(q) − sin(q) 0 0sin(q) cos(q) 0 0

0 0 1 sq

⎦ , (5)

P V B = [0 0 1 0 0 s ]Tu, (6)P AB = [0 0 1 0 0 s ]Tu, (7)

such that P HB = [0 0 1 0 0 s]T and P HB = 0.

The hinge matrix, H, effectively describes mechan-ical joints, and has been used elsewhere to model thecoupled motion of the screw joint using a single inter-nal coordinate (e.g. [30, 45]). We now extend this ca-pability to capture more complex permissible-motiongranted by a mobilizer to specify the behavior of bio-mechanical joints. The mobilizer mapping equations(1)–(3) enable the modeler to specify the transforma-tion between arbitrary mobilizer frames on the parentand body (P and B , Fig. 2) that may be dictated bythe data collection apparatus, or otherwise preferred asmore natural descriptions of joint motions than trans-formations described with respect to body origins ormass centers. Multibody formulations based on me-chanical joints (including composites of pins and slid-ers) are typically written in terms of body frames, andare limited to coordinate choices that yield a constantH [39] or specifically map from angular parameteri-zations (e.g. Euler angles and speeds) to relative an-gular velocity [25, 46]. Simbody enables user-selectedframes and a general form for H and its derivative topermit users to create novel and biologically accuratemobilizers.

2.3 Ellipsoid mobilizer example

Several biologically inspired joints highlight the va-riety of permissible-motion manifolds realizable bythe mobilizer formulation. The ellipsoid mobilizer ex-tends the ball-and-socket joint to enable translation ofthe body such that it is bound to the surface of an el-lipsoid (fixed in the parent) as the body rotates aboutthe parent. Unlike a ball-and-socket joint, an ellipsoidjoint would be difficult to manufacture and few indus-trial machines employ one; however, in nature similarjoints exist. Specifically, in human biomechanics, thehip joint has been reported to be more ellipsoidal inshape [47] than a pure ball-and-socket, and Van derHelm et al. [36] have described the thorax as an el-lipsoid upon which the scapula (shoulder blade) trans-lates and rotates (Fig. 3).

We begin with the formulation of the conventionalball-and-socket mobilizer (Fig. 4A):

P XB = [P RB(q) 0

](8)

where q = {θ1, θ2, θ3} is a body-fixed 1–2–3 Euler se-quence of rotations (assuming a limited range of ro-

Page 5: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 295

Fig. 3 An ellipsoid mobilizer used to model the human shoul-der. The scapula (blue) contacts the thorax approximated by anellipsoid surface (shaded red) affixed to the ribs (green) at apoint (axes’ origin) in the scapula

tation). The spatial velocity is specified by the hingematrix:

P HB =⎡

⎣1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 0

T

, (9)

where the chosen mobilities u = [ω1 ω2 ω3]T are thecomponents of the angular velocity vector of B in P

(Fig. 2). Typical of mechanical joints, P HB = 0 for theball-and-socket mobilizer, but the kinematic couplingmatrix N �= I in (4) and maps from angular velocity toEuler angle derivatives [10]:

N(q)

=[

cos θ3/ cos θ2 − sin θ3/ cos θ2 0sin θ3 cos θ3 0

− sin θ2 cos θ3/ cos θ2 sin θ2 sin θ3/ cos θ2 1

]

.

(10)

The ellipsoid mobilizer (Fig. 4B) has the same an-gular definition as the ball-and-socket, but rather thangrant 3 additional mobilities for spatial translations,

Fig. 4 Ball-and-socket and ellipsoid mobilizers. A ball mobi-lizer (A) (drawn without the socket) enables the purely rota-tional motion of a body (blue) about the center of the ball. Theellipsoid mobilizer (B) requires the body to trace and remainnormal to the surface of an ellipsoid

which would then have to be constrained, the trans-lations are coupled to the orientation of the body suchthat:

P XB = [P RB(q) p(q)

], (11)

where q remains the 1–2–3 Euler angle sequence de-scribing the orientation of the body, but now

p(q) =⎧⎨

an1

bn2

cn3

⎫⎬

⎭=

⎧⎨

a sin(θ2)

b(− sin(θ1) cos(θ2))

c cos(θ1) cos(θ2)

⎫⎬

⎭(12)

describes the translation of the body’s mobilizerframe, B , onto the surface of an ellipsoid (n = n(q)

being the normal vector) fixed in the parent’s mobi-lizer frame, P , with a, b, c corresponding to the ellip-soid radii along the axes of P . The angular velocityremains the same function of u as for the ball-and-socket joint, so N is unchanged from (10), but nowthere are coupled linear velocities that are a conse-quence of the rotating normal vector; this results inthe ellipsoid hinge matrix having the form:

P HB =⎡

⎣1 0 0 0 −bn3 cn2

0 1 0 an3 0 −cn1

0 0 1 −an2 bn1 0

T

. (13)

In this case, H �= 0 and must be resolved to obtain an-gular velocity contributions to the body’s linear accel-eration:

P HB =⎡

⎣0 0 0 0 −bn3 cn2

0 0 0 an3 0 −cn1

0 0 0 −an2 bn1 0

T

. (14)

Page 6: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

296 A. Seth et al.

Table 1 Computational cost of the ellipsoid mobilizer versusa free joint with constraints. Computation times are normalizedby the corresponding performance time for a ball mobilizer with

identical initial conditions. The final row summarizes the rela-tive speedup of the ellipsoid implementation versus constraints

Method Acceleration compute Simulation time Permissible-motion manifold

time (× Ball time) (× Ball time) error

Ellipsoid 0.98 1.01 ∼10−14

Constraints 11.84 10.37 ∼10−4

Speedup (×) 12.1 10.3

The hinge matrix P HB and its derivative P HB spanexactly and map only onto the subspace of the permis-sible-motion manifold of an ellipsoid surface. If lim-ited to multibody dynamics codes with conventionaljoints, then a free joint (six dofs) is required with anadditional three constraint equations, for a total of nineDAEs versus the mobilizer formulation’s three ODEs.

We compared the ellipsoid mobilizer to a ball-and-socket mobilizer and an ellipsoid joint implementationwith nine DAEs (Table 1). The ellipsoid mobilizer for-mulation had the same computational cost as a ball-and-socket mobilizer in terms of evaluating the sys-tem acceleration and reaction loads for a given con-figuration as well as for integrating the equations ofmotion in a simulation. We expected computation ofthe system acceleration and reaction loads computedwith constraints to be at least three times more costlysince the constrained system has three times the num-ber of equations. We measured performance of theconstrained system as 12 times slower, due primarilyto the solution phase for Lagrange multipliers that en-force the ellipsoid constraint. That phase is skipped ifthere are no constraints. In a simulation, there are ad-ditional costs independent of the formulation so theoverall speedup is lesser; in this case, we measureda factor of 10 with a constraint tolerance of 10−4.The deviation from the permissible-motion manifoldwas essentially zero with the ellipsoid mobilizer whilethe constrained system error is maintained to the re-quested tolerance. With a tighter tolerance, the con-strained system would run more slowly.

The simplicity of an ellipsoid mobilizer contrastswith the complexity of applying kinematic constraintsto generate realistic motion of the shoulder. De Sapioet al. [48], for example, used nine generalized coordi-nates and five constraints to produce a 4-dof shouldermodel.

2.4 General reversibility of a mobilizer

A tree of mobilized bodies is ordered parent-to-childalong each branch in an internal coordinate formu-lation. It is therefore useful to reverse the topologi-cal direction of mobilizers while preserving the defi-nition of the mobilities. For example, in the shouldermodel (Fig. 3), it is typical to have the thorax as theparent and the scapula and arm as descendants in amodel of arm-reaching tasks. However, when model-ing a push-up task with the hand affixed to ground,we can avoid constraints at the hand if the topologyis reversed. However, we wish to preserve the defin-ition of the generalized coordinates and speeds suchthat they describe the motion of the scapula relativeto the thorax. Several internal-coordinate mechanicalcodes ignore this problem while others have addressedit with a library of “reverse” joints [33]. Featherstone[46] solved the problem generally for a non-Euclideanspatial vector formulation [42, 49]; however, the mo-bilizer formulation, which uses spatial notation com-prised of ordinary Euclidean vectors [50], is also gen-erally reversible, as we show here.

Given a mobilizer in a reversed topological sensethan desired if defined from frame B in a parent body(e.g. thorax) to frame P in a child body (e.g. scapula),that is BXP , BHP , BHP , and N (with time deriva-tives taken in parent B) as in the above thorax-to-scapula ellipsoid mobilizer, the reversibility problemcan be distilled to formulating the mobilizer that yieldsP XB , P HB , P HB and N describing a parent (scapula)frame P to body (thorax) frame B mobilizer (withtime derivatives taken in now-parent P) with inter-nal coordinate and mobility definitions preserved asthough the parent body had remained the thorax.

Page 7: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 297

Since we want q and u to retain their original mean-ings, N must stay the same. The position transform iseasily reversed, with

P XB = (BXP

)−1 = (P RB | −P RB · BpP

), (15)

where P RB = (BRP )T. However, the time derivativesare taken in different moving frames, so these quan-tities cannot be simply reversed and must account forthe relative angular velocity between the frames. Thisleads to

P HB = −P RB

( BHPω

BHPν + BpP×BHP

ω

), (16)

where p× is the skew-symmetric matrix form of thecross product. (Note the spatial notation of “scalar”multiplication for the rotation matrix P RB , which dis-tributes across the rows of the spatial vector as thoughit were arranged

[R 00 R

]as with a scalar.)

Time differentiation of P HB in P yields:

P HB = P ωB× · P HB

− P RB

( BHPω

BHPν + BpP×BHP

ω + BνP×BHPω

).

(17)

Equations (15)–(17) describe any available mobilizeras being reversed so that the motion between bodies isparameterized with respect to the child body, althoughthe topology remains parent-to-child. When a modelerrequires a reverse mobilizer, Simbody automates theprocess by first using the definition of the mobilizer todescribe the motion of the parent in the child and thenapplies (15)–(17) to maintain the definition of the mo-bilities but obtain the desired parent-to-child topologyto build the multibody tree.

3 Generic joint motion without constraints

The formulation of the position transform, relativespatial velocity and acceleration, and kinematic cou-pling equations in (1)–(4) comprise the essence of themobilizer. However, it is undesirable to require biolog-ical researchers to formulate these transforms, hingematrices and their derivatives. This section describes ageneral function based mobilizer that is configurableby user-specified functions and automates the processof deriving the hinge matrix and its derivative.

Fig. 5 Example of a permissible-motion manifold. The man-ifold is a 2-dimensional surface in Cartesian space and is pa-rameterized by two coordinates, x and θ , where ρ is a vectorfunction of x and the radius of the manifold is a constant, r . Thearrow illustrates the direction of the orthogonal reaction loadsnecessary to enforce motion of a particle along the permissi-ble-motion manifold

To simplify the specifications required by the mod-eler, we assume that q = u (i.e., N is identity in (4))although the mobilities u are not necessarily the com-ponents of the relative spatial velocity. The kinematicrelationship is scleronomic (dependent only on coor-dinates, q); thus, velocity and acceleration relation-ships can be derived from the position relationship.This is a subset of all the kinematic constraints thatcan be embedded in a mobilizer; however, it representsthe majority of joint models based on the geometryof structures from experimental measurements (e.g.,MRI of articulating bones). Specifically, experimentalmeasurements or knowledge of the joint geometry en-able the modeler to write the position transform P XB

of a body with respect to its parent. This transform isa map from the coordinate space, q , to the spatial ori-entation and position. For example, consider a particlewhose motion in space is known to travel on a mani-fold (a surface in three dimensions) that was obtainedfrom imaging data (Fig. 5). In conventional terms, aconstraint equation is necessary to eliminate a dof torestrict the motion to the manifold. The constraint pro-vides a reaction force that is normal to the manifoldsurface (arrow in Fig. 5), acting at whatever point theparticle may be on the manifold.

In contrast, a mobilizer can parameterize the mo-tion of the particle in Cartesian space such that its mo-tion cannot exist off the manifold. This is done by firstdescribing the spatial transform in terms of just two

Page 8: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

298 A. Seth et al.

coordinates, x and θ , whose derivatives are the mobil-ities of the joint.

To facilitate the description of the orientation andposition transform of a rigid body in 3-space, we writethe spatial transform in terms of three rotational andthree translational spatial coordinates, in θ and p:

P XB(θ,p) =⎡

⎣p1

P RB(θ1, θ2, θ3) p2

p3

⎦ , where

{θ(q)

p(q)

}=

⎧⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎩

θ1(q1, q2, . . . , qm)

θ2(q1, q2, . . . , qm)

θ3(q1, q2, . . . , qm)

p1(q1, q2, . . . , qm)

p2(q1, q2, . . . , qm)

p3(q1, q2, . . . , qm)

⎫⎪⎪⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎪⎪⎭

(18)

that define a body-fixed Euler angle sequence (θ1–θ3)for the orientation and the components of the position(p1–p3) of the body in the parent. In turn, θ and p arefunctions of a set of m(1–6) mobilizer coordinates, q .We can now express the velocity of the body in termsof the underlying mobilities of the joint (since q = u)given that θ and p are continuous and twice differen-tiable, with respect to q . Simbody automatically gen-erates both P HB and P HB to characterize the velocityand acceleration transformation enabled by this mobi-lizer.

We begin with the mobilizer’s relative spatial ve-locity transformation with q = u:

P V B ≡{

P ωB(q,u)P νB(q,u)

}= P HB(q)u = P HB(q)q.

(19)

Given that θ1–θ3 are rotations about body fixed axes(a1 to a3) that specify the rotation, P RB , then

P ωB = [a1

P R1(θ1)a2P R1(θ1)

1R2(θ2)a3]⎧⎨

θ1

θ2

θ3

⎫⎬

(20)

is the relative angular velocity of the body in terms ofthe time derivatives of the Euler angles θ1–θ3, whereP R1 and 1R2 are the first and second body-fixed rota-tions. We can then define a transformation matrix, W,from spatial speeds to relative angular velocity. Thespatial (rotational) speeds are now expressed in termsof the mobilities according to the Jacobian, θq , of the

rotational coordinate functions, θ , with respect to themobilizer coordinates, q:

P ωB = W[

∂θ

∂q

]q = Wθq q (21)

which yields the transformation from the mobilities tothe angular velocity of frame B in P :

P HBω = Wθq, where P HB =

[P HBω

P HBν

]. (22)

Similarly, given p1–p3 as the body translations alongindependent axes (a4 to a6) defined in the parent, wecan express the velocity of the body in terms of themobilities according to:

P νB = [a4 a5 a6

][∂p

∂q

]q, (23)

P νB = Apq q (24)

⇒ P HBν = Apq . (25)

To obtain P HB , we differentiate the angular velocity toyield the angular acceleration β of B (the body) withrespect to its parent:

P βB = d

dt

(Wθq q

), (26)

P βB = Wθq q + Wd

dt

(θq q

). (27)

The time derivative of W, in turn, is obtained from thefact that the body-fixed axes are rotating:

W = [0 P ωB

1 × W2P ωB

1,2 × W3], (28)

where P ωB1 and P ωB

1,2 are the angular velocity vectorsdue to only the first and the first and second rotationalspeeds, respectively, and Wi is the corresponding col-umn of W. The derivative of the transformation frommobilities to spatial speeds can be expanded:

d

dt

(θq q

) = d

dq

(θq q

)q + θq q, (29)

where we define

θq = d

dq

(θq · q)

=⎡

⎢⎣

∑mi=1

∂2θ1∂qi∂q1

qi . . .∑m

i=1∂2θ1

∂qi∂qmqi

.... . .

...∑mi=1

∂2θ3∂qi∂q1

qi . . .∑m

i=1∂2θ3

∂qi∂qmqi

⎥⎦

(30)

Page 9: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 299

given that θi is twice differentiable to express the bodyangular acceleration in terms of the mobilities andtheir derivatives.

P βB = Wθq q + W(θq q

) + Wθq q, (31)

= [Wθq + Wθq

]q + Wθq q, (32)

⇒ P HBω = [

Wθq + Wθq

]. (33)

The derivative of the translational velocity (where theaxes, A, are constant) yields the translational acceler-ation of the body in the parent:

P aB = Apq q + Apq q (34)

⇒ P HBν = Apq . (35)

The automatic formulation of the position transformequation (18) and the hinge matrices equations (22),(25), (33), and (35) is implemented in Simbody, whichcreates a custom mobilizer based on user-suppliedfunctions (θ and p) that can be either analytically de-fined or constructed as splines from user-specified datapoints, for example, those obtained from experimentalmeasurements. This is a powerful tool for modelingunusual joints that are typical of biomechanisms.

4 Capturing the kinematics of the human knee

Mobilizers can be used to model the complex motionof the human knee. Unlike an ideal pin joint, the shapeof the femoral condyles is not circular resulting ina non-stationary center of rotation [51, 52]. Further-more, both sliding and rolling of the femoral condyleson the tibial plateau surface (Fig. 6) lead to motion ofthe tibia with respect to the femur that includes transla-tion in the plane of rotation. Biomechanists have char-acterized the translation of the tibia based on experi-ments [51–53] and have created kinematic models thatprescribe the translations of the tibia as spline func-tions of experimental data [35]. Recently, dynamicalmodels of human gait [54–56] have allowed the tibiato move freely in the plane of rotation and then appliedkinematic constraints to enforce the desired behaviorof the knee based on Delp et al. [35].

Spline points from constraints in a knee model [35]were used to specify the functions of a custom mobi-lizer in Simbody, which couples the horizontal (x) andvertical (y) translations of the tibia (with respect to the

Fig. 6 Schematic of the human knee joint (adapted from Delpet al. [35]). Due to the rolling and sliding of the non-circularfemoral condyles (oval fixed in the femur, parent P ) on the tibiaplateau (body, B), the joint does not operate as a simple pin.In this model, the tibia has one rotational degree-of-freedom, θ ,but translates in the plane of rotation (x, y) with respect to thefemur

femur) to a single knee-angle, θ (Fig. 6). The splinecharacterizes a permissible-motion manifold, which inthis case is a curve in the unconstrained planar motionspace of the tibia with respect to the femur as the kneeflexes.

The spatial transform and hinge matrices for the re-sulting mobilizer, with q = θ and u = θ such that boththe single rotation and angular velocity of the tibia areabout the z-axis of the femur’s mobilizer frame (P inFig. 6), are:

P XB(q) =⎡

⎣fx(q)

P RB(0,0, q) fy(q)

0

⎦ , (36)

P HB(q) =[

0 0 1∂fx

∂q

∂fy

∂q0

]T

, (37)

P HB(q, q) =[

0 0 0∂2fx

∂q2q

∂2fy

∂q2q 0

]T

,

(38)

N = 1. (39)

These matrices (36)–(39) are created automatically;the user only supplies the empirical or analytical func-

Page 10: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

300 A. Seth et al.

Table 2 Performance of a custom mobilizer implementationof the human knee versus constraints. Computation times arenormalized by the corresponding performance time for a pin

joint. The final row summarizes the relative speedup factor ofthe implementation of a custom mobilizer versus constraints

Method Acceleration compute Simulation time Permissible-motion violation

time (× Pin Time) (× Pin Time) (mm)

Custom mobilizer 1.28 1.98 ∼10−11

Constraints 7.26 7.17 ∼10−1

Speedup (×) 5.7 3.6

tions fx and fy mapping the knee-flexion angle to dis-placements.

The performance of the custom mobilizer imple-mentation was compared to the application of con-straints to enforce the coupled translations duringknee-flexion. The calculation of the tibia accelerationand a leg swing simulation exercising the full rangeof motion were clocked and times were normalized bythe time to perform the same evaluations using an idealpin joint. The standard implementation required a pla-nar joint with three dofs and two constraint equationsfor a system of five DAEs. Both the pin and custommobilizer, on the other hand, required only one ODEbut the custom mobilizer produced the physiologicallyrelevant motion of the tibia, unlike the pin.

The calculation of the acceleration of the knee us-ing the conventional approach of constraints requirednearly six times more computing time than the cus-tom mobilizer for the same results (Table 2). In termsof simulation cost (time to integrate the equations) thecustom mobilizer implementation was 3.6 times fasterthan the use of constraints (in Simbody, version 1.5).Error tolerances for constraint violations were set to10−4 (0.1 mm), which was also the same as the in-tegration error tolerance. The custom mobilizer im-plementation, however, remained exactly (to machineprecision) on the permissible-motion manifold usingthe same integration tolerance.

5 Capturing coarse-grained kinematicsof proteins

Most molecular dynamics investigations are performedusing atomistic simulations in which each atom ismodeled as a point mass and bonds between them aremodeled with forces [57]. A multibody treatment is

unnecessary for simulating a system composed onlyof particles. However, it is common practice to con-strain some of the bonds to remove the highest fre-quencies from a simulation and allow larger integra-tion step sizes. When groups of atoms are treated asrigid bodies, multibody methods are appealing [24–27,29, 58, 59]. However, most molecular models groupjust a few atoms per body, and almost every torsionalong an atomic bond is given a degree of freedom.

Large biomolecular machines are impractical tosimulate in such detail and many are empirically ob-served to form nearly-rigid subcomponents, called do-mains, which move relative to one another. Domainsmay consist of hundreds or thousands of atoms. Theconnections among domains may exhibit very fewdegrees of freedom, but they are composed of nu-merous rotational bonds and are capable of complexcoupled motions. Custom mobilizers simplify the dy-namic model by incorporating empirical data to de-fine the permissible-motion space of the model. Thereduced model can then be used to perform coarse-grained simulations to investigate the large-scale dy-namic behavior of macromolecules.

To illustrate this, we selected Lysine–Arginine–Ornithine (LAO) binding protein from the Hinge AtlasGold (HAG) annotated set of domain hinge bendingproteins [37, 60]. According to the HAG annotation,the flexible hinge connecting the two domains consistsof residues 90–91 and 192–193. The “mobile” domain(blue body in Fig. 7) is thus comprised of residues 92–191, while the remaining residues comprise the “sta-tionary” domain (green).

To demonstrate how a mobilizer can be used torecreate bulk protein motion, a rigid-body model ofthe LAO protein consisting of two rigid bodies (onefor each protein domain) connected by a custom hingewas constructed. In biomolecular parlance the mole-cule goes from an “open” state to a “closed” state;

Page 11: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 301

Fig. 7 Simulated conformations of Lysine–Arginine–Ornithine(LAO) binding protein from (A) open (q = 0) to (B) closed(q = 1)

this does not represent a topological change. We firstcreated a “synthetic-closed” conformation similar tothe actual closed protein conformation by rotating andtranslating the mobile domain (as a rigid body) fromthe open conformation. We did this by structurallyaligning the alpha-carbon atoms of the mobile domainof the open conformation to those of the closed con-formation using Visual Molecular Dynamics [61]. Theresultant mobile domain transformation specified bythree Euler angles and three translation componentswas then parameterized by a single internal (mobi-lizer) coordinate, q , such that the mobile domain tran-sitioned from the open to the closed conformation as afunction of q (18) from 0 to 1. This single q is analo-gous to the reaction or transition coordinate in chem-istry (International Union of Pure and Applied Chem-istry). Note that we could have chosen two or moreinternal coordinates if desired to increase the modeledmobility.

Unlike purely kinematic models, however, the do-mains connected by the mobilizer are part of a multi-body system in which forces can be applied to drivethe conformational changes of the protein, as well asto estimate the net motive force necessary to gener-ate observed motions. Likewise, reaction forces canbe calculated to determine the bearing loads of thehinge region of the protein. Whether these modelswill yield information of biological importance has notbeen evaluated because practical methods to representtheir motion and explore their dynamics have been un-available.

Developing simulations across a range of physicalscales may be enabled by these methods. For example,it may be possible to study the contractile behavior ofmuscle fibers (i.e. muscle cells) by first modeling the

mechanics of myosin interacting with actin (e.g. [62])with reduced coordinates and then to replicate thou-sands of these subunits to model the dynamics of acomplete muscle fiber.

6 Discussion and conclusions

The mobilizer formulation encapsulates the mappingof the permissible spatial kinematics of a body withrespect to its parent in terms of a reduced set of inter-nal coordinates and speeds (i.e., the mobilities). Thismapping (the hinge matrix, H) can vary as a func-tion of the internal coordinates, which enables para-meterization of a vast set of permissible-motion man-ifolds. The user-customizable mobilizer obviates theneed for superfluous coordinates and the subsequentenforcement of scleronomic constraints to obtain a de-sired permissible-motion manifold for a joint. Withfewer differential equations and no algebraic con-straint equations to enforce, mobilizers improve the ef-ficiency of simulating biomechanical joints. Since themobilizer mapping is exact, no motion can exist offthe manifold, and the accuracy of the solution is alsoimproved. Fewer coordinates also facilitate optimiza-tion, such as fitting the model to an experimental tra-jectory by keeping the number of unknowns low andproviding a smaller unconstrained solution space thatis always on the desired manifold.

We have demonstrated new joints that can be for-mulated directly, such as the ellipsoid mobilizer, thatprovide novel behavior with no additional costs whencompared to conventional joints with the same degreesof freedom, such as a ball-and-socket joint, but can bean order of magnitude faster than conventional jointswith constraints. Furthermore, we have constructed amobilizer that utilizes user-defined functions to au-tomatically specify the position transform and hingematrices when functions are twice differentiable andcontinuous with respect to the mobilizer coordinates.The improved accuracy of joint kinematics via the mo-bilizer, unlike the alternative of adding constraints,comes at low computational cost even when evaluat-ing user-supplied functions. For a model of the hu-man knee, simulations were 3.5 times faster for themobilizer with embedded bone translation informa-tion than enforcing the same joint kinematics via con-straints. The ability to embed joint-specific geometry

Page 12: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

302 A. Seth et al.

from experimental measurements, such as MRI im-ages of the human knee or known protein conforma-tions from crystal structures, makes mobilizers practi-cal for biomechanists and biomolecular modelers.

The mobilizer formulation improves the efficiencyof internal-coordinate multibody dynamics and sim-plifies the specification of joints necessary to simulatebiomechanisms. Speed and accuracy are garnered byminimizing the number of coordinates and eliminat-ing joint constraints, thereby reducing the number ofsystem equations. These are the benefits long enjoyedby mechanical engineers employing the state-of-the-art multibody formulations. Now the power of thesemethods can be enjoyed by biomechanists and com-putational biologists as well.

Acknowledgements The authors are grateful to Samuel Flo-res and Christopher Bruns for their assistance with the molecu-lar modeling example. This work was supported by the NationalInstitute of Health, through the NIH Roadmap for Medical Re-search Grant U54 GM072970.

References

1. Hurwitz, D.E., Ryals, A.R., Block, J.A., Sharma, L.,Schnitzer, T.J., Andriacchi, T.P.: Knee pain and joint load-ing in subjects with osteoarthritis of the knee. J. Orthop.Res. 18(4), 572–579 (2000)

2. Baliunas, A.J., Hurwitz, D.E., Ryals, A.B., Karrar, A.,Case, J.P., Block, J.A., Andriacchi, T.P.: Increased kneejoint loads during walking are present in subjects with kneeosteoarthritis. Osteoarthr. Cartil. 10(7), 573–579 (2002)

3. Piazza, S.J., Delp, S.L.: Three-dimensional dynamic sim-ulation of total knee replacement motion during a step-uptask. J. Biomech. Eng. 123(6), 599–606 (2001)

4. Isralewitz, B., Gao, M., Schulten, K.: Steered molecular dy-namics and mechanical functions of proteins. Curr. Opin.Struct. Biol. 11(2), 224–230 (2001)

5. Tang, S., Liao, J.-C., Dunn, A.R., Altman, R.B., Spudich,J.A., Schmidt, J.P.: Predicting allosteric communication inmyosin via a pathway of conserved residues. J. Mol. Biol.373(5), 1361–1373 (2007)

6. Sponer, J., Lankas, F. (eds.): Computational Studies ofRNA and DNA. Springer, Berlin (2006)

7. Kitano, H.: Systems biology: A brief overview. Science295(5560), 1662–1664 (2002)

8. Kuhlman, B., Dantas, G., Ireton, G.C., Varani, G., Stod-dard, B.L., Baker, D.: Design of a novel globular proteinfold with atomic-level accuracy. Science 302(5649), 1364–1368 (2003)

9. Eich-Soellner, E., Fuhrer, C.: Numerical Methods in Multi-body Dynamics. Tuebner, Leipzig (1998)

10. Kane, T.R., Likins, P.W., Levinson, D.A.: Spacecraft Dy-namics. McGraw-Hill, New York (1983)

11. Jain, A.: Unified formulation of dynamics for serial rigidmultibody systems. J. Guid. Control Dyn. 14, 531–542(1991)

12. Brenan, K., Campbell, S., Petzold, L.R.: Numerical So-lution of Initial-Value Problems in Differential-AlgebraicEquations, 2nd edn. SIAM, Philadelphia (1987)

13. Baumgarte, J.: Stabilization of constraints and integrals ofmotion in dynamic systems. Comput. Methods Appl. Mech.Eng. 1, 1–16 (1972)

14. Eich, E.: Convergence results for a coordinate projectionmethod applied to mechanical systems with algebraic con-straints. SIAM J. Numer. Anal. 30(5), 1467–1482 (1993)

15. Sobieszczanski-Sobieski, J., Haftka, R.T.: Multidiscipli-nary aerospace design optimization: Survey of recent devel-opments. Struct. Multidiscip. Optim. 14(1), 1–23 (1997)

16. Reinbolt, J., Schutte, J., Fregly, B., Koh, B., Haftka, R.,George, A., Mitchell, K.: Determination of patient-specificmulti-joint kinematic models through two-level optimiza-tion. J. Biomech. 38(3), 621–626 (2005)

17. Anderson, K.S., Hsu, Y.: Analytical fully-recursive sensi-tivity analysis for multibody dynamic chain systems. Multi-body Syst. Dyn. 8(1), 1–27 (2002)

18. Stryk, O.: Optimal control of multibody systems in minimalcoordinates. ZAMM-Z. Angew. Math. Mech. 78, 1117–1120 (1998)

19. Lo, J., Metaxas, D.: Recursive dynamics and optimal con-trol techniques for human motion planning. In: ComputerAnimation Proceedings, pp. 220–234. Geneva, Switzerland(1999)

20. Neptune, R.R., Hull, M.L.: Evaluation of performance cri-teria for simulation of submaximal steady-state cycling us-ing a forward dynamic model. J. Biomech. Eng. 120(3),334–341 (1998)

21. Anderson, F., Pandy, M.: A dynamic optimization solutionfor vertical jumping in three dimensions. Comput. MethodsBiomech. Biomed. Eng. 2(3), 201–231 (1999)

22. Delp, S., Loan, J.: A computational framework for simulat-ing and analyzing human and animal movement. Comput.Sci. Eng. 2(5), 46–55 (2000)

23. McLean, S.G., Su, A., van den Bogert, A.J.: Developmentand validation of a 3-D model to predict knee joint loadingduring dynamic movement. J. Biomech. Eng. 125(6), 864–874 (2003)

24. Brunger, A., Adams, P., Clore, G., DeLano, W., Gros,P., Grosse-Kunstleve, R., Jiang, J., Kuszewski, J., Nilges,M., Pannu, N.: Crystallography & NMR system: A newsoftware suite for macromolecular structure determination.Acta Crystallogr. D Biol. Crystallogr. 54(5), 4449 (1998)

25. Schwieters, C.D., Clore, G.M.: Internal coordinates formolecular dynamics and minimization in structure deter-mination and refinement. J. Magn. Reson. 152(2), 288–302(2001)

26. Guntert, P., Mumenthaler, C., Wuthrich, K.: Torsion angledynamics for NMR structure calculation with the new pro-gram Dyana. J. Mol. Biol. 273, 283 (1997)

27. Vaidehi, N., Jain, A., Goddard, W. III: Constant tempera-ture constrained molecular dynamics: The Newton–Eulerinverse mass operator method. J. Phys. Chem. 100(25),10508–10517 (1996)

28. Kalani, M.Y.S., Vaidehi, N., Hall, S.E., Trabanino, R.J.,Freddolino, P.L., Kalani, M.A., Floriano, W.B., Kam,

Page 13: Minimal formulation of joint motion for biomechanisms · Minimal formulation of joint motion for biomechanisms 293 internal coordinates critical for modeling biomech-anisms, and deals

Minimal formulation of joint motion for biomechanisms 303

V.W.T., Goddard, W.A.: The predicted 3D structure of thehuman D2 dopamine receptor and the binding site and bind-ing affinities for agonists and antagonists. Proc. Natl. Acad.Sci. USA 101(11), 3815–3820 (2004)

29. Tóth, G., Borics, A.: Flap opening mechanism of HIV-1protease. J. Mol. Graph. 24(6), 465–474 (2006)

30. Featherstone, R.: Robot Dynamics Algorithms. Kluwer,Amsterdam (1987)

31. Rodriguez, G., Jain, A., Kreutz-Delgado, K.: Spatial oper-ator algebra for multibody system dynamics. J. Astronaut.Sci. 44(1), 27–50 (1992)

32. Anderson, K., Critchley, J.: Improved ‘Order-N’ perfor-mance algorithm for the simulation of constrained multi-rigid-body dynamic systems. Multibody Syst. Dyn. 9(2),185–212 (2003)

33. Hollars, M.G., Rosenthal, D.E., Sherman, M.A.: SD/FASTUser’s, Guide B.2 (1994)

34. The Mathworks: Simmechanics 3 reference, October(2008)

35. Delp, S.L., Loan, J.P., Hoy, M.G., Zajac, F.E., Topp, E.L.,Rosen, J.M.: An interactive graphics-based model of thelower extremity to study orthopaedic surgical procedures.IEEE Trans. Biomed. Eng. 37(8), 757–767 (1990)

36. van der Helm, F.C.T.: Analysis of the kinematic and dy-namic behavior of the shoulder mechanism. J. Biomech.27(5), 527–550 (1994)

37. Krebs, W.G., Gerstein, M.: Survey and summary: Themorph server: A standardized system for analyzing andvisualizing macromolecular motions in a database frame-work. Nucleic Acids Res. 28(8), 1665–1675 (2000)

38. Lee, S.-H., Terzopoulos, D.: Spline joints for multibody dy-namics. ACM Trans. Graph. 27(3), 1–8 (2008)

39. Jain, A., Vaidehi, N., Rodriguez, G.: A fast recursive algo-rithm for molecular dynamics simulation. J. Comput. Phys.106(2), 258–268 (1993)

40. Kwatny, H.G., Blankenship, G.L.: Symbolic constructionof models for multibody dynamics. IEEE Trans. Robot. Au-tom. 11(2), 271–281 (1995)

41. Mukherjee, R., Anderson, K.: Orthogonal complementbased divide-and-conquer algorithm for constrained multi-body systems. Nonlinear Dyn. 48(1), 199–215 (2007)

42. Featherstone, R.: The calculation of robot dynamics usingarticulated-body inertias. Int. J. Robot. Res. 2(1), 13–30(1983)

43. Schmidt, J.P., Delp, S.L., Sherman, M.A., Taylor, C.A.,Pande, V.S., Altman, R.B.: The Simbios National Center:Systems biology in motion. Proc. IEEE 96(8), 1266–1280(2008)

44. Ryan, R.: Adams-multibody system analysis software.In: Schiehlen, W. (ed.) Multibody Systems Handbook.Springer, Berlin (1990)

45. Fritzson, P.: Principles of Object-Oriented Modeling andSimulation with Modelica 2.1. IEEE, New York (2004)

46. Featherstone, R.: Rigid Body Dynamics Algorithms, 2ndedn. Springer, Berlin (2008)

47. Gu, D., Chen, Y., Dai, K., Zhang, S., Yuan, J.: The shape ofthe acetabular cartilage surface: A geometric morphometric

study using three-dimensional scanning. Med. Eng. Phys.30(8), 1024–1031 (2008)

48. De Sapio, V., Holzbaur, K., Khatib, O.: The control ofkinematically constrained shoulder complexes: Physiologi-cal and humanoid examples. In: Proceedings of the IEEEInternational Conference on Robotics and Automation,pp. 2952–2959, Orlando, FL. IEEE, New York (2006)

49. Featherstone, R.: Plucker basis vectors. In: Proceedings ofthe IEEE International Conference on Robotics and Au-tomation, pp. 1892–1897, Orlando, FL. IEEE, New York(2006)

50. Rodriguez, G.: Kalman filtering, smoothing, and recursiverobot arm forward and inverse dynamics. IEEE J. Robot.Autom. 3(6), 624–639 (1987)

51. Yamaguchi, G.T., Zajac, F.E.: A planar model of the kneejoint to characterize the knee extensor mechanism. J. Bio-mech. 22(1), 1–10 (1989)

52. Wilson, D., Feikes, J., Zavatsky, A., O’Connor, J.: Thecomponents of passive knee movement are coupled to flex-ion angle. J. Biomech. 33(4), 465–473 (2000)

53. Dennis, D.A., Komistek, R.D., Ho, W.A., Gabriel, S.M.: Invivo knee kinematics derived using an inverse perspectivetechnique. Clin. Orthop. Relat. Res. 331, 107–117 (1996)

54. Thelen, D., Anderson, F.: Using computed muscle controlto generate forward dynamic simulations of human walk-ing from experimental data. J. Biomech. 39(6), 1107–1115(2006)

55. Delp, S.L., Anderson, F.C., Arnold, A.S., Loan, P., Habib,A., John, C.T., Guendelman, E., Thelen, D.G.: OpenSim:Open-source software to create and analyze dynamic sim-ulations of movement. IEEE Trans. Biomed. Eng. 54(11),1940–1950 (2007)

56. Liu, M., Anderson, F., Schwartz, M., Delp, S.: Muscle con-tributions to support and progression over a range of walk-ing speeds. J. Biomech. 41(15), 3243–3252 (2008)

57. Leach, A.: Molecular Modelling: Principles and Applica-tions. Longman, New York (1996)

58. Sonnenschein, R.: An improved algorithm for moleculardynamics simulation of rigid molecules. J. Comput. Phys.59(2), 347–350 (1985)

59. Chun, H.M., Padilla, C.E., Chin, D.N., Watanabe, M.,Karlov, V.I., Alper, H.E., Soosaar, K., Blair, K.B., Becker,O.M., Caves, L.S.D., Nagle, R., Haney, D.N., Farmer, B.L.:MBO(n)D: A multibody method for long-time moleculardynamics simulations. J. Comput. Chem. 21(3), 159–184(2000)

60. Flores, S.C., Keating, K.S., Painter, J., Morcos, F., Nguyen,K., Merritt, E.A., Kuhn, L.A., Gerstein, M.B.: Hingemas-ter: Normal mode hinge prediction approach and integra-tion of complementary predictors. Proteins 73(2), 299–319(2008)

61. Humphrey, W., Dalke, A., Schulten, K.: VMD: Visualmolecular dynamics. J. Mol. Graph. 14(1), 33–38 (1996)

62. Parker, D., Bryant, Z., Delp, S.L.: Coarse-grained structuralmodeling of molecular motors using multibody dynamics.Cell. Mol. Bioeng. 2(3), 366–374 (2009)