multibodysystemdynamics (msd)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. ·...

136
Multibody System Dynamics (MSD) Pierangelo Masarati Revision March 9, 2020

Upload: others

Post on 30-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Multibody System Dynamics

(MSD)

Pierangelo Masarati

Revision March 9, 2020

Page 2: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Copyright c© 2019-2020Pierangelo MasaratiDipartimento di Scienze e Tecnologie Aerospaziali, Politecnico di Milano

Questo documento e soggetto a copyright da parte degli autori e da parte del Dipartimento di Scienzee Tecnologie Aerospaziali del Politecnico di Milano. La sua riproduzione e diffusione e libera purcheavvenga per scopi consentiti dalle leggi vigenti in materia editoriale nello Stato italiano, e non avvengaper fini di lucro1. La riproduzione parziale per uso personale e l’uso per scopi istruzionali sono liberamenteconsentiti. E condizione irrinunciabile che il documento non venga modificato al di fuori o contro il pareredegli autori, che e vincolante, e che non venga privato di questo avviso di copyright.

This document is subjected to copyright by the authors and the Department of Aerospace Science andTechnology of Politecnico di Milano. Its reproduction and diffusion is free provided it complies withItalian copyright rules and not for profit2. The partial reproduction for personal use and the use forinstructional purposes are allowed. The document cannot be modified without or against the consent ofthe authors, which is binding. This copyright notice cannot be removed.

1E consentita la stampa su carta e la fotocopia da parte di terzi per fini didattici, a un costo ragionevole, senza alcunaalterazione dei contenuti o del formato.

2The reproduction “as is” in hard copy is allowed by third parties for teaching purposes, at a reasonable cost, withoutany modification of the contents nor of the format.

i

Page 3: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

ii

Page 4: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Contents

1 Introduction 1-1

1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

1.2 Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

1.2.1 Journals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

1.2.2 Organizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

1.2.3 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

1.2.4 Free Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

I Basics 1-3

2 Kinematics of Mechanical Systems 2-1

2.1 Kinematics of a Point in Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

2.1.1 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

2.1.2 Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

2.1.3 Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

2.2 Rigid-Body Kinematics in Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

2.2.1 Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

2.2.2 Parametrization of Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

2.2.3 Rotation Differentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

2.2.4 Parametrization of Angular Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

2.2.5 Parametrization of Other Rotation Derivatives . . . . . . . . . . . . . . . . . . . . 2-7

2.2.6 Angular Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

2.3 Relative Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

2.4 Incremental Orientation Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

2.4.1 Updated-Updated Orientation Approach . . . . . . . . . . . . . . . . . . . . . . . . 2-9

3 Dynamics of Mechanical Systems 3-1

3.1 Dynamics of a Point Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

3.2 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

3.2.1 Kinetic Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

3.3 Dynamics of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

3.3.1 Equilibrium of a Continuum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

3.3.2 Kinetic Energy of a Continuum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

3.3.3 Rigidity Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

3.3.4 Inertia Forces of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

3.3.5 Equations of Motion of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

3.3.6 Kinetic Energy of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

3.4 Dynamics of a System of Rigid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

iii

Page 5: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

4 Analytical Mechanics 4-1

4.1 Virtual Work Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

4.2 Lagrange Equations of the Second Kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

4.3 Kinematic Constraints, Lagrange Multipliers, and Lagrange Equations of the First Kind . 4-3

4.3.1 Holonomic Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

4.3.2 Non-Holonomic Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

4.4 Gauss’ Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

II Dynamics of Constrained Mechanical Systems 4-7

5 Integration of Ordinary Differential Equations 5-1

5.1 Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

5.1.1 General Linear Multistep Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

5.1.2 Single Step Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

5.1.3 Implicit vs. Explicit Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

5.2 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

5.3 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

5.3.1 Linear Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

5.3.2 Algorithmic Stability vs. Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

5.3.3 First Dahlquist barrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

5.3.4 Second Dahlquist barrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

5.3.5 Useful Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

5.4 Intermediate Evaluations of the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

5.4.1 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

5.5 Integration of Problems in Second-Order Differential Form . . . . . . . . . . . . . . . . . . 5-10

5.6 Integration of Implicit and Nonlinear Problems . . . . . . . . . . . . . . . . . . . . . . . . 5-10

5.6.1 Predictor-Corrector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

5.6.2 Linear Multistep Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

5.6.3 Linear Multistage Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12

6 Kinematic Constraints 6-1

6.1 Lower Pairs and Complex Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

6.2 Operations with Constraint Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

6.3 Position Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

6.3.1 Spherical Hinge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

6.3.2 Inline Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

6.3.3 Inplane Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8

6.3.4 Distance Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

6.4 Orientation Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11

6.4.1 Parallelism and Orthogonality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11

6.4.2 Revolute Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14

6.4.3 Cardan Joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

7 Minimal Coordinate Set 7-1

7.1 Coordinate Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1

7.1.1 Coordinate Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2

7.1.2 Coordinate Reduction and Orthogonality . . . . . . . . . . . . . . . . . . . . . . . 7-4

7.1.3 Other Projection Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7

7.1.4 Compliance with Holonomic Constraints . . . . . . . . . . . . . . . . . . . . . . . . 7-7

7.2 Recursive Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8

iv

Page 6: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

8 Redundant Coordinate Set 8-1

8.1 Differential-Algebraic Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18.2 Singular Perturbations Theory Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

8.2.1 Slow Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48.2.2 Fast Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

8.3 Concept of Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48.3.1 Index 1 DAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-58.3.2 Index 2 DAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68.3.3 Index 3 DAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6

8.4 Index Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-78.4.1 Constraint Stabilization by Index Reduction . . . . . . . . . . . . . . . . . . . . . 8-78.4.2 Baumgarte’s Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

8.5 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9

9 Unconstrained Coordinate Set 9-1

9.1 Gauss’ Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19.2 Augmented Lagrangian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19.3 Force Projection Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2

9.3.1 Stabilized Constrained Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29.3.2 Stabilized Constrained Dynamics in ODE Form . . . . . . . . . . . . . . . . . . . . 9-39.3.3 Elimination of Drift at the Position Level . . . . . . . . . . . . . . . . . . . . . . . 9-4

III Dynamics of Flexible Systems 9-7

10 Beam 10-1

11 Flexible Element 11-1

IV Advanced Problems and Implementation Aspects 11-3

V Appendices 11-7

A Rotation Parametrizations A-1

A.1 Parametrization of Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1A.1.1 Euler Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1A.1.2 Euler Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2A.1.3 Cayley-Gibbs-Rodrigues Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . A-3A.1.4 Euler-Rodrigues Parameters and Quaternions . . . . . . . . . . . . . . . . . . . . . A-4

A.2 Parametrization of Angular Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5A.2.1 Euler Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5A.2.2 Euler Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5A.2.3 Cayley-Gibbs-Rodrigues Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . A-5A.2.4 Euler-Rodrigues Parameters and Quaternions . . . . . . . . . . . . . . . . . . . . . A-6

B Lagrange Equations of the Second Kind and Virtual Work Principle B-1

B.1 Contribution of the Inertia Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1B.2 Contribution of the Inertia Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2

v

Page 7: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

vi

Page 8: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

List of Figures

3.1 Sir Isaac Newton (Woolsthorpe-by-Colsterworth, December 25, 1642–London, March 20,1726) [from Wikipedia]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

3.2 Jean Baptiste le Rond d’Alembert (Paris 1717–Paris 1783) [from Wikipedia]. . . . . . . . 3-33.3 Leonhard Euler (Basel, April 15, 1707–Saint Petersburg, September 18, 1783) [fromWikipedia]. 3-5

4.1 Joseph-Louis Lagrange, born Giuseppe Lodovico Lagrangia or Giuseppe Luigi Lagrangiaor Lagrange (Turin, January 25, 1736 — Paris April 10, 1813) [from Wikipedia]. . . . . . 4-1

