MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System...

53
MBDyn - Multibody System Dynamics LaMSID (EDF R&D - French CNRS Joint Laboratory) July 24 - August 7, 2008 Pierangelo Masarati <[email protected]> Politecnico di Milano Dipartimento di Ingegneria Aerospaziale

Transcript of MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System...

Page 1: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

MBDyn - Multibody System Dynamics

LaMSID (EDF R&D - French CNRS Joint Laboratory)July 24 - August 7, 2008

Pierangelo Masarati <[email protected]>

Politecnico di MilanoDipartimento di Ingegneria Aerospaziale

Page 2: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

2

LaMSID – July 24 – August 7, 2008

Preamble

This presentation is split in two parts:This presentation is split in two parts:

• Multibody System DynamicsMultibody System Dynamics,,

with specific reference to MBDyn,with specific reference to MBDyn,the free general-purpose multibody solverthe free general-purpose multibody solverdeveloped at “Dipartimento di Ingegneria Aerospaziale”developed at “Dipartimento di Ingegneria Aerospaziale”of “Politecnico di Milano”, Italyof “Politecnico di Milano”, Italy

• FEM interaction requirements of MBDynFEM interaction requirements of MBDyn,,

with the outline of possible solutions for the interaction with Asterwith the outline of possible solutions for the interaction with Aster

Page 3: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

3

LaMSID – July 24 – August 7, 2008

Outline

• OverviewOverview• Multibody dynamicsMultibody dynamics• Software architecturesSoftware architectures• ProblemsProblems• Arbitrary motion descriptionArbitrary motion description• Deformable componentsDeformable components• Solving the problemSolving the problem• Extracting useful informationExtracting useful information• Examples of multibody modeling with MBDynExamples of multibody modeling with MBDyn• Future developmentFuture development• Documentation and supportDocumentation and support• AcknowledgmentsAcknowledgments

Page 4: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

4

LaMSID – July 24 – August 7, 2008

Multibody dynamics: overview

• MultibodyMultibody: a “buzz” word?: a “buzz” word?

• Initial idea:Initial idea: automatically write equations of motion of arbitrary mechanismsautomatically write equations of motion of arbitrary mechanisms

• Current status:Current status: efficiently and accurately integrate in timeefficiently and accurately integrate in time exact rigid-body kinematics, plusexact rigid-body kinematics, plus nonlinear finite elements, plusnonlinear finite elements, plus natural inclination towards multi-physics & system integrationnatural inclination towards multi-physics & system integration

• Future:Future: scale to larger and larger problems, andscale to larger and larger problems, and higher performances when solving more complex problemshigher performances when solving more complex problems

Page 5: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

5

LaMSID – July 24 – August 7, 2008

Multibody dynamics: overview

MultibodyMultibody methods: methods:

• Usually are general-purpose: can model a wide varietyUsually are general-purpose: can model a wide varietyof mechanical systemsof mechanical systems

• Must allow to automatically write motion equations Must allow to automatically write motion equations

• Should support an arbitrary number of a variety of parts, forces, Should support an arbitrary number of a variety of parts, forces, geometries, constraints, etc.geometries, constraints, etc.

• Most often use numerical methods to compute solutions.Most often use numerical methods to compute solutions.

• Often integrated in CAD tools, with Graphical User Interfaces (GUI)Often integrated in CAD tools, with Graphical User Interfaces (GUI)

Page 6: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

6

LaMSID – July 24 – August 7, 2008

Multibody dynamics: overview

Types of analysis:Types of analysis:

• Kinematics: direct, inverseKinematics: direct, inverse

• Statics (pseudo-time)Statics (pseudo-time)

• Dynamics: direct IVP, BVP, inverse dynamicsDynamics: direct IVP, BVP, inverse dynamics

• Miscellaneous:Miscellaneous: modal analysismodal analysis sensitivity analysissensitivity analysis parameter optimizationparameter optimization topology optimization and mechanism synthesistopology optimization and mechanism synthesis

Page 7: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

7

LaMSID – July 24 – August 7, 2008

Multibody dynamics: overview

Applications:Applications:• RoboticsRobotics• AutomotiveAutomotive• CrashworthinessCrashworthiness• Aerospace engineeringAerospace engineering• Industrial automationIndustrial automation• Applied mechanicsApplied mechanics

• Videogames: revenue higher than engineering software!Videogames: revenue higher than engineering software!• Anywhere realistic motion (or at least that looks realistic)Anywhere realistic motion (or at least that looks realistic)

is required, multibody simulation is or can (and will) be used.is required, multibody simulation is or can (and will) be used.

Page 8: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

8

LaMSID – July 24 – August 7, 2008

Multibody dynamics: overview

Classification of approaches:Classification of approaches:• Based on coordinate setBased on coordinate set

