19
Multibody Syst Dyn DOI 10.1007/s11044-014-9436-5 Symbolic linearization of equations of motion of constrained multibody systems Dale L. Peterson · Gilbert Gede · Mont Hubbard Received: 3 October 2012 / Accepted: 6 October 2014 © Springer Science+Business Media Dordrecht 2014 Abstract Many common dynamic mechanical systems are subject to configuration or ve- locity constraints. Analysis of such systems often requires linearized forms of the motion equations. To address this issue, we developed a procedure for organizing the constraint and motion equations and their subsequent linearization. This procedure was developed for equations of motion generated by Kane’s method, where dependent states have not been algebraically eliminated; it is compatible with any method as long as only ordinary differen- tial equations are required to describe the system (i.e., no differential algebraic equations). Following a brief review of Kane’s method and the structure of the equations it generates, we present the procedure to symbolically linearize the nonlinear motion equations of con- strained multibody systems, and illustrate it with an example of the rolling disk. Keywords Linearization · Constrained multibody systems · Symbolic dynamics · Control 1 Introduction Design of linear state feedback controllers and first-order stability analysis are common uses of multibody system dynamics models. Both require linearized equations of motion. We de- fine a constrained system to be one whose configuration has been described by a nonminimal set of generalized coordinates or whose motion has been described by a nonminimal set of Electronic supplementary material The online version of this article (doi:10.1007/s11044-014-9436-5) contains supplementary material, which is available to authorized users. D.L. Peterson (B ) · G. Gede · M. Hubbard Sports Biomechanics Laboratory, Department of Mechanical and Aerospace Engineering, University of California Davis, Davis, CA 95616-5294, USA e-mail: [email protected] G. Gede e-mail: [email protected] M. Hubbard e-mail: [email protected]

Symbolic linearization of equations of motion of constrained multibody systems

  • Upload
    mont

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Symbolic linearization of equations of motion of constrained multibody systems

Multibody Syst DynDOI 10.1007/s11044-014-9436-5

Symbolic linearization of equations of motionof constrained multibody systems

Dale L. Peterson · Gilbert Gede · Mont Hubbard

Received: 3 October 2012 / Accepted: 6 October 2014© Springer Science+Business Media Dordrecht 2014

Abstract Many common dynamic mechanical systems are subject to configuration or ve-locity constraints. Analysis of such systems often requires linearized forms of the motionequations. To address this issue, we developed a procedure for organizing the constraintand motion equations and their subsequent linearization. This procedure was developed forequations of motion generated by Kane’s method, where dependent states have not beenalgebraically eliminated; it is compatible with any method as long as only ordinary differen-tial equations are required to describe the system (i.e., no differential algebraic equations).Following a brief review of Kane’s method and the structure of the equations it generates,we present the procedure to symbolically linearize the nonlinear motion equations of con-strained multibody systems, and illustrate it with an example of the rolling disk.

Keywords Linearization · Constrained multibody systems · Symbolic dynamics · Control

1 Introduction

Design of linear state feedback controllers and first-order stability analysis are common usesof multibody system dynamics models. Both require linearized equations of motion. We de-fine a constrained system to be one whose configuration has been described by a nonminimalset of generalized coordinates or whose motion has been described by a nonminimal set of

Electronic supplementary material The online version of this article(doi:10.1007/s11044-014-9436-5) contains supplementary material, which is available to authorizedusers.

D.L. Peterson (B) · G. Gede · M. HubbardSports Biomechanics Laboratory, Department of Mechanical and Aerospace Engineering, University ofCalifornia Davis, Davis, CA 95616-5294, USAe-mail: [email protected]

G. Gedee-mail: [email protected]

M. Hubbarde-mail: [email protected]

Page 2: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

generalized speeds. For unconstrained systems (with a minimal set of generalized coordi-nates and speeds), obtaining the linearized equations of motion is as simple as arrangingthem in first-order form (x = f (x, t)) and evaluating ∂f

∂xat the point of interest. However,

when the system has constraints, not all the states (coordinates and speeds) are independent,and this process is not as straightforward.

For a system with constraints, Kane’s dynamical equations [3] are first-order ODEs (inthe generalized speeds) that include both the independent and dependent states (assumingthat the dependent states have not been algebraically eliminated). The kinematical differ-ential equations can be solved for the time derivatives of the generalized coordinates, andthe dynamical differential equations can be solved for the time derivatives of the generalizedspeeds. Taken together, it is tempting to think that this system of first-order differential equa-tions could be linearized in the same fashion as an unconstrained system. Unfortunately, thisis not the case. Linearizing these equations in the same manner as one would for an uncon-strained system (by directly computing the Jacobian) is incorrect and will yield incorrectlinearized equations (and subsequently incorrect eigenvalues in the case of a stability anal-ysis). We illustrate this by means of a familiar example, the rolling disk, formulated witha nontraditional set of coordinates and generalized speeds that are not all independent. Wethen provide a systematic method to correctly generate the linear equations of motion forconstrained systems that have been found using Kane’s method (or any other method thatresults in equations with the same form). We apply this method to the rolling disk exampleto illustrate that it yields eigenvalues that match previously published results.

We consider three levels of constraints: configuration, velocity, and acceleration. Con-straints at the configuration level (holonomic) limit the location or orientation of parts of thesystem. Configuration constraints may arise from closed kinematic loops. Constraints at thevelocity level limit permissible velocities of the system. Velocity constraints may arise fromrolling without slip (nonholonomic) or closed kinematic loops (time-differentiated holo-nomic). Constraints at the acceleration level are assumed to be time-differentiated velocitylevel constraints.

Bottema [13] appears to be the first author to have shown that special considerations areneeded for linearizing nonholonomic systems. Whereas other authors have examined lin-earization of nonholonomic systems, we have found that most techniques are not directlyapplicable to equations formed using Kane’s method. Although we do not doubt that theycould be applied correctly, the details of how to do so, as far as the authors are aware, havenot been explicitly presented. Kang et al. [4] and Negrut and Ortiz [10] have both exploredlinearization, but their methods have been developed for equations of motion found usingLagrange’s method, which contain Lagrange multipliers (not present in equations of motiongenerated using Kane’s method). Further, both of these papers lack a discussion of basicconcepts such as how many quantities are independent and, in the case of eigenvalue com-putation, how many eigenvalues should be present. Minaker and Rieveley [8] and Schwaband Meijaard [16] have developed techniques for generating equations of motion (and linearforms thereof) using Lagrange’s method; the work of Schwab and Meijaard can be appliedsymbolically, whereas Minaker and Reiveley’s approach is numeric in nature. Neither dis-cusses the choice of generalized speeds as in Kane’s method: both form the equations of mo-tion in terms of second time derivatives of the coordinates. Further, neither of these worksaddresses constraints which cannot be eliminated (e.g., nonlinear configuration constraints),nor do they address what approach should be taken when a single choice of dependent statesmay not suffice. Neuman [12] presents a symbolic (as opposed to numeric) formulation forlinearization of the Q-matrix formulation of the Lagrangian but makes no mention of con-strained systems and attempts to contact the author regarding the software (algebraic robotmodeler, Arm) as well as internet searches for the software have been fruitless.