6.1 Sketch of the lower kinematic pairs (adapted from [1]). . . . . . . . . . . . . . . . . . . . . 6-26.2 Sketch of the geometry of a generic pair formulated according to Bauchau [2] (adapted

from [1]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26.3 Sketch of a Cardano’s joint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16

vii

Page 9: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

viii

Page 10: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

List of Tables

A.1 Admissible rotation sequences for (Tait-Bryan/Cardano)-Euler angles . . . . . . . . . . . A-1

ix

Page 11: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

x

Page 12: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

List of Examples

5.1 Trapezoid rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-85.2 Gauss-Lobatto method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-85.3 Heun’s method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9

8.1 Slow and fast mechanical subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

xi

Page 13: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

xii

Page 14: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

List of Exercises

3.1 Dynamics of a bar — pure translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73.2 Internal forces in a bar — pure translation . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83.3 Dynamics of a bar — rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

5.1 Accuracy of two-step BDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25.2 Stability of Crank-Nicolson method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

6.1 Spherical hinge with no offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46.2 Derivative of spherical hinge with no offsets . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46.3 Linearization of spherical hinge with no offsets . . . . . . . . . . . . . . . . . . . . . . . . 6-46.4 Linearization of derivative of spherical hinge with no offsets . . . . . . . . . . . . . . . . . 6-56.5 Virtual perturbation of spherical hinge with no offsets . . . . . . . . . . . . . . . . . . . . 6-56.6 Derivative of spherical hinge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56.7 Spherical hinge in relative frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56.8 Linearization of spherical hinge in relative frame . . . . . . . . . . . . . . . . . . . . . . . 6-56.9 Linearization of spherical hinge constraint reactions . . . . . . . . . . . . . . . . . . . . . 6-66.10 Distance constraint with no offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-96.11 Derivative of distance constraint with no offsets . . . . . . . . . . . . . . . . . . . . . . . . 6-106.12 Linearization of distance constraint with no offsets . . . . . . . . . . . . . . . . . . . . . . 6-106.13 Derivative of distance constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-106.14 Linearization of parallelism constraint equation . . . . . . . . . . . . . . . . . . . . . . . . 6-136.15 Jacobian matrix of revolute constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

7.1 Point mass pendulum by coordinate partitioning . . . . . . . . . . . . . . . . . . . . . . . 7-37.2 Point mass pendulum by QR decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6

xiii

Page 15: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

xiv

Page 16: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

List of Homework

2.1 Determinant of orientation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22.2 Vector operation properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52.3 Second-order tensor transformation – 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62.4 Second-order tensor transformation – 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62.5 Virtual perturbation of rotating vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62.6 Velocity of point on rigid body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62.7 Rotation perturbation in incremental approach–1 . . . . . . . . . . . . . . . . . . . . . . . 2-92.8 Angular velocity perturbation in incremental approach–1 . . . . . . . . . . . . . . . . . . 2-92.9 Rotation perturbation in incremental approach–2 . . . . . . . . . . . . . . . . . . . . . . . 2-92.10 Angular velocity perturbation in incremental approach–2 . . . . . . . . . . . . . . . . . . 2-9

3.1 Equation of motion for point of variable mass . . . . . . . . . . . . . . . . . . . . . . . . . 3-33.2 Center of mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73.3 Internal forces in a bar — rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-93.4 Kinetic energy of rigid body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-113.5 Kinetic energy referred to the center of mass . . . . . . . . . . . . . . . . . . . . . . . . . 3-123.6 Kinetic energy of a bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

5.1 Linear stability of the Explicit Euler method . . . . . . . . . . . . . . . . . . . . . . . . . 5-75.2 Linear stability of the Implicit Euler method . . . . . . . . . . . . . . . . . . . . . . . . . 5-75.3 Linear stability of the two-step BDF method . . . . . . . . . . . . . . . . . . . . . . . . . 5-75.4 Stability of trapezoid rule as Runge-Kutta method . . . . . . . . . . . . . . . . . . . . . . 5-105.5 Stability of Radau IIA method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

6.1 Linearization of spherical hinge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56.2 Linearization of derivative of spherical hinge . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56.3 Virtual perturbation of spherical hinge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56.4 Inline constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-86.5 Inline constraint along arbitrarily curved line in space . . . . . . . . . . . . . . . . . . . . 6-86.6 Inplane constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-86.7 Inplane constraint on arbitrarily curved surface in space . . . . . . . . . . . . . . . . . . . 6-96.8 Spherical hinge, inline and inplane constraints with prescribed displacement . . . . . . . . 6-96.9 Linearization of derivative of distance constraint with no offsets . . . . . . . . . . . . . . . 6-106.10 Virtual perturbation of distance constraint with no offsets . . . . . . . . . . . . . . . . . . 6-106.11 Property of vector cross-product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-116.12 Linearization of distance constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-116.13 Linearization of derivative of distance constraint . . . . . . . . . . . . . . . . . . . . . . . 6-116.14 Virtual perturbation of distance constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-116.15 Linearization of distance constraint reactions . . . . . . . . . . . . . . . . . . . . . . . . . 6-116.16 Skew-symmetric part of rotation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-126.17 Parallelism as constraining the skew-symmetric part of the relative rotation matrix . . . . 6-136.18 Parallelism as constraining the logarithm of the relative rotation matrix . . . . . . . . . . 6-136.19 Geometric interpretation of parallelism constraint Jacobian matrix . . . . . . . . . . . . . 6-136.20 Derivative of parallelism constraint equation . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14

xv

Page 17: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

6.21 Linearization of derivative of parallelism constraint equation . . . . . . . . . . . . . . . . . 6-146.22 Virtual perturbation of parallelism constraint equation . . . . . . . . . . . . . . . . . . . . 6-146.23 Linearization of parallelism constraint reactions . . . . . . . . . . . . . . . . . . . . . . . . 6-146.24 Linearization of revolute constraint equation . . . . . . . . . . . . . . . . . . . . . . . . . . 6-156.25 Derivative of revolute constraint equation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-156.26 Linearization of derivative of revolute constraint equation . . . . . . . . . . . . . . . . . . 6-156.27 Virtual perturbation of revolute constraint equation . . . . . . . . . . . . . . . . . . . . . 6-156.28 Linearization of revolute constraint reactions . . . . . . . . . . . . . . . . . . . . . . . . . 6-156.29 Linearization of universal constraint equation . . . . . . . . . . . . . . . . . . . . . . . . . 6-166.30 Derivative of universal constraint equation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-166.31 Linearization of derivative of universal constraint equation . . . . . . . . . . . . . . . . . . 6-166.32 Virtual perturbation of universal constraint equation . . . . . . . . . . . . . . . . . . . . . 6-166.33 Linearization of universal constraint reactions . . . . . . . . . . . . . . . . . . . . . . . . . 6-166.34 Lower pair of type “a” (revolute) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176.35 Lower pair of type “b” (prismatic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176.36 Lower pair of type “c” (screw) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176.37 Lower pair of type “d” (cylindrical) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176.38 Lower pair of type “f” (planar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176.39 Invent your own kinematic constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17

7.1 Verify that partitioned coordinates comply with constraints . . . . . . . . . . . . . . . . . 7-27.2 Justify the pre-multiplication of the EoM by the transpose of the transformation matrix . 7-27.3 Pseudo-inverse of constraint Jacobian matrix in QR form . . . . . . . . . . . . . . . . . . 7-5

8.1 Check of Index 1 DAEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-58.2 Check of Index 2 DAEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68.3 Check of Index 3 DAEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68.4 Index of DAEs for m1 → 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68.5 Index of DAEs for k1 → ∞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68.6 Point mass pendulum with constraint stabilization . . . . . . . . . . . . . . . . . . . . . . 8-8

9.1 Point mass pendulum using the Augmented Lagrangian method . . . . . . . . . . . . . . . 9-29.2 Point mass pendulum using the Force Projection method . . . . . . . . . . . . . . . . . . 9-5

A.1 Euler angles from orientation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2A.2 Multiplication of orientation matrix by special vector . . . . . . . . . . . . . . . . . . . . . A-2A.3 Orthogonality of exponential representation of rotations . . . . . . . . . . . . . . . . . . . A-3A.4 Equivalence of orientation matrices from Euler vector and Euler-Rodrigues parameters . . A-3A.5 Linear approximation of rotation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4A.6 Error of linear approximation of rotation matrix . . . . . . . . . . . . . . . . . . . . . . . A-4A.7 Error of quadratic approximation of rotation matrix . . . . . . . . . . . . . . . . . . . . . A-4A.8 Quaternion multiplication and rotation composition . . . . . . . . . . . . . . . . . . . . . A-5A.9 Properties of quaternions derivatives–1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6A.10 Properties of quaternions derivatives–2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6A.11 Angular velocity in local frame using quaternions . . . . . . . . . . . . . . . . . . . . . . . A-6

xvi

Page 18: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Syllabus

1. Introduction to multibody dynamics

(a) Fundamentals of kinematics and dynamics of mechanical systems: kinematics and dynamicsof point and rigid body, formulation and parametrization of rotations, kinematic constraints(0.4 cfu).

(b) Equations of motion of point, rigid body, and systems of points and rigid bodies: Newton-Euler, d’Alembert-Lagrange (I and II kind), variational principles (Gauss, Hamilton), quasi-coordinates, holonomic and non-holonomic constraints (1 cfu).

(c) Time integration of systems of Ordinary Differential Equations (ODE) and Differential-AlgebraicEquations (DAE): methods, characteristics (0.4 cfu).

(d) Minimal Coordinate Set, Redundant Coordinate Set, Unconstrained Coordinate Set: equa-tions of motion, constraint stabilization and index reduction, Augmented Lagrangian (0.4cfu).

(e) Systems of rigid and flexible bodies; Floating Frame of Reference (FFR), beam models, funda-mentals of Absolute Nodal Coordinate Formulation (ANCF); multi-field and multidisciplinaryproblems (1 cfu).

(f) Problems: kinematic, kineto-static, initial value, inverse dynamics; linearization and eigen-analysis (0.4 cfu).

(g) Advanced problems and implementation aspects: smooth and non-smooth problems, softwarearchitecture, parallelization, efficiency, cosimulation, multi-rate simulation, real-time simula-tion, virtual reality (1 cfu).

2. Applications (1.4 cfu)

(a) Helicopter dynamics: articulated/hingeless rotor, pitch control mechanism, complete rotor-craft.

(b) Landing gear dynamics: extension/retraction, shimmy, ground resonance.

(c) Mechanisms for aerodynamic control surfaces: flap, morphing wing devices.

1

Page 19: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

2

Page 20: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 1

Introduction

All models are wrong, but someare useful.

George Box

Note: URLs may be outdated.

1.1 Objectives

1. formulate and solve the problem of constrained mechanical system dynamics (specialized to aerospaceapplications)

2. provide guidelines for the choice of the most appropriate method(s) for specific problems

1.2 Resources

1.2.1 Journals

Journals dedicated to multibody system dynamics:

• Multibody System Dynamics (Springer)https://www.springer.com/journal/11044

• ASME’s Journal of Computational and Nonlinear Dynamicshttps://asmedigitalcollection.asme.org/computationalnonlinear

• Journal of Multi-Body Dynamics (SAGE)https://journals.sagepub.com/home/pik

Other journals dedicated to computational mechanics and mechanics in general publish several papersrelated to multibody system dynamics; to mention a few:

• Computational Mechanics

• Nonlinear Dynamics

1.2.2 Organizations

• ASME (American Society of Mechanical Engineers)https://www.asme.org/

• ECCOMAS (European Community on Computational Methods in Applied Sciences)https://www.eccomas.org/

1-1

Page 21: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

• IFToMM (International Federation for the Promotion of Mechanism and Machine Science)http://iftomm.net/

– IFToMM Multibody Technical Committeehttp://www.iftomm-multibody.org/

1.2.3 Events

• ASME IDETC/CIE’s MSNDC – conference on Multibody Systems, Nonlinear Dynamics and Con-trol (every year, in USA/Canada)

• ECCOMAS Thematic Conference on Multibody Dynamics (odd years, in Europe)

• IMSD – Joint International Conference on Multibody System Dynamics (even years, worldwide)

• ACMD – Asian Conference on Multibody Dynamics (even years, in Asia)

1.2.4 Free Software

• MBDyn http://www.mbdyn.org/

• Chrono::Engine http://projectchrono.org/

1-2

Page 22: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Part I

Basics

1-3

Page 23: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .
Page 24: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 2

Kinematics of Mechanical Systems

In this Section we describe the kinematics of a point and of a rigid body in space, with some care onthe description and parametrization of rotations. The objective is to develop the capability to describeposition, velocity and acceleration in the absolute and relative frame, which are later needed to formulateconfiguration-dependent forces and kinematic constraints.

2.1 Kinematics of a Point in Space

2.1.1 Position

The position of a point in space is defined by the position vector, p. For example, in Cartesian coordinates:

p =

pxpypz

(2.1)

2.1.2 Velocity

The velocity is the time derivative of the position:

v =dx

dt= x (2.2)

For example, in Cartesian coordinates:

v =

vxvyvz

=

pxpypz

(2.3)

2.1.3 Acceleration

The acceleration is the time derivative of the velocity, or the second-time derivative of the position:

a =dv

dt=

d2p

dt2= x (2.4)

For example, in Cartesian coordinates:

a =

axayaz

=

vxvyvz

=

pxpypz

(2.5)

2-1

Page 25: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

2.2 Rigid-Body Kinematics in Space

The kinematics of a rigid body in space is defined by the position of an arbitrary point that belongs tothe rigid body and the orientation of the rigid body. The kinematics of a point has been described inthe previous section. The orientation can be described in several manners, which essentially differ in theway the orientation is parameterized.

Unconventional descriptions radically depart from the above sketched description. They correspond tothe so-called rotation-less kinematics formulations, based on so-called natural kinematics, which describethe orientation in terms of the position of independent points that belong to the rigid body, subjectedto the appropriate rigid-body constraints.

2.2.1 Orientation

The notion of orientation is strictly related to a change of reference system. Consider a local referencesystem, consisting of a triad1 that is rigidly connected to a rigid body. The orientation of that localreference system with respect to an absolute reference system can be described in several manners.Its main operation, from which the most important properties stem (its purpose, we could say), is totransform a vector b from the local to the absolute reference system. Let b (vector b with a tilde on top)denote a vector in the local reference system; let b denote its representation in the absolute referencesystem. The vector’s components can be obtained by:

• making the origin of the vector coincide with the origin of the triad that describes the referencesystem

• projecting the vector along each axis of the triad.

The operation can be repeated for both the local and the absolute reference systems, yielding

b =

bxbybz

(2.6)

and

b =

bxbybz

(2.7)

respectively.Obviously the two representations refer to the very same vector; in fact, the norm of the vector (its

length) does not depend on the choice of the reference frame:

‖b‖ =(

bT b)1/2

=√

b2x + b2y + b2z

=∥∥∥b

∥∥∥ =

(

bTb)1/2

=√

b2x + b2y + b2z (2.8)

The orientation of the local frame can be described by its orientation matrix, R, namely the matrixof the director cosines of each unit vector of the triad2.

Homework 2.1 (Determinant of orientation matrix). Show that the norm of the determinant of anorientation matrix must be equal to 1.

1A triad of unit vectors that are mutually orthogonal and numbered according to the so-called right-hand rule.2Matrix R is said to belong to the Special Orthogonal group 3, SO(3), i.e. to the set of 3×3 orthogonal matrices with

positive determinant, det(R) ≡ +1.

2-2

Page 26: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The representation of vector b in the absolute frame is thus

b = Rb (2.9)

which states that matrix R transforms vector b, expressed in the local reference frame, into its represen-tation in the absolute frame, b.

From Eq. (2.9), one may interpret the orientation matrix, R, as a matrix whose columns represent thedirections of the coordinate axes of the local reference frame expressed with respect to the absolutereference frame. In fact, consider each of the coordinate axes in the local reference frame,

e1 =

100

e2 =

010

e3 =

001

(2.10)

They transform in the absolute reference frame as

e1 = Re1 = R(:, 1) e2 = Re2 = R(:, 2) e3 = Re3 = R(:, 3) (2.11)

Consider now the previously mentioned property of norm conservation:

‖b‖ =(

bT b)1/2

=(

bTRTRb

)1/2

(2.12)

For Eq. (2.8) to be intrinsically complied with, the property

RTR = I (2.13)

must hold. This property implies that the columns of matrix R are mutually orthogonal, and of unitlength. Thus, we can state that the definition of orientation triad stems from the need to guarantee theproperty of invariance of the norm of a vector with respect to a change of reference frame.

Matrix R ∈ R3×3 is characterized by 9 elements; the orthonormality condition introduces 6 con-

straints; thus, only 3 parameters are needed to completely describe the matrix. The latter statement,however, suffers from a shortcoming: there is no way to tell the difference between two orientationmatrices that differ by an arbitrary number of rotations of amplitude 2π about an arbitrary axis.

Consider now the inverse of Eq. (2.9), namely

b = R−1b (2.14)

Again, the invariance of the norm of the vector similarly yields

∥∥∥b

∥∥∥ =

(

bTb)1/2

=(

bTR−TR−1b)1/2

(2.15)

But post-multiplication of Eq. (2.13) by R−1 yields

RT = R−1 (2.16)

i.e. the transpose of the orientation matrix corresponds to its inverse. This fundamental property, alongwith the invariance of the norm, yields that also

RRT = I (2.17)

the other form of the orthonormality condition.

2-3

Page 27: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

2.2.2 Parametrization of Rotations

We have introduced the notion of orientation (or rotation) matrix, R, as the entity that operationallydescribes rotations, and some of its properties. However, for practical purposes, we need to introducesome effective manner to describe the rotation matrix as a function of useful parameters. As alreadymentioned, the matrix consists of 9 elements which are not independent, but related by the orthogonalitycondition.

One possible, although inefficient, manner to parametrize rotations is to consider all 9 elements ofthe rotation matrix as parameters, subjected to explicit orthogonality conditions in form of algebraicconstraint equations.

Several other, more efficient parametrizations of rotations are known. We will only list and describesome; the interested reader is referred, for instance, to [3].

The basic operation in rotation parametrization is the computation of the orientation matrix R asa function of the rotation parameters. This operation is always possible. The inverse operation, i.e.extracting the rotation parameters from an orientation matrix may not be always possible, or may besubjected to indetermination, as discussed later. The choice of rotation parameters is often a trade-offbetween efficiency and effectiveness in describing the desired rotation.

A common feature is that 3 parameter parametrizations can be extremely efficient, but intrinsicallysuffer from an indetermination: rotations in excess of some multiple of π are described by the very sameset of parameter values. As a consequence, they are impractical to track and define arbitrarily largechanges of orientations. Such limitation is an intrinsic characteristic of the orientation matrix; in fact, itis impossible to distinguish the orientation matrix resulting from a rotation of an angle θ from the oneresulting from a rotation of an angle θ + 2nπ, n ∈ Z.

At least 4 parameters are needed to uniquely identify a change of orientation. However, 4 parameterparametrizations introduce an algebraic constraint equation that must be dealt with in the solutionprocess, much like other kinds of kinematic constraints that will be discussed later.

Alternatively, considering that, in the numerical integration of mechanical problems, orientationchanges between the solution at adjacent integration steps must be limited because of accuracy require-ments, incremental formulations based on 3 parameter parametrizations can be used. In such cases, thereference orientation is accumulated in the orientation matrix, and the parametrization only affects theincrement of rotation.

Appendix A describes in detail some types of rotation parametrizations; Section A.1 specificallyaddresses the parametrization of the rotation matrix.

2.2.3 Rotation Differentiation

The differentiation of rotations has several uses. It is used in the computation of:

• angular velocity, namely the time derivative of the orientation, or how orientations change in time;

• curvature, namely the space derivative of the orientation (we will see it for example in beams), orhow orientations change in space;

• virtual rotation, namely the virtual perturbation of the orientation, or how an orientation changesin a virtual work sense.

What characterizes the differentiation of rotations is that it naturally applies to the orientation matrix.This can be clearly seen by computing the derivative of a vector, b, that is constant in a local referenceframe, when the local reference frame is subjected to an arbitrarily varying angular motion, namely

db = d(

Rb)

= dRb+Rdb (2.18)

Considering now Eqs. (2.14) and (2.16), one obtains

db = dRRT b (2.19)

2-4

Page 28: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

But if one considers the differential of Eq. (2.17), it yields

dRRT +RdRT = 0 (2.20)

or

dRRT = −RdRT = −(

dRRT)T

(2.21)

which indicates that matrix dRRT is skew-symmetric. As such, it can be represented as3

dRRT = rd × (2.22)

namely as the matrix resulting from the application of the cross-product operator to a three-dimensionalvector rd ∈ R

3:

rd × =

0 −rz ryrz 0 −rx−ry rx 0

(2.23)

One can also see Eq. (2.22) in terms of derivative of the orientation matrix, namely

dR = rd ×R (2.24)

which yields a practical rule for the differentiation of expressions that contain the orientation matrix.

Noteworthy vector operation properties.

1. Scalar (or inner) product:

a · b = b · a (or aT b = bTa) (2.25)

2. Vector product:

a× b = −b× a (or a× T = −a× ) (2.26)

3. Associativity:

a× b× c = a× (b× c) (i.e. right-to-left) (2.27)

4.

a · (b× c) = −c · (b× a) (2.28)

5.

a× b× c = b (a · c)− (b · a) c (or a× b× = baT − bTaI) (2.29)

6.

0 = a× b× c+ b× c× a+ c× a× b (2.30)

7.

(a× b)× c = a× b× c− b× a× c (or (a× b)× = a× b× − b× a×

= b (a · c)− a (b · c) = baT − abT (2.31)

Homework 2.2 (Vector operation properties). Prove the proposed vector operation properties.

3The notation rd is used instead of dr to mark the fact that rd is the vector that describes the differential of matrixR, i.e. dR, rather than a differential vector itself. The difference is subtle but important, as will be shown later whendiscussing the differentiation of rotations with respect to rotation parametrizations.

2-5

Page 29: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Transform vector rd back in the local reference frame:

rd = RTrd (2.32)

Its cross-product yields

rd × =(

RTrd

)

× = RTrd ×R = RT R (2.33)

where the property(

RTrd

)

× = RT rd ×R stems from the property of reference frame transformation

of second-order tensors, which can be easily proved.

Homework 2.3 (Second-order tensor transformation – 1). Prove that b× =(

RT b)

× = RT b×R.

Homework 2.4 (Second-order tensor transformation – 2). Prove that b× =(

Rb)

× = Rb×RT .

Angular Velocity. When the differentiation is with respect to time, vector rd/dt assumes the meaningof angular velocity, ω, i.e. the rate of change of orientation about an axis aligned as rd and with themagnitude of ‖rd/dt‖. Back to the initial problem, the time derivative of vector b (its “velocity”) is thus

b = ω × b

=

0 −ωz ωy

ωz 0 −ωx

−ωy ωx 0

bxbybz

=

ωybz − ωzbyωzbx − ωxbzωxby − ωybx

(2.34)

Curvature. When the differentiation is with respect to space, e.g. along one coordinate ξ, vector rd/dξassumes the meaning of curvature, ρ, i.e. the rate of change of orientation about an axis aligned as rdand with the magnitude of ‖rd/dξ‖.

Virtual Rotation. When the differentiation is associated with a virtual perturbation, vector rd as-sumes the meaning of virtual rotation4, θδ, i.e. a virtual change of orientation about an axis aligned asrd and with the magnitude of ‖rd‖. Back to the initial problem, the virtual perturbation of vector b isthus

δb = θδ × b (2.35)

Homework 2.5 (Virtual perturbation of rotating vector). Compute δb.

Homework 2.6 (Velocity of point on rigid body). Consider a rigid body, whose motion is describedby the position of point O, pO, and the orientation RO. Write the velocity of a point P, whoseposition relative to point O in the reference frame of the rigid body is oP, and thus its absoluteposition is pP = pO +ROoP.

4The notation (·)δ instead of δ(·) is used to distinguish the virtual rotation from the virtual perturbation of the rotationparameters. The latter, which is a well-defined and perfectly legitimate quantity that will be used when appropriate, hasan entirely different meaning that will be clarified later. The virtual rotation, which is energetically conjugated with themoment, results from the virtual perturbation of the orientation matrix as illustrated here.

2-6

Page 30: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

2.2.4 Parametrization of Angular Velocity

The angular velocity ω, in the global reference frame, is the vector that produces the skew-symmetricmatrix ω × = RRT .

Consider an arbitrary rotation parametrization expressed by the parameter vector g, such that R =R(g). The angular velocity can be expressed as

ω = Gg (2.36)

i.e. a linear form in the time derivatives of the parameters, g, where matrix G = G(g).

Section A.2 of Appendix A presents the differentiation of rotations in association with the previouslymentioned types of rotation parametrizations.

2.2.5 Parametrization of Other Rotation Derivatives

Similar considerations apply to other derivatives of the rotation. For example, a gradient in space isparametrized as

ρ = Gg/ξ (2.37)

whereas a virtual rotation is parametrized as

θδ = Gδg (2.38)

This expression represents the relationship between a virtual rotation and the virtual perturbation ofthe rotation parameters.

When the rotation is “small” enough (e.g. infinitesimal), i.e. for g ≈ 0, then G ≈ I.

2.2.6 Angular Acceleration

The angular acceleration is the time derivative of the angular velocity, namely ω.The parametrization of the angular acceleration entails higher-order derivatives of the rotation pa-

rameters, which can be rather involved. They are not presented here since they will seldom be used. Theinterested reader is directed to [4].

2.3 Relative Motion

Consider a rigid body motion, described by the motion pO of a reference point, O, and a rotation RO

about point O. Consider then a point P, which moves with respect to O by the relative displacementoP (defined in the local reference frame, and not necessarily constant) and a triad with origin in P, thatrotates by RP−O relative to the rigid body. The absolute position of point P is the combination of theabsolute position of point O, pO, and of the relative position of point P with respect to point O, oP,expressed in the absolute reference frame by means of its rotation by RO, namely

pP = pO +ROoP (2.39)

whereas the absolute orientation of the triad in P is obtained by right-multiplication of the relativeorientation, RP−O, by the orientation of the rigid body, RO, namely

RP = RORP−O (2.40)

The absolute velocity of point P is

vP = pO + ωO × oP +RO˙oP (2.41)

2-7

Page 31: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

whereas the angular velocity of the triad in P, with respect to the absolute frame, is

ωP = ωO +ROωP−O (2.42)

The absolute acceleration of point P is

aP = pO + ωO × oP︸ ︷︷ ︸

Euler

+ωO × ωO × oP︸ ︷︷ ︸

Centrifugal

+2ωO ×RO˙oP

︸ ︷︷ ︸

Coriolis

+RO¨oP

︸ ︷︷ ︸

Relative

(2.43)

whereas the angular velocity of the triad in P, with respect to the absolute frame, is

ωP = ωO + ωO ×ROωP−O +RO˙ωP−O (2.44)

2.4 Incremental Orientation Approach

The orientation R can be seen as the result of a rotation from orientation R0 to R by way of the relativerotation R∆:

R = R∆R0 (2.45)

Only R∆ needs be parametrized for the purpose of solving the problem; the initial orientation R0 isaccumulated throughout the solution process. After convergence, R0 is updated by post-multiplicationby R∆:

R0 ::= R∆R0 (2.46)

and the process is restarted.Differentiation: two approaches are possible:

1. the initial solution is considered fixed; as such, R0 ≡ 0; then

R = R∆R0 +R∆R0 (2.47)

and

RRT = R∆R0RT0 R

T∆ = R∆R

T∆ = ω∆ × ≡ ω × (2.48)

or

ω = ω∆ (2.49)

i.e. all the angular velocity is accounted for by the derivative of the incremental rotation;

2. the increment is considered as a perturbation of the initial solution; as such

R = R∆R0 +R∆R0 (2.50)

and

RRT =(

R∆R0 +R∆R0

)

RT0 R

T∆ = R∆R

T∆ +R∆R0R

T0 R

T∆ = ω∆ × +R∆ω0 ×RT

∆ = ω ×

(2.51)

or

ω = ω∆ +R∆ω0 (2.52)

In this latter case, also the angular velocity needs be accumulated, i.e.

ω0 ::= ω∆ +R∆ω0 (2.53)

Similar considerations apply to the perturbation of the orientation and to other forms of derivatives.Both approaches present advantages and disadvantages.

2-8

Page 32: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 2.7 (Rotation perturbation in incremental approach–1). Formulate the virtual rotationin the incremental orientation approach–1.

Homework 2.8 (Angular velocity perturbation in incremental approach–1). Formulate the virtualperturbation of the angular velocity in the incremental orientation approach–1.

Homework 2.9 (Rotation perturbation in incremental approach–2). Formulate the virtual rotationin the incremental orientation approach–2.

Homework 2.10 (Angular velocity perturbation in incremental approach–2). Formulate the virtualperturbation of the angular velocity in the incremental orientation approach–2.

2.4.1 Updated-Updated Orientation Approach

TODO (move to appendix?)

2-9

Page 33: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

2-10

Page 34: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 3

Dynamics of Mechanical Systems

If I have seen further it is bystanding on the shoulders ofGiants.

Isaac Newton

Truth is ever to be found insimplicity, and not in themultiplicity and confusion ofthings.

Isaac Newton

The general term “dynamics” is here mainly used to indicate the equations of motion of a mechanicalsystem. Such equations express a balance of forces, moments, or generalized forces. It reduces to asum of contributions of various nature (inertial, elastic, viscous, reactive, dead loads, aerodynamic, etc.).Many of these contributions may depend on the configuration (the “motion” of the system, describedthrough the previously illustrated kinematics). Actually, the specific dependence of the loads on thekinematics is what characterize their nature. Generalizing a definition that typically applies to the stress-strain relationship in materials, and by extension to the force-displacement relationship of deformablecomponents, we could describe the relationship between (generalized) forces and configuration as theirconstitutive property.

3.1 Dynamics of a Point Mass

The “modern”, albeit named “classical”, mechanics of the point mass is attributed to Sir Isaac Newton(Woolsthorpe-by-Colsterworth, December 25, 1642–London, March 20, 1726).

The notion of “point mass” should be somewhat intuitive, but a careful consideration is needed.One could interpret a point mass as a particle whose angular motion (rotation) is either absent(no rotation is present nor allowed) or inessential (rotation does not produce variation of momentamoment). Since the latter notion will be introduced and discussed later, for the sake of introducingthe dynamics of a point mass let us assume for now that it is a body whose rotation is not allowed.

The dynamics equation, or equation of motion, of a point mass stems from Newton’s Principia1:

1Newton’s “Philosophiae Naturalis Principia Mathematica”, 1687 [5].

3-1

Page 35: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Figure 3.1: Sir Isaac Newton (Woolsthorpe-by-Colsterworth, December 25, 1642–London, March 20,1726) [from Wikipedia].

LEX I.

Corpus omne perseverare in statu suo quiescendi vel movendi uniformiter in directum, nisiquatenus illud a viribus impressis cogitur statum suum mutare.

LEX II.

Mutationem motus proportionalem esse vi motrici impressæ, & fieri secundum lineam rectamqua vis illa imprimitur.

LEX III.

Actioni contrariam semper & æqualem esse reactionem: sive corporum duorum actiones inse mutuo semper esse æquales & in partes contrarias dirigi.

Specifically, the second one, formulated in modern terms, states that the change of momentum (i.e.the time derivative of the momentum) of a point mass, of mass m, is equal to the sum of all the forcesacting on it:

d (mv)

dt=∑

f (3.1)

The momentum mv is a vector, as well as the forces∑f are, whereas the mass m is a scalar. When

the mass m does not change in time, this yields

mdv

dt=∑

f (3.2)

or

ma =∑

f (3.3)

The acceleration a is a vector of magnitude proportional to the magnitude of the forces, |∑

|, andinversely proportional to the mass m of the point, directed along the resultant of the forces

∑f acting

on the point.

3-2

Page 36: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Figure 3.2: Jean Baptiste le Rond d’Alembert (Paris 1717–Paris 1783) [from Wikipedia].

D’Alembert’s Principle. D’Alembert (Jean Baptiste le Rond d’Alembert, Paris 1717–Paris 1783)suggested that, by defining the inertia forces as

f ine = −ma (3.4)

one could formulate the dynamics of a point in the same manner of the statics, i.e. by stating thata point is at equilibrium when the summation of all forces acting on it is equal to zero, as long asthe inertia forces, f ine were considered as well, namely

0 = f ine +∑

f (3.5)

Homework 3.1 (Equation of motion for point of variable mass). Write the equation of motion ofa point mass whose mass varies in time.

3.2 Invariants

Some so-called invariants play an important role in the formulation of the dynamics of mechanicalsystems.

3.2.1 Kinetic Energy

One of the most important invariants is the kinetic (co-)energy, which we will indicate with Ek. Strictlyspeaking, the kinetic energy of a point mass is defined as half the square of the norm23 of its momentum,divided by the mass:

Ek =1

2

1

m(mv)T (mv) =

1

2mvTv (3.6)

2The inner product of a vector b is b ·b, which without ambiguity can also be expressed as bT b. The norm of the vectoris ‖b‖ =

√b · b, thus bT b is a valid representation of its square, ‖b‖2.

3The velocity, v, and the momentum, mv, are vectors; please do not write v2, because the operation “power of a vector”is not defined; use v · v, or vT v, or ‖v‖2 instead.

3-3

Page 37: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

when expressed as half the square of the norm of the velocity, multiplied by the mass, it should becalled kinetic co-energy. Since when the momentum is expressed as a function of the velocity the twoexpressions are equivalent, the term kinetic energy is often used in both cases.

The notion of kinetic energy also applies to rigid bodies, whose motion is described not only in termsof linear velocity, but also of angular velocity, in a manner that will be discussed later.

3.3 Dynamics of a Rigid Body

The dynamics of a rigid body includes the dynamics associated with rotations and moments. First ofall, we need to introduce the notion of momentum, momenta moment, and mass distribution. Then weneed to discuss the notion of equivalent quantities associated with the concept of rigid body. Finally, weneed to generalize the notion of change of momentum to that of momenta moment.

3.3.1 Equilibrium of a Continuum

When the motion does not correspond to a pure translation, i.e. all points of a body no longer have thesame velocity at all instants of time, Newton’s equation of motion for a point mass is no longer validwhen referred to the entire body. However, it remains valid for an infinitesimal volume of the body, i.e.it applies in (space) differential form:

d (dmv)

dt=∑

df (3.7)

where dm the infinitesimal portion of mass associated with the infinitesimal portion of volume of the bodythat is considered, which are related by the (local) density, dm = ρdV , whereas df are the infinitesimalforces acting on that volume4.

Because of the interaction between adjacent infinitesimal volumes, those forces are mainly reactive,something that will be dealt with in a subsequent Section. What matters is that, along the line ofd’Alembert’s intuition, we can define the infinitesimal inertia forces as

df ine = −dma (3.8)

The overall inertia force of the entire body is thus

f ine = −

V

ρa dV (3.9)

where a and ρ are evaluated at every point in the volume during the integration.The overall moment of inertia results from the integration over the entire domain of the moment with

respect to a point O of the infinitesimal inertia force df ine, which is

mineO =

V

(p− pO)× df ine = −

V

ρ (p− pO)× a dV (3.10)

where pO is the position of point O, whereas p is the position of the generic point at which the accelerationa is evaluated during the volume integration.

3.3.2 Kinetic Energy of a Continuum

Alternatively, one could consider the contribution of the infinitesimal mass dm to the kinetic energy ofthe body:

dEk =1

2dmvTv (3.11)

4We can usually distinguish in df the forces per unit volume, φ, whose contribution is df = φdV , and the surface forcesthat act on the contour of the infinitesimal volume; however, within the scope of the present discussion, such distinction ismoot.

3-4

Page 38: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Figure 3.3: Leonhard Euler (Basel, April 15, 1707–Saint Petersburg, September 18, 1783) [fromWikipedia].

The overall kinetic energy of the entire body is

Ek =

V

dEk =1

2

V

ρvTv dV (3.12)

3.3.3 Rigidity Constraint

The overall inertia forces and moments, as well as the overall kinetic energy of the body, result from anintegration over the volume of the body which is formally well-defined but practically of little use, sinceto be performed it requires the knowledge of the kinematic field inside the body: velocity, acceleration,etc. Since all bodies are deformable, their kinematic field depends on the solution of the dynamicalproblem, resulting in a chicken-and-egg problem, that of continuum mechanics.

In the case under consideration, however, we introduce an important assumption, that of rigidity ofthe body. Such assumption qualifies as an idealization, a simplification, and an approximation

• idealization: we idealize the notion that when a body is subjected to large motion but small defor-mation, the overall motion may dominate the dynamic loads the body is subjected to, dependingon the rapidity of that motion5;

• simplification: it makes the problem much simpler to deal with;

• approximation: it neglects relevant aspects of the actual behavior of the system under evaluation;as such, to be acceptable it must be justifiable and quantifiable.

Should the above considerations be acceptable, introducing the rigidity constraint assumption greatlysimplifies the problem, because the motion of every point of the body can be described as that of areference point, pO, and of a reference triad, RO:

p = pO +ROoO (3.13a)

v = vO + ω ×ROoO (3.13b)

a = aO + ω ×ROoO + ω × ω ×ROoO (3.13c)

The motion of a rigid body that is no longer a pure translation, or whose extension can no longer beneglected, belong to a model that is attributed to Leonhard Euler (Basel, April 15, 1707–Saint Petersburg,September 18, 1783), in his 1756 treatise “Theoria Motus Corporum Solidorum seu Rigidorum” [6].

5The overall motion must be “slow” enough to produce negligible excitation of the internal dynamics of the body.

3-5

Page 39: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

3.3.4 Inertia Forces of a Rigid Body

The inertia forces are

f ine = −

V

ρa dV

= −

V

ρ (aO + ω ×ROoO + ω × ω ×ROoO) dV

= −

V

ρaO dV −

V

ρω ×ROoO dV −

V

ρω × ω ×ROoO dV

= −

V

ρ dV

︸ ︷︷ ︸

m

aO − ω ×RO

V

ρoO dV

︸ ︷︷ ︸

sO

− ω × ω ×RO

V

ρoO dV

︸ ︷︷ ︸

sO

(3.14)

where the total mass, m, and the static moment with respect to point O, sO, have been highlighted:

m =

V

ρ dV (3.15a)

sO =

V

ρoO dV (3.15b)

Their moment with respect to point O is

mineO = −

V

ρ (p− pO)× a dV

= −

V

ρ (ROoO)× (aO + ω ×ROoO + ω × ω ×ROoO) dV

= −

V

ρ (ROoO)× aO dV −

V

ρ (ROoO)× ω ×ROoO dV −

V

ρ (ROoO)× ω × ω ×ROoO dV

= aO ×RO

V

ρoO dV

︸ ︷︷ ︸

sO

V

ρ (ROoO)× (ROoO)×T ω dV −

V

ρω × (ROoO)× (ROoO)×T ω dV

= aO ×ROsO −

V

ρ(

ROoO ×RTO

)(

ROoO ×T RTO

)

ω dV −

V

ρω ×(

ROoO ×RTO

)(

ROoO ×T RTO

)

ω dV

= − (ROsO)× aO −RO

V

ρoO × oO × T dV

︸ ︷︷ ︸

JO

RTOω − ω ×RO

V

ρoO × oO × T dV

︸ ︷︷ ︸

JO

RTOω (3.16)

where pO is the position of point O, whereas p is the position of the generic point at which the accelerationa is evaluated during the volume integration. The inertia tensor with respect to point O, JO, has beenhighlighted:

JO =

V

ρoO × oO × T dV (3.17)

The definitions of the inertia forces and moments with the rigidity constraint enforced thus reduce to

f ine = −maO − ω ×ROsO︸ ︷︷ ︸

sO

−ω × ω ×ROsO︸ ︷︷ ︸

sO

(3.18a)

mineO = − (ROsO)︸ ︷︷ ︸

sO

×aO −ROJORTO

︸ ︷︷ ︸

JO

ω − ω ×ROJORTO

︸ ︷︷ ︸

JO

ω (3.18b)

or

f ine = −maO − ω × sO − ω × ω × sO (3.19a)

mineO = −sO × aO − JOω − ω × JOω (3.19b)

3-6

Page 40: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

where the static moment and the inertia moment have been transformed in the orientation of the absolutereference frame, and thus are no longer constant; they rather depend on the orientation of the body, RO,according to

sO = ROsO (3.20a)

JO = ROJORTO (3.20b)

It is said that the inertia forces (and moments), which by definition are distributed loads, since theydepend on the local presence of mass and acceleration, when the body is rigid become equivalent tolumped forces defined in terms of the overall inertia properties of the body (the mass m, and the staticand inertia moment referred to an arbitrarily chosen point O, sO and JO), and on the correspondingrigid-body motion, described by its rotation and by the displacement of point O.

Such equivalence means that distributed inertia forces can be replaced by their lumped equivalentsfor the sole purpose of writing the overall dynamics of the rigid body.

Inertia distribution must be considered when evaluating, for example, internal forces.

The definition of the static moment can be exploited to leverage an important property of the massdistribution of rigid bodies: the reference point O can be chosen in such a manner that makes sO vanish.This choice corresponds to the definition of the so-called center of mass. In such case, the definitions ofthe inertia forces and moments become particularly expressive:

f ine = −macm (3.21a)

minecm = −Jcmω − ω × Jcmω (3.21b)

i.e. the inertia forces of the rigid body only depend on the acceleration of its center of mass, and theinertia moments referred to the center of mass only depend on the angular velocity and acceleration(which are the same for all points of the body) by way of the inertia tensor referred to the center of mass.

Homework 3.2 (Center of mass). Starting from the definition of static moment with respect to ageneric point O on the rigid body, define the position of the center of mass.

3.3.5 Equations of Motion of a Rigid Body

The equations of motion of a rigid body are

macm =∑

f (3.22a)

Jcmω + ω × Jcmω =∑

mcm (3.22b)

where mcm are all the moments referred to the center of mass, including that of the forces in f .

Exercise 3.1 (Dynamics of a bar — pure translation). Writethe equations of motion of a uniform, rigid bar of length ℓ andmass m, subjected to a constant force f applied at one end,acting along the bar’s axis. At time t = 0 the bar stands still.

fℓ

mx

y

ξ

The force acts along the axis of the bar, so its line of action passes through the bar’s center of mass,which is located at mid-span. Let’s assume, without loss of generality, that the bar is initially aligned

3-7

Page 41: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

along global axis 1. The equations of motion yield

mxcm = f (3.23a)

Jcmω + ω × Jcmω = 0 (3.23b)

The moment of inertia with respect to the center of mass is

Jcm =

Jx1

2mℓ2

1

2mℓ2

(3.24)

Since at time t = 0 the angular velocity is zero, and there are no moments with respect to the centerof mass, the angular acceleration is zero, and no rotation occurs. The equations of motion reduce tothe scalar equation

mx = f (3.25)

along the axis of the bar. Since the force f is constant, the motion is

x =f

mt (3.26a)

x =f

mt2 (3.26b)

Exercise 3.2 (Internal forces in a bar — pure translation). Compute the internal forces in the barof Exercise 3.1.

The internal forces at the generic point ξ ∈ [0, ℓ] inside the bar result from the integration of theinternal forces per unit span over a portion of the bar. Assuming that the force f is applied at ξ = 0pointing towards the bar itself,

Ψ(ξ) = Ψ(0) +

∫ ξ

0

m

ℓx dη = −f +

f

∫ ξ

0

dη =

ℓ− 1

)

f (3.27)

i.e. the internal force is axial and compressive, varying linearly from −f for ξ = 0, where the forceis applied, to zero in ξ = ℓ, namely at the unloaded end.

Note that to formulate the equation of motion the mass was considered as lumped in the centerof mass but, to evaluate the internal force, the actual mass distribution had to be taken into account.

Exercise 3.3 (Dynamics of a bar — rotation). Write the equa-tions of motion of the uniform bar of length ℓ and mass m pre-sented in Exercise 3.1, subjected to a pair of constant forces,f1 and f2, each applied at one of the ends and acting alonga common direction that is normal to the axis of the bar, withopposite sign. At time t = 0 the bar is not moving. f1

f2ℓ

mx

y

ξ

The forces acts normal to the axis of the bar, so their line of action does not pass through the bar’scenter of mass. Let’s assume, without loss of generality, that the bar is initially aligned along globalaxis 1, and the forces initially act along axis 2. Let’s also assume that the forces remain orthogonalto the axis of the bar, i.e. their line of action rotates along with the bar. The equations of motionyield

mxcm =∑

f i = 0 (3.28a)

Jcmω + ω × Jcmω =∑

bi × f i (3.28b)

3-8

Page 42: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

where bi are the arms of each force with respect to the center of mass. Now the sum of the forces,∑

i f i, is exactly zero, so the acceleration of the center of mass is zero, xcm = 0. However, themoment of the forces is

bi × f i =ℓ

2e1 × f1e2 +

(

−ℓ

2

)

e1 × f2e2 =ℓ

2e1 × f1e2 +

(

−ℓ

2

)

e1 × (−f1) e2 = ℓf1e3

(3.29)

since f2 = −f1 and e1 × e2 = e3. So the moment produced by the two forces has magnitude ℓf1and acts about axis 3.

The angular equation of motion is thus

Jx1

2mℓ2

1

2mℓ2

ω1

ω2

ω3

+

0 −ω3 ω2

ω3 0 −ω1

−ω2 ω1 0

Jx1

2mℓ2

1

2mℓ2

ω1

ω2

ω3

=

00ℓf1

(3.30)

or

Jxω1 = 0 (3.31a)

1

2mℓ2ω2 −

(

1

2mℓ2 − Jx

)

ω3ω1 = 0 (3.31b)

1

2mℓ2ω3 +

(

1

2mℓ2 − Jx

)

ω1ω2 = ℓf1 (3.31c)

Since at time t = 0 the bar is still, the bar only accelerates about axis 3; as such, the equations ofmotion reduce to the scalar equation

1

2mℓ2ω3 = ℓf1 (3.32)

whose solution is

ω3 =2f1mℓ

t (3.33a)

θ3 =f1mℓ

t2 (3.33b)

where θ3 is the angle the body rotates about axis 3. Computing the angle in this manner is allowedsince the rotation occurs about a fixed axis.

Homework 3.3 (Internal forces in a bar — rotation). Compute the internal forces in the bar ofExercise 3.3. (Hint: consider the shear force, the bending moment and the axial force that resultfrom the inertia forces distributed along the bar.)

3-9

Page 43: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

3.3.6 Kinetic Energy of a Rigid Body

The kinetic energy of the rigid body is

Ek =1

2

V

ρvTv dV

=1

2

V

ρ (vO + ω ×ROoO)T(vO + ω ×ROoO) dV

=1

2

V

ρvTOvO dV +1

2

V

ρvTO (ω ×ROoO) dV

+1

2

V

ρ (ω ×ROoO)TvO dV +

1

2

V

ρ (ω ×ROoO)T(ω ×ROoO) dV

=1

2

V

ρ dV

︸ ︷︷ ︸

m

vTOvO +1

2

V

ρvTO (ROoO)×T ω dV

+1

2

V

ρωT (ROoO)× vO dV +1

2

V

ρωT (ROoO)× (ROoO)×T ω dV

=1

2mvTOvO +

1

2vTO

RO

V

ρoO dV

︸ ︷︷ ︸

sO

×T ω +1

2ωT

RO

V

ρoO dV

︸ ︷︷ ︸

sO

× vO

+1

2

V

ρωT(

ROoO ×RTO

)(

ROoO ×T RTO

)

ω dV

=1

2mvTOvO +

1

2vTO (ROsO)︸ ︷︷ ︸

sO

×Tω +1

2ωT (ROsO)︸ ︷︷ ︸

sO

×vO +1

2ωT RO

V

ρoO × oO×T dV

︸ ︷︷ ︸

JO

RTO

︸ ︷︷ ︸

JO

ω

=1

2mvTOvO +

1

2vTOsO ×T ω +

1

2ωTsO × vO +

1

2ωTJOω (3.34)

It is worth noticing that vTOsO ×T ω = ωTsO × vO, thus

Ek =1

2mvTOvO + vTOsO ×T ω +

1

2ωTJOω (3.35)

An alternative, systematic manner to compute the kinetic energy is here presented: express thevelocity of the generic point by moving the kinematic variables of the rigid body on the right of theexpression, namely

v = vO − (ROoO)× ω (3.36)

now collect the rigid body kinematic variables in a vector, and express the velocity of the arbitrary pointas

v =[I (ROoO)×

T]vOω

(3.37)

3-10

Page 44: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The kinetic energy of the rigid body can now be written as

Ek =1

2

V

ρvTv dV

=1

2

V

ρ

vOω

T[I (ROoO)×

T]T [

I (ROoO)×T]vOω

dV

=1

2

vOω

T ∫

V

ρ

[I

(ROoO)×

][I (ROoO)×

T]dV

vOω

=1

2

vOω

T ∫

V

ρ

[I (ROoO)×

T

(ROoO)× (ROoO)× (ROoO)×T

]

dV

vOω

=1

2

vOω

T [ ∫

Vρ dV I

(RO

VρoO dV

)× T

(RO

VρoO dV

)× RO

VρoO × oO × T dVRT

O

]vOω

=1

2

vOω

T [RO 0

0 RO

]

V

ρ dV

︸ ︷︷ ︸

m

I

V

ρoO dV

︸ ︷︷ ︸

sO

×T

V

ρoO dV

︸ ︷︷ ︸

sO

×

V

ρoO × oO × T dV

︸ ︷︷ ︸

JO

[RO 0

0 RO

]T vOω

(3.38)

i.e., after defining the rigid body mass matrix oriented according to the rigid body triad (and thusconstant) as

MrbO=

[mI sO×

T

sO× JO

]

(3.39)

which transforms into the orientation of the absolute reference frame according to the rule

MrbO =

[RO 0

0 RO

]

MrbO

[RO 0

0 RO

]T

=

[mROR

TO ROsO ×T RT

O

ROsO ×RTO ROJOR

TO

]

=

[mI sO×

T

sO× JO

]

(3.40)

the kinetic energy of the rigid body can be expressed as

Ek =1

2

vOω

T

MrbO

vOω

(3.41)

This approach provides a clear and systematic separation between the inertial characterization of the rigidbody and the writing of its kinetic energy, an invariant that is of key importance in several formalismsfor the formulation of the equations of motion of systems of rigid bodies.

Homework 3.4 (Kinetic energy of rigid body). Show that the kinetic energy in matrix form ofEq. (3.41) is equivalent to the form computed directly from the definition in Eq. (3.35).

When the center of mass is chosen as the reference point, the kinetic energy simplifies accordingly:

Ek =1

2mvTcmvcm +

1

2ωTJcmω (3.42)

3-11

Page 45: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 3.5 (Kinetic energy referred to the center of mass). Compute the transformation thatbrings the reference point in the center of mass, and use it to formulate the kinetic energy.

Homework 3.6 (Kinetic energy of a bar). Compute the kinetic energy of the bar of Exercises 3.1and 3.3.

3.4 Dynamics of a System of Rigid Bodies

when considering a system of rigid bodies, one needs to write the equations of motion of each body,which may include the forces and moments they exchange.

The exchange of forces and moments, according to the third of Newton’s principia, implies that anyaction (force or moment) body i exerts on body j, an analogous action, equal in magnitude but oppositein direction is exerted by body j on body i. Such actions are termed internal, in the sense that they actinternally between members of the system.

Each of the equations of motion of each single body can be replaced by a suitable linear combinationof equations of motion of bodies, provided none of the resulting equation is a linear combination of theothers.

Combining the equations of motion of different bodies may be especially useful when in the resultingequation some internal forces vanish, either because they cancel or because their moment vanishes becauseof an appropriate choice of the reference point about which the moment is evaluated.

However, in the following we are looking for systematic ways to generate the equations of motion ofsystems of bodies; as such, we will prefer formulations and algorithms that do not require, or limit asmuch as possible, the need to make choices or take decisions.

Nonetheless, the knowledge of how equations can be formed and the ability in interpreting themcan be of utmost importance in understanding how a model is conceived and in troubleshooting anyinconvenient that may surface during code development, or model preparation and analysis.

3-12

Page 46: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 4

Analytical Mechanics

All the good music has alreadybeen written by people with wigsand stuff.

Frank Zappa

Lagrange (Joseph-Louis Lagrange, originally Giuseppe Luigi Lagrangia, Turin 1736–Paris 1813)coined the term analytical mechanics, the title of his seminal work on the topic (Mecanique Analytique,1788 [7]).

Among his many contributions to classical mechanics, we recognize the Virtual Work Principle, withthe rearrangement of the contribution of conservative forces stemming from the kinetic and potentialenergy collected in the Lagrangian function, and the Lagrange multipliers, a clever formalism that trans-forms constrained minimization problems in unconstraned ones with great elegance.

These topics will be discussed in the following, along with contributions from other authors (amongthem Gauss, Appell, Jourdain) who devised alternative elegant ways to formalize the dynamics equationsof constrained systems.

Figure 4.1: Joseph-Louis Lagrange, born Giuseppe Lodovico Lagrangia or Giuseppe Luigi Lagrangia orLagrange (Turin, January 25, 1736 — Paris April 10, 1813) [from Wikipedia].

4-1

Page 47: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

4.1 Virtual Work Principle

The virtual work of all forces acting on a system vanishes at equilibrium.

The virtual work principle (VWP) applies to dynamics when inertia forces are considered along with theother forces.

The virtual work is the work done by actual forces for an energetically conjugated virtual displace-ment.

Forces and virtual displacements are intended in a generalized sense, i.e. they include moments, whichare energetically conjugated to virtual rotations.

A virtual displacement is

1. infinitesimal

2. compatible with the constraints

3. at fixed time

Consider a generic relationship between the generic position vector p and a set of independent coor-dinates q, namely p = p(q, t), which means that p depends on the coordinates q, and may optionallyexplicitly depend on the time, t.

The time derivative of the position p yields the velocity, v, as

v = p =∂p

∂qq +

∂p

∂t= p/qq + p/t (4.1)

The virtual perturbation of the position p yields the virtual displacement, δp, as

δp =∂p

∂qδq = p/qδq (4.2)

i.e. the virtual perturbation is analogous to the time derivative when no explicit dependence exists ontime; otherwise, they differ in that the virtual displacement is considered at fixed time, i.e. any explicitdependence on time is not considered, since time is not an independent coordinate of the problem.

Virtual work of inertia forces:

δWine = δpTcmf ine + θTδminecm

= −δpTcmmacm − θTδ (Jcmω + ω × Jcmω) (4.3)

4.2 Lagrange Equations of the Second Kind

Assume that both the kinetic and the potential energy of a system are known as functions of a set ofgeneralized coordinates, q. The kinetic energy also depends on the time derivative of the coordinates.Define the Lagrangian function L as the difference between the kinetic and the potential energy of asystem, namely

L(q, q, t) = Ek(q, q, t)− Ep(q) (4.4)

4-2

Page 48: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Define the virtual work of the remaining non-conservative forces,

δWnc = δqTQ/q (4.5)

The equations of motion of the system are obtained as

d

dt

(∂

∂qL

)

−∂

∂qL = Q/q (4.6)

Such equations are pure, i.e. they do not contain reaction forces, under the assumption that all constraintsare ideal (i.e. they do not do work) and, indeed, they are intrinsically complied with by the choice of thecoordinates q.

How the contribution of the inertia forces to the Lagrange equations of the second kind can beobtained for a rigid body from the Virtual Work Principle is illustrated in Appendix B.

4.3 Kinematic Constraints, Lagrange Multipliers, and Lagrange

Equations of the First Kind

Lagrange equations of the first kind are a general way to formulate the problem of constrained dynamics,which will be the subject of a subsequent Chapter. They are anticipated here for completeness and topresent the formalism of the Lagrange multipliers.

4.3.1 Holonomic Constraints

Consider a set of kinematic constraints expressed as algebraic equations,

φ(q, t) = 0 (4.7)

The nature of the constraint equations is not relevant at the moment; some indications about how theycan be formulated will be provided in detail in subsequent Sections, specifically in Section 6.

Such constraints, in finite form, are called holonomic. A holonomic constraint is rheonomous if itexplicitly depends on time, scleronomous otherwise.

Virtual Work Principle

Consider the product of a set of algebraic unknowns, λ (the Lagrange multipliers), for the constraintequations, λ · φ. Subtract its virtual perturbation from the virtual work, δW, as

δW ′ = δW − δ (λ · φ) (4.8)

When the constraint equations are complied with, i.e. when the solution is found, they vanish: φ = 0;as such, being them independently equal to zero, also their inner product by the Lagrange multipliers iszero, whatever the value of the multipliers: λ · φ = 0, as well as its virtual perturbation,

δ (λ · φ) = δλTφ+

(∂φ

∂qδq

)T

λ = δλTφ+ δqTφT/qλ (4.9)

where φ/q , the partial derivative of the constraint equations with respect to the coordinates, is theso-called Jacobian matrix of the constraints. For this reason, when δW ′ = 0, also δW = 0.

In general, the virtual work of an unconstrained system can be formulated as

0 = δW = δqT Qq (4.10)

where Qq are all the generalized forces energetically conjugated to the coordinates q (i.e. including theinertia and the conservative forces, namely those that in the Lagrange formulation would result from thekinetic and the potential energy); then the virtual work associated with the constrained system is

0 = δW ′ = δqT Qq − δλTφ− δqTφT/qλ

= δqT(

Qq − φT/qλ

)

− δλTφ (4.11)

4-3

Page 49: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Each virtual perturbation is independent; as such, it generates a corresponding equation:

0 = Qq − φT/qλ (4.12a)

φ = 0 (4.12b)

What results in Eqs. (4.12) is a system of Differential-Algebraic Equations (DAEs). In Eq. (4.12a),the term −φT

/qλ is added to the equations of motion of the unconstrained system. It represents thegeneralized reaction forces exerted by the constraints described by φ to guarantee their satisfaction.

Lagrange Equations of the First Kind

The application of the Lagrange multipliers formalism to the Lagrange equations follows a similar path.Augment first the Lagrangian function, L, with the product of the constraint equations by the Lagrangemultipliers, namely

L′ = L − λ · φ (4.13)

At this stage, one only needs to apply the Lagrange formalism to the augmented Lagrangian function,L′, considering the multipliers λ as generic coordinates, much like those in vector q:

d

dt

(∂

∂qL′

)

−∂

∂qL′ = Qq (4.14a)

d

dt

(∂

∂λL′

)

−∂

∂λL′ = 0 (4.14b)

where Qq now only represent the non-conservative generalized forces energetically conjugated with thecoordinates q, since the inertia and conservative contributions are already dealt with by the derivativesof the Lagrangian function. The resulting Lagrange equations of the first kind are

d

dt

(

∂qL

)

−∂

∂qL+ φT

/qλ = Qq (4.15a)

φ = 0 (4.15b)

What results in Eqs. (4.15) is again a system of DAEs, which is exactly equivalent to the one obtainedin Eqs. (4.12).

4.3.2 Non-Holonomic Constraints

When a constraint equation cannot be expressed in finite form, it is termed non-holonomic. In that case,it is usually formulated as

Adq = β (4.16)

where A and β may depend on q and on the time, t. In principle, non-holonomic constraints can benonlinear in the differential of the coordinates, although their occurrence in usual mechanisms is notcommon.

Often, non-holonomic constraints are presented in the form

Aq = b (4.17)

This is how they are usually implemented in formulations for the solution of the constrained dynamicsproblem, since the derivative of the coordinates, q, is available as unknown. However, it is importantto stress that non-holonomic constraints are not the time derivative of holonomic constraints. Their for-mulation in the differential of the coordinates, dq is by definition not integrable.

In the case of non-holonomic constraints, the Lagrange multiplier formalism requires the addition tothe virtual work of a contribution of the form

δW ′ = δW − δλT (Aq − b)− δqTATλ (4.18)

4-4

Page 50: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The rightmost contribution stems from the fact that the virtual perturbation of the non-holonomicconstraint equation, in differential form, is Aδq, and not δ(Aq − b).

Considering the virtual work of the active forces according to Eq. (4.10), the resulting non-holonomicallyconstrained dynamics equations are

0 = Qq −ATλ (4.19a)

Aq = b (4.19b)

The same approach can be used to introduce non-holonomic constraints in the Lagrange formalism,resulting in the corresponding Lagrange equations of the first kind.

4.4 Gauss’ Principle

Johann Friedrich Carl Gauss (Braunschweig, 1777–Gottingen, 1855) formulated the principle of leastconstraint in his work “Ueber ein neues algemeines Grundgesetz der Mechanik” [8].

Consider a system of differential equations that describes the dynamics of a constrained mechanicalsystem,

Mx = f + f c (4.20)

where M is the mass matrix, f are external loads and f c are (yet unknown) constraint forces, subjectedto a set of constraints (either holonomic or non-holonomic), whose derivative up to the acceleration levelcan be expressed as

Ax = b (4.21)

The acceleration produced by forces f that is compatible with the constraints minimizes the scalarfunction

G =1

2(x− a)

TM (x− a) (4.22)

where

a = M−1f (4.23)

is the acceleration that the system would have if there were no constraints.

Thee proof is in two parts.

I. Show that the minimization of G produces the expected equations of motion.

Transform the constrained minimization of G with respect to x into an unconstrained minimization usingthe Lagrange multipliers:

G′ = G+ λT (Ax− b) (4.24)

Minimize G′ with respect to x and λ, the Lagrange multipliers:

∂G′

∂x= M (x− a) +ATλ = 0 (4.25a)

∂G′

∂λ= Ax− b = 0 (4.25b)

i.e. f c = −ATλ.

II. Show that only the solution minimizes G.Compute x:

x = a−M−1ATλ (4.26)

4-5

Page 51: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

i.e. the acceleration is equal to that without constraints minus a correction caused by the reaction forcesReplace the constrained acceleration in the constraint equation derivative

Aa−AM−1ATλ = b (4.27)

and compute the value of the Lagrange multipliers

λ =(

AM−1AT)−1

(Aa− b) (4.28)

where matrix AM−1AT is invertible as long as the mass matrix is positive definite and the constraintJacobian matrix, A, is full rank1.

Replace the Lagrange multipliers in the expression of the constrained acceleration

x = a−M−1AT(

AM−1AT)−1

(Aa− b) (4.29)

Now replace the solution in G, along with an arbitrary perturbation y, with the only requirement ofbeing compatible with the constraints, A (x+ y) = b, or Ay = 0:

G =1

2(x+ y − a)

TM (x+ y − a)

=1

2

(

−M−1AT(

AM−1AT)−1

(Aa− b) + y

)T

M

(

−M−1AT(

AM−1AT)−1

(Aa− b) + y

)

=1

2

(Aa− b)T(

AM−1AT)−1

AM−1

MM−1AT

(

AM−1AT)−1

(Aa− b)

− 2 (Aa− b)T(

AM−1AT)−1

AMM−1y + yTMy

=1

2

(Aa− b)

T(

AM−1AT)−1

(Aa− b)−

2 (Aa− b)T(

AM−1AT)−1

Ay︸︷︷︸

0

+ yTMy

=1

2(Aa− b)

T(

AM−1AT)−1

(Aa− b) +1

2yTMy (4.30)

Since M > 0, any acceleration perturbation y that is compatible with the constraints yields an increaseof G, thus the solution of Eq. (4.29) is the only one that truly minimizes G.

It is worth noticing that only the second derivative of a holonomic constraint, or the first derivativeof a non-holonomic one, is being enforced. Integrating the solution as is would incur into the risk ofdrifting off the constraint manifold. This topic will be discussed further in subsequent Sections.

The solution can be rearranged as

x =

(

I−M−1AT(

AM−1AT)−1

A

)

︸ ︷︷ ︸

P

a+M−1AT(

AM−1AT)−1

b (4.31)

or

x = M−1

(

I−AT(

AM−1AT)−1

AM−1

)

︸ ︷︷ ︸

PT

f +M−1AT(

AM−1AT)−1

b (4.32)

i.e. the acceleration a, in Eq. (4.31), or the force f , in Eq. (4.32), are filtered by a projector that removestheir contribution that would otherwise result in a violation of the constraint.

1Notice that if matrix A is not full rank, then the constraints are not independent; in this case, a Moore-Penrosepseudo-inversion can be used, which gives a minimum norm solution for the otherwise undetermined Lagrange multipliers,but the solution, in terms of acceleration, is unaffected.

4-6

Page 52: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Part II

Dynamics of Constrained

Mechanical Systems

4-7

Page 53: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .
Page 54: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The solution of the constrained dynamics problem is addressed in this Part. In the previous Part,the formulation of the problem as a system of Differential-Algebraic Equations (DAEs) was recalled,based on directly writing the Equations of Motion (EoM), following Newton’s and Euler’s models, or onLagrange’s Analytical Mechanics (AM), including the Virtual Work Principle (VWP).

In most of the cases of engineering interest, the practical solution of our problem consists in findingthe numerical values of the coordinates and of their time derivatives that satisfy the equations of motion(equilibrium) and, at the same time, comply with the kinematic constraints (compatibility).

Two basic strategies can be used: in one case, the problem is reduced to an equivalent set of Ordi-nary Differential Equations (ODEs), by eliminating the constraints and reducing the coordinates to theminimal set of truly independent ones (Minimal Coordinate Set, MCS); in the other case, the problemis directly solved in DAE form (Redundant Coordinate Set, RCS). Actually, a third case, that of theUnconstrained Coordinate Set (UCS), is possible.

• MCS: reduction to ODEs may not be straightforward and, except from special cases (e.g. specialtopologies, or special choices of coordinates) might not be easy to implement in automatic manner.However, the problem can then be integrated using explicit numerical schemes, which can be veryefficient, but with a caveat: algorithmic stability is not guaranteed, so the choice of the time stepis constrained by stability- rather than accuracy-related considerations.

• RCS: integrating DAEs requires the use of numerical techniques with specific characteristics,namely unconditional stability and algorithmic dissipation, which can only be provided by im-plicit integration schemes. The choice of the time step can be solely dictated by accuracy-relatedconsiderations.

• UCS: this strategy consists in preserving the structure of the unconstrained problem, while enforc-ing the constraints in indirect manner. Formally, the problem is ODE; thus, explicit integrationschemes may be used, with the same caveats indicated for the MCS strategy.

The essential characteristics of numerical integration schemes are briefly discussed in Chapter 5. Howkinematic constraints can be formulated is presented in Chapter 6. The MCS approach is described inChapter 7. The RCS one is presented in Chapter 8. Finally, the UCS one is presented in Chapter 9,building on top of the previous ones.

4-9

Page 55: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

4-10

Page 56: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 5

Integration of Ordinary Differential

Equations

Consider a system of Ordinary Differential Equations (ODEs), either in explicit form,

y = f (y, t) (5.1)

or in implicit form,

f (y,y, t) = 0 (5.2)

along with a set of initial conditions, y(t0) = y0, i.e. a so-called initial value or Cauchy1, problem. Itsolution consists of the time history of y, namely y(t), for t ≥ t0. Computing the solution is calledintegration.

Apart from special, usually simple, cases, only a numerical solution can be obtained. Numericalsolutions typically represent an approximation of the actual solution. They usually consist of an estimateof the value of y(t) at a discrete number of values of time, t1, . . . , tN , which is obtained using numericalmethods. The characteristics of the numerical method, along with the characteristics of the problem,determine the quality of the solution.

Several types of numerical methods have been proposed. We restrict our consideration to linearmethods, indicating with this definition those methods that express the value of y that is to be computedas a linear combination of other values of y and its derivatives.

They can be classified as

• single step vs. multistep

• implicit vs. explicit,

• with or without intermediate evaluations of the problem.

Important properties are

• accuracy

• algorithmic stability.

5.1 Numerical Methods

5.1.1 General Linear Multistep Methods

The general form of a linear multistep method (LMM) is

yk =∑

i=1,n

aiyk−i + h∑

j=0,n

bj yk−j (5.3)

1Named after Augustin-Louis Cauchy (Paris, 1789–Sceaux, 1857).

5-1

Page 57: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

where h is the time step2, whereas ai and bj are the specific coefficients of each method. They multiplythe values of y and y at the various time steps required by the method. It is worth noticing that inEq. (5.3) the variable that is being integrated, y, is represented by a vector; in this manner, the methodis directly formulated for the solution of a system of equations.

5.1.2 Single Step Methods

The method of Eq. (5.3) reduces to single step when n = 1; in that case,

yk = a1yk−1 + h (b0y0 + b1y1) (5.4)

5.1.3 Implicit vs. Explicit Methods

When the solution yk at time tk depends on the value of the derivative of yk at time tk, namely yk, themethod is implicit. An implicit method requires b0 6= 0. Otherwise, when b0 ≡ 0, the method is explicit.

5.2 Accuracy

With accuracy we indicate the capability of a numerical integration scheme to integrate a polynomial ofa given order. A method with accuracy n can exactly integrate polynomials up to the nth order.

In order to check the accuracy, one needs to define the solution as y(t) =∑

i=0,n ti, replace it in the

integration scheme, evaluating y(t) and its derivatives at the values of t required by the method, andcheck the lowest power of t that remains after elimination.

The actual accuracy trend can be evaluated using the expression

n = limh→0

log2

(E(2h)

E(h)

)

− 1 (5.5)

A practical means to visualize the accuracy trend is to plot the error vs. the time step on a logarithmicscale; the accuracy is indicated by the slope of the curve as h→ 0.

Exercise 5.1 (Accuracy of two-step BDF). Check the accuracy of the two-step BDF method.

Consider the linear two-step method

yk =4

3yk−1 −

1

3yk−2 + h

2

3yk (5.6)

known as two-step BDF.Consider the polynomial

y =∑

i=0,n

citi (5.7)

with tk = 0, and thus

yk = c0 (5.8)

yk−1 =∑

i=0,n

ci(−h)i (5.9)

yk−2 =∑

i=0,n

ci(−2h)i (5.10)

yk = c1 (5.11)

2The formula can be generalized to the case of variable time step; here, for simplicity, it is held constant, since the focusis on the properties of the methods.

5-2

Page 58: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Replacing these expressions in the method’s formula yields

c0 =4

3

i=0,n

ci(−h)i −

1

3

i=0,n

ci(−2h)i + h2

3c1 (5.12)

i.e.

c0 =4

3

c0 −c1h+c2h2 − c3h

3 +∑

i=4,n

ci(−h)i

−1

3

c0 −2c1h+4c2h2 − 8c3h

3 +∑

i=4,n

ci(−2h)i

+

2

3c1h (5.13)

or

0 =4

3c3h

3 +∑

i=4,n

ci(−h)i

3

(4− 2i

)(5.14)

i.e. the lowest order residual is of order o(h2), which means that the two-step BDF method is second-order accurate.

5.3 Stability

Stability is a property of utmost importance. The term refers to the stability of the numerical processthat estimates the solution. A method that is not algorithmically stable could result in a divergentsolution when the physical problem that is being solved does not. There is no guarantee for the oppositecase: a method that is algorithmically stable may provide a non-divergent solution when the physicalproblem is actually unstable.

In the following, we only consider stability when the integration scheme is applied to linear problems;this is an important caveat, as some properties are no longer guaranteed when the method is applied tononlinear problems (as our multibody dynamics problems often are).

Stability may be conditional or unconditional. Conditional stability occurs when it is verified onlyfor a range of time steps that extends from zero to a limit value. This is the case of explicit integrationschemes. When stability is only conditional, the size of the time step is limited by stability consider-ations irrespective of any accuracy consideration, as algorithmic stability is mandatory for a successfulintegration.

Implicit integration schemes, on the contrary, can have unconditional stability. When stability isunconditional, the size of the time step can be chosen according to accuracy considerations, as algorithmicstability is always guaranteed.

5.3.1 Linear Stability

Linear stability is assessed by testing the method with the simplest possible linear problem,

y = λy (5.15)

with λ complex3 Its exact solution is y(t) = eλty0.The combination of problem and method yields a discrete problem; for example, in the case of a

linear multistep method,

yk =∑

i=1,n

aiyk−i + h∑

j=0,n

bjλyk−j (5.16)

3When λ = jω, i.e. it is purely immaginary, the problem corresponds to an undamped oscillator.

5-3

Page 59: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

which can be rearranged as

(1− hλb0)yk −∑

i=1,n

(ai + hλbi)yk−i = 0 (5.17)

The recursive solution of a homogeneous discrete equation is

yk = ρyk−1 = ρky0 (5.18)

the exact solution being ρ ≡ eλh, so the difference equation yields

(1− hλb0) ρk −

i=1,n

(ai + hλbi) ρk−i

y0 =

(1− hλb0) ρn −

i=1,n

(ai + hλbi) ρn−i

ρk−ny0 = 0

(5.19)

Regardless of the initial conditions y0, the polynomial in ρ

(1− hλb0) ρn −

i=1,n

(ai + hλbi) ρn−i = 0 (5.20)

governs the evolution of the numerical solution. Its coefficients depend on those of the method, ai andbi, on the characteristics of the problem, λ, and on the time step, h. The algorithmic stability of theproblem may thus be associated with:

• intrinsic properties of the method (ai, bi);

• the stability of the problem (the real part of λ);

• the size of the time step (h):

Notice that the time step and the problem always appear as a product, hλ. In fact, what matters is therelative time scale between the evolution of the problem, whose time scale is T ≈ 1/|λ|, and the evolutionof the numerical solution, whose time scale is determined by the size of the time step, h. Thus, we caninterpret the term |hλ| as |hλ| ≈ h/T , the ratio between the two time scales.

We expect the numerical solution to be non-divergent when the physical problem is not unstable.Thus, for Re(λ) ≤ 0 we expect the spectral radius ρ, i.e. the root of the polynomial of Eq. (5.20) oflargest modulus, to satisfy the requirement |ρ| ≤ 1.

• Zero-stability: we have Zero-stability when the method, applied to a stable problem, is notdivergent for h→ 0. This means that stability (i.e. |ρ| ≤ 1) must exist for an interval of time stepsh that includes h = 0. Zero-stability formalizes the notion of conditional stability.

• A-stability: we have A-stability when the method, applied to a stable problem, is Zero-stable andnot divergent irrespective of the value of h, namely |ρ| ≤ 1 for |hλ| → +∞. A-stability formalizesthe notion of unconditional stability.

• L-stability: we have L-stability when the method, applied to a stable problem, is A-stable andthe norm of the spectral radius ρ tends to zero as |hλ| → ∞. The rationale is that the norm of thespectral radius must reduce and eventually tend to zero as the time step h grows enough for themethod to be no longer able to yield an accurate solution.

5.3.2 Algorithmic Stability vs. Accuracy

Now that we have introduced the definitions of stability reported above, it is time to make some consid-erations about the solution of our problem. We typically want to solve problems with multiple degreesof freedom, often resulting in rather different time scales. For simplicity, and only in order to make

5-4

Page 60: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

some scaling considerations, consider for a moment the case of a simple, linear multi-degree-of-freedomproblem,

Mu+Ku = f (5.21)

which, after solving the related generalized eigenproblem

MUDiagω2i

= KU (5.22)

and defining the coordinate transformation u = Uq, can be reformulated in spectral form as

Diag mi q +Diagmiω

2i

q = UTf (5.23)

The problem of Eq. (5.23) is equivalent to that of Eq. (5.21) when no model order reduction is performed,i.e. when matrix U contains all the eigenvectors of the original problem. Thus, numerically integratingEq. (5.23) with respect to the new coordinate set q is theoretically equivalent to integrating Eq. (5.21)with respect to the original set of coordinates u.

In general, the problem may contain rather different eigenfrequencies ωi: the ratio max(ωi)/min(ωi)can be quite large4. However, when the problem is integrated numerically, a single time step, h, is used;thus, the values of hωi may be rather different. For some values of ωi, the value of the time step h mighteven violate the Nyquist-Shannon5 theorem, which requires a minimum sampling frequency fs = 1/h oftwice the maximum frequency in the signal, fmax = max(ωi)/(2π), thus fs ≥ 2fmax requires

h ≤π

max(ωi)(5.24)

If we want the maximum accuracy from our numerical integration, we need to select a time step that byfar exceeds6 the Nyquist-Shannon requirement of Eq. (5.24).

Recall that if a conditionally stable algorithm is used, analogous requirements on the maximum sizeof the time step might be dictated by algorithmic stability. However, when an unconditionally stablealgorithm is used, stability is no longer a concern.

So, it might be appropriate to reverse the question:

since for a given choice of the time step h we are not meeting the Nyquist-Shannon requirementof Eq. (5.24) for all the characteristic frequencies of our problem above a given threshold,how can we neglect their contribution to the solution?

What happens when we use a purely A-stable algorithm? Well, it happens that the contribution tothe solution given by the “modes” for which the requirement is violated not only is meaningless, butit also pollutes the solution.

If the norm of the spectral radius of the method is identically 1, those disturbances never vanish;actually, if the high-frequency modes are poorly damped, they may result in self-sustained oscillationswhose period is exactly twice the time step. Actually, as a consequence of mild nonlinearities in themodel, those non-physical, purely numerical oscillations might even diverge.

In those cases, it might be desirable that the numerical method introduces some algorithmic dissipa-tion. However, it would be preferable that such algorithmic dissipation be selective: we want it to beminimal when hωi ≪ 1, where the solution can be accurate, and to be maximum when h ≥ π/max(ωi).

This is what happens with L-stable algorithms. L-stability represents a limit case, that of asymptoticspectral radius ρ∞ = lim|hλ|→∞ max(|ρ|) equal to 0. Between the upper limit of A-stability (|ρ| ≡ 1∀|hω|) and the lower limit of L-stability (ρ∞ ≡ 0) there is room for schemes with |ρ| ≤ 1 ∀|hω| and0 ≤ ρ∞ < 1, which introduce some algorithmic dissipation for large values of |hλ| and, at the same time,provide accurate results for hω ≪ 1.

4Apart from going to infinity when rigid-body modes are present, i.e. when min(ωi) ≡ 0.5Harry Theodor Nyquist (Nilsby, 1889–Harlingen, 1976), and Claude Elwood Shannon (Petoskey, 1916–Medford, 2001)

defined the minimum frequency, called the Nyquist frequency, that is required to sample a signal without losing information.For a limited band signal, the minimum sampling frequency is twice the maximum frequency contained in the signal.

6In practical applications, most second-order accurate methods require at 20 samples per period for decent accuracy,and even 100 for high-quality results.

5-5

Page 61: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Yet another problem needs to be accounted for. So far, we only considered purely ODE problems;however, we observed in previous Sections that constrained dynamics problems may also involve DAEs.To some extent, the algebraic equations may be interpreted as equations with infinitely fast dynamics,thus making the use of selectively algorithmically dissipative methods mandatory. This topic will befurther discussed in Chapter 8 when addressing the Redundant Coordinate Set approach.

5.3.3 First Dahlquist barrier

Germund Dahlquist (1925–2005) proved that a Zero-stable n-step method cannot be more than accuratethan n + 1, for n odd, or than n + 2, for n even; moreover if the method is explicit, it cannot be moreaccurate than n. This is Dahlquist’s first barrier (1956).

5.3.4 Second Dahlquist barrier

Explicit multistep methods cannot be A-stable; only implicit ones can7; those that are, can only achieveorder 2 accuracy. Among them, the A-stable method with the smallest residual error is the one namedafter Crank-Nicolson (or trapezoid rule), with a1 = 1 and b0 = b1 = 1/2:

yk = yk−1 +h

2

(yk + yk−1

)(5.25)

This is Dahlquist’s second barrier (1963).

Exercise 5.2 (Stability of Crank-Nicolson method). Evaluate the stability of the Crank-Nicolsonmethod.

Apply the Crank-Nicolson method, Eq. (5.25), to the scalar linear problem of Eq. (5.15):

yk = yk−1 +h

2(λyk + λyk−1) (5.26)

i.e.(

1−hλ

2

)

yk =

(

1 +hλ

2

)

yk−1 (5.27)

which yields

ρ =1 +

2

1−hλ

2

(5.28)

Its norm is

|ρ| =

√√√√1 +

(

2

)4

+

(

2

)4

− 2

(

2

)2

+ 2

(

2

)2

+ 2

(

2

)2(

2

)2

(

1−hσ

2

)2

+

(

2

)2 (5.29)

7But not all are: being implicit is only a necessary condition for A-stability.

5-6

Page 62: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

where λ = σ+ jω has been used. When the problem is only stable, but not asymptotically, i.e. whenσ ≡ 0, the spectral radius’ norm becomes

|ρ| =

√√√√1 +

(

2

)4

+ 2

(

2

)2

1 +

(

2

)2 = 1 (5.30)

i.e. the method is A-stable but provides no algorithmic dissipation.

Homework 5.1 (Linear stability of the Explicit Euler method). Evaluate the linear stability of theExplicit Euler method, yk = yk−1 + hyk−1.

Homework 5.2 (Linear stability of the Implicit Euler method). Evaluate the linear stability of theImplicit Euler method, yk = yk−1 + hyk.

Homework 5.3 (Linear stability of the two-step BDF method). Evaluate the linear stability of thetwo-step BDF method, presented in Example 5.1.

5.3.5 Useful Methods

• Crank-Nicolson: this method is only of use when the highest possible accuracy is needed and theaccuracy requirement can be satisfied for the fastest possible dynamics. According to what statedin Section 5.3.2, it cannot be used to integrate systems of DAEs, as is the case of constraineddynamics formulated according to the RCS approach.

• Two-step BDF: this method, briefly presented in Example 5.1, is second-order accurate and L-stable. As such, it can be used to integrate systems of DAEs. It provides a considerable amountof algorithmic dissipation, at the cost of reduced accuracy.

• Two-step method with tunable algorithmic dissipation: this method, presented in [9] invariable time step form, is a two-step, second-order accurate algorithm with tunable dissipation.Its is defined according to Eq. (5.3), with n = 2; the coefficients are

a1 =4(1− ρ∞)

3− ρ∞(5.31a)

a2 = 1− a1 (5.31b)

b0 =2

(1 + ρ∞)(3− ρ∞)(5.31c)

b1 = 2− 2b0 −a12

(5.31d)

b2 = b0 −a12

(5.31e)

with 0 ≤ ρ∞ ≤ 1. When ρ∞ = 0, it reduces to the two-step BDF method.

5.4 Intermediate Evaluations of the Problem

An important class of methods that, although formally being single step, go beyond Dahlquist barriersare called Runge-Kutta methods (named after Carl David Tolme Runge, Bremen 1856–Gottingen, 1927,and Martin Wilhelm Kutta, Pitschen, 1867– Furstenfeldbruck, 1944).

5-7

Page 63: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

They require intermediate evaluations of the problem; as such, they are also calledmultistage methods.The general form is

yk = yk−1 + h∑

j=1,s

bj yk−1+cj (5.32)

with

yk−1+ci = f(

yk−1+cj , tk−1+cj

)

for i ∈ [1, s] (5.33a)

yk−1+ci = yk−1 + h∑

j=1,s

aij yk−1+cj for i ∈ [1, s] (5.33b)

tk−1+ci = tk−1 + cih for i ∈ [1, s] (5.33c)

i.e. the solution at time tk is equal to the solution at time tk−1 plus a linear combination of the derivativesof y evaluated at intermediate steps, which in turn are a linear combination of themselves. Intermediatetimes are defined by the set of coefficients 0 ≤ ci ≤ 1.

The coefficients are usually collected in the Butcher8 tableau,

c1 a11 a12 . . . a1sc2 a21 a22 . . . a2s...

.... . .

...cs as1 as2 . . . ass

b1 b2 . . . bs

(5.34)

Runge-Kutta methods are explicit when aij = 0 for j ≥ i.

Example 5.1 (Trapezoid rule). Trapezoid rule:

0 0 01 1/2 1/2

1/2 1/2(5.35)

This method is implicit (a22 6= 0).

t = tk−1+0: yk−1+0 = yk−1 (moot: the solution at tk−1 has already been computed)

(5.36a)

t = tk−1+1: yk−1+1 = yk−1 + h

(1

2yk−1+0 +

1

2yk−1+1

)

= yk−1 +h

2

(yk−1 + yk

)(5.36b)

yk = yk−1 + h

(1

2f(yk−1+0, tk−1+0

)+

1

2f(yk−1+1, tk−1+1

))

= yk−1 + h

(1

2f(yk−1, tk−1

)+

1

2f

(

yk−1 +h

2

(yk−1 + yk

), tk

))

= yk−1 +h

2

(yk−1 + yk

)(5.36c)

The solution depends on dotyk. We already met this method in Eq. (5.25).

Example 5.2 (Gauss-Lobatto method). Gauss-Lobatto method:

8John Charles Butcher (1933–)

5-8

Page 64: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

1/2 1/2 01/2 1/2 0

1/2 1/2(5.37)

This method is implicit (a11 6= 0).

t = tk−1+1/2: yk−1+1/2 = yk−1 + h1

2yk−1+1/2 (5.38a)

t = tk−1+1/2: yk−1+1/2 = yk−1 + h1

2yk−1+1/2 (a repetition of the previous equation)

(5.38b)

yk = yk−1 + h

(1

2f(

yk−1+1/2, tk−1+1/2

)

+1

2f(

yk−1+1/2, tk−1+1/2

))

= yk−1 + hf(

yk−1+1/2, tk−1+1/2

)

= yk−1 + hf

(

yk−1 + h1

2yk−1+1/2, tk−1/2

)

(5.38c)

The solution depends on yk−1+1/2. Note that this method is equivalent to the trapezoid rule if thevalue of the derivative at mid-span is defined as the average between the values at the beginningand the end of the time step.

Example 5.3 (Heun’s method). Heun’s method:

0 0 01 1 0

1/2 1/2(5.39)

This method is explicit.

t = tk−1+0: yk−1+0 = yk−1 (moot: the solution at tk−1 has already been computed)

(5.40a)

t = tk−1+1: yk−1+1 = yk−1 + hyk−1+0 = yk−1 + hf(yk−1, tk−1

)(5.40b)

yk = yk−1 + h

(1

2f(yk−1+0, tk−1+0

)+

1

2f(yk−1+1, tk−1+1

))

= yk−1 + h

(1

2f(yk−1, tk−1

)+

1

2f(yk−1 + hf

(yk−1, tk−1

), tk))

(5.40c)

The solution only depends on values of y at the previous step.

Also Runge-Kutta methods must be implicit to be unconditionally stable. Higher-order accuracy ispossible along with A- and L-stability. For example, the Radau IIA method is third-order accurate andL-stable. Its Butcher tableau is

1/3 5/12 −1/121 3/4 1/4

3/4 1/4(5.41)

For example, methods can be designed that are third-order accurate and show tunable algorithmicdissipation [10].

5-9

Page 65: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

5.4.1 Stability

To evaluate the (linear) stability properties of Runge-Kutta methods, we can follow the same approachused for the multi-step methods, i.e. apply the method to the simple problem of Eq. (5.15), which forEq. (5.32) yields

yk = yk−1 + hbY = yk−1 + hbλY (5.42)

where b is the row vector constructed using the coefficients bj of the method, Y is the column vector con-structed using the intermediate evaluations of the function at times tk−1+ci , namely yk−1+ci = λyk−1+ci

from Eq. (5.33a). From Eq. (5.33b) one obtains

Y = cyk−1 + hAY = cyk−1 + hAλY (5.43)

where A is the matrix obtained from the coefficients aij of the method and the column vector c containsones.

Collecting Y and solving for it, one obtains

Y = (I− hλA)−1cyk−1 (5.44)

which, replaced in Eq. (5.42), after collecting yk−1 gives

yk =[

I+ hλb (I− hλA)−1c]

yk−1 = ρyk−1 (5.45)

The properties of the spectral radius ρ can be analyzed as already discussed in Section 5.3.1.

Homework 5.4 (Stability of trapezoid rule as Runge-Kutta method). Evaluate the linear stabilityof the trapezoid rule of Example 5.1 formulated as a Runge-Kutta method.

Homework 5.5 (Stability of Radau IIA method). Evaluate the linear stability of the Radau IIAmethod of Eq. 5.41.

5.5 Integration of Problems in Second-Order Differential Form

Although not always desirable, one may want to numerically integrate problems formulated directly assystems of second-order differential equations, as is typical of structural dynamics, namely

Mq +Cq +Kq = f (5.46)

Several methods exist in the literature, which have been directly formulated to be used in problemswritten in the form of Eq. (5.46). Presenting them in detail is outside the scope of the present notes.However, some are briefly mentioned.

TODO

5.6 Integration of Implicit and Nonlinear Problems

Most of the methods presented so far presume the capability to explicitly evaluate the derivative of thestate, y, as a function of the state itself, y, and of the time, t. Consider an implicit ODE problem in theform

f (y,y, t) = 0 (5.47)

In this case, one needs to use a different approach.

5-10

Page 66: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

5.6.1 Predictor-Corrector

The so-called predictor-corrector approach can be used to transform the integration of the implicitdifferential problem into the solution of a nonlinear algebraic one.

First of all, the derivative of the state is predicted, i.e. extrapolated to time tk based on the solutionat previous time steps, yielding y(0), where the superscript (·)(i) refers to the ith iteration. Differentstrategies can be used. Then, the selected integration method is used to predict the state, y(0).

At this stage, a nonlinear solution strategy is used to solve the implicit problem. In the following,the Newton-Raphson method is used.

5.6.2 Linear Multistep Methods

After estimating the derivative of the state, y(0)k , the state is predicted using the general equation of the

method,

y(0)k =

i=1,n

aiyk−i + hb0y(0)k + h

i=1,n

biyk−i (5.48)

The problem of Eq. (5.47) is expanded in a first-order Taylor series with respect to the state and itsderivative,

f (yk,yk, tk)∼= f

(

y(0)k ,y

(0)k , tk

)

+∂f

∂y∆y +

∂f

∂y∆y = 0 (5.49)

The formula of the integration method is perturbed as well, yielding the perturbation of the state as afunction of the perturbation of the state derivative

∆yk = ∆

i=1,n

aiyk−i + h∑

j=0,n

bj yk−j

= hb0∆yk (5.50)

where perturbation of the state and its derivative at previous time steps is zero because they are nolonger unknown.

The perturbation of the state is replaced in the Taylor expansion of the problem, which is set equalto zero, yielding

(∂f

∂y+∂f

∂yhb0

)

∆y = −f(

y(0),y(0), tk

)

(5.51)

The problem is now linear in the perturbation of the state derivative, ∆y. As such, it results in theNewton-Raphson method for the solution of nonlinear equations. Assuming the Jacobian matrix isnon-singular, it can be solved.

The solution of the linear problem is used to update the prediction,

y(i+1)k = y

(i)k +∆y (5.52a)

y(i+1)k = y

(i)k + hb0∆y (5.52b)

The implicit function of Eq. (5.47) is evaluated and tested for convergence. If needed, the operation isrepeated, i.e. the problem is linearized again with respect to the current tentative solution,

(∂f

∂y+∂f

∂yhb0

)

∆y = −f(

y(i),y(i), tk

)

(5.53)

and solved again until convergence is achieved.

5-11

Page 67: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

5.6.3 Linear Multistage Methods

The procedure is similar, but now the implicit problem needs to be solved at each intermediate timetk−1+ci . If the method is explicit, a cascade of problems similar to that presented for the LMM needs tobe solved.

When the method is implicit, however, the solution must be simultaneously found for all intermediatetimes. The Taylor expansion at the generic ith intermediate time yields

f(yk−1+ci ,yk−1+ci , tk−1+ci

)= f

(

y(0)k−1+ci

,y(0)k−1+ci

, tk−1+ci

)

+∂f

∂y∆yci +

∂f

∂y∆yci (5.54)

The perturbation of the state at the ith intermediate time yields

∆yci = h∑

j=1,s

aij∆ycj (5.55)

thus Eq. (5.54) can be rewritten as

f(yk−1+ci ,yk−1+ci , tk−1+ci

)= f

(

y(0)k−1+ci

,y(0)k−1+ci

, tk−1+ci

)

+∂f

∂y∆yci +

∂f

∂y

h∑

j=1,s

aij∆ycj

= f(

y(0)k−1+ci

,y(0)k−1+ci

, tk−1+ci

)

+∑

j=1,s

(

δij∂f

∂y+ haij

∂f

∂y

)

∆ycj

(5.56)

where δij is Kronecker’s “delta” function, which is equal to 1 only for i ≡ j and zero otherwise.The problem becomes

∂f∂y + ha11

∂f∂y . . . ha1s

∂f∂y

.... . .

...

has1∂f∂y . . .

∂f∂y + hass

∂f∂y

∆yc1...

∆ycs

= −

f(

y(0)k−1+c1

,y(0)k−1+c1

, tk−1+c1

)

...

f(

y(0)k−1+cs

,y(0)k−1+cs

, tk−1+cs

)

(5.57)

The size of the problem is s times the size of the original system. The increase in computational costmust be carefully considered, along with any advantages in terms of accuracy.

5-12

Page 68: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 6

Kinematic Constraints

This Chapter deals with the formulation of the algebraic equations, φ = 0 for the holonomic constraintsand Aq = b for the non-holonomic ones, that reduce the number of degrees of freedom of the problemby introducing kinematic constraints.

6.1 Lower Pairs and Complex Constraints

Kinematic constraints introduce algebraic relationships between the configurations of otherwise uncon-strained bodies. They represent an important means to idealize the relationships between parts ofmechanisms by eliminating the relative motion that is not allowed by the connection. This abstractioncan be very important when the detailed dynamics of the interaction between parts described by theconstraints is negligible or does not otherwise dominate the problem, compared to the overall motion ofthe mechanism.

When multibody problems are formulated in terms of Lagrange’s equations of the first kind, or anyequivalent formulation, they result in a system of Differential-Algebraic Equations (DAE) of the form

M (q) q + φT/qλ = f (q, q, t) (6.1a)

φ (q, t) = 0, (6.1b)

where vector q represents an array of generalized coordinates, vector φ represents an array of (ideal,holonomic) constraint equations between the coordinates, M(q) is the configuration dependent inertiamatrix, vector λ represents an array of Lagrange multipliers that expresses the generalized constraintreaction force f c = φT

/qλ by way of the transpose of the constraint Jacobian matrix φ/q , and vectorf(q, q, t) accounts for the remaining forces. For a review of how the equations of motion and the relatedconstraint equations can be formulated, the interested reader can consult either the excellent work ofSchiehlen [11], or the recent one by Bauchau and Laulusa [12].

Without any loss in generality, consider the case of a set of rigid bodies whose generalized coordinatescorrespond to the position and orientation of the bodies, regardless of what parametrization is consideredfor orientations. The constraint equations in vector φ are naturally formulated as functions of the relativeposition and orientation of the constrained bodies. Constraints can be arbitrarily complex, involving anarbitrary number of bodies. In many applications, formulating dedicated constraint equations for specificcomponents may be an option; for example, an ideal homokinetic joint is discussed in [13]. This approachis useful when a dedicated joint formulation allows to reduce the number of equations, or to highlightpeculiar aspects of the problem.

However, a more general approach consists in formulating simple constraints, like lower kinematicpairs (discussed by Hartenberg and Denavit [14] and Angeles [15, 16]), and building more complex con-straints by assembling mechanisms from multiple instances of those pairs. All lower pairs, as well asmore complex although relatively basic constraints, like the universal joint1, can be formulated indepen-dently. Lower pairs, sketched in Figure 6.1, allow one to model the most common joints. According

1Also known as “Cardan joint”, or “Hooke’s joint” in the Anglo-Saxon literature, since after Gerolamo Cardano’s early

6-1

Page 69: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

a) revolute b) prismatic c) screw