Minimal coordinate setMinimal coordinate set Redundant coordinate setRedundant coordinate set

• Based on local solution methodsBased on local solution methods Direct linear solversDirect linear solvers Iterative solversIterative solvers

• Based on problem formulationBased on problem formulation ExplicitExplicit ImplicitImplicit

• Based on integration schemesBased on integration schemes Ordinary Differential Equations (ODE) w/ constraint stabilizationOrdinary Differential Equations (ODE) w/ constraint stabilization Differential-Algebraic Equations (DAE)Differential-Algebraic Equations (DAE)

classical approachclassical approach

modern approachmodern approach

specialisticspecialistic

general-purposegeneral-purpose

classical approachclassical approach

modern approachmodern approach

Page 9: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

9

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Basic equations:Basic equations:

mechanics of unconstrained system of bodiesmechanics of unconstrained system of bodies subjected to configuration-dependent loadssubjected to configuration-dependent loads

Can be obtained from many (equivalent!) approaches:Can be obtained from many (equivalent!) approaches: Newton-EulerNewton-Euler: linear/angular equilibrium of each body: linear/angular equilibrium of each body d'Alembert-Lagranged'Alembert-Lagrange: virtual work of active forces/moments: virtual work of active forces/moments GaussGauss, , HertzHertz, , HamiltonHamilton, ...: variational principles, ...: variational principles

Note: non-smooth mechanics tend to resort to discrete equationsNote: non-smooth mechanics tend to resort to discrete equations

M x x=f x , x , t

M x x k−1, k=∫k−1

kf x , x , t d t

Page 10: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

10

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Constrained system: kinematic constraintsConstrained system: kinematic constraints holonomic (algebraic)holonomic (algebraic)

Non-holonomicNon-holonomic(differential, not integrable to holonomic)(differential, not integrable to holonomic)

usuallyusually

• algebraic relationship between kinematic variablesalgebraic relationship between kinematic variables• explicitly dependent on time: rheonomicexplicitly dependent on time: rheonomic• scleronomous otherwisescleronomous otherwise

x , t=0

x , x , t=0

A x , t x=b x , t a=M−1 f

x=aM−1 f c

M−1 f c

Page 11: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

11

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Minimal set:Minimal set:

usually, this relationship:usually, this relationship: is not known in advance, oris not known in advance, or cannot be easily made explicit with respectcannot be easily made explicit with respect

to Lagrangian coordinates qto Lagrangian coordinates q

Cordinate partitioning is required, e.g.:Cordinate partitioning is required, e.g.: direct elimination from derivative of constraint equationdirect elimination from derivative of constraint equation QR, SVD or similar decompositionQR, SVD or similar decomposition

Results in Maggi-Kane equations and similar approachesResults in Maggi-Kane equations and similar approaches

Small system is obtained by expensive numerical reductionSmall system is obtained by expensive numerical reduction

(unless topology knowledge can be exploited)(unless topology knowledge can be exploited)

x=x q , t

Page 12: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

12

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Redundant set:Redundant set:

By Lagrange multipliers:By Lagrange multipliers: dynamics of constrained system using physical coordinatesdynamics of constrained system using physical coordinates constraint reactions applied to equations of motionconstraint reactions applied to equations of motion algebraic constraints explicitly added to the systemalgebraic constraints explicitly added to the system

• mechanism made of multiple bodies with multiple constraintsmechanism made of multiple bodies with multiple constraintsand few actual DoFs:and few actual DoFs: system size nearly doublessystem size nearly doubles

• mechanism made of deformable bodies with few constraints (e.g. FEM):mechanism made of deformable bodies with few constraints (e.g. FEM): system size not significantly alteredsystem size not significantly altered

• sparsity is almost preservedsparsity is almost preserved

⋅=⋅ x⋅/xT

⋅=⋅ x⋅/ xT