Page 3: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

This paper presents linear first-order differential equations relating the time derivativesof all speeds and coordinates to the independent speeds and coordinates for any point oflinearization. A provided example demonstrates the need for these equations. We demon-strate how a reduced set of these linearized equations can be used to perform standard sta-bility analysis (i.e., for control system design or linear stability analysis). The formalismpresented here is generic enough to cover most examples of time-varying constrained multi-body systems with arbitrary external inputs and arbitrary specified quantities. The procedurewas created for systems whose equations of motion have been derived with Kane’s method.Although also applicable to dynamic system equations formulated using other methods, it isrestricted to systems which can be completely described by a set of ODEs (i.e., DAEs neednot be solved).

We begin with a review of Kane’s method for generating equations of motion, in order toproperly orient the reader to the format and some of the qualities of the generated equations.Next, we apply Kane’s method to generate the equations of motion for the rolling disk, butwe purposefully introduce a dependent coordinate and three dependent speeds in the formu-lation. The need for a different linearization technique is demonstrated with this example.In response to this need, we present the newly developed linearization procedure and itsderivation. This new linearization procedure is applied to the same rolling disk example toillustrate its validity and an example of its application. Finally, we discuss other details andnuances of the procedure and its use, as well as directions for future work.

2 Kane’s method, briefly

To familiarize the reader with Kane’s method, several concepts relating to its use are dis-cussed: the use of generalized speeds in addition to generalized coordinates; how these gen-eralized speeds can be used to project permissible motions of the system; and how thisremoves the need to consider noncontributing (internal constraint) forces. Then, the mathe-matical steps required to use Kane’s method are illustrated.

In Lagrange’s method, generalized coordinates describe the configuration of a system,whereas time derivatives of the generalized coordinates characterize the velocities. Kane’smethod allows velocities to be written in terms of generalized speeds, which are not requiredto be the time derivatives of coordinates (although such a definition is permitted).

The benefit of choosing generalized speeds other than simply derivatives of correspond-ing generalized coordinates can be seen in the following example. If the orientation of a rigidbody were described using Euler parameters or quaternions as coordinates, then its angularvelocity in terms of time derivatives of those coordinates would be relatively complicated; italso requires a velocity constraint. Using generalized speeds allows for the angular velocityto be expressed more simply as

NωB = u1b1 + u2b2 + u3b3 (1)

or, the angular velocity of rigid body B in the reference frame N is defined as the sum ofthree generalized–speed basis–vector products. The derivatives of these generalized speedswill appear in the equations of motion, rather than the twice time-differentiated generalizedcoordinates (q’s).

A drawback of allowing such definitions can be seen when formulating the kinematicdifferential equations, which relate the rate of change of the generalized coordinates to thegeneralized speeds. These equations become more complicated (in comparison to qi = ui ),but this is usually offset by the significantly simpler dynamical equations of motion [9].

Page 4: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

Use and understanding of Kane’s method requires the use and understanding of partialvelocities and partial angular velocities. These are simply the partial derivatives of the (an-gular) velocity vectors with respect to the generalized speeds. For example, for the angularvelocity in Eq. (1), the three partial angular velocities of body B in reference frame N are

NωB1 = b1,

N ωB2 = b2,

N ωB3 = b3,

and it can be seen that the partial velocities represent the direction of motion associated witheach generalized speed. The geometric interpretations of these partial (angular) velocitiesare discussed at length by Lesser [6].

Taking the dot product of each partial velocity with both sides of Newton’s second law,F = ma (or the rotational equivalent), only terms that are parallel to the partial velocitiesremain; one scalar equation is generated for each generalized speed. An important byproductis that internal constraint forces (noncontributing forces) imposed by objects such as pin orsliding joints no longer need be considered. The reason for this is that partial velocities areby construction perpendicular to forces of constraint. Constraint forces can be included inthe formulation but will not appear in the final equations of motion because of this verydesirable property.

In summary, Kane’s method allows velocities to be defined in terms of generalizedspeeds, leading to simpler velocity expressions and equations of motion expressed in first-order form. The dot product of each partial velocity (the direction of motion associated witheach generalized speed) with Newton’s second law (or Euler’s equations) removes all termsthat are not related to the rate of change of each generalized speed. This generally results insimple equations of motion, which are easier to form.

The mathematical formalism for applying Kane’s method to multibody systems follows.Consider a system composed of particles P1, . . . ,Ph, rigid bodies B1, . . . ,Bg with masscenters B∗

1 , . . . ,B∗g and points of force application Q1, . . . ,Qk , and reference frames of

torque application E1, . . . ,Ec, all defined relative to the inertial reference frame N . Thissystem has generalized coordinates q1, . . . , qn and generalized speeds u1, . . . , uo. Althoughit is common that n = o, this is not a requirement when using Kane’s method. Additionally,there are l configuration constraints and m velocity constraints.

In order to properly apply Kane’s method, the velocities of each component in the sys-tem need to be written as linear combinations of the generalized speeds. The translationalvelocities of the particles are

N vPi =o∑

j=1

N vPi

j uj + N vPit , i = 1, . . . , g, (2)

and the translational velocities of rigid body mass centers are

N vB∗i =

o∑

j=1

N vB∗

i

j uj + N vB∗

it , i = 1, . . . , h, (3)

and finally the translational velocities of points that have applied forces are

N vQi =o∑

j=1

N vQi

j uj + N vQit , i = 1, . . . , k. (4)

Page 5: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

Next, the angular velocities of rigid bodies are

NωBi =o∑

j=1

NωBi

j uj + NωBit , i = 1, . . . , h, (5)