d) cylindrical

e) spherical

f) planar

Figure 6.1: Sketch of the lower kinematic pairs (adapted from [1]).

a

b

ea1

ea2

ea3

eb1

eb2

eb3

B0

Ba

Bb

x0

ua

ub

Figure 6.2: Sketch of the geometry of a generic pair formulated according to Bauchau [2] (adaptedfrom [1]).

to Angeles [15], lower pairs couple two elements “via a wrapping action, and contact takes place alonga surface.” Three of them, namely the revolute, screw and cylindrical pairs are associated to relativerotation of the links about a fixed axis; a fourth one, the planar pair, is associated to relative rotationof the links about an axis whose direction is fixed. The screw requires special care, since the relativerotation about the screw axis is not free, but rather related to the relative translation along the sameaxis by a constant ratio, the ‘pitch’ of the screw.

Bauchau [2] recognizes that lower pairs between parts a and b, sketched in Figure 6.2, can be formu-lated in terms of two orthonormal bases Bp = epi , i = 1, 3, and two position vectors xp = x0 +up, wherep = a, b indicates the part. The relative displacement along axis i of part a, di, is defined by

eai · (ua − ub)− di = 0, (6.2)

while the relative rotation about axis i of part a, θi, is implicitly defined by

(eak · ebk) sin θi − (eaj · ebk) cos θi = 0, (6.3)