[ M / xT

/x 0 ]{x}={ f

b '}

Page 13: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

13

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Constraint equations written “Constraint equations written “as isas is”:”:

problem becomes differential algebraic (DAE); issues:problem becomes differential algebraic (DAE); issues:• needs specific care to be solved: (nearly) L-stable integration, i.e.needs specific care to be solved: (nearly) L-stable integration, i.e.

unconditionally stable (A-stable), andunconditionally stable (A-stable), and for for

• the constraint equation implies the additional constraintsthe constraint equation implies the additional constraints

but they are not explicitly enforced:but they are not explicitly enforced:

may need constraint stabilizationmay need constraint stabilization (Gear et al.) (Gear et al.)

x , t=0

xk10 t∞

x , t=0x , t=0

Page 14: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

14

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Constraint equations:Constraint equations:• x is correctx is correct• derivatives may be inaccuratederivatives may be inaccurate• multipliers may be inaccuratemultipliers may be inaccurate

kk

k+1k+1

k+2k+2

k+2k+2x j , t j=0

x j , t j=0

numerical solution numerical solution with constraint with constraint

stabilizationstabilization

x j , t j=0numerical solutionnumerical solution

x , t =0 exact solutionexact solution

Page 15: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

15

LaMSID – July 24 – August 7, 2008

Multibody dynamics

Alternative: constraint equations differentiated to second order:Alternative: constraint equations differentiated to second order:

problem remains ordinary differential (ODE);problem remains ordinary differential (ODE);• can be solved by conditionally stable algorithmscan be solved by conditionally stable algorithms• the constraint equation does not imply the original constraintsthe constraint equation does not imply the original constraints

suffers from drift! definitely needs constraint stabilization!suffers from drift! definitely needs constraint stabilization!

common technique: Baumgartecommon technique: Baumgarte

(violation governed by asymptotically stable linear differential eq.)(violation governed by asymptotically stable linear differential eq.)

/ x x=b'

x , t=0x , t=0

−2−2/ x x=b'

Page 16: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

16

LaMSID – July 24 – August 7, 2008

Software architectures

• Monolithic:Monolithic: user prepares specific model using built-in library elementsuser prepares specific model using built-in library elements general-purpose solver swallows model and spits resultsgeneral-purpose solver swallows model and spits results

• Library:Library: user writes specific solver using library elementsuser writes specific solver using library elements

• usually needs programming skills; the solver must be compiledusually needs programming skills; the solver must be compiled specific solver solves the problem and spits resultsspecific solver solves the problem and spits results

• Symbolic manipulators:Symbolic manipulators: user writes equationsuser writes equations symbolic manipulation engine solves equations and spits resultssymbolic manipulation engine solves equations and spits results

• Modelica (and Modelica-like):Modelica (and Modelica-like): user prepares model using a modeling language and libsuser prepares model using a modeling language and libs general-purpose interpreter generates specific solvergeneral-purpose interpreter generates specific solver specific solver solves the problem and spits resultsspecific solver solves the problem and spits results

Page 17: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

17

LaMSID – July 24 – August 7, 2008

Software architectures

Free software examples (surely there are more):Free software examples (surely there are more):• Monolithic:Monolithic:

MBDynMBDyn

• Library:Library: DynaMechs (C++)DynaMechs (C++) Mbs3d (requires Matlab)Mbs3d (requires Matlab) Open Dynamics Engine (ODE) (C++)Open Dynamics Engine (ODE) (C++)

• Symbolic manipulators:Symbolic manipulators: 3D_MEC3D_MEC EasyDyn (MuPad)EasyDyn (MuPad) RoboTran (requires Matlab)RoboTran (requires Matlab)

• Modelica:Modelica: OpenModelica?OpenModelica?

non-free counterparts omittednon-free counterparts omitted

frequently architectures overlapfrequently architectures overlap

Page 18: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

18

LaMSID – July 24 – August 7, 2008

Software architectures

• MBDyn is monolithicMBDyn is monolithic

• Input consists in a text fileInput consists in a text file

• The input syntax allows some flexibility, e.g.:The input syntax allows some flexibility, e.g.: math expressions evaluationmath expressions evaluation variables definitionvariables definition ““rigorous” syntax checking, but free style, indentation, ...rigorous” syntax checking, but free style, indentation, ...

• Relevant portions of the code are modular and can be extended by:Relevant portions of the code are modular and can be extended by: writing run-time loadable moduleswriting run-time loadable modules hacking the code (it's free, all in all!)hacking the code (it's free, all in all!)

• There is no built-in pre-post processing facilityThere is no built-in pre-post processing facility

• Help in this area would be warmly appreciated!Help in this area would be warmly appreciated! MBDyn output can be translated into EasyAnimMBDyn output can be translated into EasyAnim there is an independent, partial customization based on Blenderthere is an independent, partial customization based on Blender

what about a custom Salome toolbox for multibody?what about a custom Salome toolbox for multibody?

Page 19: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

19

LaMSID – July 24 – August 7, 2008

Software architectures

MBDyn interacts with other software:MBDyn interacts with other software:• Generic streamed input/output Generic streamed input/output

Input: “drive” (scalar); can be fed to several entities:Input: “drive” (scalar); can be fed to several entities:• imposed loadimposed load• imposed joint motionimposed joint motion• imposed deformable component prestrainimposed deformable component prestrain• Inputs can be aggregated and manipulatedInputs can be aggregated and manipulated

Output: “measurement” (scalar); can be any exportable entity:Output: “measurement” (scalar); can be any exportable entity:• any model stateany model state• internal parameters of elements and nodesinternal parameters of elements and nodes• outputs can be aggregated and manipulatedoutputs can be aggregated and manipulated

Used to interact with Simulink, Scicos, ... also in hard real-timeUsed to interact with Simulink, Scicos, ... also in hard real-time

• Generic motion output/force inputGeneric motion output/force input Used for interaction with CFD solversUsed for interaction with CFD solvers Could be (easily?) adapted for interaction with Aster?Could be (easily?) adapted for interaction with Aster?

• Other software needed to pre/post-process data (e.g. FEM)Other software needed to pre/post-process data (e.g. FEM)

Page 20: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

20

LaMSID – July 24 – August 7, 2008

Problems

Equations of motion: for each node (purely geometrical entity),Equations of motion: for each node (purely geometrical entity),• Newton-Euler, written as first-order system of equations:Newton-Euler, written as first-order system of equations:

• Momentum and momenta moment are usedMomentum and momenta moment are usedinstead of pseudo-velocitiesinstead of pseudo-velocities

• allows multiple contributions to inertia of a single nodeallows multiple contributions to inertia of a single node(but constraint stabilization is no longer straightforward...)(but constraint stabilization is no longer straightforward...)

Constrained equations are directly writtenConstrained equations are directly writtenin differential-algebraic form:in differential-algebraic form:

M x= pp= f x , x , t

M x= pp

/ xT= f x , x , t

x , t = 0

(for dynamic nodes only)(for dynamic nodes only)

(=0 for static nodes)(=0 for static nodes)

Page 21: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

21

LaMSID – July 24 – August 7, 2008

Problems

• Fundamental problem:Fundamental problem: integration of Initial Value Problem (IVP) in timeintegration of Initial Value Problem (IVP) in time also in Hard Real-Time (by way of RTAI, RT-Net & Scicos)also in Hard Real-Time (by way of RTAI, RT-Net & Scicos)

for Hardware-In-the-Loop (HIL) simulationsfor Hardware-In-the-Loop (HIL) simulations

• Static analysis as degeneration of IVP dynamic analysis:Static analysis as degeneration of IVP dynamic analysis: momentum and momenta moment definitions omittedmomentum and momenta moment definitions omitted only gravity is consideredonly gravity is considered system determination must be provided by kinematic constraintssystem determination must be provided by kinematic constraints

and deformable componentsand deformable components

• Kinematic analysis as degeneration of IVP dynamic analysis:Kinematic analysis as degeneration of IVP dynamic analysis: inertia elements omittedinertia elements omitted system determination must be provided by kinematic constraintssystem determination must be provided by kinematic constraints deformable components can act as “regularization”deformable components can act as “regularization”

Page 22: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

22

LaMSID – July 24 – August 7, 2008

Problems

[K ' / xT

/x 0 ]{x

0}={ 0

−x , t }Experimental inverse dynamics problemExperimental inverse dynamics problem• inverse kinematicsinverse kinematics

(allows under-(allows under-constrainedconstrainedsystems):systems):

• the RHS contains the desired motion and its derivativesthe RHS contains the desired motion and its derivatives• the (regularized) static analysis provides the kinematic inversionthe (regularized) static analysis provides the kinematic inversion

[K ' / xT

/x 0 ]{ x

1}={ 0

b x , t }

[K ' / xT

/x 0 ]{ x

2}={ 0

b'x , x , t }

/ xT =f ' x , x , x , t

same matrix!same matrix!

nonlinearnonlinear

linearlinear

linearlinear

linearlinear

K '=I : Moore-Penrose pseudo-inverse: Moore-Penrose pseudo-inverse

Page 23: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

23

LaMSID – July 24 – August 7, 2008

Problems

• Direct eigenanalysis (eXperimental) Direct eigenanalysis (eXperimental) issues with constraints formulationissues with constraints formulation

(mainly with rotations)(mainly with rotations)

issues with equations implementationissues with equations implementation(matrices not available for some elements; e.g. aerodynamics)(matrices not available for some elements; e.g. aerodynamics)

• Future development: relative coordinate frame dynamics Future development: relative coordinate frame dynamics imposed frame motion: modifications only to RHS inertia elemsimposed frame motion: modifications only to RHS inertia elems

instrumental for many helicopter rotor/wind turbineinstrumental for many helicopter rotor/wind turbinedynamics problemsdynamics problems

Page 24: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

24

LaMSID – July 24 – August 7, 2008

Arbitrary motion description

• Mechanical degrees of freedom:Mechanical degrees of freedom: structural node positions in the absolute reference framestructural node positions in the absolute reference frame structural node orientations with respect to the absolute framestructural node orientations with respect to the absolute frame

(but in updated form...)(but in updated form...)

• Kinematics is always written with respect to the absolute frameKinematics is always written with respect to the absolute frame

• Newton-Euler equations are written in the absolute frameNewton-Euler equations are written in the absolute frame moment equilibrium (Euler) equations are writtenmoment equilibrium (Euler) equations are written

with respect to the (moving) nodeswith respect to the (moving) nodes

• Special elements may introduce further approximationsSpecial elements may introduce further approximations e.g. Component Mode Synthesis (CMS) elemente.g. Component Mode Synthesis (CMS) element

Page 25: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

25

LaMSID – July 24 – August 7, 2008

Arbitrary motion description

Orientation handling:Orientation handling:• orientation variables: Cayley-Gibbs-Rodrigues parametersorientation variables: Cayley-Gibbs-Rodrigues parameters• orientation matrix:orientation matrix:

• orthonormality:orthonormality:

• derivative:derivative:

• incremental approach from step incremental approach from step kk to to kk+1 to eliminate the +1 to eliminate the singularity issue that arises from orientation parameters singularity issue that arises from orientation parameters (increments must be small anyway for accuracy):(increments must be small anyway for accuracy):

R=R g

R RT=×=G g g×

RT=R−1

Rk=R g kR k−1

Page 26: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

26

LaMSID – July 24 – August 7, 2008

Arbitrary motion description

• Orientation handling:Orientation handling: the actual orientation variables are the Cayley-Gibbs-Rodrigues the actual orientation variables are the Cayley-Gibbs-Rodrigues

parameters relative to the correction phase of each time stepparameters relative to the correction phase of each time step kk: time step counter: time step counter ii: correction iteration counter (0: predicted value): correction iteration counter (0: predicted value)

• Orientation matrix:Orientation matrix:

• Derivative:Derivative:

Rk i =R g

iRk0

Rk i R k

i T=k i×=R g

i k0×G g

i g

i ×

k-1 k(i)

k(0)“updated-updated”lagrangian

updated lagrangian

Page 27: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

27

LaMSID – July 24 – August 7, 2008

Arbitrary motion description

• Incremental orientation from previous step:Incremental orientation from previous step: Orientation parameters order of magnitude: Orientation parameters order of magnitude:

• Incremental orientation from prediction:Incremental orientation from prediction: Orientation parameters order of magnitude:Orientation parameters order of magnitude:

where where nn is the min between the order of the predictor and that is the min between the order of the predictor and that of the integration method (MBDyn: 3 and 2, respectively)of the integration method (MBDyn: 3 and 2, respectively)

As a consequence:As a consequence:

(only in Jacobian(only in Jacobianmatrix, of course!)matrix, of course!)

g~O∥∥ t

g~O tn1

R g≈I

Gg≈I

G g≈0

Page 28: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

28

LaMSID – July 24 – August 7, 2008

Deformable components

• Lumped deformable componentsLumped deformable components rod (1D)rod (1D) linear, angular components (3D)linear, angular components (3D) linear & angular component (6D)linear & angular component (6D)

• Intrinsic, composite-ready Finite-Volume beam elementIntrinsic, composite-ready Finite-Volume beam element arbitrary constitutive lawarbitrary constitutive law piezoelectric constitutive lawpiezoelectric constitutive law aerodynamic (strip-theory with inflow model) beam elementaerodynamic (strip-theory with inflow model) beam element

• Component Mode Synthesis (CMS)Component Mode Synthesis (CMS) attached to a floating frame (a multibody node) for rigid body motionattached to a floating frame (a multibody node) for rigid body motion linear state-space representation of unsteady aerodynamicslinear state-space representation of unsteady aerodynamics

x= A xBqs

f a= q C xD0 qsb/V D1 qsb/V 2 D2 qs

Page 29: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

29

LaMSID – July 24 – August 7, 2008

Deformable components

Lumped deformable components (3D, 6D):Lumped deformable components (3D, 6D):

• Attached form:Attached form: constitutive properties referred to either of the connected nodesconstitutive properties referred to either of the connected nodes

• Intrinsic form (invariant: ):Intrinsic form (invariant: ): constitutive properties referred to a floating reference frameconstitutive properties referred to a floating reference frame intrinsically handles geometrical nonlinearity related to rotationsintrinsically handles geometrical nonlinearity related to rotations correctly captures bending-torsion buckling behaviorcorrectly captures bending-torsion buckling behavior essential for anisotropic deformable componentsessential for anisotropic deformable components

The intrinsic/invariant form is unique to MBDyn.The intrinsic/invariant form is unique to MBDyn.

It resulted from a work for Hutchinson CdRIt resulted from a work for Hutchinson CdR

= ax exp−1Ra

T Rb

m= R m

=0,=1

=1/2

Page 30: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

30

LaMSID – July 24 – August 7, 2008

Intrinsic, composite-ready beamIntrinsic, composite-ready beam• Topology: Topology:

1D reference line p, 1D reference structure R1D reference line p, 1D reference structure R 2D section characterization2D section characterization

Deformable components

reference linereference line

reference reference orientationorientation

reference motion:reference motion:

warpingwarping

x= pR tx/= p

/

×R t

p R

t

p , R

Page 31: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

31

LaMSID – July 24 – August 7, 2008

Intrinsic, composite-ready beamsIntrinsic, composite-ready beams• strain measure: strain measure:

• equilibrium (from VWP):equilibrium (from VWP):

• constitutive properties:constitutive properties:

Deformable components

= RT p/−R0

T p0 /

= RT−R0

T 0

f/=

m/p

/×f=

f= f ,m= m ,

Page 32: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

32

LaMSID – July 24 – August 7, 2008

Intrinsic, composite-ready beams: 3-node discretizationIntrinsic, composite-ready beams: 3-node discretization• Finite Volume approach: equilibrium of finite portions of beamFinite Volume approach: equilibrium of finite portions of beam• internal forces function of node kinematics thru constitutive lawsinternal forces function of node kinematics thru constitutive laws• warping goes into constitutive properties computationwarping goes into constitutive properties computation

Deformable components

node 1node 1

node 2node 2

node 3node 3

point Ipoint Ipoint IIpoint II

f I , mI

f II , mII

f 1 , m1

f 2 , m2

f 3 , m3

constitutive properties from detailed 2D FEMconstitutive properties from detailed 2D FEM

Page 33: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

33

LaMSID – July 24 – August 7, 2008

Solving the problem

Numerical integrationNumerical integration• implicit, (quasi-)L stable 2 step algorithmimplicit, (quasi-)L stable 2 step algorithm

• tunable algorithmic dissipation: asymptotic spectral radius 1tunable algorithmic dissipation: asymptotic spectral radius 1→→00 asymptotic spectral radius = 0: 2asymptotic spectral radius = 0: 2ndnd order BDF order BDF ““optimal” dissipation: spectral radius ~ 0.6optimal” dissipation: spectral radius ~ 0.6

• second-order accurate, with third-order accurate predictorsecond-order accurate, with third-order accurate predictor• variable time stepvariable time step• not ideal for non-smooth problems (multi-step)not ideal for non-smooth problems (multi-step)• different integrators can be used; new ones can be implementeddifferent integrators can be used; new ones can be implemented

y k=a1 y k−1a2 y k−2

t b0 ykb1 y k−1b2 y k−2

Page 34: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

34

LaMSID – July 24 – August 7, 2008

Solving the problem

• Prediction:Prediction:

• Correction iteration:Correction iteration:

butbut

the problem becomes algebraicthe problem becomes algebraic

y k0 =m1 y k−1

m2 y k−2/ tn1 y k−1

n2 y k−2

y k0 =a1 yk−1

a2 yk−2 tb0 y k

0b1 y k−1b2 y k−2

f/ y y i f

/yyi =−f yk i−1 , y k

i−1 , t k

y i = t b0 y i

f/ y t b0 f

/ y y i =−f yki−1 , yk

i−1 , t k

y k i =yk

i−1 yi

y k i =yk

i−1 t b0 y i

Page 35: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

35

LaMSID – July 24 – August 7, 2008

Solving the problem

Model assemblyModel assembly• model could be input incorrectlymodel could be input incorrectly• initial values of the state (position, velocity, reactions) are neededinitial values of the state (position, velocity, reactions) are needed• this task might not be trivialthis task might not be trivial• initial state values must comply with constraints:initial state values must comply with constraints:

• a dummy static nonlinear problem is solved (regularization):a dummy static nonlinear problem is solved (regularization):

x0, t0=0

x0, t0=0

K ' x−x0/xT '= f '

C' x−x0 /xT '= f '

x , t0= 0

x , t0= 0

Page 36: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

36

LaMSID – July 24 – August 7, 2008

Solving the problem

Solution initialization (so-called “derivatives”)Solution initialization (so-called “derivatives”)• explicit problem:explicit problem:

• implicit problem:implicit problem:

• modified correction phase to initialize solution:modified correction phase to initialize solution:

• convergence no longer quadratic, but saves lots of code duplicationconvergence no longer quadratic, but saves lots of code duplication• Setting might not work (problem can be structurally singular) Setting might not work (problem can be structurally singular)

y=f y , t

0=f y , y , t

f/ yc f

/y y i=−f y0 i−1 , y

0, t

0

y0 i =y

0 i−1 yi

y0=y0

c=0

Page 37: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

37

LaMSID – July 24 – August 7, 2008

Extracting useful information

• Detailed analysis requires detailed models, but...Detailed analysis requires detailed models, but...

• excessive details endanger the chance to extract useful informationexcessive details endanger the chance to extract useful information

• Proper Orthogonal Decomposition allows to extract information Proper Orthogonal Decomposition allows to extract information from redundant measuresfrom redundant measures

• Consider a set of Consider a set of NN measurements X for measurements X for nn time steps; their SVD: time steps; their SVD:

• The singular values allow to determine the The singular values allow to determine the mm most relevant signals most relevant signals

• Note thatNote that

• This allows to efficiently compute the singular values and the POMsThis allows to efficiently compute the singular values and the POMs

XT∈ℝn×N=UVT

X1: m , nT =Un ,1: m1 : m ,1: m V N ,1 : m

T

XT X= U2 UT

UT XT= VT

X XT= V

2 VT

XT V= U

Page 38: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

38

LaMSID – July 24 – August 7, 2008

Extracting useful information

• The POMs can be used to identify a transition matrixThe POMs can be used to identify a transition matrix

• If X contains the free response of the system, the transition matrix If X contains the free response of the system, the transition matrix allows to estimate the relevant eigenvalues (AR model)allows to estimate the relevant eigenvalues (AR model)

• More sophisticated system identification techniques can be usedMore sophisticated system identification techniques can be used

• A technique based on covariance estimates from time histories has A technique based on covariance estimates from time histories has been recently proposed; works for:been recently proposed; works for: free responsefree response forced responseforced response unmeasured forced responseunmeasured forced response

[1] G. Quaranta, P. Masarati, and P. Mantegazza: “Continuous-Time Covariance Approaches for Modal Analysis”, Journal of Sound and Vibration, Vol.310/1-2 pp. 287-312, 5 February 2008.

[2] G. Quaranta, P. Masarati, and P. Mantegazza: “Assessing the Local Stability of Periodic Motions for Large Multibody Nonlinear Systems Using POD”, Journal of Sound and Vibration, Vol 271/3-5, pp. 1015-1038, 2004.

Xk1=Xk

Page 39: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

39

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Robotics:Robotics:

delta robotdelta robot

inverse dynamicsinverse dynamics

for computedfor computed

torque controltorque control

Page 40: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

40

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Robotics: PA-10Robotics: PA-10

inverse kinematicsinverse kinematics

with path optimizationwith path optimization

of cooperating robotsof cooperating robots

Page 41: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

41

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Robotics:Robotics:

biomimetic robotbiomimetic robot

real-time motion planningreal-time motion planning

by inverse kinematicsby inverse kinematics

with fault detectionwith fault detection

Page 42: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

42

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Industrial processes:Industrial processes:

• simulation of automotive components assembly (car brake pipe) to:simulation of automotive components assembly (car brake pipe) to: check stresses introduced during assemblycheck stresses introduced during assembly check loads on supports introduced during assemblycheck loads on supports introduced during assembly check interference with other parts during assemblycheck interference with other parts during assembly check interference with other parts during operationcheck interference with other parts during operation

• the model has been developed by a rubber manufacturer the model has been developed by a rubber manufacturer (Hutchinson CdR)(Hutchinson CdR)

• it is used for product design and certificationit is used for product design and certification

• it required the development of specific features for solution it required the development of specific features for solution partitioning, which are now part of the standard MBDyn (the “hints”)partitioning, which are now part of the standard MBDyn (the “hints”)

Page 43: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

43

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Automotive: mechanical modeling of suspensionsAutomotive: mechanical modeling of suspensions

purpose: determine loads in rubber bushings and other componentspurpose: determine loads in rubber bushings and other components

Page 44: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

44

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Rotorcraft dynamics and aeroservoelasticity:Rotorcraft dynamics and aeroservoelasticity:• WRATS (NASA/Army) tiltrotor aeromechanicsWRATS (NASA/Army) tiltrotor aeromechanics

Page 45: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

45

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Rotorcraft dynamicsRotorcraft dynamics

and aeroservoelasticity:and aeroservoelasticity:• ERICA (AgustaWestland)ERICA (AgustaWestland)

tiltrotor aeromechanicstiltrotor aeromechanics(ADYN, NICETRIP EU 6FP,(ADYN, NICETRIP EU 6FP,in cooperation within cooperation withEurocopter, DLR, ONERAEurocopter, DLR, ONERAand more...)and more...)

Page 46: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

46

LaMSID – July 24 – August 7, 2008

Examples of multibody modeling with MBDyn

Wind-turbine dynamics simulation,Wind-turbine dynamics simulation,

also in Real-Timealso in Real-Time

gearbox

yaw teeter

pitch

tower

blades

nacelle

Page 47: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

47

LaMSID – July 24 – August 7, 2008

Future development

• Multiscale handling of submodels with different dynamics;Multiscale handling of submodels with different dynamics;for example, in the flying helicopter case:for example, in the flying helicopter case: aircraft flight mechanics (~0 to 5 Hz: very slow)aircraft flight mechanics (~0 to 5 Hz: very slow) airframe & main rotor dynamics (~5 to 40 Hz: intermediate)airframe & main rotor dynamics (~5 to 40 Hz: intermediate) tail rotor dynamics (~25 to >100 Hz: fast)tail rotor dynamics (~25 to >100 Hz: fast)

• Interfacing with different domainsInterfacing with different domains fluid-structure (Lagrangian/Eulerian modeling of work flows)fluid-structure (Lagrangian/Eulerian modeling of work flows) structure-structure (dynamic loads to detailed static analysis)structure-structure (dynamic loads to detailed static analysis) active control of large deformable systemsactive control of large deformable systems

• Better abstraction/modularization of components/solution phasesBetter abstraction/modularization of components/solution phases more freedom in model customizationmore freedom in model customization tight integration into nonlinear structural analysistight integration into nonlinear structural analysis

(structural damage growth under dynamic loads?)(structural damage growth under dynamic loads?)

• More...More...

Page 48: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

48

LaMSID – July 24 – August 7, 2008

Future development

• Development has always been problem (and customer!) drivenDevelopment has always been problem (and customer!) driven

• Development model:Development model: research (possibly new) solutions in (possibly new) areasresearch (possibly new) solutions in (possibly new) areas procure research grants and contracts in those fieldsprocure research grants and contracts in those fields never ask funds just for software developmentnever ask funds just for software development sell expertise, not just software; as a consequence...sell expertise, not just software; as a consequence... ...software is not the result of a contract: it's a pre-existing tool...software is not the result of a contract: it's a pre-existing tool software remains free even when customers are narrow-mindedsoftware remains free even when customers are narrow-minded when possible, work with open-minded customers :-)when possible, work with open-minded customers :-)