and the angular velocities of reference frames where a torque is being applied are

NωEi =o∑

j=1

NωEi

j uj + NωEit , i = 1, . . . , c. (6)

In these equations, each term vt or ωt represents a velocity or angular velocity compo-nent, which is a prescribed function of time and has no dependence on generalized speeds(e.g., a motor or crank driven at a specified rate).

For this system, we consider configuration constraints of the form

fc(q, t) = 0, (7)

where fc and 0 have shape l × 1. The velocity constraints have the form

fv(q,u, t) = 0, (8)

where fv and 0 have shape m×1, and fv depends linearly on u. It is assumed that fv includesboth time-differentiated configuration constraints and truly nonholonomic constraints. Fur-ther, it is assumed that the kinematic differential equations have been used to eliminate qfrom fv . Finally, acceleration constraints are time-differentiated velocity constraints and areassumed to have the form

fa(q, q,u, u, t) = 0. (9)

In contrast to the velocity constraints, our formulation permits the acceleration constraintsto involve q terms (alternatively, they can be eliminated by appealing to the kinematic dif-ferential equations).

The velocity constraints are assumed linear with respect to u, so we introduce

B � ∇ufv(q,u, t), (10)

where B is implicitly dependent upon q and t . The velocity constraints can then be expressedas

Bu + fvt (q, t) = 0, (11)

where fvt arises from explicit time-varying terms that occur in the velocity constraints. Thesetypically arise from specified quantities whose dynamics are being ignored (e.g., a motorspinning at constant speed).

With these definitions established, Kane’s method can be applied. In vector form, Kane’sholonomic dynamical equations are

F + F∗ = 0, (12)

where F are the generalized active forces, and F∗ are the generalized inertia forces. If New-ton’s second law is written as f − ma = 0, F is the multibody generalization of f , and

Page 6: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

F∗ is the multibody generalization of −ma. As will be shown, these forces are the dotproduct of the partial velocities/angular velocities, as defined in (2)–(6), with the resultantforces/torques (R/T ) and with inertial forces/torques (R∗/T ∗).

The resultant force at a point is defined as the sum of all force vectors acting directly onthat point. The resultant torque on a reference frame is defined similarly—it is the sum of alltorque vectors acting on that reference frame. Distance forces do not need to be transformedinto a resultant force/torque pair for any components of the system; they only need to beconsidered at the point of application (e.g., if a force f is the only force applied to bodyB at point Q, then RB∗ = 0 and TB = 0 but RQ = f ). The o holonomic generalized activeforces are

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎣

∑g

i=1 RB∗i

· N vB∗

i

1 + ∑hi=1 RPi

· N vPi

1 + ∑ki=1 RQi

· N vQi

1 + ∑g

i=1 TBi· N ω

Bi

1 + ∑ci=1 TEi

· N ωEi

1

∑g

i=1 RB∗i

· N vB∗

i

2 + ∑hi=1 RPi

· N vPi

2 + ∑ki=1 RQi

· N vQi

2 + ∑g

i=1 TBi· N ω

Bi

2 + ∑ci=1 TEi

· N ωEi

2...

∑g

i=1 RB∗i

· N vB∗

io + ∑h

i=1 RPi· N v

Pio + ∑k

i=1 RQi· N v

Qio + ∑g

i=1 TBi· N ω

Bio + ∑c

i=1 TEi· N ω

Eio

⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

(13)We now define inertia forces and torques R∗ and T ∗. For an inertial frame N , the inertia

force for particle P is

R∗P � −mP

NaP , (14)

whereas the inertia force and inertia torque for rigid body B are

R∗B∗ � −mB

NaB∗, (15)

T ∗B � −N αB · ¯IB/B∗ − NωB × ¯IB/B∗ · NωB, (16)

where ¯IB/B∗is the central inertia dyadic of the rigid body B about its mass center B∗ [3].

The o holonomic generalized inertia forces are

F∗ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

∑g

i=1 R∗B∗

i· N v

B∗i

1 + ∑h

i=1 R∗Pi

· N vPi

1 + ∑g

i=1 T ∗Bi

· NωBi

1

∑g

i=1 R∗B∗

i· N v

B∗i

2 + ∑h

i=1 R∗Pi

· N vPi

2 + ∑g

i=1 T ∗Bi

· NωBi

2

...

∑g

i=1 R∗B∗

i· N v

B∗i

o + ∑h

i=1 R∗Pi

· N vPio + ∑g

i=1 T ∗Bi

· NωBio

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

. (17)

If there are velocity constraints, we must use Kane’s nonholonomic dynamical equations

F + F∗ = 0, (18)

where F and F∗ are the nonholonomic generalized active forces and nonholonomic general-ized inertia forces. Equation (18) will be of dimension o–m, where o is the total number ofgeneralized speeds, and m is the number of velocity constraints.

We assume the o generalized speeds are ordered u = [ui ,ud ]T , where ui ∈ Ro−m andud ∈ Rm are the independent and dependent speeds, respectively. The velocity constraint

Page 7: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

Jacobian matrix B can be similarly rearranged as B = [Bi ,Bd ], where Bi ∈ Rm×o−m andBd ∈ Rm×m. With this in mind, Eq. (11) can be written as

Biui + Bdud + fvt (q, t) = 0 (19)

=⇒ ud = −B−1d Biui − fvt (q, t). (20)

For convenience, we define

A �−B−1d Bi (21)

and note that A ∈ Rm×(o−m). To form the nonholonomic generalized forces, we first partitionthe generalized active and inertia forces:

F =[

Fi

Fd

], F∗ =

[F∗

i

F∗d

](22)

allowing the nonholonomic generalized forces to be written as

F = Fi + AT Fd , F∗ = F∗i + AT F∗

d . (23)

This process of constraining the equations of motion reduces the number of equationsfrom o to o–m. However, Eqs. (18) still contain o unknowns (u1, . . . , uo). By augmenting(18) with the acceleration constraint equations (9) we obtain o equations in o unknowns.Note that Eqs. (18) and (9) are linear in the ui . The augmented system of equations is

[F + F∗

fa(q, q,u, u, t)

]= 0. (24)

The o–m equations in (18) generally involve o speeds (we assume the dependent speeds,and their time derivatives have not been algebraically eliminated). To obtain (18), we mustchoose which speeds will be dependent. The methods for doing this are beyond the scopeof this paper, but it is important that whatever selection is made avoids singularities thatcan occur in certain configurations or sets of system parameters. For a careful treatment, weencourage the reader to examine the work of Reckdahl [15].