where j, k indicate the other two directions orthogonal to i. Equation (6.3) assumes that the relativeorientation between parts a and b is characterized at most by a rotation about axis eai ≡ ebi .

description in 1557, Robert Hooke, probably in 1667, realized that the transmitted angular velocity was not uniform.

6-2

Page 70: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Equations (6.2) and (6.3) constrain or prescribe the relative translation and rotation when di and θiare respectively imposed. Otherwise, they become additional ‘slack’ variables that can be proficientlyused to introduce specific forces and moments dependent on the relative motion (e.g. springs, actuators,and so on). In [2] Bauchau recognizes that complex joints can often be constructed by combining lowerpairs; “. . . In many cases, however, joints with specialized kinematic conditions must be developed.”

Increasingly popular approaches, which radically depart from what stated so far, deserve a mention.Those based on natural coordinates, or absolute coordinates, mainly originating from the works of Garcıade Jalon et al. [17,18], embed the formulation of pairs into the description of the topology of the problem.The kinematics of rigid bodies is defined in terms of the position of basic points. The very rigidity ofthe bodies is enforced by means of constraints between the coordinates of the basic points that belongto the same part. Coincidence of points belonging to different parts is achieved by actually sharingcommon points between the connected parts. Kinematic relationships are mainly enforced by means ofconstraints that either enforce constant distance between points, or constant area of triangles formed bysets of three points. For example, as discussed in [19] about constraining the end of a beam modeledusing the Absolute Nodal Coordinate Formulation (ANCF) to a rigid body, lower pairs can be efficientlyformulated in most cases, although, to the author’s knowledge, a general approach has not been proposedyet. The problem is addressed by many authors [20–23].