• Drawback: cannot stick with tight development plans :-(Drawback: cannot stick with tight development plans :-(

We are a University: we should not sacrifice our research freedomWe are a University: we should not sacrifice our research freedomto industry schedulesto industry schedules

Page 49: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

49

LaMSID – July 24 – August 7, 2008

Documentation and support

• Freedom and features are not enough: software needs to be usableFreedom and features are not enough: software needs to be usable

• Users need:Users need: documentationdocumentation forums to discuss issuesforums to discuss issues issue tracking provisionsissue tracking provisions reasonable guarantee of maintenancereasonable guarantee of maintenance reasonable guarantee of stability across releasesreasonable guarantee of stability across releases

• The main guarantee is the freedom of the software:The main guarantee is the freedom of the software: in the worst case, one can always fork and go on its own; but...in the worst case, one can always fork and go on its own; but... ... first, better talk to the developers: cooperation saves efforts... first, better talk to the developers: cooperation saves efforts

Page 50: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

50

LaMSID – July 24 – August 7, 2008

Documentation and support

• Theory manual:Theory manual: Incomplete; needs lots of workIncomplete; needs lots of work

• User manualUser manual available and complete, but probably hard to read; needs improvementsavailable and complete, but probably hard to read; needs improvements

• TutorialsTutorials available, but reportedly too simple; need workavailable, but reportedly too simple; need work

• Applications manualApplications manual just startedjust started

• Installation manualInstallation manual available, but incomplete and outdatedavailable, but incomplete and outdated

• Mailing listsMailing lists available: announce, users, develavailable: announce, users, devel right now, the “users” list also serves as issue tracking provisionright now, the “users” list also serves as issue tracking provision

Page 51: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

51

LaMSID – July 24 – August 7, 2008

Documentation and support

• Another important item that is missing is an automated test suite, thatAnother important item that is missing is an automated test suite, that can be run automatically after building the softwarecan be run automatically after building the software allows to check build errorsallows to check build errors allows to check regressions in new releasesallows to check regressions in new releases serves as example of modeling functionalitiesserves as example of modeling functionalities

• The rest is underway (always a work in progress)The rest is underway (always a work in progress)

Given the nature of the project, contributions are always welcome!Given the nature of the project, contributions are always welcome!

Page 52: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

52

LaMSID – July 24 – August 7, 2008

Acknowledgments

• Paolo Mantegazza (“grandfather” of MBDyn)Paolo Mantegazza (“grandfather” of MBDyn)• Marco Morandini (lots of optimizations, friction, ...)Marco Morandini (lots of optimizations, friction, ...)• Giuseppe Quaranta (schur decomposition, FSI, ...)Giuseppe Quaranta (schur decomposition, FSI, ...)• Alessandro Fumagalli (inverse dynamics, ...)Alessandro Fumagalli (inverse dynamics, ...)

• many Graduate and PhD studentsmany Graduate and PhD students

• few contributions from outside as well (mostly bug fixes)few contributions from outside as well (mostly bug fixes)

Page 53: MBDyn - Multibody System Dynamics · This presentation is split in two parts: • Multibody System Dynamics, with specific reference to MBDyn, the free general-purpose multibody solver

53

LaMSID – July 24 – August 7, 2008

Questions?