For convenience, we summarize the critical equations in Table 1.Not all n generalized coordinates are independent due to the l configuration level con-

straints (e.g., holonomic constraints resulting from closed kinematic loops). Similarly, notall o generalized speeds are independent due to the m velocity level constraints. Velocitylevel constraints result from time-differentiated configuration constraints or nonholonomicconstraints (e.g., no-slip rolling). The m acceleration level constraints are assumed to be ob-tained by time differentiating the m velocity level constraints. Just as Kane’s method doesnot require n = o, neither does our linearization procedure. The s exogenous inputs includecontrol system inputs and/or external disturbance forces or torques applied to the system.

The kinematic differential equations are separated into the quantities f0 and f1; termsdepending upon q are placed into f0, and all other terms are placed into f1. Similarly, thedynamic differential equations are separated into the quantities f2 and f3; terms dependingupon u are placed into f2, and all other terms are placed into f3. The motivation for thisorganizational scheme will be made apparent in Sect. 4.

Page 8: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

Table 1 Constrained multibody system governing definitions and equations

Quantity Shape Description

q, q Rn Coordinates and their time derivatives

u, u Ro Speeds and their time derivatives

r Rs Exogenous inputs

Equation Description

f c(q, t) = 0l×1 Configuration level constraints

f v(q,u, t) = 0m×1 Velocity level constraints

f a(q, q,u, u, t) = 0m×1 Acceleration level constraints

f 0(q, q, t) + f 1(q,u, t) = 0n×1 Kinematic differential equations

f 2(q, u, t) + f 3(q, q,u, r, t) = 0(o−m)×1 Dynamic differential equations

3 Dynamics example

To illustrate Kane’s method in the presence of configuration and velocity constraints, weconsider a thin disk C rolling without slip on a horizontal plane. The dextral unit vectorscx , cy , cz are fixed to C with cy perpendicular to the disk plane. Let r and m be the disk radiusand mass, and assume a thin disk mass distribution so that Ixx = Izz = mr2/4 and Iyy =mr2/2. Take the inertial (Newtonian) frame N to be similarly equipped with dextral unitvectors nx, ny, nz, with nz perpendicular to the ground plane (downward) and aligned withthe local gravitational field. To orient the disk, first align C with N , then apply successivebody-fixed ZXY rotations: yaw q1, roll q2, and spin q3. Denote by A and B the two framesthat persist after the first two intermediate rotations in the sequence; we refer to these as theinstantaneous yaw and lean frames, respectively. The unit vector bz, fixed in the B frame,is parallel to the disk plane and aligned with the position vector from the disk center C∗ tothe lowest point of the disk P ∗. Figure 1 shows how the generalized coordinates are used toconfigure the disk.

For brevity, we use ci = cosqi and si = sinqi .Traditionally, to locate the center of the disk C∗ relative to the inertial origin N∗, two

coordinates position the contact point in the ground plane; these two coordinates and thelean angle and yaw angles determine the location of the center of the disk. The advantageof this approach is that by using a minimal set of coordinates, the holonomic ground contactconstraint is always satisfied, and hence no holonomic constraint equation is needed.

To illustrate how dependent coordinates must be accounted for when linearizing the equa-tions of motion, we purposefully locate the center of the disk C∗ relative to the inertial originN∗ with a nonminimal choice of coordinates

rC∗/N∗ = q4nx + q5ny + q6nz,

which results in the configuration constraint fc ,

rc2 + q6 = 0, (25)

which must be satisfied for the disk to remain in contact with the ground. While this con-straint is easily avoided by appropriate choice of coordinates, it serves to illustrate consid-erations that arise when analyzing systems in which there is no obvious way to eliminateconfiguration constraints.

Page 9: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

Fig. 1 Configuration of rollingdisk using nonminimalcoordinates

Again to demonstrate how velocity constraints must be accounted for when obtaininglinearized equations of motion, we define the velocity of C∗ in N with a nonminimal choiceof speeds, defined in the body-fixed (C) frame. The angular velocity of C in N , however, isexpressed in the intermediate lean frame B:

N vC∗ = u4cx + u5cy + u6cz, (26)

NωC = u1bx + u2by + u3bz. (27)

The unconstrained partial angular velocity and partial velocity of C∗, respectively, are

N vC∗u = [0,0,0, cx, cy, cz], (28)

NωCu = [bx, by, bz,0,0,0], (29)

where we present the partial velocities as a 1 × 6 matrix whose entries are populated withstandard 3-vectors. Given these definitions, the velocity of the lowest point of the disk P ∗ is

NvP ∗ = vC∗ + ωC × rP ∗/C∗

= u4cx + u5cy + u6cz + ru2bx − ru1by

= (ru2c3 + u4)cx + (−ru1 + u5)cy + (ru2s3 + u6)cz,

where we have made use of the fact that rP ∗/C∗ = rbz. Under the assumption of pure rolling,this immediately yields three velocity constraint equations that make up fv = 0:

ru2c3 + u4 = 0, (30a)

−ru1 + u5 = 0, (30b)

ru2s3 + u6 = 0. (30c)

These equations are linear in the ui terms, nonlinear in the qi terms, involve geometricsystem parameters (but not mass or inertial parameters), and do not explicitly involve qi

terms. This structure will be taken advantage of in Sect. 4.

Page 10: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

At this point, the reader familiar with the rolling disk problem may be wonder-ing why we have purposefully chosen a nonminimal set of coordinates and speeds. Inthis simple example, there is an obvious and minimal choice of coordinates and speeds(q1, q2, q3, q4, q5, u1, u2, u3 should be independent since this choice will be valid for allparameters and configurations. The equations of motion can be formed without ever intro-ducing q6, u4, u5, u6).

For some systems, there is not an obvious and minimal choice of coordinates and speeds(e.g., Stewart’s platform, or the bicycle). The values of system parameters and the configura-tions in which the system will operate determine which coordinates and speeds can be takento be dependent (and hence potentially eliminated by algebraic manipulations). However,it may not be possible a priori to determine easily which coordinates and speeds shouldbe taken as dependent. Further, some systems may operate in distinct enough regions ofthe configuration space that one must use different choices of dependent coordinates and/orspeeds as the system moves from one region to another. The purpose of our complex choiceof coordinates and speeds is to illustrate, in the context of a familiar example, how con-straints must be taken into account when linearizing equations of motion. It is our hope thatby doing this for a well-known and relatively simple example, readers can apply the sametechniques to more complicated systems where its use is more appropriate or necessary.