To reduce software duplication, and to allow specific joints to change morphology during the analysis,a simple and effective framework was formulated in [1], which accommodates for lower pairs and a broadfamily of more sophisticated constraints based on a simple and effective expression of the relative positionand orientation between two bodies.

6.2 Operations with Constraint Equations

We need to manipulate the constraint equations in several manners. With reference to holonomic con-straints, φ = 0:

• since they are usually nonlinear, we need to linearize them, to find a solution to the constraineddynamics problems,

φ+ φ/q∆q = 0 (6.4)

• sometimes we need to consider the time derivative of the constraint equations, as in the case ofsome formulations, or for the so-called constraint stabilization,

φ = φ/qq + φ/t = 0 (6.5)

• their time derivatives need to be linearized as well,

φ+∆φ = φ+ φ/q∆q +(

φ/qq + φ/t

)

/q∆q = 0 (6.6)

• we need to consider their virtual perturbation,

δφ = φ/qδq (6.7)

to formulate the reaction forces, f c = φT/qλ from their virtual work, δqTf c = δφTλ = δqTφT

/qλ.

All these operations imply the computation of the so-called Jacobian matrix of the constraint equation,

A = φ/q (6.8)

When dealing with non-holonomic constraints, Aq = b, we similarly have:

• linearization,

Aq − b+∆(Aq − b) = Aq − b+A∆q + (Aq − b)/q ∆q = 0 (6.9)

6-3

Page 71: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

• virtual perturbation,

Aδq = 0 (6.10)

In the following, we formulate the above reported differentiations of common constraints, while providinggeneral indications for the definition of new constraints.

6.3 Position Constraints

6.3.1 Spherical Hinge

A spherical hinge is a connection between two parts that only allows relative rotation between the parts.It is the lower pair of type “e” in Fig. 6.1.

Its formulation can be cast as: two points, each belonging to one of the parts, must remain coincident.Each part is identified by a reference point, whose absolute position is pp, and by an orientation, Rp.Each point of constraint, xp, may be offset from the part’s reference point by an offset, op, which isusually constant in the reference frame of the part.

Thus, the position of the constraint point with respect to each part is

xa = pa +Raoa = pa + oa (6.11a)

xb = pb +Rbob = pb + ob (6.11b)

The constraint equation requires the two positions, xa and xb, to be coincident all times, namely

φ = xb − xa = 0 (6.12)

According to Eq. (6.12), φ ∈ R3; as such, it eliminates 3 degrees of freedom.

Exercise 6.1 (Spherical hinge with no offsets). Formulate the constraint equation of a sphericalhinge with no offsets.

0 = φ = pb − pa (6.13)

Exercise 6.2 (Derivative of spherical hinge with no offsets). Formulate the time derivative of theconstraint equation of a spherical hinge with no offsets.

0 = φ = pb − pa =[I −I

]pbpa

(6.14)

Exercise 6.3 (Linearization of spherical hinge with no offsets). Formulate the linearization of theconstraint equation of a spherical hinge with no offsets.

0 = ∆φ = ∆pb −∆pa =[I −I

]

∆pb∆pa

(6.15)

6-4

Page 72: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Exercise 6.4 (Linearization of derivative of spherical hinge with no offsets). Formulate the lin-earization of the time derivative of the constraint equation of a spherical hinge with no offsets.

0 = ∆φ = ∆pb −∆pa =[I −I

]

∆pb∆pa

(6.16)

Exercise 6.5 (Virtual perturbation of spherical hinge with no offsets). Formulate the virtual per-turbation of the constraint equation of a spherical hinge with no offsets.

0 = δφ = δpb − δpa =[I −I

]δpbδpa

(6.17)

Exercise 6.6 (Derivative of spherical hinge). Formulate the time derivative of the constraint equa-tion of a spherical hinge.

Consider the time derivative of Eq. (6.12):

0 = φ = xb − xa

= pb + ωb × ob − pa − ωa × oa

[I −ob × −I −oa ×

]

pbωb

paωa

(6.18)

Homework 6.1 (Linearization of spherical hinge). Formulate the linearization of the constraintequation of a spherical hinge.

Homework 6.2 (Linearization of derivative of spherical hinge). Formulate the linearization of thetime derivative of the constraint equation of a spherical hinge.

Homework 6.3 (Virtual perturbation of spherical hinge). Formulate the virtual perturbation of theconstraint equation of a spherical hinge.

Exercise 6.7 (Spherical hinge in relative frame). Formulate the spherical hinge in the relative frameof part a

φ = RTa (xb − xa) = 0 (6.19)

Exercise 6.8 (Linearization of spherical hinge in relative frame). Formulate the linearization of thespherical hinge in the relative frame of part a.

6-5

Page 73: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

0 = ∆φ = ∆RTa (xb − xa) +RT

a (∆xb −∆xa)

= RTa θa∆ ×T (xb − xa) +RT

a (∆pb + θb∆ × ob −∆pa − θa∆ × oa)

= RTa [−θa∆ × (xb − xa) + ∆pb + θb∆ × ob −∆pa − θa∆ × oa]

= RTa [∆pb + θb∆ × ob −∆pa − θa∆ × (pb + ob − pa −oa +oa)]

= RTa

[I −ob × −I (pb + ob − pa)×

]

∆pbθb∆∆paθa∆

(6.20)

It is worth noticing that as long as the constraint is complied with, i.e. if xb = xa, then pb+ob−pa =oa, and the same Jacobian matrix of Exercise 6.6 is obtained, pre-multiplied by RT

a .

The constraint reactions resulting from the spherical hinge constraint are

f c = φT/qλ

=

I

−ob×T

−I

oa×T

λ [formulated in the absolute reference frame]

=

I

−ob×T

−I

oa×T

Raλ [formulated in part a’s reference frame] (6.21)

where λ should be interpreted as the vector of the Lagrange multipliers that is naturally defined in thelocal reference frame, rather than a mere transformation of λ from the global to the local frame. Thatis, when the constraint is formulated in part a’s reference frame, the actual reaction unknowns are invector λ, whereas then it is formulated in the absolute frame, the actual reaction unknowns are in vectorλ. Of course, the two solutions are related by λ = Raλ.

Exercise 6.9 (Linearization of spherical hinge constraint reactions). Linearize the constraint reac-tions of the spherical hinge.

Often, when solving the constrained dynamics problem, which is nonlinear, the equations of motionmust be linearized. This is the case, for example, when implicit integration schemes need to be used.As a consequence, also the constraint reactions must be linearized.

In the absolute frame:

∆f c =

I

−ob×T

−I

oa×T

∆λ+

0

−λ×∆ob0

λ×∆oa

=

I

−ob×T

−I

oa×T

∆λ+

0

−λ× θb∆ × ob0

λ× θa∆ × oa

=

I

−ob×T

−I

oa×T

∆λ+

0 0

−λ× ob×T 0

0 0

0 λ× oa×T

θb∆θa∆

(6.22)

6-6

Page 74: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

In the local frame:

∆f c =

I

−ob×T

−I

oa×T

Ra∆λ+

I

−ob×T

−I

oa×T

∆Raλ+

0

−∆ob ×T Raλ

0

∆oa ×T Raλ

=

I

−ob×T

−I

oa×T

Ra∆λ+

I

−ob×T

−I

oa×T

θa∆ ×

(

Raλ)

+

0

−(

Raλ)

×∆ob

0(

Raλ)

×∆oa

=

I

−ob×T

−I

oa×T

Ra∆λ+

I

−ob×T

−I

oa×T

(

Raλ)

×T θa∆ +

0

−(

Raλ)

× θb∆ × ob

0(

Raλ)

× θa∆ × oa

=

I

−ob×T

−I

oa×T

Ra∆λ+

−(

Raλ)

×

ob ×T(

Raλ)

×(

Raλ)

×

−oa ×T(

Raλ)

×

θa∆ +

0

−(

Raλ)

× ob ×T θb∆

0(

Raλ)

× oa ×T θa∆

=

I

−ob×T

−I

oa×T

Ra∆λ+

−(

Raλ)

× 0

ob ×T(

Raλ)

× −(

Raλ)

× ob×T

(

Raλ)

× 0

−oa ×T(

Raλ)

× +(

Raλ)

× oa×T 0

θb∆θa∆

=

I

−ob×T

−I

oa×T

Ra∆λ+

−(

Raλ)

×

ob ×T(

Raλ)

×(

Raλ)

×

−oa ×T(

Raλ)

×

θa∆ +

0

−(

Raλ)

× ob ×T θb∆

0(

Raλ)

× oa ×T θa∆

=

I

−ob×T

−I

oa×T

Ra∆λ+

−(

Raλ)

× 0

ob ×T(

Raλ)

× −(

Raλ)

× ob×T

(

Raλ)

× 0[(

Raλ)

× oa

]

×T 0

θb∆θa∆

(6.23)

6.3.2 Inline Constraint

The inline constraint requires a point that belongs to a part to remain on a line that is connected toanother part. Here we focus on the case in which the line is straight; the generalization to the case of aline with arbitrary shape in space is relatively straightforward.

Consider a straight line attached to part a at a point A, offset by ob from the part’s reference position,and oriented according to part a’s local axis 3. The case of arbitrary orientation can be easily obtainedby re-orienting the axis accordingly.

6-7

Page 75: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Consider a part b, with a point B rigidly attached to it and offset by ob, which is required to stay onthe line.

Define the distance between points A and B as

d = pb + ob − (pa + oa) (6.24)

Point B belongs to the line when its distance from the line, defined as the shortest straight path from Bto the line, or as the component of d that is normal to the line that passes through B, vanishes. Thisresults in two constraint equations,

φ =

eT1 d

eT2 d

=

[eT1eT2

]

d =[e1 e2

]Td = 0 (6.25)

There is a strong similarity between the spherical hinge and the inline joint, in that one obtains thespherical hinge by also constraining the relative displacement along local axis 3, by adding the equationeT3 d = 0.

Homework 6.4 (Inline constraint). Based on what developed for the spherical hinge constraintequations written in the local frame, formulate the time derivative, linearization, virtual perturbation,and reaction forces associated with the inline constraint.

Homework 6.5 (Inline constraint along arbitrarily curved line in space). How the inline joint couldbe formulated to prescribe the displacement along an arbitrarily curved line in space, for exampleknown in parametric form, e.g. as the position vector p = p(ξ) defined as a function of a curvilinearabscissa ξ along the line?

6.3.3 Inplane Constraint

The inplane constraint requires a point that belongs to a part to remain on a surface that is connectedto another part. Here we focus on the case in which the surface is flat; the generalization to the case ofa surface with arbitrary shape in space is relatively straightforward.

Consider a flat surface attached to part a at a point A, offset by ob from the part’s reference position,and with the normal oriented according to part a’s local axis 3. The case of arbitrary orientation can beeasily obtained by re-orienting the normal accordingly.

Consider a part b, with a point B rigidly attached to it and offset by ob, which is required to stay onthe surface.

Define the distance between points A and B as

d = pb + ob − (pa + oa) (6.26)

Point B belongs to the surface when its distance from the surface, defined as the shortest straight pathfrom B to the surface, or as the component of d that is normal to the surface that passes through B,vanishes. This results in a single constraint equation,

φ = eT3 d = 0 (6.27)

There is a strong similarity between the spherical hinge and the inplane joint, in that one obtains thespherical hinge by also constraining the relative displacement along local axes 1 and 2, by adding theequations eT1 d = 0 and eT2 d.

Homework 6.6 (Inplane constraint). Based on what developed for the spherical hinge constraintequations written in the local frame, formulate the time derivative, linearization, virtual perturbation,and reaction forces associated with the inplane constraint.

6-8

Page 76: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 6.7 (Inplane constraint on arbitrarily curved surface in space). How the inplane jointcould be formulated to prescribe the displacement on an arbitrarily curved surface in space, for ex-ample known in parametric form, e.g. as the position vector p = p(ξ, η) defined as a function of apair of curvilinear abscissae ξ, η on the surface?

Homework 6.8 (Spherical hinge, inline and inplane constraints with prescribed displacement).Based on what developed for the spherical hinge constraint equations written in the local frame,formulate a constraint that prescribes some components of the relative displacement in the localframe, while allowing others.

6.3.4 Distance Constraint

The distance constraint requires two points on two parts to maintain a prescribed distance, d. Thedistance can be calculated as the norm of the difference between the positions of the two points.

Each part is identified by a reference point, whose absolute position is pp, and by an orientation,Rp. Each point of constraint, xp, may be offset from the part’s reference point by an offset, op, whichis usually constant in the reference frame of the part.

Thus, the position of the constraint point with respect to each part is

xa = pa +Raoa = pa + oa (6.28a)

xb = pb +Rbob = pb + ob (6.28b)

and the distance is

d = ‖xb − xa‖ (6.29)

Let

d = xb − xa (6.30)

Then

d =√

dTd (6.31)

The algebraic equation that expresses the distance kinematic constraint is thus

φ = d− α(t) = 0 (6.32)

with φ ∈ R; as such, the distance constraint eliminates 1 degree of freedom.

Exercise 6.10 (Distance constraint with no offsets). Formulate the constraint equation of a distanceconstraint with no offsets.

d = pb − pa (6.33)

d =∥∥∥d

Td

∥∥∥ =

(

dTd)1/2

(6.34)

0 = φ = d− α(t) (6.35)

6-9

Page 77: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Exercise 6.11 (Derivative of distance constraint with no offsets). Formulate the time derivative ofthe constraint equation of a distance constraint with no offsets.

0 = φ = d− α (6.36)

d =1

2

(

dTd)−1/2

2dT d

=(

dTd)−1/2

dT (pb − pa) (6.37)

i.e.

0 = φ = d− α(t)

=(

dTd)−1/2 [

dT −dT]pbpa

− α(t)

=[nT −nT

]pbpa

− α(t) (6.38)

where n is the unit vector that results from the normalization of d.

Exercise 6.12 (Linearization of distance constraint with no offsets). Formulate the linearization ofthe constraint equation of a distance constraint with no offsets.

0 = ∆φ = ∆d (6.39)

∆d =1

2

(

dTd)−1/2

2dT∆d

=(

dTd)−1/2

dT (∆pb −∆pa) (6.40)

i.e.

0 = ∆φ = ∆d

=(

dTd)−1/2 [

dT −dT]

∆pb∆pa

=[nT −nT

]

∆pb∆pa

(6.41)

Homework 6.9 (Linearization of derivative of distance constraint with no offsets). Formulate thelinearization of the time derivative of the constraint equation of a distance constraint with no offsets.

Homework 6.10 (Virtual perturbation of distance constraint with no offsets). Formulate the virtualperturbation of the constraint equation of a distance constraint with no offsets.

Exercise 6.13 (Derivative of distance constraint). Formulate the time derivative of the constraintequation of a distance constraint.

6-10

Page 78: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

0 = φ = d− α (6.42)

d =1

2

(

dTd)−1/2

2dT d

=(

dTd)−1/2

dT (pb + ωb × ob − pa − ωa × oa) (6.43)

i.e.

0 = φ = d− α(t)

=(

dTd)−1/2 [

dT −dTob × −dT dToa ×]

pbωb

paωa

− α(t)

=[

nT − (n× ob)T

−nT (n× oa)T]

pbωb

paωa

− α(t) (6.44)

where n is the unit vector that results from the normalization of d.

Homework 6.11 (Property of vector cross-product). Show that nToa × ≡ (n× oa)T.

Homework 6.12 (Linearization of distance constraint). Formulate the linearization of the constraintequation of a distance constraint.

Homework 6.13 (Linearization of derivative of distance constraint). Formulate the linearizationof the time derivative of the constraint equation of a distance constraint.

Homework 6.14 (Virtual perturbation of distance constraint). Formulate the virtual perturbationof the constraint equation of a distance constraint.

The constraint reactions resulting from the distance constraint are

f c = φT/qλ =

n

−n× ob−nn× oa

λ (6.45)

Homework 6.15 (Linearization of distance constraint reactions). Linearize the constraint reactionsof the distance constraint.

6.4 Orientation Constraints

6.4.1 Parallelism and Orthogonality

The parallelism constraint requires two parts to have the same relative orientation; a variant requirestheir relative orientation to differ by a constant rotation. It corresponds to the lower pair of type “b”(prismatic) in Fig. 6.1, when relative displacement between the parts is only allowed along one axis.

6-11

Page 79: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Consider two parts, whose absolute orientation is described by matricesRp, with p ∈ a, b. In principle,one could express this constraint2 as

Rb −Ra = 0 (6.46)

however, such form is rather inefficient, because it consists of 9 equations that are not independent, sinceboth orientation matrices are subjected to 6 orthogonality conditions each.

One should rather exploit the orthogonality condition and pre-multiply Eq. (6.46) by either RTa or

RTb (let’s consider the former), to obtain

RTaRb −RT

aRa︸ ︷︷ ︸

I

= 0 (6.47)

The 9 constraint equations of Eq. (6.47) formally reduce to:

(1, 1) eTa1eb1 = 1 (6.48a)

(1, 2) eTa1eb2 = 0 (6.48b)

(1, 3) eTa1eb3 = 0 (6.48c)

(2, 1) eTa2eb1 = 0 (6.48d)

(2, 2) eTa2eb2 = 1 (6.48e)

(2, 3) eTa2eb3 = 0 (6.48f)

(3, 1) eTa3eb1 = 0 (6.48g)

(3, 2) eTa3eb2 = 0 (6.48h)

(3, 3) eTa3eb3 = 1 (6.48i)

where epiis the ith column of the orientation matrix of part p.

Equations (6.48) are not independent, as previously mentioned. In principle, any 3 of them shouldbe sufficient to prescribe the desired parallelism condition; however, some choices are better than others.

For example, the diagonal choices (1,1), (2,2), (3,3) are rather inefficient, since they are of secondorder with respect to a violation of parallelism. In fact, considering a perturbation ϑ of the alignmentbetween eai

and ebi , with i ∈ 1, 3, the scalar product of eaiand ebi would yield

eTaiebi = cosϑ ≈ 1−

ϑ2

2(6.49)

On the contrary, any of the off-diagonal conditions is of first order with respect to a violation of paral-lelism:

eTaiebj = sinϑ ≈ ϑ i 6= j (6.50)

A convenient choice is

φ = ax(

skw(

RTaRb

))

= ax

(

RTaRb −RT

b Ra

2

)

=1

2

eTa3eb2 − e

Ta2eb3

eTa1eb3 − e

Ta3eb1

eTa2eb1 − e

Ta1eb2

= 0 (6.51)

namely, the skew-symmetric terms of the relative rotation matrix.

