RealTime Applications for Multibody System Dynamics
Alberto Luaces  Madison, WI, 20130730
Location: Ferrol, Galicia, Spain
Galicia
Galicia's best assets
Ferrol
Ferrol is a city of ~70,000 inhabitants

 Naval tradition
 Military and civilian shipyards
 Navy harbor and facilities

Engineering school: Escola Politécnica Superior, UDC
 Founded in 1992
 Aimed at pushing the naval and industrial tradition of the region
 Grades for naval, mechanical and industrial engineering
Research: Laboratorio de Ingeniería Mecánica
 Founded in 2002
 Currently 9 people (professors, PhDs, PhD students)
 Research aimed at multibody applications for almost any kind of purpose
Biomechanics: active orthesis design
 Active element to assist the march of spinalinjured people
 The orthesis movement is triggered by a sole sensor.
Where does multibody fit in?
 Study of the motion: inverse dynamics
 Computed Torque Control?
Study of the motion
 Motion is captured by an optical tracking system.
 Force plates register the reactions over each foot.
 Strain gauges on the crutches.
The orthesis
The movement of each leg is controlled by a motor at the knee
The ankle is controlled by an adjustable spring
Vehicle simulator
 Fully generic automobile simulation
 Only 5 bodies, 1ms fixed timestep
 Open loop, no constraints
 Relative coordinates
 Solved as a dense linear system (LAPACK)
 Runs in realtime platform PXI from NI
 Labview communication and operation


Instrumented vehicle
Inhouse developed vehicle, fully instrumented
 Steering wheel, brake and throttle pedals can be controlled by onboard PC (Xbywire)
 Current system is able to reproduce straight and Jturn maneuvers
Instrumented vehicle: future objectives
 Active research in computing the entire state of the vehicle with a minimum number of sensors.
 Multibody simulator can be used as a virtual sensor
 Kalman filters correcting multibody system in realtime
 ~160 variables
 5ms fixed timestep
 TMeasy tire model
 Parallelization opportunity: some Kalman implementations require to solve the dynamics within a perturbation field.
Excavator simulator

 Training simulator
 Fully 3D articulated model
 154 variables
 Integration timestep 5ms
 Good performance, but...

Excavator simulator: disadvantages (i)
 Sequential algorithm, does not scale with CPU cores
 More complex phenomena can not be simulated in realtime
 The system has to be readjusted for optimal size at each instant.
Excavator simulator: disadvantages (ii)
Anchor Weighing Simulator
 Problem: designing a correct fitting for an anchor into a ship hull
 Aimed at replacing old simulations based on wooden scaled models
Implementation
 Small system, but too big for CPU:
 ~60 chain links → ~700 variables
 index3 Augmented Lagrangian formulation
 0.1ms fixed timestep


Contact models
 Object surfaces are divided into FEMlike elements.
 Regular chain links are approximated by toroidal and cylindrical shapes.
Contact force model: normal force
HuntCrossley model
$${\bf F}_{n} ={k_n} \: {\delta}^e \left(1+{\displaystyle \frac{3 \left(1{\epsilon}\right)}{2} {\frac{\dot{\delta}}{\dot{\delta_0}}}}\right) {\bf n}$$
$$
k_n =\frac{4}{3\left(\sigma_{sph}+\sigma_{pln} \right)} \sqrt{R_{sph}}
$$
$$
\sigma_{sph}=\frac{1\nu^2_{sph}}{E_{sph}}; \sigma_{pln}=\frac{1\nu^2_{pln}}{E_{pln}}
$$
Contact force model: tangential force
$$
{\bf F}_{t}=\kappa \: {\bf F}_{stic}+(1\kappa) \: {\bf F}_{slide}  \mu_{visc} {\bf v}_{t}
$$
$$
{\bf F}_{slide}= \left\{\begin{array}{cl}
0; \ \lVert{\bf v}_{t}\rVert = 0 \\
{\mu}_{din} \: {\lVert{\bf F}_{n}\rVert} \: {\displaystyle\frac{{\bf v}_{t}}{\lVert{\bf v}_{t}\rVert}}; \ \lVert{\bf v}_{t}\rVert > 0
\end{array}\right\}
$$
$$
{\bf F}_{stic}= \left\{\begin{array}{cl}
0; \ s = 0 \\
\displaystyle {\frac{f^{m}_{stic}}{s}} {\left( {\bf I}_3 {\bf n} {\bf n}^{\rm T} \right)} \: {\left({\bf p}_{contact}{\bf p}_{stic} \right)}; \ s > 0 \\
\end{array}\right\}
$$

$$
{\bf v}_{t} = \dot{{\bf p}}_{contact} \left( {\bf n}^{\rm T} \, \dot{{\bf p}}_{contact} \right) {\bf n}
$$
$$
\kappa=\left\{\begin{array}{cl} 0; & \ \lVert{\bf v}_{t}\rVert >> {v_{stic}}
\\1; & \ \lVert{\bf v}_{t}\rVert = 0 \end{array}\right\}
$$
$$
\kappa={\rm e}^{\left( {\bf v}^{\rm T}_{t} {\bf v}_{t} \right)/ v^2_{stic}}
$$

Bottleneck
Tools as Intel's VTune or linux's perf can be used to locate the hotspots:
Most of the time is spent on solving the linear system at each iteration.
Linear System
The linear system to be solved in each NewtonRaphson iteration is
$${\left[ {\frac{{\partial f\left( {\bf q} \right)}}{{\partial {\bf q}}}} \right]_i}\Delta {{\bf q}_{i + 1}} =  {\left[ {f\left( {\bf q} \right)} \right]_i}$$
where
$$f({\bf q}) = \beta {h^2} \bigl\{
{\bf M}\left[ \left( {1  {\delta_m}} \right) {\bf \ddot q}_{n + 1} + {\delta_m} {\bf \ddot q}_n \right] \bigr. + \\
+ \bigl. \left( {1  {\delta_f}} \right) \left[{ \Phi}_{\bf q}^{\rm T} \left( \alpha { \Phi} + {{\lambda }}^{\ast} \right)  {\bf Q} \right]_{n + 1} + \\
+ {\delta_f} \left[{ \Phi}_{\bf q}^{\rm T} \left( \alpha { \Phi} + {{\lambda}}^{\ast} \right)  {\bf Q} \right]_n \bigr\}$$
Tangent Matrix
$$\left[ {\frac{{\partial f\left( {\bf q} \right)}}{{\partial {\bf q}}}}
\right] \cong \left( {1  {\delta _m}} \right){\bf M} + \left( {1  {\delta _f}} \right)\gamma h{{\bf C}_{n + 1}} + \\
+ \left( {1  {\delta _f}} \right)\beta {h^2} \left( {{ \Phi} _{\bf q}^{\rm T} { \alpha} { \Phi} _{\bf q} + {\bf K}} \right)_{n + 1}$$
where \({\bf K} = {\frac{{\partial {\bf Q}}}{{\partial {\bf q}}}}\) and \({\bf C} = {\frac{{\partial {\bf Q}}}{{\partial {\bf \dot q}}}}\)
 Fill rate: around 2%
 It is not required to compute this matrix for each iteration.
Embedded computing platforms

 ARM lowpowered devices (portable)
 Small but still useful computing power
 Some of them multicore
 Capability of easily driving external hardware