Time differentiating the velocity constraint equations yields the acceleration constraintequations, fa = 0, written out as

−ru2s3q3 + rc3u2 + u4 = 0, (31a)

−ru1 + u5 = 0, (31b)

ru2c3q3 + rs3u2 + u6 = 0, (31c)

which must also be satisfied during general motions. There are two types of terms in theseequations: (1) terms involving ui and qi and (2) terms involving qi , ui , and qi . This structurewill be taken advantage of subsequently.

The kinematic differential equations relate the time derivatives of the coordinates andthe generalized speeds. They are obtained by equating the velocities written using time-differentiated generalized coordinates and the velocities written using generalized speeds.From the addition theorem for angular velocity, the angular velocity of C is

NωC = q1nz + q2ax + q3by, (32)

whereas time differentiating rC∗in N yields

N vC∗ = q4nx + q5ny + q6nz. (33)

Equating (27) with (32) and (26) with (33), expressing these vector equations in the B frame,and rearranging so that all terms appear to the left of the equality sign, we obtain

⎢⎢⎢⎢⎢⎢⎣

q2

s2q1 + q3

c2q1

q4

q5

q6

⎥⎥⎥⎥⎥⎥⎦

︸ ︷︷ ︸f0

+

⎢⎢⎢⎢⎢⎢⎣

−u1

−u2

−u3

(s1s2s3 − c1c3)u4 + s1c2u5 − (s1s2c3 + s3c1)u6

(−s1c3 − s2s3c1)u4 − c1c2u5 + (−s1s3 + s2c1c3)u6

s3c2u4 − s2u5 − c2c3u6

⎥⎥⎥⎥⎥⎥⎦

︸ ︷︷ ︸f1

=

⎢⎢⎢⎢⎢⎢⎣

000000

⎥⎥⎥⎥⎥⎥⎦. (34)

Page 11: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

The translational acceleration of C∗ and the angular acceleration of C, relative to N , are

N aC∗ = (−(u1s3 + u3c3)u5 + u2u6 + u4

)cx

+ ((u1s3 + u3c3)u4 − (u1c3 − u3s3)u6 + u5

)cy

+ ((u1c3 − u3s3)u5 − u2u4 + u6

)cz, (35)

N αC = (−u2u3 + u23t2 + u1

)bx + u2by + (u1u2 − u1u3t2 + u3)bz. (36)

As stated, the mass of the disk is m, and the inertia dyadic of the disk can be written as

¯IC/C∗ = mr2

4cx cx + mr2

2cy cy + mr2

4czcz. (37)

Using Eqs. (15) and (16), R∗C∗ and T ∗

C can be written as

R∗C∗ = −m

(−(u1s3 + u3c3)u5 + u2u6 + u4

)cx

− m((u1s3 + u3c3)u4 − (u1c3 − u3s3)u6 + u5

)cy

− m((u1c3 − u3s3)u5 − u2u4 + u6

)cz, (38)

T ∗C = mr2

4

(2u1u2s3 − u1u3s3t2 + 2u2u3c3

− u23c3t2 + s3u3 − c3u1

)cx

− mr2

2u2cy

+ mr2

4

(−2u1u2c3 + u1u3c3t2 + 2u2u3s3

− u23s3t2 − s3u1 − c3u3

)cz. (39)

The generalized active forces and torques for this example are

RC∗ = mgnz, (40)

TC = 0. (41)

Equations (13), (17), and (12) can be used to construct the equations of motion. Forbrevity, we omit the results of each step involved and only write the results after they havebeen partitioned into the f2 and f3 vectors:

⎣000

⎦ =⎡

⎣−mr

4 (ru1 + 4u5)mr2 (−ru2 + 2s3)u6 + 2c3u4

−mr2

4 u3

︸ ︷︷ ︸f2

+⎡

⎣mr(gs2 − u1u4s3 + u1u6c3 + (

ru22 − ru3

4 t2 − u4c3 − u6s3)u3)

mr(−u2u4s3 + u2u6c3 − u3u5)mr2

4 (−2u2 + u3t2)u1

︸ ︷︷ ︸f3

. (42)

Page 12: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

The twelve unknown quantities appearing in the nine kinematic and dynamic differentialequations are q1−6 and u1−6. The three acceleration constraint equations provide the finalthree equations, which allow all twelve unknowns to be determined. Combining (34), (42),and (31a)–(31c), the complete set of motion equations can be written:

⎣f0 + f1

f2 + f3

fa

⎦ = 0. (43)

The naive approach to linearizing these equations of motion would be to solve for the(qi , ui ) terms to construct the right-hand side of

[qu

]= f(q,u, t) (44)

and calculate the Jacobian of f with respect to [q u]T . However, this will give incorrectresults.

As discussed in [16], when m,r , and g are taken to be unity and the system is linearizedabout the upright steady rolling condition, the critical speed is v � −rq3 = ± 1√

3. When

following the naive approach and evaluating the Jacobian at the same operating conditionsand parameters, eight of the twelve eigenvalues are identically zero, whereas the remainingfour are

λ1,2 = ±√

6

3

√−v2, λ3,4 = ±2

√1 − 3v2

√5

. (45)

At the critical speed, all eigenvalues must be zero, and that is clearly not the case here;one pair of nonzero eigenvalues exist at what should be the critical speed. This indicates thepresence of oscillatory modes that are not present in the correct derivation.

Further, the fact that twelve eigenvalues are obtained should be an alert that something isprocedurally incorrect since the number of independent quantities is only eight (five coordi-nates and three speeds). We now outline a linearization procedure that addresses this issue;we revisit this example in Sect. 5.

4 Derivation of linearization procedure

In response to the need we have demonstrated, we present a linearization procedure thatproperly accounts for system constraints. Computing the Jacobian of the right-hand side ofthe ODEs as we did at the end of the previous section is incorrect because it fails to applythe chain rule and thereby properly account for the relationships imposed by configuration,velocity, and acceleration constraints. That it is not immediately obvious that the chain ruleneeds to be applied is a byproduct of the commonly used notation which does not makeit explicitly clear that dependent coordinates and dependent speeds are not only functionsof time, but also functions of the independent coordinates and independent speeds. Thesedependent terms should in fact be written as