Homework 6.16 (Skew-symmetric part of rotation matrix). Extract the skew-symmetric part ofthe rotation matrix expressed according to Euler-Rodriguez’s formula, Eq. (A.6.

2The case of constant relative orientation may be easily obtained by redefining either Rb ::= RbRr or Ra ::= RaRTr ,

where Rr is the constant relative orientation between the two parts.

6-12

Page 80: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 6.17 (Parallelism as constraining the skew-symmetric part of the relative rotationmatrix). Show that Eq. (6.51), which extracts from the relative rotation matrix the vector that repre-sents its skew-symmetric part, corresponds to enforcing no relative rotation between the parts (Hint:express the relative rotation using the Euler vector).

An even better approach would require the concept of rotation as exponential map (see Section 2.2.2):

φ = ax(

exp−1(

RTaRb

))

= θr = 0 (6.52)

where θr is the vector that describes the relative rotation between parts a and b according to Eq. (A.6.

Homework 6.18 (Parallelism as constraining the logarithm of the relative rotation matrix). Showthat Eq. (6.52), which extracts from the relative rotation matrix the relative rotation vector, corre-sponds to enforcing no relative rotation between the parts (Hint: express the relative rotation usingthe Euler vector).

Exercise 6.14 (Linearization of parallelism constraint equation). Linearize the constraint equationthat expresses the parallelism condition.

Without loss of generality, consider the first element of the constraint vector of Eq. (6.51); itslinearization yields

∆(eTa3eb2 − e

Ta2eb3)= ∆eTa3

eb2 + eTa3∆eb2 −∆eTa2

eb3 − eTa2∆eb3

= eTb2∆ea3+ eTa3

∆eb2 − eTb3∆ea2

− eTa2∆eb3 (6.53)

Each of the columns of the orientation matrices can be written as

epi= Rpei (6.54)

with (see Eq. (2.10))

ei =

δ1iδ2iδ3i

(6.55)

being δji Kronecker’s operator, i.e. δji = 1 when j ≡ i and zero otherwise.The perturbation of the columns of the orientation matrices thus yield

∆epi= ∆Rpei = θp∆ ×Rpei = θp∆ × epi

(6.56)

which implies

∆(eTa3eb2 − e

Ta2eb3)= eTb2θa∆ × ea3

+ eTa3θb∆ × eb2 − e

Tb3θa∆ × ea2

− eTa2θb∆ × eb3

= eTb2ea3×T θa∆ + eTa3

eb2 ×T θb∆ − eTb3ea2

×T θa∆ − eTa2eb3 ×

T θb∆

= (ea3× eb2)

Tθa∆ + (eb2 × ea3

)Tθb∆ − (ea2

× eb3)Tθa∆ − (eb3 × ea2

)Tθb∆

= (eb2 × ea3− eb3 × ea2

)T(θb∆ − θa∆)

= (eb2 × ea3+ ea2

× eb3)T(θb∆ − θa∆) (6.57)

Homework 6.19 (Geometric interpretation of parallelism constraint Jacobian matrix). Can yougive a geometric interpretation of vectors eb2 × ea3

and ea2× eb3 that appear in the definition of the

parallelism constraint linearization?

6-13

Page 81: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Repeating the process for the other two equations, and collecting the rotation increments, oneobtains

∆φ =1

2

[eb2 × ea3

+ ea2× eb3 eb3 × ea1

+ ea3× eb1 eb1 × ea2

+ ea1× eb2

]T(θb∆ − θa∆)

= Apar (θb∆ − θa∆) (6.58)

with

Apar =1

2

[eb2 × ea3

+ ea2× eb3 eb3 × ea1

+ ea3× eb1 eb1 × ea2

+ ea1× eb2

]T

=1

2

(eb2 × ea3+ ea2

× eb3)T

(eb3 × ea1+ ea3

× eb1)T

(eb1 × ea2+ ea1

× eb2)T

(6.59)

Notice that each row of matrix Apar may become ill-conditioned if the two unit vectors in each crossproduct tend to become parallel, i.e. if two directions which should be mutually orthogonal (recallthat we desire that eTbieaj

≡ 0 for i 6= j) become close to each other. This can only occur far fromconvergence, when the angle between the two unit vectors significantly departs from π/2.

Homework 6.20 (Derivative of parallelism constraint equation). Compute the time derivative ofthe constraint equation that expresses the parallelism condition.

Homework 6.21 (Linearization of derivative of parallelism constraint equation). Linearize the timederivative of the constraint equation that expresses the parallelism condition.

Homework 6.22 (Virtual perturbation of parallelism constraint equation). Compute the virtualperturbation of the constraint equation that expresses the parallelism condition.

The constraint reactions resulting from the parallelism constraint are

f c = φT/qλ =

[AT

par

−ATpar

]

λ (6.60)

with Apar defined in Eq. (6.59).

Homework 6.23 (Linearization of parallelism constraint reactions). Linearize the constraint reac-tions of the parallelism constraint.

6.4.2 Revolute Constraint

The revolute constraint allows the relative rotation of two parts about one axis, which is in commonbetween the two parts. It is the lower pair of type “a” in Fig. 6.1 when the relative displacement betweenthe parts is fully constrained, i.e. in addition to the spherical hinge of Section 6.3.1; it also correspondsto the lower pair of type “d” (cylindrical) when relative displacement is only allowed along the axis of thehinge, or to the lower pair of type “f” (planar) when relative displacement is allowed in the plane normalto the axis of the hinge.

Assume, for example, that the two parts must share axis 3, i.e. that axis 3 of part a must remainparallel to axis 3 of the other part, b, whereas the relative rotation of the two parts about that axis maybe arbitrary. In (naıve) formulas,

eb3 − ea3= 0 (6.61)

6-14

Page 82: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

However, Eq. (6.61) is incorrect, as it formally eliminates 3 degrees of freedom, whereas a revoluteconstraint only eliminates 2.

The correct formulation of the constraint equation consists in enforcing orthogonality of axis 3 ofeach part with respect to the other two axes of the other part, namely

eTa3eb1 = 0 eTa3

eb2 = 0 (6.62a)

eTb3ea1= 0 eTb3ea2

= 0 (6.62b)

Formally, borrowing from Eq. (6.51) of the parallelism constraint, one can express the constraint equationof the revolute constraint as

φ = Erevax(

skw(

RTaRb

))

=

[1 0 00 1 0

]1

2

eTa3eb2 − e

Ta2eb3

eTa1eb3 − e

Ta3eb1

eTa2eb1 − e

Ta1eb2

= 0 (6.63)

i.e. only enforcing the two constraint equations that restrain the non-allowed relative rotation.

Homework 6.24 (Linearization of revolute constraint equation). Linearize the constraint equationthat expresses the revolute constraint.

Homework 6.25 (Derivative of revolute constraint equation). Compute the time derivative of theconstraint equation that expresses the revolute constraint.

Homework 6.26 (Linearization of derivative of revolute constraint equation). Linearize the timederivative of the constraint equation that expresses the revolute constraint.

Homework 6.27 (Virtual perturbation of revolute constraint equation). Compute the virtual per-turbation of the constraint equation that expresses the revolute constraint.

The constraint reactions resulting from the revolute constraint are

f c = φT/qλ =

[AT

parETrev

−ATparE

Trev

]

λ (6.64)

with Apar defined in Eq. (6.59).

Exercise 6.15 (Jacobian matrix of revolute constraint). Compute the basic block of the Jacobianmatrix of the revolute constraint, Arev = ErevApar.

The basic block of the Jacobian matrix of the revolute constraint, according to the definition ofmatrix Erev, consists of the first two rows of the basic block of the Jacobian matrix of the parallelismconstraint, Apar, of Eq. (6.59).

Homework 6.28 (Linearization of revolute constraint reactions). Linearize the constraint reactionsof the revolute constraint.

6.4.3 Cardan Joint

The Cardan joint (named after Gerolamo Cardano, Pavia 1501–Roma 1576, who first described it in1557), or Hooke joint (after Robert Hooke, Freshwater 1635–London 1703, who rediscovered it in 1663),or universal joint, is intended to transmit torque between two parts that rotate about two loosely alignedaxes, also when those axes are not exactly aligned. It represents perhaps the first example of homokineticjoint; for a discussion of homokinetic joints, see [13].

6-15

Page 83: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

β

a

b

Figure 6.3: Sketch of a Cardano’s joint.

It should actually be pictured as a sequence of three parts (see Fig. 6.3), the middle one connectedto the other two by mutually orthogonal revolute constraints.

The formulation of the constraint equation consists in enforcing orthogonality of axes 1 and 2 of bothparts, namely

eTa1eb2 = 0 eTa2

eb1 = 0 (6.65)

Formally, borrowing from Eq. (6.51) of the parallelism constraint, one can express the constraint equationof the universal constraint as

φ = Eunvax(

skw(

RTaRb

))

=[0 0 1

] 1

2

eTa3eb2 − e

Ta2eb3

eTa1eb3 − e

Ta3eb1

eTa2eb1 − e

Ta1eb2

= 0 (6.66)

i.e. only enforcing the constraint equation that restrains the non-allowed relative rotation.

Homework 6.29 (Linearization of universal constraint equation). Linearize the constraint equationthat expresses the universal constraint.

Homework 6.30 (Derivative of universal constraint equation). Compute the time derivative of theconstraint equation that expresses the universal constraint.

Homework 6.31 (Linearization of derivative of universal constraint equation). Linearize the timederivative of the constraint equation that expresses the universal constraint.

Homework 6.32 (Virtual perturbation of universal constraint equation). Compute the virtual per-turbation of the constraint equation that expresses the universal constraint.

The constraint reactions resulting from the universal constraint are

f c = φT/qλ =

[AT

parETunv

−ATparE

Tunv

]

λ (6.67)

with Apar defined in Eq. (6.59).

Homework 6.33 (Linearization of universal constraint reactions). Linearize the constraint reactionsof the universal constraint.

6-16

Page 84: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 6.34 (Lower pair of type“a” (revolute)). Formulate the lower pair of type “a” (revolute)in Fig. 6.1 (Hint: combine a spherical hinge and a revolute constraint).

Homework 6.35 (Lower pair of type “b” (prismatic)). Formulate the lower pair of type “b” (pris-matic) in Fig. 6.1 (Hint: combine an inline constraint and a parallelism constraint).

Homework 6.36 (Lower pair of type “c” (screw)). Formulate the lower pair of type “c” (screw) inFig. 6.1.

Homework 6.37 (Lower pair of type “d” (cylindrical)). Formulate the lower pair of type “d” (cylin-drical) in Fig. 6.1 (Hint: combine an inline constraint and a revolute constraint).

Homework 6.38 (Lower pair of type “f” (planar)). Formulate the lower pair of type “f” (planar)in Fig. 6.1 (Hint: combine a planar constraint and a revolute constraint).

Homework 6.39 (Invent your own kinematic constraint). Invent your own kinematic constraint:define it, formulate the corresponding algebraic equation, its linearization, time derivative, virtualperturbation, and the corresponding constraint reaction forces (See for example [13]).

6-17

Page 85: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

6-18

Page 86: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 7

Minimal Coordinate Set

The objective of the minimal coordinate set (MCS) approach is to reduce the previously defined con-strained dynamics problem

Mu+ φT/uλ = f (u,u, t) (7.1a)

φ (u, t) = 0 (7.1b)

written in terms of the set of unconstrained coordinates u, to the minimal set of coordinates that aretruly independent when the constraints φ are enforced. We focus on the case of holonomic constraints;the case of non-holonomic ones is straightforward.

As long as the problem is formulated as a MCS, it is governed by ordinary differential equations(ODEs), since constraint equations become embedded in the definition of the independent coordinates.As a consequence, it can be solved by numerical integration using either unconditionally stable algorithms,when the time resolution needs to be dictated by accuracy, or conditionally stable ones, taking thenecessary provisions required to ensure algorithmic stability. In the latter case, the use of explicitalgorithms, which offer simplicity and fixed computational cost, becomes appealing.

7.1 Coordinate Reduction

Formally, we are looking for a relationship that expresses the original coordinate set, u ∈ Rn, as a

function of a new set of coordinates q ∈ Rn−m that naturally and intrinsically account for the m

constraints described by equations φ ∈ Rm, namely

u = u (q, t) (7.2)

Such relationship, if available, would need to intrinsically comply with the constraints, namely

φ (u, t) = φ (u (q, t) , t) ≡ 0 (7.3)

Since the constraint equations φ are typically nonlinear with respect to the original coordinates (forexample because of rotations), such relationship is not straightforward to be determined in closed form,except in special cases (for instance, in case of special topologies and specific choices of coordinates, asis often the case in robotics).

Nonetheless, it is usually straightforward to obtain the desired representation at the coordinate timederivative (i.e. velocity) level, starting from the time derivative of the constraint equations,

dt=∂φ

∂uu+

∂φ

∂t= φ/uu+ φ/t

︸︷︷︸

−b′

= φ/uu− b′ = 0 (7.4)

Notice that the non-holonomic constraint equation has the same structure of Eq. (7.4), thus the non-holonomic case can be dealt with along the same lines that are discussed in the following.

7-1

Page 87: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

7.1.1 Coordinate Partitioning

A simple way to reduce the problem to a minimal set of coordinates is to choose, among the originalcoordinates u, those that are to be considered independent, q = ui ∈ R

n−m, and express the remaining,dependent ones, ud ∈ R

m, as functions of the independent ones.This can be easily performed at the velocity level, considering Eq. (7.4), rearranging the Jacobian

matrix of the constraints accordingly,

φ/uiui + φ/ud

ud − b′ = 0 (7.5)

such that the dependent coordinate derivatives are

ud = −φ−1/ud

(

φ/uiui − b

′)

(7.6)

Matrix φ/ud∈ Rm×m is (obviously) square and invertible as long as the constraints are not redundant,

and generally not ill-conditioned except in the vicinity of a singularity configuration.The coordinates can thus be represented as

u =

ui

ud

=

[I

−φ−1/ud

φ/ui

]

q +

0

φ−1/ud

b′

= Tq + t (7.7)

Homework 7.1 (Verify that partitioned coordinates comply with constraints). Verify that thederivatives of the partitioned coordinates of Eq. (7.7) satisfy the derivative of the constraint equation.

In the inertia forces we need the second derivative of the coordinates, which yields

u = Tq + Tq + t = Tq + h (7.8)

We can replace the second derivative of the coordinates in the equation of motion and pre-multiply theequation by the transpose of the coordinate transformation matrix,

TTM (Tq + h) +TTφT/uλ = TTf (7.9)

After noticing that by construction

TTφT/u =

[

I −φT/uiφ−T

/ud

][

φT/ud

φT/ui

]

= 0 (7.10)

the problem can be rearranged as

TTMTq = TT (f −Mh) (7.11)

The resulting equations are pure: the constraint reactions have been eliminated by projection in thesubspace of the coordinates that is tangent to the constraint manifold. The reduced mass matrix ispositive definite as long as matrix M > 0 and the coordinate transformation matrix T is full rank.

Eqs. (7.11) are named after Maggi-Kane. Gianantonio Maggi (Milano, 1856-Milano 1937) formulatedthem in the late nineteenth century in application to systems of non-holonomic constraints [24]. Theywere later independently reformulated by Thomas Reif Kane (1924–2019) in 1965 [25]. The equivalenceof the two formulated was recognized in [26].

Homework 7.2 (Justify the pre-multiplication of the EoM by the transpose of the transformationmatrix). Justify in Eq. (7.9) the pre-multiplication of the equations of motion of Eq. (7.1a) by thetranspose of the transformation matrix T of Eq. (7.7).

7-2

Page 88: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The solution of the problem consists in the integration of Eq. (7.11) to obtain q,

q =(

TTMT)−1

TT (f −Mh) (7.12)

and then of Eq. (7.7) to obtain u.However, in case of holonomic constraints, there is no guarantee that the result of the integration of

Eq. (7.7) yields a set of constraint compliant coordinates. The result of the integration might drift awayfrom the constraint manifold, although remaining tangent to it at the velocity level. Precautions mustbe taken to guarantee constraint compliance, as discussed in Section 7.1.4.

Exercise 7.1 (Point mass pendulum by coordinate partitioning). Write the MCS equations of apoint mass pendulum using coordinate partitioning.

Consider an initially unconstrained point mass of mass m, whoseposition in the vertical plane is described by the coordinates xand z, subjected to gravity. To turn it into a pendulum, add theconstraint x2 + y2 − L2 = 0.The equations of motion are

mx+ 2xλ = 0 (7.13a)

mz + 2zλ = −mg (7.13b)

x2 + z2 − L2 = 0 (7.13c)

g

L

m

xz

Consider the time derivative of the constraint equation,

2xx+ 2zz = 0 (7.14)

Set x = q; then

z = −x

zq (7.15)

andxz

=

[1

−x/z

]

q (7.16)

The transformation is not defined for z = 0, and ill-conditioned when the pendulum is nearlyhorizontal. The second derivative of the coordinates yields

xz

=

[1

−x/z

]

q +

[0

−x/z + zx/z2

]

q

=

[1

−x/z

]

q +

[0

−1/z(1 + x2/z2)

]

q2 (7.17)

The MCS problem is

[1 −x/z

][m 00 m

] [1

−x/z

]

q

=[1 −x/z

](

0−mg

[m 00 m

] [0

−1/z(1 + x2/z2)

]

q2)

(7.18)

i.e.

m

(

1 +x2

z2

)

q =x

zmg −

x

z2m

(

1 +x2

z2

)

q2 (7.19)

7-3

Page 89: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Linearize the equation about the equilibrium configuration x = 0, z = −L, q = 0:

mq = −mg

Lq (7.20)

i.e. the expected equation of the linearized pendulum is found.Now, set q = z; then

x = −z

xq (7.21)

The transformation is not defined for x = 0, and ill-conditioned when the pendulum is nearly vertical.In conclusion, there might be no unique choice of the independent coordinate; each choice might

not be valid for all configurations; the resulting equations, although pure, may contain strong non-linearities.

7.1.2 Coordinate Reduction and Orthogonality

What is the essential feature of the coordinate transformation devised through coordinate partitioning? Itis its capability to turn the constrained equations of motion into pure equations, intrinsically eliminatingthe constraint reactions. It is the TTφT

/u ≡ 0 property that matters.So one might be tempted to ask:

is there a better way to formulate a coordinate transformation that presents the same prop-erty, namely that produces a subspace of the coordinates that is intrinsically tangent to theconstraint manifold?

The answer, of course, is yes!

An efficient and robust algorithm to determine a suitable coordinate reduction is based on the QRdecomposition [27] of the transpose of the constraint Jacobian matrix, φT

/u:

φT/u = QR =

[Q1 Q2

][

R1

0

]

= Q1R1 (7.22)

where Q ∈ Rn×n is an orthonormal matrix, i.e. QTQ = I, whereas matrix R ∈ R

n×m is composed oftwo blocks: matrix R1 ∈ R

m×m is upper triangular, and the remaining block, of size (n −m) ×m, iszero.

The Jacobian matrix of the constraints is thus represented by the so-called economy QR decomposi-tion, Q1R1; submatrixQ2 represents a convenient subspace that by construction is orthogonal toQ1, andthus is tangent to the constraint manifold. By choosing T = Q2, one obtains TTφT

/q = QT2 Q1R1 ≡ 0.

Define

u = Q2q +Q1p′ (7.23)

where p′ ∈ Rm is an unknown vector, that is computed by replacing Eq. (7.23) in the derivative of the

constraint equation, Eq. (7.4),

φ/u (Q2q +Q1p′)− b′ = RT

1 Q1Q2︸ ︷︷ ︸

0

q +RT1 QT

1 Q1︸ ︷︷ ︸

I

p′ − b′ = 0 (7.24)

which yields

p′ = R−T1 b′ (7.25)

Notice that since R1 is upper triangular, its factorization is not required; only a back-substitution isneeded.

7-4

Page 90: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

The derivative of the original coordinates can be written as

u = Q2q +Q1R−T1

︸ ︷︷ ︸

φ+

/u

b′ (7.26)

i.e. Q1R−T1 is the Moore-Penrose pseudo-inverse of the constraint Jacobian matrix.

Homework 7.3 (Pseudo-inverse of constraint Jacobian matrix in QR form). Show that the Moore-Penrose pseudo-inverse of the constraint Jacobian matrix is φ+

/u = Q1R−T1 .

The second derivative of the coordinates is needed; it can be expressed as

u = Q2q +Q1p′′ (7.27)

assuming that whatever is not proportional to q must be in the subspace that is orthogonal to theconstraint manifold, proportional to the unknown vector p′′ ∈ R

m. To determine p′′ we need the secondtime derivative of the holonomic constraint equation (or the first time derivative of the non-holonomicconstraint equation), namely

φ =dφ

dt

=d

dt

(

φ/uu+ φ/t

)

= φ/uu+∂

∂u

(

φ/uu+ φ/t

)

u+∂

∂t

(

φ/uu+ φ/t

)

︸ ︷︷ ︸

−b′′

φ/uu− b′′ (7.28)

Substituting Eq. (7.27) in Eq. (7.28) one obtains

φ/u (Q2q +Q1p′′)− b′′ = RT

1 QT1 Q2

︸ ︷︷ ︸

0

q +RT1 QT

1 Q1︸ ︷︷ ︸

I

p′′ − b′′ = 0 (7.29)

which yields

p′′ = R−T1 b′′ (7.30)

so the second derivative of the original coordinates can be rewritten as

u = Q2q +Q1R−T1 b′′ = Q2q + φ

+/ub

′′ (7.31)

The minimal set equations of motion after projection by matrix T = Q2 become

QT2 M

(

Q2q + φ+/ub

′′)

+QT2 φ

T/uλ = QT

2 f (7.32)

Noticing that QT2 φ

T/u = QT

2 Q1R1 ≡ 0, one obtains

QT2 MQ2q = QT

2

(

f −Mφ+/ub

′′)

(7.33)

Equation (7.33) is equivalent to Eq. (7.11). The solution is obtained by integrating Eq. (7.33) to obtainq,

q =(

QT2 MQ2Q

T2

)−1 (

f −Mφ+/ub

′′)

(7.34)

7-5

Page 91: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

and then of Eq. (7.23) to obtain u, with the already mentioned caveats on the need to guaranteecompliance of u resulting from the integration of the differential relationship between the reduced andoriginal coordinate sets with the constraints, which will be addressed in Section 7.1.4.

Exercise 7.2 (Point mass pendulum by QR decomposition). Write the MCS equations of a pointmass pendulum using the QR decomposition to find a suitable set of coordinates.

Consider the same problem of Exercise 7.1. The QR decomposition of the transpose of theconstraint Jacobian matrix is

φT/u =

[2x2y

]

= QR =

[Q11 Q12

Q21 Q22

] [R1

0

]

(7.35)

Matrix Q must be orthonormal; as such, its coefficients are subjected to three algebraic constraintsthat express orthogonality,

Q11Q12 +Q21Q22 = 0 (7.36)

and unit normalization of each column,

Q211 +Q2

21 = 1 (7.37a)

Q212 +Q2

22 = 1 (7.37b)

As such, it is convenient to express it as if it represented a rotation θ about axis y, namely

R =

[cos θ sin θ− sin θ cos θ

]

(7.38)

which yields[

2x2z

]

=

[R1 cos θ−R1 sin θ

]

(7.39)

i.e.

4x2 + 4z2 = R21 cos

2 θ +R21 sin

2 θ → R1 = 2√

x2 + z2 → R1 = 2L (7.40a)

R1 sin θ

R1 cos θ=

−2z

2x→ tan θ = −

z

x→ θ = tan−1

( z

x

)

(7.40b)

or

R1 = 2L (7.41a)

Q1 =

[x/L−z/L

]

(7.41b)

Q2 =

[z/Lx/L

]

(7.41c)

Thenxz

= Q2q =

[z/Lx/L

]

q (7.42)

and, since

d

dt(2xx+ 2zz) = 2xx+ 2zz + 2x2 + 2z2 =

[2x 2z

]

︸ ︷︷ ︸

φ/u

xz

+ 2(x2 + z2

)

︸ ︷︷ ︸

2q2=−b′′

(7.43)

7-6

Page 92: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

thenxz

= Q2q +Q1R−T1 b′′ =

[z/Lx/L

]

q −

[x/L−z/L

]1

2Lq2 (7.44)

The equation of motion is

[z/L x/L

][m 00 m

] [z/Lx/L

]

q

=[z/L x/L

](

0−mg

+

[m 00 m

] [x/L−z/L

]1

2Lq2)

(7.45)

i.e.

mq = −x

Lmg (7.46)

One may observe that

xy

=

[z/Lx/L

]

q =

[− sin θcos θ

]

q (7.47)

thus redefining q = Lθ yields

xy

=

[− sin θcos θ

]

Lθ (7.48)

This expression is integrable; it yields

xy

=

[cos θsin θ

]

L (7.49)

The equation of motion can be rewritten as

mθ = −mg

Lcos θ (7.50)

Redefining θ = ϕ− π/2, i.e. rewriting it as a perturbation ϕ with respect to the stable equilibriumsolution (pendulum pointing downwards), one obtains

mϕ+mg

Lsinϕ = 0 (7.51)

i.e. the usual pendulum equation, written using the angle as coordinate.The formulation of the equation of motion written using the coordinate obtained through the

QR decomposition is valid for the entire domain q ∈ R and never becomes ill-conditioned.

7.1.3 Other Projection Methods

TODO: SVD, zero eigenvalue theorem, ...

7.1.4 Compliance with Holonomic Constraints

As already mentioned, when the constraint derivative definition is integrated, the set of unconstrainedcoordinates resulting from the integration might not exactly satisfy the holonomic constraint; on thecontrary, it is likely that the numerical solution drifts away from the constraint manifold. The resultingconstraint violation is destined to increasingly grow unbounded, unless measures are taken to counteract

7-7

Page 93: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

it.One approach is to enforce compliance with the constraint as a correction of the solution resulting

from the integration. Consider u(0) as the predicted solution resulting from the integration of any ofEqs. (7.7) or (7.23), depending on the method that is used to formulate the coordinate projection matrixT.

The holonomic constraint equation, Eq. (7.1b), might not be satisfied by u(0); consider a linearizationof Eq. (7.1b) about the tentative solution u(0) at time t,

φ (u, t) = φ(

u(0), t)

+ φ/u

∣∣∣u(0)

∆u = 0 (7.52)

A solution is sought in the form

∆u = Q1∆ν +Q2∆ψ (7.53)

i.e.

φ(

u(0), t)

+ φ/u

∣∣∣u(0)

∆u = φ(

u(0), t)

+RT1 Q

T1 (Q1∆ν +Q2∆ψ)

= φ(

u(0), t)

+RT1 QT

1 Q1︸ ︷︷ ︸

I

∆ν +RT1 QT

1 Q2︸ ︷︷ ︸

0

∆ψ = 0 (7.54)

which means that the correction is normal to the constraint manifold, i.e. the correction of the solutionis geometrically the smallest amount of displacement that is necessary to compensate the violation ofthe constraint, without adding any undue contributions in directions that are allowed by the constraint.

It yields the solution

∆ν = −R−T1 φ

(

u(0), t)

(7.55)

It is worth recalling once more that matrixR1 does not need to be factored again, as it is upper triangular.As such, a back-substitution suffices.

The solution is updated as

u(1) = u(0) +Q1∆ν (7.56)

and the process is repeated until convergence. Notice that, since matrix φ/u may depend on u, inprinciple it should be updated and QR-decomposed again at each iteration:

∆ν = −R−T1 φ

(

u(i), t)

(7.57a)

u(i+1) = u(i) +Q1∆ν (7.57b)

or

u(i+1) = u(i) −Q1R−T1 φ

(

u(i), t)

= u(i) − φ+/uφ

(

u(i), t)

(7.58)

This kind of correction is needed any time a method only enforces a derivative of the constraint, ratherthan the constraint itself.

7.2 Recursive Formulations

TODO

7-8

Page 94: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 8

Redundant Coordinate Set

To discuss the redundant coordinate set (RCS) approach for the solution of the previously defined con-strained dynamics problem

Mu+ φT/uλ = f (u,u, t) (8.1a)

φ (u, t) = 0 (8.1b)

we need to depart for a while from Eqs. (8.1) and discuss the theory of systems of Differential-AlgebraicEquations (DAEs).

8.1 Differential-Algebraic Equations

Consider a system of differential equations in implicit form,

s (y,y, t) = 0 (8.2)

It is said to be a system of Differential-Algebraic Equations (DAEs) when the partial derivative withrespect to y is structurally singular,

det(

s/y

)

≡ 0 (8.3)

The problem remains well-posed when the matrix pencil

P (γ) = s/y + γs/y (8.4)

is singular at most for a finite number of values of γ 6= 0, which correspond to the inverse of the eigenvaluesλ = 1/γ of the generalized eigenproblem

(

λs/y + s/y

)

∆y = 0 (8.5)

By accurately partitioning the unknowns y in differential, x, and algebraic, z, parts, the problem canbe rewritten as

f (x,x, z, t) = 0 (8.6a)

g (x, z, t) = 0 (8.6b)

or, as is often the case, in the partially explicit form

x = f (x, z, t) (8.7a)

0 = g (x, z, t) (8.7b)

The form of Eqs. (8.7) presents a very interesting interpretation, that will be further developed in asubsequent Section.A

8-1

Page 95: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

8.2 Singular Perturbations Theory Interpretation

This Section presents an interesting interpretation of the DAE problem as the limit of an ordinarydifferential problem. Consider the form

x = f (x, z, ǫ, t) (8.8a)

ǫz = g (x, z, ǫ, t) (8.8b)

with 0 < ǫ. We have a singular perturbations problem when 0 < ǫ ≪ 1, which corresponds to the formof Eqs. (8.7) for ǫ→ 0.

Of course, one could divide Eq. (8.8b) by ǫ and formally obtain a conventional ODE problem.The focus is on the fact that, for ǫ → 0, the dynamics of Eq. (8.8b) is much faster than that of

Eq.(8.8a), the response becoming instantaneous for ǫ = 0, in which Eq. (8.8b) is replaced by Eq. (8.7b),and the problem becomes DAE.

Considering the frquency separation, and under additional assumptions (related to the stability ofthe coupled problem), the singular perturbations problem can be split in two subproblems, which aresolved indepenently.

We are not interested in the details of the singular perturbations theory (the interested reader isreferred to [] FIXME). What we need to point out is that the algebraic part may be seen as a muchfaster dynamical part. When integrated numerically, owing to the time step size, which intrinsicallyviolates the Nyquist-Shannon theorem with respect to the characteristic frequency of the fast dynamics,it responds statically, i.e. in form of an algebraic equation.

The concept may be brought to a limit even in case of analytical solution, for ǫ → 0, withoutconsidering that we mainly focus on the numerical integration of the problem.

Example 8.1 (Slow and fast mechanical subsystems). Consider two masses, m1 and m2, with m1

connected to the ground by a spring of stiffness k1, and connected to each other by another spring ofstiffness k2. Evaluate the characteristic frequencies of the system for k1/m1 → ∞.

k1 k2

m1 m2

x1x2

Equations of motion:

[m1 00 m2

]x1x2

+

[k1 + k2 −k2−k2 k2

]x1x2

=

00

(8.9)

The eigenfrequencies of the problem are

ω21,2 =

1

2

(k2m2

+k1 + k2m1

)

∓1

2

√(k2m2

+k1 + k2m1

)2

− 4k1m1

k2m2

(8.10)

Explicit form:

x2x2

=

x2k2

m2x1 −

k2

m2x2

(8.11a)

x1x1

=

x1

−k1 + k2

m1x1 +

k2

m1x2

(8.11b)

8-2

Page 96: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Divide the second block by k1/m1:

x2x2

=

x2k2

m2x1 −

k2

m2x2

(8.12a)

m1

k1︸︷︷︸

ǫ

x1x1

=

m1

k1x1

(

1 +k2

k1

)

x1 +k2

k1x2

(8.12b)

We obtain a singular values perturbation problem when ǫ = m1/k1 → 0; but this can occur for tworeasons:

• because k1 → ∞, implying that k2/k1 → 0; the second of Eqs. (8.12b),

m1

k1x1 = −

(

1 +k2k1

)

x1 +k2k1x2 (8.13)

reduces to the algebraic equation

0 = −x1 (8.14)

This corresponds to clamping the first mass, making the system equivalent to a single degreeof freedom one, that of mass m2, connected to the now clamped mass m1 by the spring ofstiffness k2:

x2 =k2

m2x1 −

k2m2

x2 (8.15)

In this case, the frequencies tend to

ω1 =

k2m2

ω2 = ∞ (8.16)

• because m1 → 0; the second of Eqs. (8.12b)

m1

k1x1 = −

(

1 +k2

k1

)

x1 +k2

k1x2 (8.17)

reduces to the algebraic equation

0 = −

(

1 +k2k1

)

x1 +k2k1x2 (8.18)

This corresponds to trasforming the series of two springs, k1 and k2, in an equivalent one ofcompliance 1/k = 1/k1 + 1/k2,

x2 =k2m2

x1 −k2m2

x2 =k2m2

k2

k1

1 +k2

k1

x2 −k2m2

x2 = −

1

m2

1

k1+

1

k2

x2 (8.19)

In this case, the frequencies tend to

ω1 =

k

m2=

√√√√√√√

1

m2

1

k1+

1

k2

ω2 = ∞ (8.20)

8-3

Page 97: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

We can have infinitely fast dynamics as a consequence of infinite stiffness (k → ∞, or rigididy) ornegligible inertia (m → 0), both idealizations of practical conditions in which a characteristic of apart of the system is out of scale with respect to the rest of it. In both cases, by taking such scalecondition to its limit one obtains a system of DAEs, where the algebraic part responds instantaeously(i.e. “statically”) to inputs.

From the point of view of numerical integration, we have infinitely fast dynamics as a consequenceof the algebraic portion of the problem, so we need unconditionally stable integration algorithms,as no reduction in time step size can achieve conditional stability. Moreover, we need algorithmicdissipation to remove the spurious effects of infinitely fast dynamics from our numerical solutions.

8.2.1 Slow Subsystem

Back to the original definition of singular perturbations, consider first the case of ǫ → 0. If function ghas distinct solutions z for ǫ = 0 in a neighborhood of x = x0, is differentiable, and its partial derivativewith respect to z is not singular, one can locally compute z = g(x, t) and replace it in f , obtaining

x = f(x, g(x, t), t) with initial conditions x0 and z computed accordingly.This means that the problem is reduced to the minimal set of coordinates that are truly differential

and thus need to be independent. As discussed earlier, the reduction may not be easy in many cases; itis only possible locally, so the reduction may need to be recomputed any time the function f needs tobe evaluated; often the original problem is significantly sparse, and sparsity can be exploited efficientlyto manipulate it, whereas the reduced problem may become dense.

8.2.2 Fast Subsystem

Consider now a pseudo-time τ related to t by the relationship t = t0 + ǫ τ , such that its differentiationconsists in dt = ǫ dτ . The problem of Eqs. (8.8), written in pseudo-time, becomes

x =dx

dt=

1

ǫ

dx

dτ= f (x, z, ǫ, t0 + ǫ τ) (8.21a)

ǫ z = ǫdz

dt=

dz

dτ= g (x, z, ǫ, t0 + ǫ τ) . (8.21b)

Equation (8.21a), rewritten as

dx

dτ= ǫ f (x, z, ǫ, t0 + ǫ τ) , (8.22)

yields limǫ→0 dx/dτ = 0, and thus x = x0. The limit of Eq. (8.21b), after writing z(t) = z(t) + ∆z(τ),yields

d∆z

dτ= g (x0, z +∆z, 0, t0) . (8.23)

As a consequence, the singular perturbation theory provides a useful means to separate the dynamics ofthe slow subsystem, where a static approximation of the fast variables z is used to describe the dynamicsof the slow subsystem, from those of the fast subsystem, whose dynamics is confined in an infinitely fastboundary layer in pseudo-time, at fixed time t = t0. The latter results from the solution of Eq. (8.23)with initial conditions ∆z(0) = z0 − z(t0).

8.3 Concept of Index

To introduce the important concept of index of a system of DAEs we need to formally perform anoperation that consists of a cascade of time derivatives of Eqs. (8.6) or of Eqs. (8.7); hovever,

this operation must NOT be actually performed to solve the problem!

8-4

Page 98: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

It is only intended to justify the notion of index.

Starting from the DAE system in implicit form, one may want to write it in form of ODE by successivedifferentiation with respect to time. Assuming that g is locally invertible, i.e. g/z is not singular, considerits time derivative; the system becomes

x = f (x, z, t) (8.24a)

0 = g/xx+ g/zz + g/t. (8.24b)

Substitute x into the second equation:

x = f (x, z, t) (8.25a)

z = −g−1/z

(

g/xf (x, z, t) + g/t

)

. (8.25b)

The problem is now ODE in both sets of variables, x and z. The index of the DAE system is the numberof derivatives required to write the system in ODE form. In this case, the index is 1.

Note: this does not mean that reducing the system to ODE in this naıve manner is a good approachfor its solution! On the contrary, as illustrated earlier, this is prone to drift, since only higher orderderivatives of the algebraic equations would be actually enforced, and the initial equations wouldessentially be violated.

The larger the index, the more difficult the solution is. In mechanical systems, the maximum index is3, which is characteristic of constrained dynamics problems with holonomic constraints. Higher values ofindex may occur for example in control-related problems and whenever complex, rather indirect algebraicrelationships need to be enforced within the degrees of freedom of our problems.

8.3.1 Index 1 DAE

Index 1 equations are those described earlier, in the form

f (x,x, z, t) = 0 (8.26a)

g (x, z, t) = 0. (8.26b)

A typical example is represented by equations whose algebraic part represents a definition of a term thatis used in the differential part. Consider for example this simple structural dynamics problem:

v = −r + f(u,M−1v, t

)(8.27a)

u = M−1v (8.27b)

r = k (u) , (8.27c)

where u are the positions, v are the momenta, and the algebraic equation contains the definition of thenonlinear elastic force r. Clearly, replacing Eq. (8.27c) in Eq. (8.27a) would make the problem ODE.

The solution of these equations usually does not imply special issues, since the theory for DAEs ofindex 1 is rather complete.

Homework 8.1 (Check of Index 1 DAEs). Reduce Eqs. (8.26) to ODE and check the number ofrequired differentiations.

8-5

Page 99: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

8.3.2 Index 2 DAE

Index 2 equations have the form

f (x,x, z, t) = 0 (8.28a)

g (x, t) = 0, (8.28b)

i.e. the algebraic equation, g, does not directly depend on the algebraic part of the state, z. In this casetwo differentiations are required to write the problem in ODE form. A typical case is represented bynon-holonomic constrains,

v = ATλ+ f(u,M−1v, t

)(8.29a)

u = M−1v (8.29b)

0 = AM−1v − b′. (8.29c)

Homework 8.2 (Check of Index 2 DAEs). Reduce Eqs. (8.28) to ODE and check the number ofrequired differentiations.

8.3.3 Index 3 DAE

There exists a type of index 3 equations, called index 3 Hessenberg, that is very important since itdescribes typical mechanical systems holonomically constrained by kinematic relationships in form ofalgebraic equations,

x1 = f1 (x1,x2, z, t) (8.30a)

x2 = f2 (x1,x2, t) (8.30b)

0 = g (x2, t) . (8.30c)

As one can easily note, the algebraic equation, g, depends only on that differential portion of the state,x2, whose equation, f2, does not contain the algebraic portion of the state itself, z. As a consequence,three differentiations are required to write the problem in ODE form.

The algebraic portion of the state plays the role of constraint reaction forces, usually expressed usingthe Lagrange multipliers, λ. A typical mechanical example is

v = φT/uλ+ f

(u,M−1v, t

)(8.31a)

u = M−1v (8.31b)

0 = φ (u, t) . (8.31c)

The solution of this type of equations implies non-negligible numerical issues.The theory of DAEs of index higher than 1 is far from consolidated.

Homework 8.3 (Check of Index 3 DAEs). Reduce Eqs. (8.30) to ODE and check the number ofrequired differentiations.

Homework 8.4 (Index of DAEs for m1 → 0). What is the index of Eqs. (8.12b) when ǫ→ 0 becausem1 → 0?

Homework 8.5 (Index of DAEs for k1 → ∞). What is the index of Eqs. (8.12b) when ǫ→ 0 becausek1 → ∞?

8-6

Page 100: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

8.4 Index Reduction

8.4.1 Constraint Stabilization by Index Reduction

As previously discussed, the higher the index is, the more difficult is the numerical solution of theproblem. For this reason, some authors have proposed means to reduce the index. Among them, one ofthe most interesting is the method proposed by Gear et al. in 1985 [28].

Consider the algebraic equation, Eq. (8.30c), in the index 3 DAEs of Eqs. (8.30),

0 = g (x2, t) (8.32)

As long as it is complied with, also its time derivatives are implicitly satisfied,

0 =dn

dtng (x2, t) (8.33)

However, when the problem is solved numerically, there is no special reason for the derivatives of theconstraint equation to be complied with by the derivatives of the solution.

Gear and his co-workers proposed to explicitly add the derivative of the constraint equation,

0 = g = g/x2x2 + g/t (8.34)

to the problem of Eqs. (8.30). However, to be able to enforce another set of algebraic constraints, newset of Lagrange multipliers is needed, z2, which act on the differential equation associated with thedifferential variable, x2 the constraint equation g depends on, resulting in

x1 = f1 (x1,x2, z1, t) (8.35a)

x2 = f2 (x1,x2, t) + gT/x2z2 (8.35b)

0 = g (x2, t) (8.35c)

0 = g/x2f2 (x1,x2, t) + g/t. (8.35d)

One needs to realize that Eq. (8.35d) should be implicitly complied with by the exact solution; however,since a numerical solution could violate it unless it is explicitly enforced, its enforcement requires thatsome other condition be relaxed. The only condition that can be relaxed, however, is the definition ofx2. In practice, to explicitly enforce compliance with the derivative of the constraint equation, one needsto relax satisfaction of (at least part of) the differential equations.

The application to the mechanical example of Eqs. (8.31) yields

v = φT/uλ+ f

(u,M−1v, t

)(8.36a)

u = M−1v + φT/uµ (8.36b)

0 = φ (u, t) (8.36c)

0 = φ/uM−1v + φ/t (8.36d)

i.e. the definition of the momentum, v, as the product of the mass by the derivative of the position, u,needs to be relaxed by the addition of the term φT

/uµ.Although such contribution is applied in a manner that is rather similar to that of the reaction

forces, φT/uλ, one should realize that the latter have the precise meaning of forces required to enforce

the constraint. As such, they take whatever value is needed to enforce the constraint whenever theloads acting on the parts would otherwise result in a violation of the constraint. On the contrary, theadditional constraint represented by the time derivative of the original one is almost exactly compliedwith when the numerical solution is accurate enough. As such, the correction introduced by φT

/uµ tendsto be small, and rather represents a sort of measure of the accuracy of the solution.

Other authors (Fuhrer and Leimkuhler [29]) pushed the idea further, by explicitly enforcing also thesecond derivative of the constraint equation.

8-7

Page 101: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 8.6 (Point mass pendulum with constraint stabilization). Stabilize the constraint of thepoint mass pendulum proposed in Exercise 7.1 adding the time derivative of the constraint equation.

8.4.2 Baumgarte’s Method

The approach proposed in 1972 by Baumgarte [30] is inspired by control theory. It is mainly reported forcompleteness, for historical reasons, because it is still used by several authors, and because it providesan interesting point of view on the relationship between kinematic constraints and rapidity of theirdynamics.

Directly considering the mechanical constrained dynamics problem of Eqs. (8.1), Baumgarte’s ideais to linearly combine the holonomic constraint of Eq. (8.1b) with its first and second derivative. Asa result, a linear combination of the constraint and of its derivatives is enforced instead of the actualconstraint,

Mu = f + φT/uλ → Mu = f + φT

/uλ (8.37a)

0 = φ (u, t) → 0 = φ (u, t) + 2αφ (u, t) + β2φ (u, t) . (8.37b)

The problem can be conveniently manipulated to expose the second derivative of x in the modifiedconstraint equation,

[M −φT

/x−φ/x 0

]x

λ

=

f

−b′′ + 2αφ (x, t) + β2φ (x, t)

(8.38)

where φ = φ/xx− b′′ is used.As already mentioned, a shortcoming of this approach is that it enforces a combination of the con-

straint derivatives rather than the constraint itself. The problem that is integrated has a spectrum thatdiffers from that of the original problem: consider the linearization of the original problem

[M 0

0 0

]δx

δλ

+

[−f/x 0

0 0

]δx

δλ

+

[−f/x −φT

/x−φ/x 0

]δxδλ

=

0

0

(8.39)

and that of the modified problem,

[M 0

−φ/x 0

]δx

δλ

+

[−f/x 0

−2αφ/x 0

]δx

δλ

+

[−f/x −φT

/x−β2φ/x 0

]δxδλ

=

0

0

. (8.40)

The two clearly differ, and it is apparent that in the latter case the infinitely fast dynamics related to theconstraints become finite and depend on the magnitude of α and β; the larger β the faster the constraintdynamics, but the closer the problem becomes to DAE (in a singular perturbations sense, the role of ǫ issomehow played by 1/β2). The different spectrum may have a non-negligible impact, especially duringvery fast transients.

The advantage of this method is that it turns a DAE into an ODE by substantially transforming thealgebraic constraint equation, φ = 0, into a homogeneous linear differential equation in the constraintviolation, φ + 2αφ + β2φ = 0. The stability and the rapidity of asymptotic convergence to zero of thesolution of this equation can be controlled by properly choosing the coefficients α and β. Basically, βis related to the rapidity of response (it corresponds to

k/m in a mechanical oscillator), whereas α is

related to the sovraelongation (it corresponds to r/(2m) = ξ√

k/m in a mechanical oscillator).

8-8

Page 102: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Since the resulting equation is ODE, it could be efficiently integrated with explicit schemes; however,when β is large, the time step of a conditionally stable scheme would be dictated by the modifiedconstraint equation rather than by the fundamental dynamics of the problem. In fact, the larger β, thecloser the modified problem is to the original DAE.

8.5 Initialization

A purely ODE Cauchy problem in implicit form,

f (y,y, t) = 0 y(t0) = y0 (8.41)

requires the determination of y(t0). This operation is straightforward when the problem is in explicitform,

y = f (y, t) y(t0) = y0 (8.42)

In fact, one only needs to evaluate

y(t0) = f (y0, t0) (8.43)

In the implicit form of Eq. (8.41), the problem

f (y0,y0, t0) = 0 (8.44)

needs to be treated as a nonlinear equation with respect to the unknown variable y0, for fixed y0, t0. Itssolution may be found, for example, using a Newton-Raphson iteration,

f (y0,y0, t0) + f/y∆y0 = 0 (8.45)

whose solution is found as

y(i+1)0 = y

(i)0 − f−1

/yf(

y(i)0 ,y0, t0

)

(8.46)

However, matrix f/y is not invertible when the problem is DAE, according to the definition of DAE

problem (see Section 8.1).When the problem is DAE, in fact, the definition itself of initialization changes. Without formalizing

it for every type (or better for every index ), we focus on the problem that is of most importance for us,the one of index 3, which formalizes the case of dynamics subjected to holonomic constraints.

Consider the case of Eqs. (8.31), here reported for clarity:

v = φT/uλ+ f

(u,M−1v, t

)(8.47a)

u = M−1v (8.47b)

0 = φ (u, t) . (8.47c)

The initial conditions consist of u0 and v0, but also of λ0, u0, and v0. Let us analyze each variable type,and the derivatives of the differential ones.

i) The differential variables u0 are not independent; they must comply with the constraint equation,

0 = φ (u0, t0) (8.48)

As such, their initial value is not completely arbitrary.

ii) The derivatives of the differential variables u0, namely u0, are not independent as well; they mustcomply with the derivative of the constraint equation,

