Multibody System Dynamics - Presentation - 2008
Multibody System Dynamics - Presentation - 2008
Politecnico di Milano
Dipartimento di Ingegneria Aerospaziale
2
Preamble
with the outline of possible solutions for the interaction with Aster
LaMSID – July 24 – August 7, 2008
3
Outline
• Overview
• Multibody dynamics
• Software architectures
• Problems
• Arbitrary motion description
• Deformable components
• Solving the problem
• Extracting useful information
• Examples of multibody modeling with MBDyn
• Future development
• Documentation and support
• Acknowledgments
LaMSID – July 24 – August 7, 2008
4
Multibody dynamics: overview
• Initial idea:
automatically write equations of motion of arbitrary mechanisms
• Current status:
efficiently and accurately integrate in time
exact rigid-body kinematics, plus
nonlinear finite elements, plus
natural inclination towards multi-physics & system integration
• Future:
scale to larger and larger problems, and
higher performances when solving more complex problems
LaMSID – July 24 – August 7, 2008
5
Multibody dynamics: overview
Multibody methods:
LaMSID – July 24 – August 7, 2008
6
Multibody dynamics: overview
Types of analysis:
• Statics (pseudo-time)
• Miscellaneous:
modal analysis
sensitivity analysis
parameter optimization
topology optimization and mechanism synthesis
LaMSID – July 24 – August 7, 2008
7
Multibody dynamics: overview
Applications:
• Robotics
• Automotive
• Crashworthiness
• Aerospace engineering
• Industrial automation
• Applied mechanics
LaMSID – July 24 – August 7, 2008
8
Multibody dynamics: overview
Classification of approaches:
• Based on coordinate set
classical approach
Minimal coordinate set
Redundant coordinate set modern approach
LaMSID – July 24 – August 7, 2008
9
Multibody dynamics
Basic equations:
M x ẍ=f x , ẋ , t
mechanics of unconstrained system of bodies
subjected to configuration-dependent loads
LaMSID – July 24 – August 7, 2008
10
Multibody dynamics
LaMSID – July 24 – August 7, 2008
11
Multibody dynamics
Minimal set:
x=xq , t
usually, this relationship:
is not known in advance, or
cannot be easily made explicit with respect
to Lagrangian coordinates q
LaMSID – July 24 – August 7, 2008
12
Multibody dynamics
Redundant set:
⋅= ⋅ x⋅T/x
T
⋅= ⋅ x⋅ / ẋ
By Lagrange multipliers:
dynamics of constrained system using physical coordinates
constraint reactions applied to equations of motion
algebraic constraints explicitly added to the system
[ ]{ } { }
T
M / x ẍ f
=
• sparsity is almost preserved /x 0 b'
LaMSID – July 24 – August 7, 2008
13
Multibody dynamics
LaMSID – July 24 – August 7, 2008
14
Multibody dynamics
Constraint equations:
• x is correct
• derivatives may be inaccurate
• multipliers may be inaccurate
k+2
numerical solution x j , t j =0
with constraint k+2
stabilization ̇ x j , t j =0
k+1
k
x , t=0 exact solution
LaMSID – July 24 – August 7, 2008
15
Multibody dynamics
/ x ẍ=b '
problem remains ordinary differential (ODE);
• can be solved by conditionally stable algorithms
• the constraint equation does not imply the original constraints
x , t=0
̇ x , t=0
LaMSID – July 24 – August 7, 2008
16
Software architectures
• Monolithic:
user prepares specific model using built-in library elements
general-purpose solver swallows model and spits results
• Library:
user writes specific solver using library elements
• usually needs programming skills; the solver must be compiled
specific solver solves the problem and spits results
• Symbolic manipulators:
user writes equations
symbolic manipulation engine solves equations and spits results
LaMSID – July 24 – August 7, 2008
17
Software architectures
• Symbolic manipulators:
3D_MEC
EasyDyn (MuPad)
RoboTran (requires Matlab) frequently architectures overlap
• Modelica:
OpenModelica?
LaMSID – July 24 – August 7, 2008
18
Software architectures
• MBDyn is monolithic
• Relevant portions of the code are modular and can be extended by:
writing run-time loadable modules
hacking the code (it's free, all in all!)
LaMSID – July 24 – August 7, 2008
19
Software architectures
MBDyn interacts with other software:
• Generic streamed input/output
Input: “drive” (scalar); can be fed to several entities:
• imposed load
• imposed joint motion
• imposed deformable component prestrain
• Inputs can be aggregated and manipulated
Output: “measurement” (scalar); can be any exportable entity:
• any model state
• internal parameters of elements and nodes
• outputs can be aggregated and manipulated
Used to interact with Simulink, Scicos, ... also in hard real-time
LaMSID – July 24 – August 7, 2008
20
Problems
LaMSID – July 24 – August 7, 2008
21
Problems
• Fundamental problem:
integration of Initial Value Problem (IVP) in time
also in Hard Real-Time (by way of RTAI, RT-Net & Scicos)
for Hardware-In-the-Loop (HIL) simulations
LaMSID – July 24 – August 7, 2008
22
Problems
K '=I : Moore-Penrose pseudo-inverse
[ ]{ } { }
T
(allows under- K ' / x x 0
constrained = nonlinear
systems): /x 0 0 −x , t
[ ]{ } { }
T
K ' / x ẋ 0
same matrix! = linear
/x 0 1 b x , t
[ ]{ } { }
T
K ' / x ẍ 0
= linear
/x 0 2 b ' x , ẋ , t
LaMSID – July 24 – August 7, 2008
23
Problems
LaMSID – July 24 – August 7, 2008
24
Arbitrary motion description
LaMSID – July 24 – August 7, 2008
25
Arbitrary motion description
Orientation handling:
• orientation variables: Cayley-Gibbs-Rodrigues parameters
• orientation matrix:
R=R g
• orthonormality:
R T =R−1
• derivative:
Ṙ R T =×=G g ġ×
LaMSID – July 24 – August 7, 2008
26
Arbitrary motion description
• Orientation handling:
the actual orientation variables are the Cayley-Gibbs-Rodrigues
parameters relative to the correction phase of each time step
k: time step counter
i: correction iteration counter (0: predicted value)
“updated-updated” (0)
lagrangian k
k-1 k(i)
updated lagrangian
• Orientation matrix:
R ki=R g i
R 0
k
• Derivative:
Ṙ ki R ki T=ki×=R gi
0
k
×G g i
ġ i
×
LaMSID – July 24 – August 7, 2008
27
Arbitrary motion description
g~O∥∥ t
• Incremental orientation from prediction:
Orientation parameters order of magnitude:
g ~O t n1
where n is the min between the order of the predictor and that
of the integration method (MBDyn: 3 and 2, respectively)
As a consequence: R g ≈I
G g ≈ I
(only in Jacobian
matrix, of course!) Ġ g ≈0
LaMSID – July 24 – August 7, 2008
28
Deformable components
ẋ= A xB q s
f a= qC xD0 q s b/V D1 q̇ s b/V 2 D2 q̈ s
LaMSID – July 24 – August 7, 2008
29
Deformable components
m= R m
• Attached form:
constitutive properties referred to either of the connected nodes
=0, =1
LaMSID – July 24 – August 7, 2008
30
Deformable components
reference motion: p , R
reference line
reference
orientation
p R
x= pR t
t
x / = p /×R t
warping
LaMSID – July 24 – August 7, 2008
31
Deformable components
• constitutive properties:
f = f ,
m= m ,
LaMSID – July 24 – August 7, 2008
32
Deformable components
f 1 , m1
point II
point I
node 3
node 2
LaMSID – July 24 – August 7, 2008
33
Solving the problem
Numerical integration
• implicit, (quasi-)L stable 2 step algorithm
y k =a 1 y k−1 a 2 y k−2 t b 0 ẏ k b 1 ẏ k−1 b2 ẏ k−2
LaMSID – July 24 – August 7, 2008
34
Solving the problem
• Prediction:
ẏ0k =m 1 y k−1m 2 y k−2 / tn 1 ẏ k−1n 2 ẏ k−2
y0k =a1 y k−1a2 y k−2 t b 0 ẏk0b 1 ẏ k−1 b 2 ẏ k−2
• Correction iteration:
f / ẏ ẏ if /y yi =−f ẏki−1 , yki−1 , t k
but
y i = t b 0 ẏ i
LaMSID – July 24 – August 7, 2008
35
Solving the problem
Model assembly
• model could be input incorrectly
• initial values of the state (position, velocity, reactions) are needed
• this task might not be trivial
• initial state values must comply with constraints:
x 0, t 0 =0
̇ x 0, t 0 =0
• a dummy static nonlinear problem is solved (regularization):
T
K ' x−x 0 /x '= f '
C ' ẋ− ẋ0 T/x '= ḟ '
x , t 0 = 0
̇x , t 0 = 0
LaMSID – July 24 – August 7, 2008
36
Solving the problem
• implicit problem:
0=f y , ẏ , t
LaMSID – July 24 – August 7, 2008
37
Extracting useful information
• Note that T 2 T T 2 T
X X= U U XX = V V
U T XT = V T XT V= U
• This allows to efficiently compute the singular values and the POMs
LaMSID – July 24 – August 7, 2008
38
Extracting useful information
X k1= X k
• If X contains the free response of the system, the transition matrix
allows to estimate the relevant eigenvalues (AR model)
LaMSID – July 24 – August 7, 2008
39
Examples of multibody modeling with MBDyn
Robotics:
delta robot
inverse dynamics
for computed
torque control
LaMSID – July 24 – August 7, 2008
40
Examples of multibody modeling with MBDyn
Robotics: PA-10
inverse kinematics
with path optimization
of cooperating robots
LaMSID – July 24 – August 7, 2008
41
Examples of multibody modeling with MBDyn
Robotics:
biomimetic robot
real-time motion planning
by inverse kinematics
with fault detection
LaMSID – July 24 – August 7, 2008
42
Examples of multibody modeling with MBDyn
Industrial processes:
LaMSID – July 24 – August 7, 2008
43
Examples of multibody modeling with MBDyn
LaMSID – July 24 – August 7, 2008
44
Examples of multibody modeling with MBDyn
LaMSID – July 24 – August 7, 2008
45
Examples of multibody modeling with MBDyn
Rotorcraft dynamics
and aeroservoelasticity:
• ERICA (AgustaWestland)
tiltrotor aeromechanics
(ADYN, NICETRIP EU 6FP,
in cooperation with
Eurocopter, DLR, ONERA
and more...)
LaMSID – July 24 – August 7, 2008
46
Examples of multibody modeling with MBDyn
gearbox
nacelle
tower
yaw teeter
pitch
LaMSID – July 24 – August 7, 2008
47
Future development
• More...
LaMSID – July 24 – August 7, 2008
48
Future development
• Development model:
research (possibly new) solutions in (possibly new) areas
procure research grants and contracts in those fields
never ask funds just for software development
sell expertise, not just software; as a consequence...
...software is not the result of a contract: it's a pre-existing tool
software remains free even when customers are narrow-minded
when possible, work with open-minded customers :-)
LaMSID – July 24 – August 7, 2008
49
Documentation and support
• Users need:
documentation
forums to discuss issues
issue tracking provisions
reasonable guarantee of maintenance
reasonable guarantee of stability across releases
LaMSID – July 24 – August 7, 2008
50
Documentation and support
• Theory manual:
Incomplete; needs lots of work
• User manual
available and complete, but probably hard to read; needs improvements
• Tutorials
available, but reportedly too simple; need work
• Applications manual
just started
• Installation manual
available, but incomplete and outdated
• Mailing lists
available: announce, users, devel
right now, the “users” list also serves as issue tracking provision
LaMSID – July 24 – August 7, 2008
51
Documentation and support
LaMSID – July 24 – August 7, 2008
52
Acknowledgments
LaMSID – July 24 – August 7, 2008
53
Questions?
LaMSID – July 24 – August 7, 2008