qd(t) → qd(qi , t), (46)

ud(t) → ud(qi ,ui , t). (47)

Page 13: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

While this might seem obvious, no previous author makes this explicitly clear when pre-senting techniques for symbolically linearizing equations of motion that are subject to con-straints. While the concept is simple in principle, correctly accounting for all quantities istedious and error prone. Having a high level, systematic procedure that can be implementedreliably in software is therefore a strong argument for the detailed and explicit procedure wepresent.

We begin with a first-order Taylor series expansion of the equations in Table 1 aboutq = q∗, q = q∗, u = u∗, u = u∗, r = r∗; it is assumed that all of the equations in Table 1are satisfied by these quantities (i.e., the system is in a valid state). In the interest of brevity,we omit writing this point of linearization in each gradient in the calculations below; all areevaluated at this point. Expansion of the three constraint equations, keeping only first-orderterms, yields

f c(q, t) ≈ f c

(q∗, t

)︸ ︷︷ ︸

0

+∇qf cδq, (48)

f v(q,u, t) ≈ f v

(q∗,u∗, t

)︸ ︷︷ ︸

0

+∇qf vδq + ∇uf vδu, (49)

f a(q, q,u, u, t) ≈ f a

(q∗, q∗,u∗, u∗, t

)︸ ︷︷ ︸

0

+∇qf aδq + ∇qf aδq

+ ∇uf aδu + ∇uf aδu. (50)

The first terms are identically zero because of the assumption that the point of linearizationsatisfies the constraints. The Taylor series expansion of the kinematic differential equationsis

f 0(q, q, t) ≈ f 0

(q∗, q∗, t

) + ∇qf 0δq + ∇qf 0δq, (51)

f 1(q,u, t) ≈ f 1

(q∗,u∗, t

) + ∇qf 1δq + ∇uf 1δu. (52)

Summing (51) and (52) and recognizing that the sum of the first term on the right-hand sideof each equation must equal zero, we obtain

f 0(q, q, t) + f 1(q,u, t) ≈ ∇q(f 0 + f 1)δq + ∇qf 0δq + ∇uf 1δu. (53)

Similarly, using a Taylor series expansion of the dynamic differential equations, we obtain

f 2(q, u, t) ≈ f 2

(q∗, u∗, t

) + ∇qf 2δq + ∇uf 2δu, (54)

f 3(q, q,u, r, t) ≈ f 3

(q∗, q∗,u∗, r∗, t

) + ∇qf 3δq

+ ∇qf 3δq + ∇uf 3δu + ∇rf 3δr. (55)

Summing (54) and (55) and recognizing that the sum of the first terms on the right-handsides of these equations must equal zero, we obtain

f 2(q, u, t) + f 3(q, q,u, r, t) ≈ ∇q(f 2 + f 3)δq + ∇qf 3δq

+ ∇uf 3δu + ∇uf 2δu + ∇rf 3δr. (56)

Page 14: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

Equating the right-hand sides of Eqs. (53), (50), and (56) to zero (as in Table 1), andintroducing the definitions

Mqq �∇qf 0, Muqc � ∇qf a,

Muuc �∇uf a, Muqd � ∇qf 3,

Muud �∇uf 2, Aqq � −∇q(f 0 + f 1),

Aqu �−∇uf 1, Auqc � −∇qf a,

Auuc �−∇uf a, Auqd � −∇q(f 2 + f 3),

Auud �−∇uf 3, Bu � −∇rf 3

(57)

enables the unconstrained linear state space equations to be written as

⎣Mqq 0n×o

Muqc Muuc

Muqd Muud

⎦[δq

δu

]=

⎣Aqq Aqu

Auqc Auuc

Auqd Auud

⎦[δq

δu

]+

[0(n+m)×s

Bu

]δr. (58)

Equation (58) has a state space of dimension n + o, yet only p = n − l + o–m of thesequantities are independent. To address this issue, a smaller set of independent coordinatesand speeds must be selected. To this end, we partition the generalized coordinates and gen-eralized speeds as

q � [q i qd ]T = P −1q q, u� [ui ud ]T = P −1

u u,

where Pq ∈ Rn×n and Pu ∈ Ro×o are invertible permutation matrices that map an orderingthat has the independent quantities (q i ∈ Rn−l , ui ∈ Ro−m) first, followed by the dependentquantities (qd ∈ Rl , ud ∈ Rm) to the original ordering of the coordinates and speeds. Weuse the notation Pqi and Pqd to denote the first n − l and last l columns of Pq , respectively;similarly, Pui is the first o–m columns of Pu, whereas Pud is the last m columns of Pu.

Making use of Pq and the assumption that Eq. (48) is zero gives

∇qf cδq = ∇qf cPqδq

= ∇qf cPqiδqi + ∇qf cPqdδqd

=⇒ δqd = −(∇qf cPqd)−1(∇qf cPqi)δq i

=⇒ δq = [In×n − Pqd(∇qf cPqd)

−1∇qf c

]Pqi︸ ︷︷ ︸

�C0

δq i .

(59)

Making use of Pq , Pu, the assumption that Eq. (49) is zero, and taking equation (59) intoaccount gives

∇qf vδq + ∇uf vδu = ∇qf vC0δq i + ∇uf vδPuu

= ∇qf vC0δq i + ∇uf vPuiδui + ∇uf vPudδud

=⇒ δud = −(∇uf vPud)−1[∇qf vC0δq i + ∇uf vPuiδui] (60)

Page 15: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

=⇒ δu = −Pud(∇uf vPud)−1∇qf v︸ ︷︷ ︸

�C1

C0δq i

+ [I − Pud(∇uf vPud)

−1∇uf v

]Pui︸ ︷︷ ︸

�C2

δui .

Making use of Eqs. (59) and (60), we can rewrite Eq. (58) as

⎣Mqq 0n×o

Muqc Muuc

Muqd Muud

⎦[δq

δu

]=

⎣(Aqq + AquC1)C0 AquC2

(Auqc + AuucC1)C0 AuucC2

(Auqd + AuudC1)C0 AuudC2

⎦[δq i

δui

]

+[

0(n+m)×s

Bu

]δr. (61)

This definitively establishes how the first time derivatives of coordinates and speeds (inde-pendent and dependent) depend, to first order, upon a selection of independent coordinatesand independent speeds, for an arbitrary point of linearization. Note that the only require-ment on this point of linearization is that it satisfy all the equations in Table 1; it may or maynot be an equilibrium point.