0 = φ (u0, t0) = φ/uu0 + φ/t (8.49)

8-9

Page 103: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

However, considering the (trivial) relationship between u0 and v0 represented by Eq. (8.47b),

u0 = M−1v0 (8.50)

the derivative of the constraint equation, evaluated at t = t0, can be interpreted as a condition onthe value of v0,

0 = φ/uM−1v0 + φ/t (8.51)

iii) The initial value of the Lagrange multipliers, λ0, must result from equilibrium, i.e. from Eq. (8.47a);first of all, we need to compute the second time derivative of the constraint equation,

0 = φ (u0, t0)

=d

dt

(

φ/uM−1v0 + φ/t

)

= φ/uM−1v0 +

(

φ/uM−1v0 + φ/t

)

/uu0 +

(

φ/uM−1v0 + φ/t

)

/t︸ ︷︷ ︸

−ˆb′′

(8.52)

Then we replace in it v0 from Eq. (8.47a),

0 = φ/uM−1(

φT/uλ0 + f

(u0,M

−1v0, t0))

− b′′

(8.53)

and solve for the Lagrange multipliers,

λ0 =(

φ/uM−1φT

/u

)−1 (

b′′− φ/uM

−1f(u0,M

−1v0, t0))

(8.54)

iv) The initial value of the momenta, v0, finally results from replacing the Lagrange multipliers, λ0,back into Eq. (8.47a),

v0 = φT/u

(

φ/uM−1φT

/u

)−1 (

b′′− φ/uM

−1f(u0,M

−1v0, t0))

+ f(u0,M

−1v0, t0)

=

[

I− φT/u

(

φ/uM−1φT

/u

)−1

φ/uM−1

]

f(u0,M

−1v0, t0)+ φT

/u

(

φ/uM−1φT

/u

)−1

b′′

(8.55)

Notice that we already encountered this last expression when discussing Gauss’ Principle in Eq. (4.32).

Apart from the details, the essential aspect is that u0 and either v0 or u0 cannot be arbitrary; they mustcomply with the constraint equation and its first time derivative. The rest, namely λ0 and v0, resultfrom equilibrium and compatibility with the second time derivative of the constraint equation.

Altro?

8-10

Page 104: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 9

Unconstrained Coordinate Set

With the term unconstrained coordinate set (UCS) we refer to approaches that, although intended tosolve the DAE problem of constrained dynamics,

Mu+ φT/uλ = f (u,u, t) (9.1a)

φ (u, t) = 0 (9.1b)

formally preserve the set of coordinates u of the unconstrained problem,

Mu = f (u,u, t) (9.2)

somehow embedding the constraint equations in the solution process. This distinction is seldom madein the literature. In fact, there are little reasons for making it in the first place, since only in fewcases it produces useful solution approaches (the only exception perhaps being the so-called AugmentedLagrangian one). However, their study is of some importance from a didactical point of view.

9.1 Gauss’ Principle

We have already encountered a UCS method when briefly recalling Gauss’ Principle in Section 4.4.

9.2 Augmented Lagrangian

Penalty-based relaxation of the constraints can be used to transform the system of DAEs in Eq. (9.1) intoa set of n ODEs [31]. This approach makes the Lagrange multipliers λ proportional to the constraintsviolation at the configuration, velocity, and acceleration levels

λ = Ξ(

φ+Θφ+Ωφ)

(9.3)

where Ξ is an n×n matrix, symmetric, positive-definite and usually diagonal, that contains the penaltyfactors; Θ and Ω are also n× n matrices, symmetric, positive-definite and usually diagonal with stabi-lization parameters that have a similar function to those used in Baumgarte’s stabilization [30, 32] (seeSection 8.4.2). The derivatives of the constraints with respect to time are

0 = φ = φ/uu+ φ/t (9.4a)

0 = φ = φ/uu+ φ/uu+ φ/t (9.4b)

This approach is equivalent to replacing the constraints with idealized mass-spring-damper systems. Theresulting dynamics equations are

Mu+ φT/uΞ

(

φ+Θφ+Ωφ)

= f (u,u, t) (9.5)

9-1

Page 105: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

which can be rewritten as(

M+ φT/uΞφ/u

)

u+ φT/uΞ

(

φ/uu+ φ/t +Θφ+Ωφ)

= f (u,u, t) (9.6)

It must be noted that the equilibrium configuration of Eq. (9.5) is not completely equivalent to that ofEq. (9.1). In most cases a certain violation of the kinematic constraints φ of Eq. (9.1b) will be requiredto balance the applied forces f in Eq. (9.1a). However, the constraint violation is intrinsically limited;no drift can occur, and no further constraint stabilization or correction is required.

The amount of violation of the constraint equation, φ, which is required to produce the reactionforces that tend to limit the constraint violation, can be limited by increasing the value of the penaltycoefficients in matrix Ω, which control the rapidity of the Lagrange multipliers in reacting to violationsof the constraint. However, if such rapidity becomes too great, it may negatively impact the size of thetime step that is need to meet the stability requirements posed by the conditional stability of explicitintegration schemes (see Section 5.3.2).

Additionally, this method does not preserve the spectrum of the original problem; all eigenvaluesmay be modified by the penalty functions, although a careful choice of the coefficients Ξ, Θ, and Ω canlimit amount of modification to those that matter. Spurious eigenvalues, associated with the artificialdynamics of the constraint violation appear [33].

Homework 9.1 (Point mass pendulum using the Augmented Lagrangian method). Formulate theequations of motion of the point mass pendulum of Exercise 7.1 using the Augmented Lagrangianmethod.

9.3 Force Projection Method

The force projection method was proposed in [34], and further discussed in [35], as a formulation thatindirectly adds kinematic constraints to an unconstrained problem without altering its structure, specif-ically the number and meaning of the coordinates, while at the same time providing adequate constraintstabilization. It builds on top of the formulation resulting from Gauss’ Principle, recasting the problemto first-order differential form, and projecting both accelerations and velocities in a subspace that istangent to the constraint manifold, thus reducing the problem in a form that is equivalent to DAE ofindex 1. The acceleration and velocity projection, as well as the position correction, can be performedin a staggered manner as decoupled problems, allowing the use of rather efficient explicit integrationschemes.

An advantage of the proposed method is that it preserves the spectrum of the original problem,adding only zero-valued eigenvalues that can be easily recognized and eliminated.

9.3.1 Stabilized Constrained Dynamics

The constrained dynamics problem in first-order differential form, enforcing both velocity- and acceleration-level constraints, is

u+W−1ATµ = w (9.7a)

Mw +ATλ = f (9.7b)

Au = b′ (9.7c)

Aw = b′′, (9.7d)

where w is used instead of u in Eq. (9.7d), the second time derivative of the holonomic constaint equation

φ (u, t) = 0, (9.8)

9-2

Page 106: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

namely

0 = φ = φ/uu+ φ/t = Au− b′ (9.9)

0 = φ = φ/uu+(

φ/uu+ φ/t

)

/uu+

(

φ/uu+ φ/t

)

/t= Au− b′′ (9.10)

Enforcing the derivatives of the constraint equation to the acceleration level guarantees the reduction toindex 1 of the original DAE.

The enforcement of another constraint equation requires to correct the definition of w with thecontribution of another multiplier µ. This removes from w its projection in a subspace of u that isskewed with respect to the constraint manifold, yielding Eq. (9.7a). The inverse of the arbitrarily chosen(symmetric, positive-definite) weight matrix W is used to distort the projection. The dimension of µ isthat of a velocity times the dimension of W, [W].

Gear et al. [28] suggest to project the velocity correction in a subspace orthogonal to the constraintmanifold, using W = I. Other authors suggest to use a ‘dynamic’ projection with W = M. Hairer andWanner modify in this manner the stabilization proposed by Gear et al.“... for the sake of symmetry”[36].Borri et al. justify it on the basis that in Hamiltonian dynamics the state is composed of the coordinatesu and momenta p, so the correction naturally applies to momenta [37]. Braun and Goldfarb justify thecorresponding multiplier µ in terms of a ‘mechanical impulse’ [38]; a relatively weak argument, though.

Here a heuristic interpretation in terms of velocity correction that compensates for numerical inte-gration errors is preferred, with W = I. In fact, in this case Eq. (9.7a) guarantees that the velocitycorrection ATµ is orthogonal to any virtual displacement δu, which must satisfy δφ = Aδu = 0. Similarconsiderations apply to the reaction forces f c = −ATλ, which intrinsically do not do work for a virtualdisplacement δu. However, for generality, a weighting W is considered throughout the formalization ofthe approach.

9.3.2 Stabilized Constrained Dynamics in ODE Form

An explicit expression for the derivative of the state can be obtained:

u = w −W−1AT(

AW−1AT)+ (

Aw − b′)

(9.11a)

w = a−M−1AT(

AM−1AT)+ (

Aa− b′′). (9.11b)

After defining

Pw = W−1AT(

AW−1AT)+

A (9.12a)

pw = W−1AT(

AW−1AT)+

b′ (9.12b)

Pa = M−1AT(

AM−1AT)+

A (9.12c)

pa = M−1AT(

AM−1AT)+

b′′, (9.12d)

Eqs. (9.11) can be rewritten as

u = (I−Pw)w + pw (9.13a)

w = (I−Pa)a+ pa. (9.13b)

This form highlights the fact that the velocity- and acceleration-level constraints project the uncon-strained acceleration a and its integral w on the manifold of the constraints by means of the non-orthogonal projectors Pa and Pw. In case of rheonomic constraints, the unconstrained velocity is alsocorrected by pw. The acceleration is corrected by pa when the constraint at least bends the trajectoryof the constrained bodies, or is rheonomic.

9-3

Page 107: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

One may note that the two projectors are different, and might be tempted to use Pa for bothprojections. This may not be a good choice, since the two projectors act on different types of equations:a kinematic definition, Eq. (9.7a), involving velocities, and an equilibrium equation, Eq. (9.7b), involvingforces; thus, they may legitimately differ. When W = I, Pw = A+A, where the property AT (AAT )+ =A+ of the MPGI is exploited [39]. This projection is orthogonal; correspondingly, pw = A+b′.

To yield Eqs. (9.11), the multipliers are

µ =(

AW−1AT)+ (

Aw − b′)

(9.14a)

λ =(

AM−1AT)+ (

Aa− b′′). (9.14b)

The nature of the multiplier µ differs from that of λ because it represents the velocity correction thatis required to bring w on the constraint manifold. As such, it should be identically zero, were theintegration exact (see similar considerations made in Section 8.4.1 about constraint stabilization).

The proposed approach minimizes the functional

G (w, u) =1

2(w − a)

TM (w − a) + w

1

2(u−w)

TW (u−w) , (9.15)

where the dimensionality is preserved by the uninfluential scalar coefficient w, of units [m][t−2][W−1].Equation (9.15) expresses a modified first-order form of the Gaussian G (u) of Eq. (4.22). Its mini-mization is subjected to the constraints Au = b′ and Aw = b′′. The problem is equivalent to Gauss’principle: when exact mathematics are considered, u ≡ w; the velocity constraint implies the accelerationconstraint, and G (w, u) ≡ G (u).

9.3.3 Elimination of Drift at the Position Level

In case of holonomic constraints, similarly to what was discussed in Section 7.1.4 for the minimal coor-dinate set, Eq. (9.8) is enforced by determining

u = u+W−1ATν, (9.16)

where u is obtained integrating u from Eq. (9.11a), and thus may not comply with the constraint becauseof numerical drift; the resulting u is the position that complies with Eq. (9.8).

This guarantees that the correction W−1ATν does not alter the solution in directions that are locallycompatible with the constraints. If W = I, it is a minimal norm correction with respect to the constraintviolation. A Newton iteration can be used:

u0 = u (9.17a)

ui+1 = ui −W−1AT(

AW−1AT)+

φ (ui, t) . (9.17b)

A solution of Eq. (9.8) must exist for the constraints to be consistent, regardless of being independentor not (constraints are not independent when matrix A is not full rank; they are inconsistent when theyare not independent, and φ = 0 has no solution).

The proposed approach reduces to 1 the index of DAE problems that describe the dynamics ofconstrained mechanical systems, since it enforces compliance with the constraints up to the second-orderderivative of the coordinates u. In case of holonomic constraints, an embedded compliance iterationallows to substitute the multipliers, yielding a formally pure ODE representation of the constraineddynamics problem.

In 1993, Eich [40] proposed a projection formally identical to that of Eq. (9.12a), with W = I, toproject the integrated coordinates u onto the manifold of a linear constraint φ(u, t) = Au− b(t) = 0.

In 2000, Yu and Chen [41] proposed an interesting algorithm, that consists in integrating Eqs. (9.2)and (9.10) directly, applying some correction to the resulting u and u only when the constraint violationexceeds a given tolerance. The correction to u is analogous to that of Eq. (9.17), with W = I. Theproposed approach differs from that of Yu and Chen by embedding the correction to u in the problem,and by always applying the correction of Eq. (9.17).

9-4

Page 108: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework 9.2 (Point mass pendulum using the Force Projection method). Formulate the equationsof motion of the point mass pendulum of Exercise 7.1 using the Force Projection method.

9-5

Page 109: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

9-6

Page 110: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Part III

Dynamics of Flexible Systems

9-7

Page 111: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .
Page 112: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