5 Dynamics example, revisited

As shown at the end of Sect. 3, obtaining correct linearized equations in the presence of con-straints requires a technique other than straightforward calculation of the Jacobian. In thissection, we demonstrate that our linearization procedure yields eigenvalues that match pub-lished results [3, 11, 16]. The first step in the procedure is to form the matrices in Eq. (57).Once obtained, these matrices can be evaluated at the equilibrium conditions and parame-ters of interest. We follow the standard approach to finding the equilibrium conditions bychoosing the independent quantities and solving the constraint equations for the dependentquantities.

We first consider the case of upright steady rolling and begin by choosing the independentcoordinates to be zero (q∗

i = 0, i = 1, . . . ,5), which implies (by appealing to the configura-tion constraint) that q∗

6 = −r cosq∗2 = −r . This corresponds to the disk in a vertical plane,

the lowest point of the disk in contact with the ground, and the disk plane parallel to thenx unit vector. Next, we solve the velocity constraint equations for the dependent speeds interms of the independent ones and substitute these into the kinematic differential equations.This yields six equations with nine unknowns: ui (i = 1,2,3) and qi (i = 1, . . . ,6). Wechoose yaw rate q∗

1 = 0, lean rate q∗2 = 0, let spin rate q∗

3 be a free variable, and solve forthe remaining six unknowns. This yields u∗

1 = u∗3 = 0, u∗

2 = q∗3 , q∗

4 = −rq∗3 , q∗

5 = q∗6 = 0.

Substituting the first three of these results into the velocity constraint equations yieldsu∗

4 = −rq∗3 , u∗

5 = u∗6 = 0. Finally, by evaluating the acceleration constraints fa and the dy-

namic equations f2 + f3 at these conditions, we can solve for u∗i , i = 1, . . . ,6. We obtain

u∗1 = u∗

2 = u∗3 = u∗

4 = u∗5 = 0 and u∗

6 = −rq∗23 . The upright equilibrium conditions are thus

parameterized in terms of the disk spin rate q3; for this upright configuration (q2 = 0), it isconvenient to introduce the forward speed v � −rq∗

3 .Evaluating the matrices in Eqs. (61) at these equilibrium conditions and subsequently

solving these equations for δq and δu yield the linearized relationship between the time

Page 16: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

derivatives of all state variables and the independent state variables. By taking only the rowsassociated with the independent states, the linear relationships between the independentstates and their time derivatives are isolated. The eigenvalues of this coefficient matrix maybe computed symbolically. Six of the eight eigenvalues of this matrix are zero, and theremaining two are

λ1,2 = ±2√

1 − 3v2

√5

, (62)

which has critical points at v∗ = ± 1√3

and matches previously published results [3, 11, 16].For |v| < v∗, the disk is unstable, but for |v| ≥ v∗, the eigenvalues are purely imaginary andare hence marginally stable. We omit the details of these calculations and direct the readerto the electronic supplementary material.

A more general analysis of the stability of the rolling disk equilibria considers the casewhere the disk lean q2 is constant but not necessarily zero. To satisfy the dynamics, the yawrate q1 and spin rate q3 must be chosen to satisfy

g

rs2 + 3

2c2q3q1 + 5

4c2s2q

21 = 0, (63)

which is a quadratic equation in the yaw rate q1 with roots

q1 = 2

5c2s2

(−3

2q3c2 ±

√9

4q2

3c22 − 5g

rs2

2c2

). (64)

To be physically meaningful, these roots must be real, which gives rise to the followingadditional requirement:

q23 ≥ 20g

9rs2t2. (65)

For a given set of parameters, the eigenvalues of the linearized dynamics can be parame-terized by three quantities: lean q2, yaw rate q1, and spin rate q3 (though only two can beindependent because of the above restrictions). For this more general equilibrium condition,there are still six zero eigenvalues, whereas the two nonzero eigenvalues are

λ1,2 = ±√

4

5c2 − q2

1 − 14

5s2q1q3 − 12

5q2

3 , (66)

which can be easily shown to reduce to Eq. (62) when q2 = q1 = 0. For a more detailedanalysis of the stability of steadily rolling disks, see [5, 11, 14].

6 Discussion

Most modern linear control techniques assume that a system can be written as

x = Ax + Bu, (67)

where x are the system states, and u are the control inputs (the u used in control literature isanalogous to the r we use in this paper). To transform Eq. (61) into this standard form, we

Page 17: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

define

M =⎡

⎣Mqq 0n×o

Muqc Muuc

Muqd Muud

⎦ , (68)

A =⎡

⎣(Aqq + AquC1)C0 AquC2

(Auqc + AuucC1)C0 AuucC2

(Auqd + AuudC1)C0 AuudC2

⎦ , (69)

B =[

0(n+m)×s

Bu

](70)

from (61) and

A′ � M−1A, (71)

B ′ � M−1B, (72)

where A′ ∈ R(o+n)×(o−m+n−l), B ′ ∈ R(o+n)×s . We can extract the rows corresponding to theindependent states by defining

P ′ �[

Pqi On×(o−m)

Oo×(n−l) Pui

], (73)

A� P ′T A′, (74)

B � P ′T B ′, (75)

where P ′ ∈ R(o+n)×(o−m+n−l). Defining xi = [δq i , δui]T yields the square state space sys-tem xi = Axi + Br to which standard linear system analysis may be applied. It is worthnoting that the rows of A′ and B ′ that correspond to dependent states can be used in out-put or measurement equations of a linear state space model (e.g., measurements from anaccelerometer or measurements of dependent speeds).

Kane’s dynamical equations are typically formulated for one particular choice of depen-dent speeds, and computer code is generated for that single choice of dependent speeds. Itis possible, however, to output computer code for the unconstrained equations of motion(Eq. (12)), along with the velocity constraint coefficient matrix (Eq. (10)) such that the in-dependent choice of speeds and the constrained equations of motion (Eq. (18)) are formedat the time of numerical evaluation (as opposed to choosing a particular set of dependentspeeds during symbolic derivation).

There are several instances where this is desirable: (1) the configuration of the system inquestion changes significantly enough during simulation that no single choice of indepen-dent speeds will work for all regions of the configuration space; (2) the choice of parametersgreatly affects which states should be selected to be dependent; and (3) the dependent statesare chosen to minimize the effect of numerical round off [15]. This approach can also beapplied to computation of the linearized dynamics.

A task where the ability to switch the choice of dependent states “on the fly” is extremelyhelpful is in the computation of Lyapunov characteristic exponents (LCEs). When comput-ing LCEs, time simulation of the nonlinear dynamics and linearization at each point alongthe trajectory are required [1, 2, 18]; having a computer code that makes it easy to switch

Page 18: Symbolic linearization of equations of motion of constrained multibody systems

D.L. Peterson et al.

the choice of dependent states at the time of numerical evaluation is of great benefit in thiscase.

The matrices that must be used to determine the best choice of coordinates and speeds are∇qf cPqd and ∇uf vPud ; these matrices appear in Eqs. (59) and (60). If for some choice ofdependent coordinates or dependent speeds either of these matrices is singular or nearlysingular, a different set of dependent coordinates and dependent speeds should be cho-sen. These matrices generally depend only upon parameters and coordinates (not speeds).Whereas some systems may permit a choice of independent state variables which is validfor all configurations of interest, others may not. Methods for automatically selecting the“best” choice of independent state variables are discussed in [15]; they involve computingthe singular value decomposition of ∇qf c and ∇uf v to determine a set of independent statesthat will ensure the nonsingularity of the aforementioned matrices.

7 Conclusions

A procedure for forming linearized equations of motion for constrained multibody systemshas been presented. This procedure can be implemented symbolically or numerically andhandles configuration, velocity, and acceleration level constraints. The coefficient matricesin Eq. (61) can generally be computed symbolically and output as C/C++/Fortran routinesthat may be compiled into efficient machine code. This permits library routines that are bothefficient (no finite differences) and general (arbitrary system parameters and linearizationpoint).

The procedure has been implemented symbolically in the physics.mechanics sub-module of the open-source symbolic manipulator SymPy [17]. In addition to the rollingdisk example, we have also applied it to the Whipple bicycle model (and extensions of thismodel) and found that it matches (to at least 14 digits) the eigenvalues published for a bench-mark set of parameters [7]. This latter example provides a challenging and rigorous test ofthe procedure that strongly indicates both its utility and its correctness.

Acknowledgements This material is based upon work partially supported by the National Science Foun-dation under award 0928339 and three Google Summer of Code projects (2009, 2011, 2012). Jason Moore,Thomas Johnston, Evan Sperber, and Andrew Kickertz provided valuable feedback during discussions ofmultibody dynamics and control.

References

1. Benettin, G., Galgani, L., Giorgilli, A., Strelcyn, J.M.: Lyapunov characteristic exponents for smoothdynamical systems and for Hamiltonian systems; A method for computing all of them. Part 1: Theory.Meccanica 15(1), 9–20 (1980). doi:10.1007/BF02128236

2. Benettin, G., Galgani, L., Giorgilli, A., Strelcyn, J.M.: Lyapunov characteristic exponents for smoothdynamical systems and for Hamiltonian systems; A method for computing all of them. Part 2: Numericalapplication. Meccanica 15(1), 21–30 (1980). doi:10.1007/BF02128237

3. Kane, T.R., Levinson, D.A.: Dynamics: Theory and Applications. McGraw-Hill, New York (1985)4. Kang, J.S., Bae, S., Lee, J.M., Tak, T.O.: Force equilibrium approach for linearization of constrained

mechanical system dynamics. J. Mech. Des. 125(1), 143 (2003). doi:10.1115/1.15416315. Kuleshov, A.S.: The steady rolling of a disc on a rough plane. J. Appl. Math. Mech. 65(1), 171–173

(2001). doi:10.1016/S0021-8928(01)00020-X6. Lesser, M.: A geometrical interpretation of Kane’s Equations. Proc. R. Soc. A, Math. Phys. Eng. Sci.

436(1896), 69–87 (1992). doi:10.1098/rspa.1992.00057. Meijaard, J.P., Papadopoulos, J.M., Ruina, A., Schwab, A.L.: Linearized dynamics equations for the bal-

ance and steer of a bicycle: A benchmark and review. Proc. R. Soc. A, Math. Phys. Eng. Sci. 463(2084),1955–1982 (2007)

Page 19: Symbolic linearization of equations of motion of constrained multibody systems

Symbolic linearization of equations of motion

8. Minaker, B.P., Rieveley, R.J.: Automatic generation of the non-holonomic equations of motion for vehi-cle stability analysis. Veh. Syst. Dyn. 48(9), 1043–1063 (2010). doi:10.1080/00423110903248702

9. Mitiguy, P.C., Kane, T.R.: Motion variables leading to efficient equations of motion. Int. J. Robot. Res.15(5), 522–532 (1996). doi:10.1177/027836499601500507

10. Negrut, D., Ortiz, J.L.: A practical approach for the linearization of the constrained multibody dynamicsequations. J. Comput. Nonlinear Dyn. 1(3), 230 (2006). doi:10.1115/1.2198876

11. Neimark, J.I., Fufaev, N.A.: Dynamics of Nonholonomic Systems. American Mathematical Society,Providence (1972)

12. Neuman, C.P., Murray, J.J.: Linearization and sensitivity functions of dynamic robot models. IEEE Trans.Syst. Man Cybern. SMC-14(6), 805–818 (1984). doi:10.1109/TSMC.1984.6313309

13. Bottema, O.: On the small vibrations of non-holonomic systems. In: Proceedings Koninklijke Neder-landse Akademie van Wetenschappen, 1936, pp. 848–850 (1949)

14. O’Reilly, O.M.: The dynamics of rolling disks and sliding disks. Nonlinear Dyn. 10(3), 287–305 (1996).doi:10.1007/BF00045108

15. Reckdahl, K.J.: Dynamics and control of mechanical systems containing closed kinematic chains. Ph.D.Thesis, Stanford University (1996)

16. Schwab, A.L., Meijaard, J.P.: Dynamics of flexible multibody systems with non-holonomic con-straints: A finite element approach. Multibody Syst. Dyn. 10(1), 107–123 (2003). doi:10.1023/A:1024575707338

17. SymPy Development Team: SymPy: Python library for symbolic mathematics (2012). http://www.sympy.org

18. Udwadia, F.E., von Bremen, H.F.: An efficient and stable approach for computation of Lyapunov char-acteristic exponents of continuous dynamical systems. Appl. Math. Comput. 121(2–3), 219–259 (2001).doi:10.1016/S0096-3003(99)00292-1