To Be Completed

9-9

Page 113: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

9-10

Page 114: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 10

Beam

To Be Completed

10-1

Page 115: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

10-2

Page 116: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Chapter 11

Flexible Element

To Be Completed

11-1

Page 117: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

11-2

Page 118: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Part IV

Advanced Problems and

Implementation Aspects

11-3

Page 119: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .
Page 120: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

To Be Completed

11-5

Page 121: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

11-6

Page 122: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Part V

Appendices

11-7

Page 123: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .
Page 124: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Appendix A

Rotation Parametrizations

A.1 Parametrization of Rotation

A.1.1 Euler Angles

The orientation matrix R is the result of three subsequent rotations about specific axes. Each rotationis performed starting from the orientation resulting from the previous one. Each rotation about a (local)coordinate axis takes the form

R1(θ) =

1 0 00 cos θ − sin θ0 sin θ cos θ

axis 1 (A.1a)

R2(θ) =

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

axis 2 (A.1b)

R3(θ) =

cos θ − sin θ 0sin θ cos θ 00 0 1

axis 3 (A.1c)

Consider three angles α, β, γ, organized in the rotation parameters vector g as

g =

αβγ

(A.2)

Several combinations of rotation sequences are possible, as reported in Table A.1. Any combination,

Table A.1: Admissible rotation sequences for (Tait-Bryan/Cardano)-Euler angles1–2–1 2–1–2 3–1–21–2–3 2–1–3 3–1–3

1–3–1 2–3–1 3–2–1

1–3–2 2–3–2 3–2–3

including repetitions, is possible, provided repeated rotations are not consecutive. Among the many thathave been proposed, the most common ones are 3–1–3 (first and last repeated, the proper or classicalEuler angles definition), 1–2–3 and 3–2–1 (all three rotations differ, also known as Tait-Bryan or Cardanoangles):

3–1–3: consider R = R3(α)R1(β)R3(γ), which yields

R =

cosα cos γ − sinα cosβ sin γ − cosα sin γ − sinα cosβ cos γ sinα sinβsinα cos γ + cosα cosβ sin γ cosα cosβ cos γ − sinα sin γ − cosα sinβ

sinβ sin γ sinβ cos γ cosβ

(A.3)

A-1

Page 125: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

1–2–3: consider R = R1(α)R2(β)R3(γ), which yields

R =

cosβ cos γ − cosβ sin γ sinβcosα sin γ + sinα sinβ cos γ cosα cos γ − sinα sinβ sin γ − sinα cosβsinα sin γ − cosα sinβ cos γ sinα cos γ + cosα sinβ sin γ cosα cosβ

(A.4)

This definition is often used in navigation to represent roll, pitch and yaw; the angles α, β, and γare usually indicated with ϕ, ϑ, and ψ.

3–2–1: consider R = R3(α)R2(β)R1(γ), which yields

R =

cosα cosβ cosα sinβ sin γ − sinα cos γ sinα sin γ + cosα sinβ cos γsinα cosβ cosα cos γ + sinα sinβ sin γ sinα sinβ cos γ − cosα sin γ− sinβ cosβ sin γ cosβ cos γ

(A.5)

Homework A.1 (Euler angles from orientation matrix). Compute the Euler angles from the ele-ments of an orientation matrix.

A.1.2 Euler Vector

This definition is very interesting, because the rotation is represented as a three-dimensional vector. Thechange of orientation is defined as a single rotation about an axis that brings the triad from the absolutereference frame to the local reference frame. The rotation axis is parallel to that of the vector, and therotation magnitude is that of the vector:

R = I+sin ‖θ‖

‖θ‖θ × +

1− cos ‖θ‖

‖θ‖2 θ × θ × (A.6)

Homework A.2 (Multiplication of orientation matrix by special vector). Multiply the orientationmatrix expressed using the Euler vector by a vector decomposed in a part that is parallel to the Eulervector and a part that is orthogonal to it.

Notice that, for “small” (infinitesimal) values of the angle, i.e. ‖θ‖ ≈ 0, the rotation matrix is

R ≈ I+ θ × +1

2θ × θ × (A.7)

considering that, for ‖θ‖ ≈ 0, sin ‖θ‖ / ‖θ‖ ≈ 1 and (1− cos ‖θ‖)/ ‖θ‖2≈ 1/2.

An interesting interpretation of the Euler Vector representation, and of rotations in general, is re-lated to the notion of exponential map, which is developed according to the theory of Lie groups. Arotation matrix, R, which belongs to the special orthogonal (Lie) group SO(3), can be interpreted as theexponential of a skew-symmetric matrix, θ × , in the Lie algebra so(3), namely

R = exp (θ × ) (A.8)

where the skew-symmetric matrix is constructed from the rotation vector θ through the usual matrixrepresentation of the cross-product operator, (·)× .

This can be verified through the definition of matrix exponential,

exp (A) =∞∑

n=0

1

n!An (A.9)

A-2

Page 126: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

which, in the present case, yields

exp (θ × ) =

∞∑

n=0

1

n!θ×n (A.10)

Recalling that

θ × θ × = θθT − θTθI (A.11)

and thus

θ × θ × θ × =θ × θθT − θTθθ× (A.12)

one obtains a series that converges exactly to the formula of Eq. (A.6).Under this interpretation, the associativity property (i.e. consecutive rotations) is given by rotation

multiplication:

R = R2R1 = exp (θ2 × ) exp (θ1 × ) (A.13)

whereas the “zero” element is the identity rotation,

I = exp (0×) (A.14)

Homework A.3 (Orthogonality of exponential representation of rotations). Verify the orthogonalityof the exponential representation of rotations.

The inverse of Eq. (A.8) provides the rotation vector,

θ × = exp−1 (R) (A.15)

and thus

θ = ax(exp−1 (R)

)(A.16)

A.1.3 Cayley-Gibbs-Rodrigues Parameters

The Euler Vector has a clear physical meaning, but rotations based on it suffer from poor computationalefficiency, since several trigonometric functions need to be evaluated.

Alternative formulations are possible, which share in part the physical interpretation of the parame-ters, but introduce a simple relationship between the magnitudes of the vectors that eliminates the needfor evaluating expensive trigonometric functions.

Amonmg them, the Cayley-Gibbs-Rodrigues (CGR) parameters g are defined as

g = 2 tan

2

)

= 2θ

‖θ‖tan

(‖θ‖

2

)

(A.17)

The corresponding expression for the orientation matrix is

R = I+4

4 + gTg

(

g × +1

2g × g ×

)

(A.18)

Homework A.4 (Equivalence of orientation matrices from Euler vector and Euler-Rodrigues pa-rameters). Show that the orientation matrix obtained using the Euler-Rodrigues is equivalent to thatobtained using the Euler vector.

A-3

Page 127: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

An interesting aspect of the CGR parameters is that for “small” (infinitesimal) values of the param-eters, the formulation is equivalent to that of the Euler vector; namely, for ‖g‖ ≈ 0,

R ≈ I+ g × +1

2g × g × (A.19)

which is exactly equivalent to the expression resulting from the Euler vector parametrization.

Homework A.5 (Linear approximation of rotation matrix). Formulate a linear approximation ofthe rotation matrix.

Homework A.6 (Error of linear approximation of rotation matrix). Compute the error in the linearapproximation of the rotation matrix (Hint: exploit the orthogonality of rotation matrices).

Homework A.7 (Error of quadratic approximation of rotation matrix). Compute the error in thequadratic approximation of the rotation matrix (Hint: exploit the orthogonality of rotation matrices).

A.1.4 Euler-Rodrigues Parameters and Quaternions

The rotation is described by the 4 Euler-Rodrigues (ER) parameters, e0, e1, e2, e3, collected in a vector

g =

e0e1e2e3

(A.20)

which are subjected by the normality condition

gTg = e20 + e21 + e22 + e23 = 1 (A.21)

Alternative representations indicate them as

g =

cos(θ/2)n1 sin(θ/2)n2 sin(θ/2)n3 sin(θ/2)

(A.22)

where θ is the magnitude of the rotation and n1, n2, n3 are the director cosines of the rotation axis, n,subjected to the constraint nTn = n21 + n22 + n23 = 1.

The orientation matrix is defined as

R =

e20 + e21 − e22 − e23 2(e1e2 − e0e3) 2(e1e3 + e0e2)2(e1e2 + e0e3) e20 − e21 + e22 − e23 2(e2e3 − e0e1)2(e1e3 − e0e2) 2(e1e3 + e0e2) e20 − e21 − e22 + e23

(A.23)

Alternatively, in vector form,

R = I+ 2e0w × + 2w ×w × (A.24)

where w = e1; e2; e3 = sin(θ/2)n.The relationship of ER with quaternions is apparent when considering that an ER set of parameters

can be interpreted as the scalar part (e0) and the vector part (e1, e2, e3) of a unit length (or versor)quaternion e0 + e1i + e2j + e3k, with ii = jj = kk = −1 and ij = −ji = k, jk = −kj = i, andki = −ik = j, subjected to the constraint e20 + e21 + e22 + e23 = 1.

The analogy with quaternions is particularly important because their multiplication corresponds torotation composition, i.e. the rotation resulting from a sequence of two rotations is described by thequaternion resulting from the multiplication of the quaternions that express the two rotations.

A-4

Page 128: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Homework A.8 (Quaternion multiplication and rotation composition). Using quaternion multipli-cation, compute the ER parameters resulting from two consecutive rotations.

A.2 Parametrization of Angular Velocity

A.2.1 Euler Angles

Matrix G can be easily obtained by considering the partial derivatives of matrix R with respect to eachangle, multiplied by the transpose of matrix R. By construction, each of them is a skew-symmetricmatrix, whose vector representation is the corresponding column of matrix G: G(:,i) = ax(R/θiR

T ).

3–1–3:

G =

0 cosα sinα sinβ0 sinα − cosα sinβ1 0 cosβ

(A.25)

1–2–3:

G =

1 0 sinβ0 cosα − sinα cosβ0 sinα cosα cosβ

(A.26)

3–2–1:

G =

0 − sinα cosα cosβ0 cosα sinα cosβ1 0 − sinβ

(A.27)

A.2.2 Euler Vector

G = I+1− cos ‖θ‖

‖θ‖2 θ × +

(

1

‖θ‖2 −

sin ‖θ‖

‖θ‖3

)

θ × θ × (A.28)

Notice that for ‖θ‖ ≈ 0

G ≈ I+1

2θ × (A.29)

TODO

A.2.3 Cayley-Gibbs-Rodrigues Parameters

G =4

4 + gTg

(

I+1

2g ×

)

(A.30)

Notice that, again, for ‖g‖ ≈ 0,

G ≈ I+1

2g × (A.31)

i.e. the same relationship of Eq. (A.29) for the Euler vector.

A-5

Page 129: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

A.2.4 Euler-Rodrigues Parameters and Quaternions

ω = 2Eg (A.32)

with

E =

−e1 e0 −e3 e2−e2 e3 e0 −e1−e3 −e2 e1 e0

=[−w e0I+w ×

](A.33)

and

g =

e0e1e2e3

(A.34)

The symbol E has been used because, in quaternions and rotations literature, matrix G, defined as

G =

−e1 e0 e3 −e2−e2 −e3 e0 e1−e3 e2 −e1 e0

=[−w e0I−w ×

](A.35)

is associated with the angular velocity in the local reference frame, namely

RTω = 2Gg (A.36)

Homework A.9 (Properties of quaternions derivatives–1). Prove that GGT = I.

Homework A.10 (Properties of quaternions derivatives–2). Prove that R = EGT .

Homework A.11 (Angular velocity in local frame using quaternions). Prove Eq. (A.36).

A-6

Page 130: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Appendix B

Lagrange Equations of the Second

Kind and Virtual Work Principle

B.1 Contribution of the Inertia Forces

Consider

pcm = pcm(q, t) (B.1)

vcm = pcm/qq + pcm/t (B.2)

δpcm = pcm/qδq (B.3)

The contribution to the virtual work associated with the inertia forces:

δWine = −δpTcmmacm

= −δqTpTcm/qmd

dt

(

pcm/qq + pcm/t

)

= −δqT

d

dt

[

pTcm/qm(

pcm/qq + pcm/t

)]

(

d

dtpcm/q

)T

m(

pcm/qq + pcm/t

)

= −δqT

d

dt

(

∂q

(

pcm/qq + pcm/t

))T

m(

pcm/qq + pcm/t

)

(

d

dt

∂qpcm

)T

m(

pcm/qq + pcm/t

)

= −δqT

d

dt

(

∂qvcm

)T

mvcm

(

∂q

d

dtpcm

)T

mvcm

= −δqT

d

dt

[

∂q

(

1

2mvTcmvcm

)]

−∂

∂q

(

1

2mvTcmvcm

)

= −δqT

[

d

dt

(

∂qEk

)

−∂

∂qEk

]

(B.4)

For the arbitrariness of the virtual perturbations of the coordinates, the generalized inertia forces, ener-getically conjugated to the coordinates q, stem from

f ineq = −

[

d

dt

(

∂qEk

)

−∂

∂qEk

]

(B.5)

B-1

Page 131: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

It is worth noticing that, when the cartesian positions of bodies, p, are used as coordinates (regardlessof being the positions of the center of mass or of an arbitrary point), then pcm/q ≡ I; the above expressionsgreatly simplify. The resulting equations, being energetically conjugated to a virtual displacement insteadof a virtual perturbation of generalized coordinates, are true force equilibrium equations, rather thangeneralized equilibrium equations.

B.2 Contribution of the Inertia Moments

Consider now

g = g(q, t) (B.6)

g = g/qq + g/t (B.7)

ω = Gg = G(

g/qq + g/t

)

(B.8)

δg = g/qδq (B.9)

θδ = Gδg = Gg/qδq (B.10)

The contribution to the virtual work associated with the inertia moments is

δWine = −θTδ (Jcmω + ω × Jcmω)

= −δqTgT/qGT

[

Jcm

d

dt(Gg) + (Gg)× Jcm (Gg)

]

= −δqT

gT/qGTJcm

d

dt(Gg) + gT/qG

T (Gg)× Jcm (Gg)

= −δqT

d

dt

[

gT/qGTJcm (Gg)

]

−d

dt

(

gT/qGTJcm

)

(Gg) + gT/qGT (Gg)× Jcm (Gg)

= −δqT

d

dt

[

gT/qGTJcm (Gg)

]

−d

dt

(

gT/qGT)

Jcm (Gg)

− gT/qGT d

dt(Jcm) (Gg) + g

T/qG

T (Gg)× Jcm (Gg)

= −δqT

d

dt

[

gT/qGTJcm (Gg)

]

−d

dt

(

gT/qGT)

Jcm (Gg)

− gT/qGT [(Gg)× Jcm +

Jcm (Gg)×T ] (Gg) +gT/qG

T (Gg)× Jcm (Gg)

= −δqT

d

dt

[

∂q

(

g/q ˙q + g/t

)T

GTJcm (Gg)

]

−d

dt

(

gT/qGT)

Jcm (Gg)

= −δqT

d

dt

(

∂qω

)T

Jcmω

−(

ω/q + ω ×Gg/q

)T

Jcm (Gg)

= −δqT

d

dt

[

∂q

(

1

2ωTJcmω

)]

−∂

∂q

(

1

2ωTJcmω

)

= −δqT

[

d

dt

(

∂qEk

)

−∂

∂qEk

]

(B.11)

B-2

Page 132: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

where(

Gg/qi

)

× = R/qiRT (B.12)

d

dt

[(

Gg/qi

)

×]

=d

dt

(

R/qi

)

RT +R/qi

d

dt

(

RT)

=∂

∂qi

(

d

dtR

)

RT +R/qiRTω×T

=∂

∂qi(ω ×R)RT +R/qi

RTω×T

= ω/qi×RRT + ω ×R/qi

RT +R/qiRTω×T

= ω/qi× + ω ×

(

Gg/qi

)

× +(

Gg/qi

)

× ω×T

= ω/qi× +

[

ω ×(

Gg/qi

)]

× (B.13)

thus

d

dt

(

Gg/qi

)

= ω/qi+ ω ×Gg/qi

(B.14)

and since

∂qi

(

1

2ωTJcmω

)

= ωT/qi

Jcmω + ωTR/qiRTJcmω

= ωT/qi

Jcmω + ωT(

Gg/qi

)

× Jcmω

=(

ω/qi+ ω ×Gg/qi

)T

Jcmω (B.15)

For the arbitrariness of the virtual perturbations of the coordinates, the generalized inertia moments,energetically conjugated to the coordinates q, also stem from

mineq = −

[

d

dt

(

∂qEk

)

−∂

∂qEk

]

(B.16)

It is worth noticing that, when any of the three-parameter orientation parameters of the bodies, g,are used as coordinates, then g/q ≡ I; the above expressions greatly simplify. In this case, all equations

related to moments about the node are premultiplied by GT (actually, by δgTGT ); as such, the pre-multiplication by G can be eliminated (with limitations in case total rotations are used, since in thosecases matrix G may become singular). Eliminating G is equivalent to recombining the correspondingthree equations, or to considering θδ = Gδg as virtual perturbation instead of δg. The resulting equa-tions, being energetically conjugated to a virtual rotation instead of a virtual perturbation of rotationparameters, are true moment equilibrium equations, rather than generalized equilibrium equations.

B-3

Page 133: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

B-4

Page 134: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

Bibliography

[1] P. Masarati, “A formulation of kinematic constraints imposed by kinematic pairs using relative posein vector form,”Multibody System Dynamics, vol. 29, no. 2, pp. 119–137, 2013. doi:10.1007/s11044-012-9320-0.

[2] O. A. Bauchau, Flexible Multibody Dynamics. Dordrecht, Heidelberg, London, New-York: Springer,2010.

[3] O. A. Bauchau and L. Trainelli, “The vectorial parameterization of rotation,”Nonlinear Dynamics,vol. 32, pp. 71–92, April 2003. doi:10.1023/A:1024265401576.

[4] T. Merlini and M. Morandini, “On successive differentiations of the rotation tensor: An applicationto nonlinear beam elements,” J. of Mechanics of Materials and Structures, vol. 8, no. 5–7, pp. 305–340, 2013. doi:10.2140/jomms.2013.8.305.

[5] I. Newton, “Philosophiae naturalis principia mathematica,” 1687.

[6] L. Euler, Theoria Motus Corporum Solidorum seu Rigidorum. Rostochii et Gryphiswaldiae, 1765.

[7] J. L. Lagrange, Mecanique Analytique. Paris: L’Academie Royal des Sciences, 1788.

[8] C. F. Gauss, “Ueber ein neues algemeines Grundgesetz der Mechanik,” J. fuer die reine und ange-wandte Mathematik, vol. 4, pp. 232–235, 1829. In German.

[9] P. Masarati, M. Morandini, and P. Mantegazza, “An efficient formulation for general-purpose multi-body/multiphysics analysis,” J. of Computational and Nonlinear Dynamics, vol. 9, no. 4, p. 041001,2014. doi:10.1115/1.4025628.

[10] P. Masarati, M. Lanz, and P. Mantegazza, “Multistep integration of ordinary, stiff and differential-algebraic problems for multibody dynamics applications,” in XVI Congresso Nazionale AIDAA,(Palermo), pp. 71.1–10, 24–28 September 2001.

[11] W. Schiehlen, “Multibody system dynamics: Roots and perspectives,”Multibody System Dynamics,vol. 1, pp. 149–188, June 1997. doi:10.1023/A:1009745432698.

[12] O. A. Bauchau and A. Laulusa, “Review of contemporary approaches for constraint enforce-ment in multibody systems,” J. of Computational and Nonlinear Dynamics, vol. 3, January 2008.doi:10.1115/1.2803258.

[13] P. Masarati and M. Morandini, “An ideal homokinetic joint formulation for general-purpose multi-body real-time simulation,” Multibody System Dynamics, vol. 20, pp. 251–270, October 2008.doi:10.1007/s11044-008-9112-8.

[14] R. S. Hartenberg and J. Denavit, Kinematic synthesis of linkages. McGraw-Hill, 1964.

[15] J. Angeles, Spatial Kinematic Chains. Berlin: Springer, 1982.

[16] J. Angeles, Fundamentals of Robotic Mechanical Systems — Theory, Methods, and Algorithms.Springer, 3rd ed., 2007.

B-5

Page 135: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

[17] J. Garcıa de Jalon, M. A. Serna, and R. Aviles, “Computer method for kinematic analysis of lower-pair mechanisms — I velocities and accelerations,”Mech. Mach. Theor., vol. 16, no. 5, pp. 543–556,1981. doi:10.1016/0094-114X(81)90026-4.

[18] J. Garcıa de Jalon and E. Bayo, Kinematic and Dynamic Simulation of Multibody Systems: the RealTime Challenge. New York: Springer-Verlag, 1994.

[19] D. Garcıa-Vallejo, J. Mayo, J. L. Escalona, and J. Domınguez, “Modelling three-dimensional rigid-flexible multibody systems by using absolute coordinates,” in 12th IFToMM World Congress, (Be-sancon, France), pp. 1–6, June 18–21 2007.

[20] D. Garcıa-Vallejo, J. M. J. L. Escalona, and J. Domınguez, “Describing rigid-flexible multibodysystems using absolute coordinates,” Nonlinear Dynamics, vol. 34, no. 1–2, pp. 75–94, 2003.doi:10.1023/B:NODY.0000014553.98731.8d.

[21] H. Sugiyama, J. L. Escalona, and A. A. Shabana, “Formulation of three-dimensional joint constraintsusing the absolute nodal coordinates,” Nonlinear Dynamics, vol. 31, no. 2, pp. 167–195, 2003.doi:10.1023/A:1022082826627.

[22] B. A. Hussein, D. Weed, and A. A. Shabana, “Clamped end conditions and cross section deformationin the finite element absolute nodal coordinate formulation,”Multibody System Dynamics, vol. 21,no. 4, pp. 375–393, 2009. doi:10.1007/s11044-009-9146-6.

[23] H. Sugiyama and H. Yamashita, “Spatial joint constraints for the absolute nodal coordinate for-mulation using the non-generalized intermediate coordinates,”Multibody System Dynamics, vol. 26,no. 1, pp. 15–36, 2011. doi:10.1007/s11044-010-9236-5.

[24] G. A. Maggi, Principii di stereodinamica: Corso sulla formazione, l’interpretazione e l’integrazionedelle equazioni del movimento dei solidi. Milano: Hoepli, 1903. In Italian.

[25] T. R. Kane and C. F. Wang, “On the derivation of equations of motion,” J. Soc. Ind. Appl. Math.,vol. 13, no. 2, pp. 487–492, 1965.

[26] M. Borri, C. Bottasso, and P. Mantegazza, “Equivalence of Kane’s and Maggi’s equations,”Mecca-nica, vol. 25, no. 4, pp. 272–274, 1990. doi:10.1007/BF01559692.

[27] S. S. Kim and M. J. Vanderploeg, “QR decomposition for state space representation of con-strained mechanical dynamic systems,” J. of Mech. Trans., vol. 108, no. 2, pp. 183–188, 1986.doi:10.1115/1.3260800.

[28] C. W. Gear, B. Leimkuhler, and G. K. Gupta, “Automatic integration of Euler-Lagrange equa-tions with constraints,” J. Comp. Appl. Math., vol. 12&13, pp. 77–90, 1985. doi:10.1016/0377-0427(85)90008-1.

[29] C. Fuhrer and B. J. Leimkuhler, “Numerical solution of differential-algebraic equations forconstrained mechanical motion,” Numerische Mathematik, vol. 59, pp. 55–69, December 1991.doi:10.1007/BF01385770.

[30] J. Baumgarte, “Stabilization of constraints and integrals of motion in dynamical systems,”Comput.Meth. Appl. Mech. Engng., vol. 1, pp. 1–36, 1972. doi:10.1016/0045-7825(72)90018-7.

[31] E. Bayo, J. G. de Jalon, and M. A. Serna, “A modified Lagrangian formulation for the dynamicanalysis of constrained mechanical systems,” Comput. Meth. Appl. Mech. Engng., vol. 71, no. 2,pp. 183–195, 1988. doi:10.1016/0045-7825(88)90085-0.

[32] F. Gonzalez and J. Kovecses, “Use of penalty formulations in dynamic simulation and analysis ofredundantly constrained multibody systems,”Multibody System Dynamics, vol. 29, no. 1, pp. 57–76,2013.

B-6

Page 136: MultibodySystemDynamics (MSD)home.aero.polimi.it/masarati/didattica/msd/msd.pdf · 2020. 3. 9. · List of Exercises 3.1 Dynamics of a bar — pure translation . . . . . . . .

[33] F. Gonzalez, P. Masarati, J. Cuadrado, and M. A. Naya, “Assessment of linearization approachesfor multibody dynamics formulations,” J. of Computational and Nonlinear Dynamics, vol. 12, no. 4,pp. 041009 1–7, 2017. doi:10.1115/1.4035410.

[34] P. Masarati, “Adding kinematic constraints to purely differential dynamics,” Computational Me-chanics, vol. 47, no. 2, pp. 187–203, 2011. doi:10.1007/s00466-010-0539-4.

[35] P. Masarati, “Constraint stabilization of mechanical systems in ODE form,” Proc. IMechE Part K:J. Multi-body Dynamics, vol. 225, no. 1, pp. 12–33, 2011. doi:10.1177/2041306810392117.

[36] E. Hairer and G. Wanner, Solving Ordinary Differential Equations, vol. II. Berlin Heidelberg,Germany: Springer-Verlag, 1996. 2nd rev. ed.

[37] M. Borri, L. Trainelli, and A. Croce, “The embedded projection method: A general index reductionprocedure for constrained system dynamics,”Comput. Meth. Appl. Mech. Engng., vol. 195, pp. 6974–6992, 2006. doi:10.1016/j.cma.2005.03.010.

[38] D. J. Braun and M. Goldfarb,“Eliminating constraint drift in the numerical simulation of constraineddynamical systems,”Comput. Meth. Appl. Mech. Engng., vol. 198, no. 37–40, pp. 3151–3160, 2009.doi:10.1016/j.cma.2009.05.013.

[39] A. Ben-Israel and T. N. E. Greville, Generalized inverses: theory and applications. New York: Wiley,1974.

[40] E. Eich, “Convergence results for a coordinate projection method applied to mechanical systemswith algebraic constraints,” SIAM Journal on Numerical Analysis, vol. 30, pp. 1467–1482, October1993. doi:10.1137/0730076.

[41] Q. Yu and I.-M. Chen, “A direct violation correction method in numerical simulation of constrainedmultibody systems,”Computational Mechanics, vol. 26, pp. 52–57, 2000. doi:10.1007/s004660000149.

B-7