# Computational dynamics: theory and applications of multibody systems

Werner Schiehlen

► To cite this version:

Werner Schiehlen. Computational dynamics: theory and applications of multibody systems. European Journal of Mechanics - A/Solids, 2006, 25 (4), pp.566-594. 10.1016/j.euromechsol.2006.03.004. hal-01393692

HAL Id: hal-01393692

https://hal.science/hal-01393692

Submitted on 8 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Computational dynamics: theory and applications of multibody systems

Werner Schiehlen

Institute of Engineering and Computational Mechanics, University of Stuttgart, 70550 Stuttgart, Germany

Tel.: +49 711 685 66388; fax: +49 711 685 66400.

E-mail address: schiehlen@itm.uni-stuttgart.de (W. Schiehlen).

URL: http://www.com/staff/Schiehlen/

Multibody system dynamics is an essential part of computational dynamics a topic more generally dealing with kinematics and dynamics of rigid and flexible systems, finite elements methods, and numerical methods for synthesis, optimization and control including nonlinear dynamics approaches. The theoretical background of multibody dynamics is presented, the efficiency of recursive algorithms is shown, methods for dynamical analysis are summarized, and applications to vehicle dynamics and biomechanics are reported. In particular, the wear of railway wheels of high-speed trains and the metabolic cost of human locomotion is analyzed using multibody system methods.

Keywords: Multibody systems; Dynamical analysis; Railway dynamics; Human locomotion

## 1. Introduction

Multibody system dynamics is based on analytical mechanics, and is applied to a wide variety of engineering systems as well as to biomechanical problems. The historical development of this new branch of mechanics was summarized in Schiehlen (1997) and Eberhard and Schiehlen (2006). Multibody dynamics is also an important subject within the European Solid Mechanics Conferences established in 1991 under the chairmanship of Pfeiffer (1992). Furthermore, numerous EUROMECH Colloquia were devoted to the subject of multibody dynamics, e.g., EUROMECH 427, the results of which were published in Ibrahimbegovic and Schiehlen (2002). The theory presented in this paper is based on a recently published textbook by Schiehlen and Eberhard (2004).

One major area of application of multibody systems is vehicle dynamics including rail and road vehicles. The International Association of Vehicle System Dynamics (IAVSD) organizes biannual symposia and the related proceedings, e.g., Abe (2004) show the latest developments. In this paper the flexible multibody system approach is used for the wear estimation of railroad wheels (Meinders et al., 2005) which means an extension of the dynamical analysis by post-processing with wear algorithms.
Biomechanics of locomotion of animals and humans is another evolving area of multibody dynamics. In particular, the close mechanical relation between robots and walking machines, and living biological systems is conceptually most attractive. The series of international symposia on Theory and Practice of Robots and Manipulators (ROMANSY) established by the International Center of Mechanical Sciences (CISM) and the International Federation of Theory of Machines and Mechanisms (IFTOMM) in 1973 is an excellent source of peer-reviewed research papers (Angeles and Piedboeuf, 2004). In this paper the dynamics of skeletal models and the musculoskeletal dynamics are presented (Schiehlen and Ackermann, 2005) which allow the estimation of metabolic cost essential for an improved design of prosthetic devices.

## 2. Fundamentals of multibody dynamics

In this section the essential steps for generation the equations of motion in multibody dynamics will be summarized based on the fundamental principles.

### 2.1. Mechanical modeling

First of all the engineering or natural system, respectively, has to be replaced by the elements of the multibody system approach: rigid and/or flexible bodies, joints, gravity, springs, dampers and position and/or force actuators. The system constrained by bearings and joints is disassembled as free body system using an appropriate number of inertial, moving reference and body fixed frames for the mathematical description.

### 2.2. Kinematics

A system of $p$ free rigid bodies holds $f = 6p$ degrees of freedom characterized by translation vectors and rotation tensors with respect to the inertial frame $I$ as

$$ \mathbf{r}_i(t) = [r_{i1} \ r_{i2} \ r_{i3}]^T, \quad \mathbf{S}_i(\alpha_i, \beta_i, \gamma_i), \quad i = 1(2)p, \qquad (1) $$

see, e.g., Schiehlen (1997). Thus, the position vector $\mathbf{x}$ of the free system can be written as

$$ \mathbf{x}(t) = [r_{11} \ r_{12} \ r_{13} \ r_{21} \ \dots \ \alpha_p \ \beta_p \ \gamma_p]^T. \qquad (2) $$

Then, the free system's translation and rotation remain as

$$ \mathbf{r}_i = \mathbf{r}_i(\mathbf{x}), \quad \mathbf{S}_i = \mathbf{S}_i(\mathbf{x}). \qquad (3) $$

Assembling the system by $q$ holonomic, rheonomic constraints reduces the number of degrees of freedom to $f = 6p - q$. The corresponding constraint equations may be written in explicit or implicit form, respectively, as

$$ \mathbf{x} = \mathbf{x}(\mathbf{y}, t) \quad \text{or} \quad \mathbf{\phi}(\mathbf{x}, t) = \mathbf{0} \qquad (4) $$

where the position vector $\mathbf{y}$ summarizes the $f$ generalized coordinates of the holonomic system

$$ \mathbf{y}(t) = [y_1 \ y_2 \ y_3 \ \dots \ y_f]^T. \qquad (5) $$

Then, for the holonomic system's translation and rotation it remains

$$ \mathbf{r}_i = \mathbf{r}_i(\mathbf{y}, t), \quad \mathbf{S}_i = \mathbf{S}_i(\mathbf{y}, t). \qquad (6) $$

By differentiation the absolute translational and rotational velocity vectors are found

$$ \mathbf{v}_i = \dot{\mathbf{r}}_i = \frac{\partial \mathbf{r}_i}{\partial \mathbf{y}^T} \dot{\mathbf{y}} + \frac{\partial \mathbf{r}_i}{\partial t} = \mathbf{J}_{Ti}(\mathbf{y}, t) \dot{\mathbf{y}} + \bar{\mathbf{v}}_i(\mathbf{y}, t), \qquad (7) $$

$$ \mathbf{\omega}_i = \dot{\mathbf{s}}_i = \frac{\partial \mathbf{s}_i}{\partial \mathbf{y}^T} \dot{\mathbf{y}} + \frac{\partial \mathbf{s}_i}{\partial t} = \mathbf{J}_{Ri}(\mathbf{y}, t) \dot{\mathbf{y}} + \bar{\mathbf{\omega}}_i(\mathbf{y}, t) \qquad (8) $$

where $\mathbf{s}_i$ means a vector of infinitesimal rotations following from the corresponding rotation tensor, see, e.g., Schiehlen (1997), and $\bar{\mathbf{v}}_i$, $\bar{\mathbf{\omega}}_i$ are the local velocities. Further, the Jacobian matrices $\mathbf{J}_{Ti}$ and $\mathbf{J}_{Ri}$ for translation and rotation are defined by Eqs. (7) and (8). The system may be subject to additional $r$ nonholonomic constraints which do not
affect the $f = 6p - q$ positional degrees of freedom. But they reduce the velocity dependent degrees of freedom to $g = f - r = 6p - q - r$. The corresponding constraint equations can be written explicitly or implicitly, too,

$$ \dot{\mathbf{y}} = \dot{\mathbf{y}}(\mathbf{y}, \mathbf{z}, t) \quad \text{or} \quad \psi(\mathbf{y}, \dot{\mathbf{y}}, t) = \mathbf{0} \qquad (9) $$

where the $g$ generalized velocities are summarized by the vector

$$ z(t) = [z_1 \ z_2 \ \dots \ z_g]^T. \qquad (10) $$

For the system's translational and rotational velocities it follows from Eqs. (7)–(9)

$$ \mathbf{v}_i = \mathbf{v}_i(\mathbf{y}, \mathbf{z}, t) \quad \text{and} \quad \omega_i = \omega_i(\mathbf{y}, \mathbf{z}, t). \qquad (11) $$

By differentiation the acceleration vectors are obtained, e.g., the translational acceleration as

$$ \mathbf{a}_i = \frac{\partial \mathbf{v}_i}{\partial z^T} \dot{\mathbf{z}} + \frac{\partial \mathbf{v}_i}{\partial \mathbf{y}^T} \dot{\mathbf{y}} + \frac{\partial \mathbf{v}_i}{\partial t} = \mathbf{L}_{Ti}(\mathbf{y}, \mathbf{z}, t) \dot{\mathbf{z}} + \bar{\bar{\mathbf{v}}}_i(\mathbf{y}, \mathbf{z}, t) \qquad (12) $$

where $\bar{\bar{\mathbf{v}}}_i$ denotes the so-called local accelerations.

A similar equation yields for the rotational acceleration. The Jacobian matrices $\mathbf{J}_{Ti}$ and $\mathbf{J}_{Ri}$, respectively, are related to the generalized velocities, for translations as well as for rotations.

## 2.3. Newton–Euler equations

Newton's equations and Euler's equations are based on the velocities and accelerations from Section 2.2 as well as on the applied forces and torques, and the constraint forces and torques acting on all the bodies. The reactions or constraint forces and torques, respectively, can be reduced to a minimal number of generalized constraint forces also known as Lagrange multipliers. In matrix notation the following equations are obtained, see also Schiehlen (1997). Free body system kinematics and holonomic constraint forces:

$$ \bar{\bar{\mathbf{M}}} \ddot{\mathbf{x}} + \bar{\bar{\mathbf{q}}}^c(\mathbf{x}, \dot{\mathbf{x}}, t) = \bar{\bar{\mathbf{q}}}^e(\mathbf{x}, \dot{\mathbf{x}}, t) + \bar{\bar{\mathbf{Q}}} \mathbf{g}, \quad \bar{\bar{\mathbf{Q}}} = -\boldsymbol{\phi}_x^T. \qquad (13) $$

Holonomic system kinematics and constraints:

$$ \bar{\bar{\mathbf{M}}} \bar{\bar{\mathbf{J}}} \ddot{\mathbf{y}} + \bar{\bar{\mathbf{q}}}^c(\mathbf{y}, \dot{\mathbf{y}}, t) = \bar{\bar{\mathbf{q}}}^e(\mathbf{y}, \dot{\mathbf{y}}, t) + \bar{\bar{\mathbf{Q}}} \mathbf{g}. \qquad (14) $$

Nonholonomic system kinematics and constraints:

$$ \bar{\bar{\mathbf{M}}} \bar{\bar{\mathbf{L}}} \dot{\mathbf{z}} + \bar{\bar{\mathbf{q}}}^c(\mathbf{y}, \mathbf{z}, t) = \bar{\bar{\mathbf{q}}}^e(\mathbf{y}, \mathbf{z}, t) + \bar{\bar{\mathbf{Q}}} \mathbf{g}. \qquad (15) $$

On the left-hand side of Eqs. (13) to (15) the inertia forces appear characterized by the inertia matrix $\bar{\bar{\mathbf{M}}}$, the global Jacobian matrices $\bar{\bar{\mathbf{J}}}$, $\bar{\bar{\mathbf{L}}}$ and the vector $\bar{\bar{\mathbf{q}}}^c$ of the Coriolis forces. On the right-hand side the vector $\bar{\bar{\mathbf{q}}}^e$ of the applied forces, which include control forces, and the constraint forces composed by a global distribution matrix $\bar{\bar{\mathbf{Q}}}$ and the vector of the generalized constraint forces $\mathbf{g}$ are found.

Each of Eqs. (13) to (15) represents 6p scalar equations. However, the number of unknowns is different. In Eq. (13) there are 6p + q unknowns resulting from the vectors $\mathbf{x}$ and $\mathbf{g}$. In Eq. (14) the number of unknowns is exactly 6p = f + q represented by the vectors $\mathbf{y}$ and $\mathbf{g}$, while in Eq. (15) the number of unknowns is 12p - q due to the additional velocity vector $\mathbf{z}$ and an extended constraint vector $\mathbf{g}$. Obviously, the Newton–Euler equations have to be supplemented for the simulation of motion.

## 2.4. Equations of motion of rigid body systems

The equations of motion are complete sets of equations to be solved by vibration analysis and/or numerical integration. There are two approaches used resulting in differential-algebraic equations (DAE) or ordinary differential equations (ODE), respectively.

For the DAE approach the implicit constraint equations (4) are differentiated twice and added to the Newton–Euler equations (13) resulting in

$$ \begin{bmatrix} \bar{\bar{\mathbf{M}}} & \boldsymbol{\phi}_x^T \\ \boldsymbol{\phi}_x & \mathbf{0} \end{bmatrix} \begin{bmatrix} \ddot{\mathbf{x}} \\ \mathbf{g} \end{bmatrix} = \begin{bmatrix} \bar{\bar{\mathbf{q}}}^e - \mathbf{q}^c \\ -\dot{\boldsymbol{\phi}}_t - \dot{\boldsymbol{\phi}}_x \dot{\mathbf{x}} \end{bmatrix}. \qquad (16) $$
Eq. (16) is numerically unstable due to a double zero eigenvalue originating from the differentiation of the constraints. During the last decade great progress was achieved in the stabilization of the solutions of Eq. (16). This is, e.g., well documented in Eich-Soellner and Führer (1998).

The ODE approach is based on the elimination of the constraint forces using the orthogonality of generalized motions and constraints, $\vec{J}^T \vec{Q} = \mathbf{0}$, also known as D'Alembert's principle (D'Alembert, 1743) for holonomic systems. Then, it remains a minimal number of equations

$$ M(y, t)\ddot{y} + k(y, \dot{y}, t) = q(y, \dot{y}, t). \qquad (17) $$

The orthogonality may also be used for nonholonomic systems, $\vec{L}^T \vec{Q} = \mathbf{0}$, corresponding to Jourdain's principle (Jourdain, 1909) and Kane's equations (Kane and Levinson, 1985). However, the explicit form of the nonholonomic constraints (9) has to be added,

$$ \dot{y} = \dot{y}(y, z, t), \quad M(y, z, t)\dot{z} + k(y, z, t) = q(y, z, t). \qquad (18) $$

Eqs. (17) and (18) can now be solved by any standard time integration code.

## 2.5. Equations of motion of flexible systems

The equations presented can also be extended to flexible bodies, Fig. 1. For the analysis of small structural vibration the relative nodal coordinate formulation (RNCF) with a floating frame of reference is used while for large deformations the absolute nodal coordinate formulation (ANCF) turned out to be very efficient, see, e.g., Melzer (1996) and Shabana (1989; 2003; 2005). Within RNCF the small relative coordinates describing the elastic deformations are added to the large rigid body coordinates of the reference frame $R$ moving with translation $\mathbf{r}(t)$ and rotation $\mathbf{S}(t)$ resulting in an extended position vector

$$ \mathbf{y}(t) = [\mathbf{y}_r^T \quad \mathbf{y}_f^T]^T \qquad (19) $$

where the subvectors summarize the corresponding coordinates. Then, the extended equations of motion read as

$$ M(y, t)\ddot{y} + k(y, \dot{y}, t) + k_i(y, \dot{y}) = q(y, \dot{y}, t). \qquad (20) $$

In comparison to Eq. (17) the additional term

$$ k_i(y, \dot{y}) = \begin{bmatrix} \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{K} \end{bmatrix} y + \begin{bmatrix} \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{D} \end{bmatrix} \dot{y} \qquad (21) $$

depends only on the stiffness and damping matrices $\mathbf{K}$ and $\mathbf{D}$ of the flexible bodies. Moreover, the inertia matrix shows the inertia coupling due to the relative coordinates

$$ M = \begin{bmatrix} M_{rr} & M_{rf} \\ M_{rf}^T & M_{ff} \end{bmatrix}. \qquad (22) $$

<figure><img src="image_2.png" /><figcaption>Fig. 1. Coordinates of flexible multibody systems.</figcaption></figure>
Within ANCF for highly flexible bodies $f_a$ absolute coordinates are summarized in a vector $\mathbf{y}_a$ characterizing the material points of the bodies by an appropriate shape function. Then, the equations of motion read as

$$M\ddot{\mathbf{y}}_a + K_a(\mathbf{y}_a)\mathbf{y}_a = \mathbf{q}(\mathbf{y}_a, t) \qquad (23)$$

where $M$ is a constant mass matrix and the vector $k$ of the generalized Coriolis forces is vanishing due the absolute coordinates. This is true for standard finite elements like Euler beams or bricks. However, for Timoshenko beams with rotary inertia equation (20) may be found again as pointed out by Dombrowski (2002). In any case, the stiffness matrix $K_a$ is highly nonlinear and requires special evaluation as shown by Shabana (2005). Applications of flexible multibody systems to vehicle dynamics are presented by Ambrósio and Gonçalves (2001).

### 3. Recursive formalisms

For time integration of holonomic systems the mass matrix in Eq. (17) has to be inverted what is numerically costly for systems with many degrees of freedom,

$$\ddot{\mathbf{y}}(t) = M^{-1}(\mathbf{y}, t)(\mathbf{q}(\mathbf{y}, \dot{\mathbf{y}}, t) - \mathbf{k}(\mathbf{y}, \dot{\mathbf{y}}, t)). \qquad (24)$$

Recursive algorithms avoid this matrix inversion. The fundamental requirement, however, is a chain or tree topology of the multibody system as shown in Fig. 2. Loop topologies are not included.

#### 3.1. Kinematics

Recursive kinematics use the relative motion between two neighbouring bodies and the related constraints as shown in Fig. 3. The absolute translational and rotational velocity vector $\mathbf{w}_i$ of body $i$ is related to the absolute velocity vector $\mathbf{w}_{i-1}$ of body $i-1$ and the generalized coordinates $\mathbf{y}_i$ of the joint $i$ between these two bodies. It yields

$$\underbrace{\begin{bmatrix} \mathbf{v}_{Oi} \\ \boldsymbol{\omega}_i \end{bmatrix}}_{\mathbf{w}_i} = \underbrace{S^{i,i-1} \begin{bmatrix} \mathbf{E} & -\tilde{\mathbf{r}}_{Oi-1,Oi} \\ \mathbf{0} & \mathbf{E} \end{bmatrix}}_{C_i} \underbrace{\begin{bmatrix} \mathbf{v}_{Oi-1} \\ \boldsymbol{\omega}_{i-1} \end{bmatrix}}_{\mathbf{w}_{i-1}} + \underbrace{S^{i,i-1} \begin{bmatrix} \mathbf{J}_{Ti} \\ \mathbf{J}_{Ri} \end{bmatrix}}_{\mathbf{J}_i} \dot{\mathbf{y}}_i. \qquad (25)$$

Here, the tilde notation for the cross product is used, i.e., it holds $\tilde{ab} = a \times b$, for two arbitrary vectors $a$ and $b$ see, e.g., Robertson and Schwertassek (1988). Using the fundamentals of relative motion of rigid bodies, it remains for the absolute acceleration

$$\mathbf{b}_i = \mathbf{C}_i \mathbf{b}_{i-1} + \mathbf{J}_i \ddot{\mathbf{y}}_i + \boldsymbol{\beta}_i (\dot{\mathbf{y}}_i, \mathbf{w}_{i-1}) \qquad (26)$$

where the vector $\mathbf{b}_i$ summarizes the translational and rotational accelerations of body $i$ as well.

For the total system one gets for the absolute acceleration in matrix notation

$$\mathbf{b} = \mathbf{C}\mathbf{b} + \mathbf{J}\ddot{\mathbf{y}} + \boldsymbol{\beta} \qquad (27)$$

<figure><img src="image_3.png" /><figcaption>Fig. 2. Topology of multibody systems.</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>Fig. 3. Three-body system with two joints.</figcaption></figure>
where the geometry matrix $C$ is a lower block-sub-diagonal matrix and the Jacobian $J$ is a block-diagonal matrix as follows

$$ C = \begin{bmatrix} 0 & 0 & 0 & \cdots & 0 \\ C_2 & 0 & 0 & \cdots & 0 \\ 0 & C_3 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & C_p & 0 \end{bmatrix}, \quad J = \begin{bmatrix} J_1 & 0 & 0 & \cdots & 0 \\ 0 & J_2 & 0 & \cdots & 0 \\ 0 & 0 & J_3 & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & 0 & J_p \end{bmatrix}. \qquad (28) $$

From Eq. (27) the non-recursive form of the absolute accelerations follows as

$$ b = (E - C)^{-1} \bar{J} \ddot{y} + \bar{\beta} \qquad (29) $$

where $E$ means the unit matrix, and the global Jacobian matrix $\bar{J}$ is found again, see Section 2.2,

$$ \bar{J} = (E - C)^{-1} J = \begin{bmatrix} J_1 & 0 & 0 & \cdots & 0 \\ C_2 J_1 & J_2 & 0 & \cdots & 0 \\ C_3 C_2 J_1 & C_3 J_2 & J_3 & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ * & * & \cdots & J_p \end{bmatrix}. \qquad (30) $$

Due to the chain topology the global Jacobian matrix is a lower triangular matrix.

## 3.2. Newton–Euler equation

Newton's and Euler's equations are now written for body $i$ in its body fixed frame at the joint position $O_i$ using the absolute accelerations and all external forces $q_i$ acting on the body with holonomic constraints:

$$ \underbrace{\begin{bmatrix} m_i E & m_i \tilde{r}_{OiCi}^T \\ m_i \tilde{r}_{OiCi} & I_{Oi} \end{bmatrix}}_{M_i = \text{const}} \begin{bmatrix} a_{Oi} \\ \alpha_i \end{bmatrix} + \underbrace{\begin{bmatrix} m_i \tilde{\omega}_i \tilde{\omega}_i r_{OiCi} \\ \tilde{\omega}_i I_{Oi} \omega_i \end{bmatrix}}_{k_i} = \underbrace{\begin{bmatrix} f_i \\ l_{Oi} \end{bmatrix}}_{q_i}. \qquad (31) $$

Moreover, the external forces are composed of applied forces $q_i^{(e)}$ and constraints forces $q_i^{(r)}$ where the generalized constraint forces of the joint $i$ and joint $i+1$ appear

$$ q_i = q_i^{(e)} + q_i^{(r)}, \qquad q_i^{(r)} = Q_i g_i - C_{i+1}^T Q_{i+1} g_{i+1}. \qquad (32) $$

## 3.3. Equations of motion

For the total system a set of 18 scalar equations remains from Eqs. (22), (26) and (27)

$$ b = \bar{J} \ddot{y} + \bar{\beta}, \qquad (33) $$

$$ \bar{M}b + \bar{k} = q^{(e)} + q^{(r)}, \qquad (34) $$

$$ q^{(r)} = (E - C)^T Q g = \bar{Q} g \qquad (35) $$

with 18 unknowns in the vectors $b, y, q^{(r)}$ and $g$.

Now Eqs. (33) and (35) are inserted in Eq. (35) and the global orthogonality $\bar{J}^T \bar{Q} = 0$ is used again resulting in Eq. (17). The mass matrix is completely dense, again, and the vector $k$ depends not only on the generalized velocities but also on the absolute velocities,

$$ M = \begin{bmatrix} J_1^T (M_1 + C_2^T (M_2 + C_3^T M_3 C_3) C_2) J_1 & J_1^T C_2^T (M_2 + C_3^T M_3 C_3) J_2 & J_1^T C_2^T C_3^T M_3 J_3 \\ J_2^T (M_2 + C_3^T M_3 C_3) C_2 J_1 & J_2^T (M_2 + C_3^T M_3 C_3) J_2 & J_2^T C_3^T M_3 J_3 \\ J_3^T M_3 C_3 C_2 J_1 & J_3^T M_3 C_3 J_2 & J_3^T M_3 J_3 \end{bmatrix}, \qquad (36) $$

$$ k = k(y, \dot{y}, w). \qquad (37) $$

However, the mass matrix shows now a characteristic structure which can be used for a Gauss transformation.
### 3.4. Recursion

There are three steps required to obtain the generalized accelerations.

1. Forward recursion to get the absolute motion starting with $i = 1$.

2. Backward recursion using a Gauss transformation starting with $i = p$. As a result the system

$$ \hat{M}\ddot{\hat{y}} + \hat{k} = \hat{q} \qquad (38) $$

is obtained where $\hat{M}$ is a lower triangular matrix

$$ \hat{M} = \begin{bmatrix} J_1^T \tilde{M}_1 J_1 & \mathbf{0} & \mathbf{0} \\ J_2^T \tilde{M}_2 J_2 & J_2^T \tilde{M}_2 J_2 & \mathbf{0} \\ J_3^T \tilde{M}_3 J_3 & J_3^T \tilde{M}_3 J_3 & J_3^T \tilde{M}_3 J_3 \end{bmatrix}, \qquad (39) $$

$$ \tilde{M}_{i-1} = M_{i-1} + C_i^T (\tilde{M}_i - \tilde{M}_i J_i (J_i^T \tilde{M}_i J_i)^{-1} J_i^T \tilde{M}_i) C_i $$

where the block elements of which follow from the recursion formula in Eq. (39).

3. Forward recursion for the generalized accelerations starting with $i = 1$.

The recursion requires some computational overhead. Therefore, the recursive algorithms are more efficient than a standard matrix inversion as required in analytical dynamics for more than $p = 8-10$ bodies. There are also some extensions of the recursive approach to loop topologies, see Bae and Haug (1987) and Saha and Schiehlen (2001). A novel optimal order and optimal resource parallel multibody algorithm for general systems is due to Critchley and Anderson (2004).

## 4. Dynamical analysis

The dynamical analysis of multibody systems is closely related to vibration theory. For engineering applications mechanical vibrations of holonomic, rheonomic systems are most important. The dynamical phenomena are classified according to the linear and nonlinear equations of vibration.

For small vibrations Eq. (17) can be linearized resulting in

$$ M(t)\ddot{y} + P(t)\dot{y} + Q(t)y = h(t). \qquad (40) $$

This system may feature parametrically excited vibrations due to the time-varying, often periodic matrices. In the case of time-invariant matrices one gets after decomposition into symmetric and skew-symmetric parts

$$ M\ddot{y} + (D + G)\dot{y} + (K + N)y = h(t), \qquad (41) $$

a system which performs forced vibrations due to the external excitation on the right-hand side. In the case of $h(t) = 0$ only free vibrations remain. Furthermore, if the damping matrix $D$, the gyroscopic matrix $G$, and the circulatory matrix $N$ are missing, a conservative system

$$ M\ddot{y} + Ky = 0, \qquad (42) $$

with free undamped vibrations is found.

On the other hand, nonlinear time-variant mechanical systems represented by Eq. (17), even with $f = 1$ degree of freedom, may show chaotic vibrations.

### 4.1. Linear vibration analysis

The special structure of Eqs. (41) and (42) simplifies the analysis. Marginal stability of Eq. (42) is guaranteed if the stiffness matrix $K$ is positive definitive. Free damped vibrations due to Eq. (41) with $G = N = 0$ are asymptotically stable if both, the stiffness matrix $K$ is positive definite and the damping matrix $D$ is positive definite or pervasively positive semidefinite, respectively, see Müller and Schiehlen (1985). Moreover, Eq. (41) is asymptotically stable if all eigenvalues have a negative real part.
The general solution of Eq. (42) reads as

$$y(t) = \Psi_{1}(t)y_{0} + \Psi_{2}(t)\dot{y}_{0} \qquad (43)$$

where the transition matrices $\Psi_1(t)$ and $\Psi_2(t)$ are found from a real eigenvalue analysis of dimension $f$. The general solution of Eq. (41) can be written in the state space with the state vector $x(t)$ summarizing the system's state given by the generalized coordinates and their first time derivatives as

$$x(t) = \begin{bmatrix} y(t) \\ \dot{y}(t) \end{bmatrix}. \qquad (44)$$

Then, the general solution reads simply

$$x(t) = \mathbf{\Phi}(t)x_0 \qquad (45)$$

where the state transition matrix $\mathbf{\Phi}(t)$ follows from a complex eigenvalue problem of dimension $2f$. Matrix methods for linear systems with harmonic excitation $h(t)$ lead to the concept of frequency response matrices while random excitation processes require spectral density matrices or covariance matrices, respectively. In the case of Eq. (40) with periodically time-varying coefficients Floquet's theory allows closed form solutions, see Müller and Schiehlen (1985).

## 4.2. Nonlinear vibration

Chaotic vibrations can be analyzed by time integration only resulting in a solution

$$y(t) = y(t, (y_0, \dot{y}_0)) \qquad (46)$$

which is very sensitive to the initial conditions. Powerful characteristics of chaotic vibrations are the phase portrait, the power spectral density, the Lyapunov exponents and the dimensions. In addition to the chaotic vibrations periodic motions may also be found depending on the parameters of the system.

As an example some typical results of Bestle (1988) are mentioned here for the Duffing oscillators. A parameter set $a$ allows a periodic motion, often called a limit cycle, while set $b$ represents chaotic behaviour resulting in a strange attractor. The corresponding Lyapunov exponents for set $a$ are computed as $\sigma_1 = 0$, $\sigma_2 = -0.10$, $\sigma_3 = -0.10$ what means a periodic motion, for set $b$ one gets $\sigma_1 = 0.17$, $\sigma_2 = -0$, $\sigma_3 = -0.37$. The positive Lyapunov exponent identifies a chaotic motion. The same behaviour is found from the Lyapunov dimension, set $a$ results in $D_L = 1$, and for set $b$ one gets $D_L = 2.46$.

A chaotic multibody system is represented, e.g., by the chaos pendulum consisting of $p = 3$ bodies with $f = 3$ degrees of freedom, see Schiehlen (1999).

# 5. Wear of railway wheelsets

The main focus of this section is the investigation of the wear process of flexible wheelsets modelled as flexible multibody systems. The wear model is based on the mass loss caused by the contact forces between wheel and rail and the values in the contact patch. The wear model developed is used together with a modul for the wheel-rail contact and considers the amount of mass loss which is proportional to the frictional power which follows from contact force acting along the slip direction. In addition, the wear model is extended to long-term phenomena of the wear. For this purpose a feedback loop is introduced resulting in the development of wheel polygons.

The first step in creating a simulation tool to investigate the development of out-of-round wheels is to set up an appropriate mechanical model of wheelset BA 14 which is commonly-used in the German high-speed train ICE 1.

## 5.1. Finite element model of the wheelset

The symmetry of the wheelset equipped with altogether 4 disk-brakes is used for the description of the discretized structure by the finite element software ANSYS (N.N. 2000). In order to gain a maximum of flexibility, the geometric shape of the wheelset is characterized by a set of 54 geometric parameters, as described by Meinders (1997). The 3D finite element structure is generated by rotating a 2D mesh of the wheelset as explained by Meinders (1998). The elements used in this model are SOLID73 from the ANSYS library which provide 6 degrees of freedom for each of the 8 nodes. This is an important requirement for the later use of the finite element data in the flexible multibody system.
The connection between the finite element model of the wheelset and the description of the rigid body model (springs, dampers, bogie coach, rail, etc.) is achieved by a limited number of so-called marker frames. The information about the flexible properties of the body in terms of shape integral matrices is only provided for these selected marker nodes of the finite element model. The reason for this reduction is to keep the size of the overall model and thus the computation time in reasonable limits.

In case of a rotating wheelset the rotation itself is described by a reference frame which is located in the middle of the wheelset on its centerline. Therefore, each node of the structure that is not located on the centerline will rotate with the reference frame with respect to the inertial frame. This can be easily avoided for the interconnecting marker nodes of the primary suspension as well as the marker nodes later needed for the modeling of unbalances by choosing nodes lying directly on the centerline.

The essential wheel-rail contact of the wheelset with its forces and moments is acting on the wheel surface. Therefore, it is not feasible to select one specific node from the surface of the wheels finite element structure since those nodes are rotating relative to the inertial frame.

The modeling challenge to realize a non-rotating wheel-rail force acting on the surface of the wheel can be resolved using the following important property of the wheelset: The eigenmode analysis of the FE-structure for the unsupported wheelset as well as for the supported case showed that the wheel-rim has no significant deformation in the frequency range of 0–300 Hz. Thus, the wheel-rim can be treated as a rigid body for the investigation in the medium frequency range.

Using this property of the wheel the degrees of freedom of the wheel-rim elements are constrained and the motion of the rim is transformed to the center-point in the middle of the wheel. This center-point is subsequently chosen as a marker node. Thus, the necessary wheel-rail contact forces and moments can act on the wheel-rim even though they are applied to the marker in the middle of the wheel.

## 5.2. Modal analysis and selection of the elastic coordinates

The first step in analyzing and understanding the dynamical properties of the wheelset is a modal analysis. Subsequently the knowledge about the eigenbehaviour in the medium-frequency range is used to select the eigenmodes needed as elastic coordinates in the flexible multibody system.

The resulting eigenmodes of the unsupported wheelset in the frequency range up to 200 Hz are presented in Fig. 4.

At a frequency of 82.5 Hz the first elastic eigenmode of the wheelset is characterized by a torsional motion of one side of the wheelset against the other with a nodal point between the two inner disk-brakes (1st anti-metric torsional mode). The next two eigenfrequencies at 84.6 Hz are the 1st symmetric bending mode in vertical and horizontal direction. At this low frequency wheels and disk-brakes obviously still behave as if they were rigid. This is not true any more for the 1st anti-metric bending mode at 131.8 Hz. At this frequency the flexibility of the wheel membrane influences the movement of the wheels. This can also be found for the 2nd symmetric bending mode at 188.5 Hz, where wheels and disk-brakes bend in opposite directions.

<figure><img src="image_5.png" /><figcaption>Fig. 4. Eigenmodes of an unsupported wheelset in the frequency range up to 200 Hz.</figcaption></figure>
Based on the knowledge of the eigenbehaviour of the wheelset an accurate selection of type and number of the eigenmodes taken into account for the inclusions in the flexible multibody system is required. Several simulations with different sets of eigenmodes have shown that higher modes are not necessary to describe the structural vibrations of the wheelset based on the given boundary-conditions and excitations through unbalances, out-of-round wheels or rail imperfections. As a consequence the following seven eigenmodes are included in the model as generalized elastic coordinates:

* 1st anti-metric torsional mode,

* 1st symmetric bending mode (vertical & horizontal),

* 1st anti-metric bending mode (vertical & horizontal),

* 2nd symmetric bending mode (vertical & horizontal).

### 5.3. Wheel-rail contact module

Railway dynamics are highly influenced by the complex wheel-rail contact situation. Especially for the investigation of wear happening between wheel and rail, a detailed model of this complex contact geometry is essential.

One such detailed model is the wheel-rail contact module of Kik and Steinborn (1982) which was originally developed for the use in the multibody system software MEDYNA. Due to its well-defined input-output structure it was possible to extend the multibody system software NEWEUL/NEWSIM, see Kreuzer (1979) with the ability to describe complex railway systems. A detailed report about the integration of the wheel-rail contact module as a force element in the software package NEWEUL/NEWSIM is given by Volle (1997).

The principal modular structure of the contact module is shown in Fig. 5. Based on the current position of the body *j* relative to the body *i* the position vector **r**ª and the rotation vector **γ**ª as well as the relative velocities **v**ª and angular velocities ωª serve as the fundamental input parameters for the wheel-rail contact module. Needed for each step of the numerical time integration of the system, the contact module provides the contact forces **F**<sub>wr</sub> and moments **M**<sub>wr</sub> acting between wheel and rail.

As shown in Fig. 5 the contact module is split up into three parts that need to be completed in order to obtain all data for the given contact situation:

The contact module enables the use of different spline approximated profiles for wheel and rail. The profiles used for the simulations presented in this paper are UIC60 and S1002. Based on the given relative position of the wheel relative to the rail the 3D contact geometry is transformed into a 2D plane as shown in Fig. 5. Consequently the

<figure><img src="image_6.png" /><figcaption>Fig. 5. Modular organization of the contact module.</figcaption></figure>
<figure><img src="image_7.png" /><figcaption>Fig. 6. Definition of wheel profile and wheel radius.</figcaption></figure>

contact zones and contact points can be determined. Finally the information obtained from this 2D contact situation is transformed back onto the 3D bodies of wheel and rail. The output data obtained from the geometric part of the contact module are essentially the number and position of the contact points, the resulting penetrations in the contact points and the angles of contact.

The second part of the contact module, the normal contact part, uses the values of the half-axes of the ellipses and the penetration to compute the normal forces based on Hertzian Theory.

Finally the tangential contact part of the module computes the tangential forces, twisting moments as well as the slip values. The contact theory used in this part of the model is Kalker's simplified theory, also often referred to as the FASTSIM algorithm.

One important requirement for the use of the wheel-rail contact module is the possibility to describe varying wheel radii depending on the present angular position of the wheel. Since the focus of the wear investigation requires these radii to change over time the radius $r_j(\varphi)$ has yet to be another input value to the contact module.

As depicted in Fig. 6 the local coordinate system for the definition of the wheel profile $C_j$ is not laying in the middle of the wheel, but in the wheels profile itself. By changing the size of the radius $r_j(\varphi)$ the wheels profile in its locally defined coordinate system $C_j$ is changed as a whole.

The track as part of the contact module is a flexible system, too. In this section the track model is shortly reviewed. A more detailed description is given in Meinders (2005).

For the modeling of the track dynamics in the medium frequency range, a modal approach is used. The basic idea of that approach is to represent the dynamics of the system by superposition of individual eigenmodes. For linear systems the displacement $u$ can be described as a product of the eigenvectors $\varphi_i$ and the modal coordinates $q_i(t)$,

$$ u = \varphi_1 q_1 + \dots + \varphi_N q_N = [\varphi_1, \varphi_2, \dots, \varphi_N] \begin{Bmatrix} q_1 \\ \vdots \\ q_N \end{Bmatrix} = \mathbf{\Phi} q(t), \quad (47) $$

where the time invariant modal matrix $\mathbf{\Phi}$ consists of the eigenvectors $\varphi_i$. Applying this approach to the normally coupled set of equations of motion of the track model

$$ M\ddot{u} + D\ddot{u} + Ku = q_f, \quad (48) $$

and multiplying this equation with the transposed modal matrix $\mathbf{\Phi}^T$, this yields:

$$ \mathbf{\Phi}^T M \mathbf{\Phi} \ddot{\mathbf{q}} + \mathbf{\Phi}^T D \mathbf{\Phi} \dot{\mathbf{q}} + \mathbf{\Phi}^T K \mathbf{\Phi} \mathbf{q} = \mathbf{\Phi}^T \mathbf{q}_f \quad (49) $$

where $\mathbf{\Phi}^T M \mathbf{\Phi} = M_{\text{diag}}$, $\mathbf{\Phi}^T D \mathbf{\Phi} = D_{\text{diag}}$ and $\mathbf{\Phi}^T K \mathbf{\Phi} = K_{\text{diag}}$ are diagonal matrices. Using for the right-hand side $\mathbf{\Phi}^T \mathbf{q}_f = \mathbf{r}$ decoupled equations of motion are obtained:

$$ M_{\text{diag}} \ddot{\mathbf{q}} + D_{\text{diag}} \dot{\mathbf{q}} + K_{\text{diag}} \mathbf{q} = \mathbf{r}. \quad (50) $$

The individual elements of the diagonal mass, damping and stiffness matrices are also referred to as the generalized mass $m_{\text{gen},j}$, damping $d_{\text{gen},j}$ and stiffness $c_{\text{gen},j}$. Each line of the equation of motion represents an oscillator with one degree of freedom, whose equation of motion can be solved independently.

Using the approach of modal description a significant reduction of complexity can be achieved by a limited number of selected eigenmodes. Thus, the quality of the model is depending on the number of eigenmodes chosen according
to the frequency range. In order to determine the parameters of the modal model its frequency response is adapted to
the response of a detailed track model. The well validated FE model of Ripke (1995a) is used as a reference model
for the parameter approximation. The focus of our model is to describe only the behaviour of the rail head, since only
this has an influence on the wheel-rail contact. This reasonable assumption allows a reduction of the model to a few
essential degrees of freedom.

The correlation between the original frequency response and the response of the approximated modal model is
depending on the number of degrees of freedom for the modal model. This number should be chosen according to the
number of response peaks in the desired frequency range. As for the vertical dynamics of the track between 0–500 Hz
there are two response peaks found in that frequency range.

5.4. Dynamical analysis for the vehicle system

With models of the wheelset, the wheel-rail contact and the track presented, the dynamic analysis of such a flexible
system can be performed.

Starting from the real engineering system of an ICE1 middle car, it is divided into the three mechanical models: track, vehicle and wheel-rail contact. The model of the track is described through the computational code TRACK developed by Ripke (1995b). In order to get a good representation of the dynamical behaviour of the track in the medium frequency range between 30–300 Hz, the parameters of a modal model are adapted to the computed frequency response of TRACK. The resulting parameters together with the corresponding differential equations are one component of the overall simulation program.

For the generation of the equations of motion of the vehicle and flexible wheelset the flexible wheelset is discretized using a finite element software, e.g. ANSYS (N.N. 2000). The resulting data for the mass and stiffness matrix as well as the user-selected eigenmodes of the elastic body is used in a preprocessor, e.g. FEMBS (Wallrapp and Eichberger, 2000), in order to compute the shape integrals describing the elastodynamical behaviour. To gain a maximum of software interoperability, these terms are saved in a standardized format (SID) described by Wallrapp (1993). The equations of motion can be computed by a multibody system code, e.g. NEWEUL (Kreuzer, 1979). Reading the input-file defining the topological structure of the multibody system and the SID-file containing the information about the elastic body, NEWEUL yields mixed symbolic-numerical equations of motion. Those are written as files in FORTRAN syntax, they will be later integrated as source code into the overall simulation program.

The description and computational realization of the wheel-rail contact is accomplished using the software code
of Kik and Steinborn (1982). The modul is provided to the simulation program as a library intk21.lib. The
appropriate communication between the contact modul and the simulation subroutines in the library newsim.lib
is realized via an interface rsmodul.lib developed by Volle (1997).

Finally all files are compiled and linked together with their libraries. The resulting problem specific simulation
program of the vehicle-wheelset-track system can be used to analyze the dynamics of the total system.

5.5. Long-term wear model

The main focus of this paper is the investigation of the wear process of the wheelset. One aspect of this is to
determine the amount of mass loss caused by the contact forces and slip values. In order to describe this complex
wear process, quite a number of different wear models have been developed, see Kim (1996), Specht (1985), and
Zobory (1997).

The second part of the wear model is dealing with the long-term effects of the wear. It is therefore necessary to
introduce a feedback loop, such that the changing wheel profile is influencing the contact situation between wheel and
rail. This influence, often also referred to as long-term behaviour, is happening on a very long time scale that is not
accessible through direct time integration, as shown by Meinders and Meinke (2002).

The wear model developed for the use together with the contact module from Section 5.3 is based on the following
assumptions, see Meinders (1999) and Luschnitz (1999):

• The amount of mass loss is proportional to the frictional power (hypothesis of frictional power),

• The wear factor *k* distinguishes between mild and severe wear,

• The frictional power is determined through the contact forces acting in the direction of slip,
<figure><img src="image_8.png" /><figcaption>Fig. 7. Wear factor k as a function of frictional power per contact area $\frac{P_R}{A} [\frac{W}{m^2}]$.</figcaption></figure>

* Torque and slip of the twisting motion are not considered for the calculation of frictional power,

* The wear reduces the radius uniformly over the profiles width. It does not change the form of the wheel profile.

As mentioned above, the presented wear model is based on the hypothesis, that the loss of material $\Delta m$ due to wear is basically proportional to the friction work $W_R$

$$ \Delta m = kW_R. \qquad (51) $$

The proportional factor $k$ in (51) is not the same though for all values of frictional power. In fact measurements described by Krause and Poll (1984) have shown that the wear factor $k$ is suddenly increasing to a much higher value when a certain frictional power based on the contact area is reached. To reflect this characteristic also shown in Fig. 7, the wear model is distinguishing between mild and severe wear using the following wear parameters:

$$ k = \begin{cases} 7 \times 10^{-10} \frac{\text{kg}}{\text{Nm}} : \frac{P_R}{A} \le 4 \times 10^{-6} \frac{\text{W}}{\text{m}^2} & \text{mild wear,} \\ 2.1 \times 10^{-9} \frac{\text{kg}}{\text{Nm}} : \frac{P_R}{A} > 4 \times 10^{-6} \frac{\text{W}}{\text{m}^2} & \text{severe wear.} \end{cases} \qquad (52) $$

The physical explanation for this sudden increase of the wear parameter $k$ is also given by Krause and Poll (1984): The material surface of the wheels consists of a thin so-called white-itching layer, which shows a higher resistance against wear than the underlying base material. This white-itching layer is transformed out of the base material due to the wear induced impact. As long as there is an equilibrium between the buildup of the white-itching layer and the abrasive effects of wear reducing this layer, this is considered as mild wear. As soon as the white-itching layer vanishes due to higher frictional power, the much less wear resistant base material is exposed to the wear. This is consequently considered as severe wear.

As mentioned above the frictional power $P_R$ is determined through the contact forces $F$ acting in the direction of slip $v$, that is

$$ P_R = Fv. \qquad (53) $$

In order to obtain the changing wheel radius $\Delta r(\varphi)$, the following relations with $\rho$ as the density of the wheel material and $A_i$ as the size of the contact area during the time interval $t_i$ can be written as:

$$ \Delta m = \rho \Delta V = \rho A_i \Delta r(\varphi) \qquad (54) $$

$$ A_i = \Delta U b_i. \qquad (55) $$

Hence, the changing wheel radius $\Delta r(\varphi)$ can be expressed as

$$ \Delta r(\varphi) = \frac{\Delta m}{\rho b_i \Delta U}, \qquad (56) $$

with $b_i$ and $\Delta U$ denoting the width and length of the contact area, as also illustrated in Fig. 8.
<figure><img src="image_9.png" /><figcaption>Fig. 8. Feedback-loop of the long-term wear model.</figcaption></figure>

Finally, if the wear hypotheses from (51) is used as well as the expression for the length of the contact zone during $\Delta t$, that is $\Delta U = V_0\Delta t$ with $V_0$ as the longitudinal speed of the wheelset, the change of the radius for the segment $S_{kl}$ of the discretized wheel surface can be expressed as

$$ \Delta r_{kl} = \frac{k P_R}{\rho b_i V_0} \qquad (57) $$

The changing profiles of the wheels, that are slowly losing their original shape due to wear, will influence the dynamics of the system. Therefore, it is important to close the feedback-loop as shown in Fig. 8, such that the changing wheel-radius is used by the contact module.

In reality the observed phenomenon of developing out-of-round wheels normally takes about 100.000 km in order to show measurable amplitudes of the wheel radius (e.g. $\Delta r = 0.3$ mm). Even recent computers are not able to simulate the presented model of the wheelset for a corresponding period of time of presumably weeks or months. Thus it is necessary to introduce a time lapse for the occurring wear. The scaling factor $c_w = 10.000$ is enabling wear simulations with relevant amplitudes of the radius, such that the effects of out-of-round wheels on the dynamics of the system can be studied.

The disadvantage of the amplification of the wear is though, that single wear effects gain an undesirable impact. In order to balance the impact of those effects, the changed radii of the wheels are made available to the contact module in terms of an indirect feedback. This is achieved by accumulating the occurring wear for a number of revolutions $\bar{n} = 10$.

## 5.6. System and wear behaviours of elastic wheelsets

The essential question of this paper is the analysis of the long-term wear development due to different excitations. It is well known, see Morys (1998), that even new wheelsets do not have a perfectly round shape, but already show some characteristics of out-of-round wheels.

The simulations of long-term wear showing the influence of the order of initial out-of-roundness have all been carried out with a traveling speed of $V = 256$ km/h. The simulation time for diagram in Fig. 9 together with the scaling factor $c_w = 10.000$ corresponds to the distance of about 73.600 km. The initial amplitude of the initial out-of-roundness is $\Delta r = 0.02$ mm. Beside the excitation through initial out-of-roundness there are no other excitations through unbalances or track irregularities.
<figure><img src="image_10.png" /><figcaption>Fig. 9. Influence of initial third order out-of-roundness.</figcaption></figure>

The highest overall wear is caused by the initial out-of-roundness of third order, see Fig. 9. The overall loss of the radius is $\Delta r \approx 0.7$ mm, whereas the depth of the amplitude is increasing slowly to $\Delta r \approx 0.1$ mm.

Summarizing the results of the influence of different initial out-of-roundnesses it can be concluded that higher order out-of-roundness tend to be rather stable concerning their shape whereas the first order out-of-roundness leads to second order out-of-roundness.

# 6. Metabolical cost in human locomotion

Firstly, this section presents the frequently used estimations of energy expenditure based largely on joint torques and mechanical costs obtained by inverse dynamics of passive and active walking devices. Secondly, a more advanced approach is discussed consisting of modeling the musculoskeletal system with Hill-type phenomenological muscle models and computing the metabolical expenditure adopting expressions recently proposed in the literature. As an example a musculoskeletal model of the lower limb in the sagittal plane consisting of thigh, shank and foot with three degrees of freedom and actuated by eight muscles is considered.

## 6.1. Inverse dynamics of skeletal models

A walking device can be treated as multibody system with tree or loop topology, respectively. Due to contacts between feet and ground the system has a varying structure with a changing number of degrees of freedom. In general, the skeletal model of such walking systems can be described by a system of differential algebraic equations (DAEs) with time-variant constraints.

The equations of motion of a multibody system with tree topology can be written as *f* ordinary differential equations in minimal form

$$ M(y)\ddot{y} + k(y, \dot{y}) = q(y) + B^T u, \quad (58) $$

where *M* is the *f* × *f* symmetric, positive definite mass matrix, *y* is the *f* × 1-vector of generalized coordinates, *k* is the *f* × 1-vector of generalized Coriolis forces and *q* is the *f* × 1-vector of generalized applied forces. The matrix *B* is the *k* × *f* control input matrix and *u* is the *k* × 1-vector of control torques in the joints as shown, e.g., in Fig. 10. As the model is not in contact with the environment so far, the equations of motion (58) describe its unconstrained dynamics. They can be derived easily in symbolic form, e.g. using the multibody formalism NEWEUL (Schiehlen, 1990) based on Newton's equations, Euler's equations and D'Alembert's principle.

During the walking cycle contacts between feet and ground or between upper and lower leg at mechanical stops in the knee joints may occur. However, the interacting contact forces are limited due to the following three physical contact conditions.
<figure><img src="image_11.png" /><figcaption>Fig. 10. Skeletal model of active walking.</figcaption></figure>

Since all contacts are unilateral contacts, the relative motion between contacting bodies is constrained in one direction only. The separation of the bodies in the opposite direction is always possible. Therefore, the scalar value of the normal contact force $f_N$ cannot be attractive, i.e.,

$$f_N \ge 0. \tag{59}$$

The resultant tangential contact force $f_T$ that acts between a foot and the ground is limited due to the friction coefficient $\mu$ of the contact surfaces. In order to avoid slipping the force has to satisfy the friction law

$$|f_T| \le \mu f_N. \tag{60}$$

Further, for a flat contact of the foot on the ground the torque $n_3$ acting between foot and ground perpendicular to the $x_1-x_2$-plane in the middle of the foot is limited. If it exceeds the limit the foot starts rotating around its toe or heel. That limitation can be expressed in terms of the position of the Zero Moment Point (ZMP) introduced by Vukobratović et al. (1990). The ZMP is defined as that point on the supporting area in which the torque resulting from all contact forces is zero. To prevent a foot from rotating the ZMP must be located within the supporting foot area. Thus, the ZMP condition for the torque around the center of the foot area can be written as

$$|n_3| \le \frac{1}{2} l_F f_N, \tag{61}$$

where $l_F$ is the length of the foot. From Eq. (61) it can be seen that the transferable torque is limited due to the size of the foot.

The distance vector $g = g(y)$ of potential contact points depends on generalized coordinates of the unconstrained system and will become zero in case of contact. The relative accelerations between actual contact points $\ddot{g}$ then follows as

$$\ddot{g} = W^T \ddot{y} + \bar{w}, \tag{62}$$

where $W$ is a constraint matrix and $\bar{w}$ contains terms of relative kinematics of the contacting bodies (Pfister and Eberhard, 2002).

## 6.2. Constrained dynamics

The unilateral constraints are imposed on the walking machine due to contacts. During the periods of contact the equations of motion (58) have to be supplemented by the occurring contact forces expressed by the vector $\lambda$ of Lagrangian multipliers:

$$M \ddot{y} + k = q + B^T u + W \lambda. \tag{63}$$
As the contacts are varying during walking the number of degrees of freedom is varying, too.

All contacts are treated as unilateral rigid body contacts with Coulomb friction using the program code FEMEX (Pfister and Eberhard, 2002). The equations of motion (63) combined with the contact equations resulting from Eq. (62) and the contact conditions for the contact points can be formulated as a resolvable linear complementary problem.

In general, when rigid bodies come into contact impacts take place. In the case of walking machines they occur every time a foot touches the ground. Here, all impacts are treated as completely inelastic impacts with the coefficient of restitution $\epsilon = 0$. At these instants jumps in the velocities occur where a part of the kinetic energy is lost. Describing the conditions before and after the impacts and combining them with the contact laws leads to the formulation of two linear complementary problems. Their solution delivers the generalized velocities immediately after each impact. Eqs. (63) considering contacts as unilateral constraints are used for simulations. For control design the contacts are modelled as bilateral constraints as shown further on.

### 6.3. Passive walking

The unforced motion of a mechanical system is commonly called its passive dynamics. Once started with proper initial conditions, even a pair of two-dimensional legs is capable of walking down a shallow slope in a stable gait without any active control or energy supply. This natural walking motion generated by the passive interaction of gravity and inertia is called passive dynamic walking. The phenomenon works for bipeds having straight legs or knees, respectively. The principle of passive dynamic walking for biped machines was pioneered by the work of McGeer (1990) who himself was stimulated by the ballistic walking model described by Mochon and McMahon (1980). Further contributions to passive biped walking were by Garcia et al. (1998) and Goswami et al. (1996). Passive dynamic walking can also be found in different kinds of toys, see Volle (1996). In any case, the passive walking is characterized by very low energy consumption.

A model of an active walking machine will be controlled by an inverse dynamics control law taking advantage of passive walking. Therefore, a simplified model consisting of $p = 5$ rigid bodies is used which has no feet but a point contact between one lower leg and the ground. Thus, the simplified model touching the ground has $f = 5$ degrees of freedom described by the relative angles of the lower left leg, upper left leg, upper right leg, lower right leg and upper body yielding $\mathbf{y} = [\phi_{l1}, \phi_{l2}, \phi_{r1}, \phi_{r2}, \phi_{b}]$. Further, its inertia properties are adjusted to that of the active model. The knee joints are prevented from hyperextension by mechanical stops similar to the human knee joints. The model is completely passive but nevertheless it is able to walk down an inclined slope in a periodic gait cycle powered only by potential energy from gravity, see Gruber and Schiehlen (2000).

The gait cycle of passive machines can be considered as a limit cycle for the model, the motion of which is characterized by its state vector $\mathbf{z} = [\mathbf{y}^T(t) \dot{\mathbf{y}}^T(t)]^T$. However, such limit cycles exist only for special initial conditions. In order to find these states the stride function

$$s(z_0) = z_1 \qquad (64)$$

is introduced which maps the states $z_0 = z(t_0)$ at the beginning of one step on the final states $z_1 = z(t_1)$ at the end of one step. The instant after the foot/ground collision is chosen as initial time $t_0$. Therefore, the function $s$ includes an integration of the equations of motion from $t_0$ to the instant of the knee collision, a calculation of the impact equations, further integration to the instant of the following foot/ground collision and another impact calculation.

The $n_1 = 4$ geometric constraints on the initial states, $\mathbf{B}_1(t_0, z_0) = \mathbf{0}$, and $n_2 = 2f - n_1 = 6$ geometric constraints on the final states, $\mathbf{B}_2(t_1, z_1) = \mathbf{0}$, have to be satisfied. This means that both legs are straight with a symmetric position relative to the ground, and the angular velocities of the lower and upper swinging leg are identical. Therefore, the $10 \times 1$ initial state vector of the model is supplemented by a $6 \times 1$-vector $\mathbf{p}$ of unknown parameter $z_0 = z_0(\mathbf{p})$ to allow the integration of the system. E.g. the vector $\mathbf{p}$ may be chosen as $\mathbf{z} = \mathbf{0}$.

A periodic gait cycle is determined by special states $z^*$ for which initial states and final states coincide

$$s(z^*) = z^* = z_0 = z_1. \qquad (65)$$
In order to find such special states a two point boundary value problem has to be solved since both, the mentioned initial and final states, are given. The solution can be found by a shooting method or, more generally, by optimization methods with a cost function characterizing the deviation from the final states,

$$ \Psi(p) = |\mathbf{B}_2(t_1, z)|, \qquad (66) $$

see also Gruber and Schiehlen (2001).

To start a gradient-based optimization it is necessary to know an appropriate 6-dimensional parameter vector $p$ which is close to the periodic solution. Therefore, in a first step a stochastic optimization algorithm based on the evolution strategy, see Schwefel (1995), is used for a global solution. This algorithm is based on evaluating Eq. (66) without using the gradient information and the initial guess of $p$ does not seriously influence the solution. In general, this algorithm terminates with a solution in some neighbourhood of the optimum (65). Then, a more efficient gradient-based deterministic algorithm, see Schittkowski (1985), is started from this solution which converges to a more accurate optimum within a few iterations.

The stability of a gait cycle due to small perturbations can be investigated by linearization of Eq. (65). If the corresponding passive gait cycle is stable perturbations from the initial states vanish within a few steps. However, as the limit cycle is used for a walking machine with active control the stability of the passive motion is not of interest. It is sufficient to find a limit cycle at all.

The trajectories of the passive periodic walking cycles are used as reference motion for the active walking machine. Therefore, the trajectories of operational space variables $x$ representing the full positions and orientation of the active machine are calculated by the transformation $x = x(y)$.

## 6.4. Active walking

The method for finding limit cycles of a simplified passive walking machine can be considered as a offline trajectory planning method which generates reference inputs for the motion control of the active walking machine. Therefore, the trajectories for different step lengths are precomputed and the corresponding polynomial coefficients are stored. Additionally, both feet angles are specified to keep the feet parallel to the ground. To achieve the execution of the specified motion a trajectory tracking controller is designed.

The choice of the control strategy depends on the actuators used. Generally, electric motors with gears of high reduction ratios are employed in robotics. However, they introduce large inertia and friction that dominate the dynamics of the robot. In order to take advantage of the passive dynamics of the walking machine these influences are not tolerable. Therefore, the coupling between the bodies and actuators must be of low stiffness. Such a compliance can be realized, for instance, by a passive mechanical spring in series with the drive offering a potential of energy storage, too. It results in smaller motion bandwidth but that is still sufficient for a natural kind of locomotion. In view of these facts different designs of such actuators have been realized for walking and hopping machines, see e.g. Pratt (2000) or Ahmadi and Buehler (1999). The use of elasticity in series with the actuator is also realized in mammals as shown by Alexander (1988), and will be discussed further on with the muscle models, too.

A model of a biped walking machine consisting of $p = 7$ bodies with $f = 9$ degrees of freedom is developed which is shown in Fig. 10. Its position and orientation is determined by the vector $\mathbf{r}_x$ of the hip joint, by the absolute angle $\phi_b$ of the body and by the vectors of the relative angles $\phi_r$ and $\phi_l$ of the right and left leg.

The equations of motion of the walking machine read as in Eq. (58) with the $9 \times 1$-vector of generalized coordinates

$$ \mathbf{y} = [\mathbf{r}_x^T \phi_b \phi_r^T \phi_l^T]^T = [r_{x1} r_{x2} \phi_b \phi_{r1} \phi_{r2} \phi_{r3} \phi_{l1} \phi_{l2} \phi_{l3}]^T \qquad (67) $$

and the $6 \times 1$-vector of control torques in the joints

$$ \mathbf{u} = [u_{r1} u_{r2} u_{r3} u_{l1} u_{l2} u_{l3}]^T. \qquad (68) $$

A detailed listing of these equations is found in Lorenz (2001).

## 6.5. Inverse dynamics control

Forces or torques, respectively, are controlled in machines by actuators. That requires a control law for the walking machine that generates joint torques. Due to the high nonlinearities and couplings between the joints of the machine
a nonlinear centralized control law is most reasonable which takes the dynamic interaction effects between the joints into account. An inverse dynamics controller is designed which is based on the nonlinear model of the machine, see Sciavicco and Siciliano (2000). The equation of motion of this model used in the controller can be written according to Eq. (63) in the form

$$ M\ddot{y} + k = q + B^T u + C_F^T \lambda_F + C_{KL}^T \lambda_{KL} + C_{KR}^T \lambda_{KR}, \quad (69) $$

$$ c(y) = 0. \quad (70) $$

However, in the controller model it is sufficient to represent the contacts by bilateral constraints. They are implicitly described by Eq. (70) and $C_i^T = \partial c_i / \partial y$ with $i = F, KL, KR$ are the constraint matrices which are now replacing the constraint matrix $W$ of the unilateral constraints. The term $C_F^T \lambda_F$ represents the contact forces between the left or right foot and the ground. The terms $C_{KL}^T \lambda_{KL}$ and $C_{KR}^T \lambda_{KR}$ are due to contact forces at mechanical stops in the left and right knee joint and appear if the leg is straight. The generalized coordinates $y$ and velocities $\dot{y}$ are assumed to be measured.

By multiplication of Eq. (69) with an orthogonal matrix $D$ to matrix $C^T = [C_F^T \ C_{KL}^T \ C_{KR}^T]$, i.e. $DC^T = 0$, the contact forces can be eliminated. This is a matrix formulation of the principle of virtual work, see Blajer and Schiehlen (1992). If a foot contacts the ground the degree of freedom reduces by three resulting in matrix $D$ of size $6 \times 9$. When additionally one knee is straight $D$ becomes a $5 \times 9$ matrix and if both knees are straight $D$ is of size $4 \times 9$. Due to the knee constraints, the size of the control vector reduces to $5 \times 1$ or $4 \times 1$, respectively. In all cases this yields the equations of motion in the form

$$ D(M\ddot{y} + k - q) = DB^T u, \quad (71) $$

or

$M_D\ddot{y} + k_D - q_D = B_D^T u$, \qquad (72)

respectively. The advantage of this approach is that Eq. (69) can be used in all three phases and only the matrices $D$ and $B_D$ have to be rearranged.

The global linearization and decoupling of the system dynamics is obtained by the nonlinear state feedback

$$ u = B_D^{-T}(M_D v + k_D - q_D), \quad (73) $$

where $v$ is a new input vector, see e. g. Spong and Vidyasagar (1989). Assuming that the dynamic model is precisely known a system of double integrators is found for which a linear controller is designed. In order to controlling the Cartesian $x_1$- and $x_2$-coordinates directly the controller is developed with the operational space variables $x$. The position and orientation of the walking machine is described by the vector $x$ of operational space coordinates which can be transformed to the vector of the corresponding generalized coordinates $y_I$ by the relation $x = f(v_I)$. Differentiation with respect to time gives the relations between the velocities and accelerations

$$ \dot{x} = J(y_I)\dot{y}_I, \quad (74) $$

$$ \ddot{x} = J(y_I)\ddot{y}_I + \dot{J}(y_I, \dot{y}_I)\dot{y}_I. \quad (75) $$

The controlled variables allow in all phases to avoid singularities of $J$. As $y_I$ and $\dot{y}_I$ are assumed to be measured these transformations are embedded into the feedback control loop. With the linear PD control law

$$ \ddot{x} = \ddot{x}_d + K_D(\dot{x}_d - \dot{x}) + K_P(x_d - x) \quad (76) $$

based on the desired reference trajectories $x_d$ from the passive periodic walking cycle and positive definite diagonal matrices $K_P$ and $K_D$ the vector $v$ is found from Eqs. (75) and (76) as

$$ v = J^{-1}(\ddot{x}_d + K_D(\dot{x}_d - \dot{x}) + K_P(x_d - x) - \dot{J}\dot{y}_I). \quad (77) $$

Combining Eq. (73) and (77) result in the required control torques. The dynamics of the position tracking error in operational space while tracking the trajectory follows as a system of linear second-order differential equations and converges to zero exponentially.
## 6.6. Biological actuators and underdetermination

The skeletal system of humans is actuated by muscles. Since many muscles serve each joint of the skeletal system, muscle forces cannot be directly computed from joint moments. This is the known problem of underdetermination in biomechanics, e.g. Nigg and Herzog (1999). In order to solve this problem optimization procedures are used.

Eq. (58) describes the dynamics of the skeletal system. The joint moments $u$ are generated by the muscles and by other structures spanning the joints, like the ligaments. Splitting the vector of joint moments into the vector of joint moments generated by muscles and the vector of joint moments generated by other structures spanning the joints yields:

$$ M(y)\ddot{y} + k(y, \dot{y}) = q(y) + R(y)f^m, \qquad (78) $$

$$ R(y) = B^T A_m(y) \qquad (79) $$

where $q$ is the $f \times 1$-vector of generalized forces other than the ones caused by the muscles, $f^m$ is the $m \times 1$-vector of muscle forces, $A_m$ is the $k \times m$-matrix describing the points of action of the muscles and $R$ is the $f \times m$-matrix that transforms the muscle forces into generalized forces. Due to the underdetermination it yields $m \ge k$. The vector $q$ includes the vector of ground reaction forces for both feet $f^{gr}$ if the contact between feet and ground is modelled as elastic or if the ground reaction forces are known. If the contacts are modelled as constraints the term $W\lambda$ as in Eq. (63), is added to Eq. (78).

If the kinematics $y(t)$ of the movement is known, Eq. (58) can be solved for $u$, since the number of degrees of freedom of the mechanical system $f$ is greater or equal to the number of unknown joint moments $k$, except for the double stance phase when the contacts are modelled as constraints. In this case a kinematic loop arises.

On the other hand, the number of muscles $m$ is always greater than the number of degrees of freedom of the skeletal system $f$, what leads to the mentioned underdetermination. In this case an optimization problem is formulated, where the equations of motion constrain the minimization of an objective function. Moreover, many cost functions were proposed to solve the distribution problem in biomechanics. Crowninshield and Brand (1981), for instance, proposed a cost function based on the minimization of muscle fatigue. A typical formulation is as follows: find $f^m$ that minimizes the objective function $J$, submitted to the equality constraint given by the equations of motion in the form $Rf^m = b$ and to the inequality constraint $f^m \ge 0$, because muscles cannot push. Rewriting Eq. (78) results in $b = b(y, \dot{y}, \ddot{y})$. The static optimization problem has then to be solved for each discrete time step considered.

Such a procedure does not consider the dynamics of force production, which will be explained further on, what can lead to results for the muscle forces that are not possible in reality. Furthermore, this approach does not allow to estimate metabolical costs. Methods to compute the metabolical cost using static optimization when the kinematics of the walking is known are proposed. This avoids the necessity of performing the dynamic optimization of musculoskeletal systems, what involves several forward integrations of the equations of motion and is, therefore, computationally very costly.

## 6.7. Muscle models and musculoskeletal dynamics

Skeletal muscles are composed by the muscle fibers and the tendon. There exist many different muscle models and levels of complexity, refer to Winters (1990) and Zajac (1989) for extensive reviews. In the field of movement simulation, however, the three-component Hill-type model has been used almost exclusively. This model consists of a contractile element (CE), a nonlinear parallel elastic element (PE), representing the stiffness of the structures in parallel with the muscle fibers, and a nonlinear series elastic element (SE), representing basically the stiffness of the tendon, see Fig. 11. The force is generated in the CE. The average pennation angle of a muscle, given by the angle the muscle fibers do with the line of force application of the whole muscle, is also frequently modelled by an angle $\alpha$ as depicted in the figure.

Some variations of this models are also used, where a damping element is added in parallel to the CE and an additional elastic element is added in series to the CE, representing the stiffness of tissue in series with the muscle fibers. A simplification of these models, which will be used in this paper, is composed by a CE in series with a series elastic element and an elastic element in parallel to both. This permits that the parallel elastic element be lumped into the stiffness of a joint, that incorporates the stiffness of the parallel elastic elements of all the muscles and the stiffness
<figure><img src="image_12.png" /><figcaption>Fig. 11. Hill-type muscle model with Contractile Element (CE), a parallel elastic element (PE) and a series elastic element (SE).</figcaption></figure>

of all the other elastic structures spanning the joint. Expressions for this joint stiffnesses can be found in the literature, for example in Riener and Edrich (1999), Mansour and Audu (1986) and in Yoon and Mansour (1982).

The process of force generation is composed by many steps from the neural excitation to the contraction dynamics, refer to Zahalak (1990) for a detailed explanation. In a gross way, the neural action potential, received from the neural system, at the neuromuscular junction triggers a sequence of biochemical processes that result in muscle contraction. This complex process is modelled by two independent processes, the activation dynamics and the contraction dynamics.

The activation $a(t)$ represents an internal muscle tissue state, which is associated with the contractile process. The process that leads to the muscle activation $a(t)$ from the neural excitation $u(t)$ is modelled by a first order differential equation that simulates the time delay caused by the biochemical processes involved. This differential equation can be, for example, of the form presented in Nagano and Gerritsen (2001):

$$ \dot{a}(t) = (u(t) - a(t))(c_1 u(t) + c_2), \qquad (80) $$

where $c_2 = 1/t_d$, $c_1 = 1/(t_a - c_2)$, $u(t)$ is the neural excitation $0 \le u \le 1$, $a(t)$ is the muscle activation state $0 \le a \le 1$, $t_d$ is the time constant for de-activation and $t_a$ is the time constant for activation. These time constants are different and depend on the percentage of fast and slow fibers in the muscle.

The contraction dynamics models the force applied by the muscle on the skeletal system as a function of the muscle tissue state $a(t)$. The force generated by the CE, $f^{ce}$, is a function of the activation $a$, its current length $l^{ce}$, and its current contraction velocity $v^{ce}$. This relation, the force-length-velocity relation, Eq. (81), is an intrinsic property of the muscle fibers and incorporates the so called force-length and force-velocity relations,

$$ \frac{f^{ce}}{F_{\text{iso}}} = f_1 \left( a, \frac{v^{ce}}{L_{\text{opt}} V_{\text{max}}}, \frac{l^{ce}}{L_{\text{opt}}} \right). \qquad (81) $$

The force-length-velocity curve as well as the tendon force-length relation can be scaled by a few parameters, refer to Delp and Loan (2000) and to Zajac (1989), namely, the maximal isometric force the muscle can generate, $F_{iso}$, the maximal CE shortening velocity, $V_{max}$, and the muscle CE optimal length, $L_{opt}$, for which the force applied is maximal. Scaling considering the muscle fiber composition is also frequently used. An example for the force-length-velocity relation is given in Nagano and Gerritsen (2001).

Since the stiffness of the SE is known, the length of the SE, $l^{se}$, can be computed from the muscle force, $f^m$, and the time derivative of the muscle force, $\dot{f}^m$, can be written as function of the shortening velocity of the series elastic element, $v^{se}$,

$$ l^{se} = l^{se}(f^m), \qquad (82) $$

$$ \dot{f}^m = \dot{f}^m(v^{se}). \qquad (83) $$

From the muscle model considered, if the pennation angle $\alpha \approx$ constant, it follows according to Fig. 11,

$$ v^{se} = v^m - \frac{v^{ce}}{\cos \alpha}, \qquad (84) $$

$$ v^{ce} = v^{ce} \left( a, \frac{f^{ce}}{F_{\text{iso}}}, \frac{l^{ce}}{L_{\text{opt}}} \right), \qquad (85) $$
<figure><img src="image_13.png" /><figcaption>Fig. 12. Scheme of the musculoskeletal system dynamics.</figcaption></figure>

$$f^{\text{ce}} = \frac{f^{\text{m}}}{\cos \alpha} - f^{\text{pe}}(l^{\text{ce}}), \qquad (86)$$

$$l^{\text{ce}} = \frac{l^{\text{m}} - l^{\text{se}}}{\cos \alpha}, \qquad (87)$$

where Eq. (85) is obtained from Eq. (81). From Eqs. (82), (83) and (84)–(87) the contraction dynamics for the muscle model considered can be expressed as:

$$\dot{f}^{\text{m}} = \dot{f}^{\text{m}}(a, v^{\text{m}}, l^{\text{m}}, f^{\text{m}}), \qquad (88)$$

which describes the muscle contraction dynamics. This dynamics depends on the total muscle length and shortening velocity, $l^m$ and $v^m$, which are directly computed from the skeletal system generalized coordinates, $\mathbf{y}$, and their derivatives, $\dot{\mathbf{y}}$. The skeletal system dynamics, described by Eq. (78), and the muscle contraction dynamics, described by Eq. (88), are, therefore, coupled. In Fig. 12 the dynamics of the whole musculoskeletal system is shown and the mentioned coupling is visualized. In Fig. 12, $\mathbf{u}$ is the $m \times 1$ vector of muscle neural excitations; $\mathbf{a}$ is the $m \times 1$ vector of muscle activations; $f^m$, $l^m$ and $v^m$ are the $m \times 1$ vectors of muscle forces, muscle lengths and muscle shortening velocities, respectively; $\mathbf{y}$ is the $f \times 1$ vector of generalized coordinates and $\dot{\mathbf{y}}$ is the time derivative of $\mathbf{y}$.

## 6.8. Metabolic cost models

This section briefly introduces models of muscle energy expenditure available in the recent literature, pointing out some of their advantages and drawbacks.

The most simple approach was used in the first part of this paper and comprises the computation of the net joint mechanical energy or work. The main advantage of this method is its simplicity. However, the energy expenditure estimations obtained are not really related to the actual metabolical cost as discussed above.

A model proposed by Umberger et al. (2003) was chosen for this study, because it gives better predictions of energy expenditure for walking and was designed to better account for the muscle heat production during submaximal and eccentric muscle activities, conditions that are prevalent in human movement. In addition, the authors based their model entirely on mammalian or human experimental data, in opposition to other models.

This model subdivides the total metabolical cost rate, $\dot{E}$, into the muscle CE work rate or power, $\dot{W}$, and the muscle CE heat production rate, $\dot{H}$, $\dot{E} = \dot{H} + \dot{W}$. The heat rate is traditionally further subdivided, but the explanation of it would exceed the scope of this paper. The work rate is simply the mechanical work performed by the muscle CE,

$$\dot{W} = -f^{\text{ce}}v^{\text{ce}}, \qquad (89)$$

resulting in a positive rate if $v^{\text{ce}}$ is negative due to shortening. The complete algebraic expression for the muscle heat rate is presented in Umberger et al. (2003) depending on four muscle CE states and five muscle parameters $\dot{H} = \dot{H}(u, a, v^{\text{ce}}, l^{\text{ce}}, F_{\text{iso}}, L_{\text{opt}}, ft, PCSA, width)$. The muscle heat rate, described by this expression, is a function of the muscle neural excitation, $u$, the muscle activation, $a$, the muscle CE shortening velocity, $v^{\text{ce}}$, the muscle CE length, $l^{\text{ce}}$, and a set of muscle-dependent parameters comprising the muscle maximal isometric force, $F_{\text{iso}}$, the muscle CE optimal length, $L_{\text{opt}}$, the muscle fiber composition in percentage of fast twitch muscle fibers, $ft$, the muscle physi- logical cross-sectional area, PCSA, and an additional parameter introduced to adjust the force-length relation for each muscle, width, see Gerritsen et al. (1998). The total metabolical energy cost rate for a muscle is, therefore, written as

$$\dot{E} = \dot{E}(u, a, v^{\text{ce}}, l^{\text{ce}}, f^{\text{ce}}, \mathbf{p}), \qquad (90)$$

where the muscle parameters are summarized in the vector $\mathbf{p}$.
## 6.9. Proposed optimization approach

The static optimization approaches to solve the muscle force distribution problem for each time step considered can lead to nonphysiological muscle force histories, because they do not consider the muscle activation and contraction dynamics. Furthermore, this approach does not permit accurate estimations of metabolic cost rates and cannot be used when the objective function depend on the time history of the variables. For example, this approach cannot be implemented to optimize muscle forces when the goal is to minimize metabolic cost of transport, which is accepted to be the intrinsic goal in human walking.

A solution to consider time-dependent objective functions is to perform a dynamic optimization. This approach was successfully implemented recently for the case in which the objective function is the metabolic energy cost per unit of distance travelled (Anderson and Pandy, 2001; Bhargava et al., 2004; Umberger et al., 2003). These studies could mimic human normal walking patterns like kinematics, walking optimal velocity and metabolic energy cost reasonably. However, the dynamic optimization of such large scale musculoskeletal models is extremely costly in terms of computational effort, since the differential equations that describe the musculoskeletal dynamics, Fig. 12, have to be forward integrated several times. This drawback prevents this method of being used widely among biomechanicists. Moreover, the addition of equality constraints or of further terms to the objective function like optimal tracking to solve the problem for known or measured arbitrary movements would probably further increase the computational effort required.

Thelen et al. (2003) proposes an algorithm to solve the problem of muscle force distribution for known movement kinematics, based on a control algorithm that tracks the kinematics of a measured movement. This method is much faster than the conventional dynamic optimization approaches, because it requires only one forward integration of the state equations. This method efficiently enforces the dynamics of the system, but it still needs a static optimization approach for solving the muscle force distribution problem for each time step. Therefore, in opposition to the dynamic optimization approach, the use of a time-dependent objective function, for example total metabolic cost, is not possible.

We propose a method based on a large scale static optimization algorithm, that minimizes a time-dependent objective function and is subject to constraint equations given by the equations of motion and by the admissible values of the neural excitations and of the muscle activations. This method permits to calculate the time histories of the optimal muscle forces in the sense of some objective function which can also be time-dependent. Moreover, this method is computationally more efficient than the dynamic optimization since the differential equations are not integrated.

The method requires the discretization of the motion in $n-1$ constant time intervals, resulting in the time vector $T = [t_1 \dots t_j \dots t_n]$, where $t_j - t_{j-1} = \delta t$. The optimization variables are the muscle forces for all time steps and muscles considered. They are ordered in a $mn \times 1$ vector, called vector of global muscle forces,

$$F^{\mathrm{m}} = [f_{1}^{\mathrm{mT}} \ f_{2}^{\mathrm{mT}} \ \dots \ f_{j}^{\mathrm{mT}} \ \dots \ f_{n}^{\mathrm{mT}}]^{\mathrm{T}},$$

where, $m$ is the number of muscles considered and $f_j^m$ is the $m \times 1$ vector of muscle forces at the time instant $t_j$. The objective function can be, for example, the metabolic cost of transport, computed from the time integral of the metabolic energy costs rate, Eq. (90), for all $m$ muscles involved, divided by the distance travelled in a complete cycle, $\Delta S$, of the movement,

$$J = \frac{1}{\Delta S} \sum_{i=1}^{m} \left( \int_{t_1}^{t_n} \dot{E}(u_i(t), a_i(t), v_i^{\mathrm{ce}}(t), l_i^{\mathrm{ce}}(t), f_i^{\mathrm{ce}}(t), \mathbf{p}_i) dt \right) \quad (91)$$

where the index $i$ denotes that the quantity is related to the muscle $i$. Later on, the computation of $\dot{E}$ from the vector of muscle forces $F^m$ will be explained. The integral is solved numerically using the values of $\dot{E}$ in the discrete time instants $t_j$, for each function evaluation during the optimization.

The vectors of muscle forces, $f_j^m$, contained in the vector $F^m$, have to satisfy the equality constraint equations given by the equations of motion (78) for all time instants $t_j$ considered,

$$M(\mathbf{y}_j)\ddot{\mathbf{y}}_j + k(\mathbf{y}_j, \dot{\mathbf{y}}_j) = q_r(\mathbf{y}_j) + \mathbf{R}(\mathbf{y}_j)f_j^m. \quad (92)$$
Since the kinematics of the movement is known, the only unknowns are the muscle forces, $f_j^m$. Rearranging Eq. (92) yields

$$A_{eqj} \cdot f_j^m = b_j, \qquad (93)$$

where $A_{eqj} = R(y_j)$ and $b_j = M(y_j)\ddot{y}_j + k(y_j, \dot{y}_j) - q(y_j)$. Writing all the constraint equations given by the equations of motion in a single matrix equation yields:

$$A_{eq} \cdot F^m = b, \qquad (94)$$

where $A_{eq}$ is a $fn \times mn$ block diagonal matrix and $b$ is a $fn \times 1$ vector, constructed as:

$$A_{eq} = \text{diag} \{ A_{eq1} \quad A_{eq2} \quad \dots \quad A_{eqj} \quad \dots \quad A_{eqn} \}, \qquad (95)$$

$$b = [b_1^T \quad b_2^T \quad \dots \quad b_j^T \quad \dots \quad b_n^T]^T. \qquad (96)$$

In addition, the vector of global muscle forces, $F^m$, has to satisfy the inequality constraint,

$$F^m \ge 0, \qquad (97)$$

because muscles cannot push, and the nonlinear equality constraints given by the values that the neural excitations, $u_{ij}$, and muscle activations, $a_{ij}$, are allowed to assume, $0 \le u_{ij} \le 1$ and $0 \le a_{ij} \le 1$, for all muscles $i$ and time instants $t_j$ as:

$$0 \le u \le 1, \qquad (98)$$

$$0 \le a \le 1, \qquad (99)$$

where $a$ is a $nm \times 1$ vector containing all $a_{ij}$'s and $u$ is a $nm \times 1$ vector containing all $u_{ij}$'s. Additional equality constraints can be imposed for periodic motions to assure that the neural excitations, muscle activations and muscle forces for the initial and final times are equal:

$$u_n = u_1, \qquad (100)$$

$$a_n = a_1 \qquad (101)$$

$$f_n^m = f_1^m, \qquad (102)$$

where $u_n$ and $u_1$ are, respectively, the $m \times 1$ vectors of neural excitations for the final time $t_n$ and the initial time $t_1$ and $a_n$, and $a_1$ are, respectively, the $m \times 1$ vectors of muscle activations for the final time $t_n$ and the initial time $t_1$.

Therefore, the static optimization problem can be formulated as follows: find the global vector of muscle forces, $F^m$, that minimizes the objective function $J$, for example the metabolic cost of transport, Eq. (91), subject to the linear equality constraints given by the equations of motion, Eq. (94), the inequality constraints for positive muscle forces, Eq. (97), the inequality constraints for the neural excitations and muscle activations, Eqs. (98)–(99), and, if the movement is periodic, the equality constraints that assure the same initial and final values for the neural excitations, muscle activations and muscle forces, Eqs. (100)–(102).

In order to implement the optimization approach proposed, it is necessary to compute, for each function evaluation, i.e. for each time the optimization algorithm enters a new $F^m$, the values of the neural excitation, $u$, of the muscle activation, $a$, and of the total metabolic costs rate, $\dot{E}$, for all muscles and all time steps, from the time histories of the muscle forces, contained in $F^m$, and from the known kinematics, $y$ and $\dot{y}$. The computational algorithm is explained below.

The first step is to compute the total muscle length, $l^m$, and total muscle shortening velocity, $v^m$, from the generalized coordinates and their derivatives, $y$ and $\dot{y}$, as:

$$l^m = l^m(y), \qquad (103)$$

$$v^m = v^m(y, \dot{y}). \qquad (104)$$

These relations can be obtained by the positions of the muscle origins and muscle insertions in the skeleton, see Delp (1990). The measured values presented in Delp for 43 lower-limb musculotendon actuators were described symbolically with regression equations by Menegaldo et al. (2004), based on the generalized coordinates of the joints spanned by each muscle. Eq. (104) is then obtained by differentiating Eq. (103).
The second step is to numerically differentiate the time history of each muscle force, $f^m(t)$, obtaining $\dot{f}^m(t)$. The muscle SE length and shortening velocity, $l^{se}$ and $v^{ce}$, can be then computed by Eq. (82) and Eq. (83), respectively, as:

$$l^{se} = l^{se}(f^m), \qquad (105)$$

$$v^{se} = v^{se}(\dot{f}^m). \qquad (106)$$

The CE quantities $v^{ce}$, $l^{ce}$ and $f^{ce}$ can be computed by Eqs. (84), (86) and (87), respectively, as,

$$v^{ce} = (v^m - v^{se}) \cos \alpha, \qquad (107)$$

$$f^{ce} = \frac{f^m}{\cos \alpha} - f^{pe}(l^{ce}), \qquad (108)$$

$$l^{ce} = \frac{l^m - l^{se}}{\cos \alpha}. \qquad (109)$$

The muscle activation $a$ is obtained by solving Eq. (81) for $a$:

$$\frac{f^{ce}}{F_{\text{iso}}} - f_1 \left( a, \frac{v^{ce}}{L_{\text{opt}}V_{\text{max}}}, \frac{l^{ce}}{L_{\text{opt}}} \right) = 0. \qquad (110)$$

For some models of the muscle force-length-velocity relation, $a$ can be written explicitly as function of $v^{ce}$, $l^{ce}$ and $f^{ce}$. For other models, this is not possible and $a$ has to be computed numerically using Eq. (110).

The neural excitation, $u$, is computed by solving the quadratic polynomial given by (80), for $a(t)$ and $\dot{a}(t)$ known,

$$(c_1) \cdot u^2(t) + (c_2 - a(t)c_1) \cdot u(t) - (a(t)c_2 + \dot{a}(t)) = 0. \qquad (111)$$

The derivative $\dot{a}(t)$ is obtained by numerical differentiation of $a(t)$.

The last quantity needed to implement the method, for the case in which the total metabolical costs is of interest or is used in the objective function, is the metabolical cost rate, $\dot{E}$, which can be easily computed by using Eq. (90), since, for all muscles and time steps, $u$, $a$, $v^{ce}$, $l^{ce}$ and $f^{ce}$ are now known.

## 6.10. Lower limb system

In this section, the method proposed for estimating the metabolical cost and to solve the muscle force distribution problem is used for a musculoskeletal model of the right lower limb of a human. The kinematical data of the normal walking of a test person as well as the ground reaction forces were measured in the gait analysis laboratory of the Institut für Sportwissenschaft at the University of Stuttgart and were used as input to the simulation. This data are documented by Ackermann and Gros (2005).

The model of the lower limb skeletal system adopted, is composed by three rigid bodies, the thigh, the shank and the foot. The movement is performed in the sagittal plane and is described by five generalized coordinates, the angle $\alpha$, describing the rotation of the thigh, the angle $\beta$, describing the knee flexion, the angle $\gamma$ for the ankle plantar flexion, the horizontal position of the hip joint, $x_{hip}$, and the vertical position of the hip joint, $z_{hip}$, as schematically shown in Fig. 13(b). The pelvis and trunk are assumed to remain in the vertical position during the movement, what is reasonable for normal walking. The masses, center of mass locations, and the mass moment of inertia in the sagittal plane are obtained using the regression equations presented in Winter (2005), as functions of the subject's body mass, height, thigh length and shank length.

The eight muscle units considered in this analysis are shown in Fig. 13(a). The muscles were modelled by Hill-type muscle models composed by a contractile element CE and a series elastic element SE, while the force of the parallel elastic element PE is neglected, Fig. 11. In this model all the structures in parallel to the CE and the SE are represented by a total passive moment around the joints, which includes additionally the passive moments generated by all other passive structures around the joints, like ligaments, too. The formula for the passive moments around the hip, knee and ankle are functions of $\alpha$, $\beta$ and $\gamma$ as proposed by Riener and Edrich (1999). A linear damping is added to the knee and hip joints and their values are the approximate average values obtained by pendulum experiments performed by Stein et al. (1996), too. The muscle parameters are selected from Gerritsen et al. (1998), Nagano and Gerritsen (2001),
<figure><img src="image_14.png" /><figcaption>Fig. 13. Musculoskeletal model of the lower limb: (a) eight muscles and (b) generalized coordinates.</figcaption></figure>

Umberger et al. (2003) and Menegaldo et al. (2004). The phenomenological model for the muscle metabolic cost rate is adopted from Umberger et al. (2003), refer to Eq. (90).

Two methods are used to compute estimations of the metabolic cost for the whole walking cycle measured, whose duration or period was 1.14 s. This period is divided into 57 time intervals or 58 time steps, $n = 58$, respectively, which are the reference time steps used for both methods. The first method is based on a static optimization performed for each time step, where the objective function is the sum of all muscle activations squared (Crowninshield and Brand, 1981; Anderson and Pandy, 2001), as:

$$J = \sum_{i=1}^{8} a_{i}^{2}. \qquad (112)$$

The optimization is constrained by the equations of motion, since the kinematics of the motion, $y(t)$, $\dot{y}(t)$, $\ddot{y}(t)$, $x_{hip}$ and $z_{hip}$ and the ground reaction forces (GRF) are known. The motion, $y$, and the ground reaction forces were measured in the gait analysis laboratory and $\dot{y}(t)$, and $\ddot{y}(t)$ were obtained by numerical differentiation of $y(t)$. The equations of motion yield a linear matrix constraint equation, Eq. (92), for each instant of time $t_j$. The method was improved by computing the value of $u$ for each time step, what permits the computation of the total metabolic cost using Eq. (91) after the end of the optimization. Thus, it is necessary to calculate $u$ by solving Eq. (111) for each time step using $a$ and $\dot{a}$. An estimation of $\dot{a}$ can be obtained using the values of $a$ for the actual time step and for the former adjacent time step by means of a backward difference. In order to avoid values for $u$, which are negative or grater than one, a constraint is added to the optimization problem so that: $0 \le u_i \le 1$ for all muscles $i$.

The second approach, which was described in the previous section, uses as objective function the total metabolic cost of transport, Eq. (91), and as initial guess for the optimization the result obtained with the first approach. The optimization problems is solved using the MATLAB routine `fmincon`. For both approaches the muscle force-velocity relation is not implemented during the optimization, only the force-length is used. The reason is that, for the model used (Umberger et al., 2003), Eq. (110) cannot be explicitly formulated for $a$ if the force-velocity relation is considered. Therefore Eq. (110) would have to be solved numerically and the computational effort for the whole optimization would increase considerably. However, neglecting the force-velocity relation will have a small influence on the results, since, for walking, the velocities are low. Furthermore, the metabolic cost was computed for the optimal forces using the force-velocity relation, and the resulting difference is approximately 5%.

The total metabolic cost computed with the first approach was 263 J for one leg and the whole waking cycle. The algorithm converges fast, since the optimization can be solved separately for each time step, i.e., 58 optimizations are solved, where the 8 muscle forces are the variables to be optimized. This optimization required about 0.5 minute to achieve the optimal solutions for all time steps. Thus, it is a very fast method, which is most useful if there are no
time-dependent objective function to be considered. The second approach, using the metabolical cost of transport as time-dependent objective function, gave a value for the total metabolical cost of 215 J. This optimization needed about 20 hours to converge, mainly due to the high number of variables to be optimized, which were 8 × 58 = 464 (number of muscles × number of time steps). The considerable different metabolical cost estimations, about 22%, predicted by the first and the second approaches, shows that the first approach is not adequate for predicting metabolical cost, if the total metabolical cost of transport is assumed to be the underlying performance criteria adopted by the human neural system to control muscle forces distribution.

Although the computational effort to achieve convergence for the approach proposed can be considered high, this method is much more efficient than performing dynamic optimization. On the other hand, if the performance criteria is assumed to be not time-dependent, for example the one given in Eq. (112), estimations of metabolical costs can be obtained much more efficiently, by implementing the first approach explained above.

## 7. Conclusions

The fundamental approaches of analytical and recursive multibody dynamics for rigid and flexible bodies are summarized. It is shown that multibody dynamics is an excellent foundation for multivariable vibration analysis and sophisticated control design. As an engineering application the wear analysis of railway wheels is presented characterized by a multi-time-scale approach. The human locomotion is introduced as a challenging biomechanical problem where the muscle action requires extended models for the estimation of metabolical cost which is essential for the improvement of prosthetic devices. It turns out that the method of multibody systems can be adapted efficiently and reliably to problems beyond a dynamical analysis of mechanical systems.

## Acknowledgement

The author would like to express his sincere thanks to the head of the Institute of Engineering and Computational Mechanics at the University of Stuttgart, Professor Peter Eberhard, for providing the working facilities, and to his Ph.D. students Thomas Meinders and Marko Ackermann for their help in preparing this paper.

## References

* Abe, M. (Ed.), 2004. The Dynamics of Vehicles on Roads and Tracks. Taylor & Francis, London.

* Ackermann, M., Gros, H., 2005. Measurements of human gaits. Zwischenbericht ZB-144, Institute B of Mechanics – University of Stuttgart, Stuttgart.

* Ahmadi, M., Buehler, M., 1999. The arl monopod ii running robot: Control and energetics. In: International Conference on Robotics and Automation, ICRA, Detroit, Michigan, 10-15.5.1999. IEEE, pp. 1689–1694.

* Alexander, R.M., 1988. Elastic Mechanisms in Animal Movement. Cambridge University Press, Cambridge, England.

* Ambrósio, J.A.C., Gonçalves, J.P.C., 2001. Flexible multibody systems with applications to vehicle dynamics. Multibody System Dynamics 6 (2), 163–182.

* Anderson, F.C., Pandy, M.G., 2001. Static and dynamic optimization solutions for gait are practically equivalent. Journal of Biomechanics 34 (2), 153–163.

* Angeles, J., Piedboeuf, J.-C. (Eds.), 2004. Proc. 15th ROMANSY 2004. McGill University and Canadian Space Agency, Montreal.

* Bae, D.S., Haug, E.J., 1987. A recursive formulation for constrained mechanical system dynamics: Part II, closed loop systems. Mechanics of Structures and Machines 15, 481–506.

* Bestle, D., 1988. Beurteilungskriterien für chaotische Bewegungen nichtlinearer Schwingungssysteme. VDI-Verlag, Düsseldorf.

* Bhargava, L.J., Pandy, M.G., Anderson, F.C., 2004. A phenomenological model for estimating metabolic energy consumption in muscle contraction. Journal of Biomechanics 37 (1), 81–88.

* Blajer, W., Schiehlen, W., 1992. Walking without impacts as a motion/force control problem. ASME Journal of Dynamic Systems, Measurement, and Control 114, 660–665.

* Critchley, J.H., Anderson, K.S., 2004. A parallel logarithmic order algorithm for general multibody system dynamics. Journal of Multiscale Computational Engineering 12 (1), 75–93.

* Crowninshield, R.D., Brand, R.A., 1981. Physiologically based criterion of muscle force prediction in locomotion. Journal of Biomechanics 14 (11), 793–801.

* D'Alembert, J., 1743. Traité de Dynamique. David, Paris.

* Delp, S.L., 1990. Surgery simulation: a computer graphics system to analyze and design musculoskeletal reconstructions of the lower limb. PhD thesis, Department of Mechanical Engineering, Stanford University.

* Delp, S.L., Loan, J.P., 2000. A computational framework for simulation and analyzing human and animal movement. IEEE Computing in Science and Engineering 2 (2), 46–55.
Dombrowski, S. von, 2002. Analysis of large flexible body deformation in multibody systems using absolute coordinates. Multibody System Dynamics 8, 409–432.

Eberhard, P., Schiehlen, W., 2006. Computational dynamics of multibody systems: History, formalisms, and applications. Journal Computational Nonlinear Dynamics 1, 3–12.

Eich-Soellner, E., Führer, C., 1998. Numerical Methods in Multibody Dynamics. Teubner, Stuttgart.

Garcia, M., Ruina, A., Coleman, M., 1998. Some results in passive-dynamic walking. In: Pfeiffer, F. (Ed.), Proceedings of the Euromech 375: Biology and Technology of Walking. München, 23–25.3.1998, Technical University of Munich, pp. 268–275.

Gerritsen, K.G.M., van den Bogert, A.J., Hulliger, M., Zernicke, R.F., 1998. Intrinsic muscle properties facilitate locomotor control – a computer simulation study. Motor Control 2, 206–220.

Goswami, A., Espiau, B., Keramane, A., 1996. Limit cycles and their stability in a passive bipedal gait. In: IEEE Conference on Robotics and Automation.

Gruber, S., Schiehlen, W., 2000. Low-energy biped locomotion. In: ROMANSY 13 – Theory and Practice of Robots and Manipulators. Proceedings of the Thirteenth CISM-IFToMM Symposium, Zakopane, Polen, 3–6.7.2000. Springer-Verlag, pp. 459–466.

Gruber, S., Schiehlen, W., 2001. Towards autonomous bipedal walking. In: Berns, K., Dillmann, R. (Eds.), 4th International Conference on Climbing and Walking Robots, From Biology to Industrial Applications, CLAWAR 2001, Karlsruhe, 24–26.09.2001, pp. 757–762.

Ibrahimbegovic, A., Schiehlen, W. (Eds.), 2002. Special issue on computational techniques and applications in nonlinear dynamics of structures and multibody systems. Multibody System Dynamics 8 241–391.

Jourdain, P.E.B., 1909. Note on an analogue at Gauss' principle of least constraint. Quarterly Journal on Pure Applied Mathematics 40, 153–197.

Kane, T.R., Levinson, D.A., 1985. Dynamics: Theory and Applications. McGraw-Hill, New York.

Kik, W., Steinborn, H., 1982. Quasistationärer Bogenlauf – Mathematisches Rad/Schiene Modell, ILR Mitt. 112. Institut für Luft- und Raumfahrt der Technischen Universität Berlin, Berlin.

Kim, K., 1996. Verschleißgesetz des Rad-Schiene-Systems. Dissertation, RWTH Aachen, Fakultät für Maschinenwesen.

Krause, H., Poll, G., 1984. Verschleiß bei gleitender und wälzender Relativbewegung. Tribologie und Schmierungstechnik 31, RWTH Aachen.

Kreuzer, E., 1979. Symbolische Berechnung der Bewegungsgleichungen von Mehrkörpersystemen. Fortschrittsberichte VDI-Zeitschrift, Reihe 11, vol. 32. VDI-Verlag, Düsseldorf.

Lorenz, S., 2001. Zur Regelung einer zweibeinigen Gehmaschine. Student Project STUD-200, Institute B of Mechanics, University of Stuttgart.

Luschnitz, S., 1999. Ein Modell zur Berechnung des Langzeitverschleißes bei ICE-Radsätzen, Studienarbeit STUD-176, Institute B of Mechanics, University of Stuttgart.

Mansour, J.M., Audu, M.L., 1986. The passive elastic moment at the knee and its influence on human gait. Journal of Biomechanics 19 (5), 369–373.

McGeer, T., 1990. Passive dynamic walking. The International Journal of Robotics Research 9 (2), 62–82.

Meinders, T., 1997. Rotordynamik eines elastisches Radsatzes, Zwischenbericht ZB-94. Institute B of Mechanics, University of Stuttgart.

Meinders, T., 1998. Modeling of a railway wheelset as a rotating elastic multibody system. Machine Dynamics Problems 20, 209–219.

Meinders, T., 1999. Einfluß des Rad-Schiene-Kontakts auf Dynamik und Verschleiß eines Radsatzes, Zwischenbericht ZB-116. Institute B of Mechanics, University of Stuttgart.

Meinders, T., Meinke, P., Schiehlen, W., 2005. Wear estimation in flexible multibody systems with applications to railroads. In: Goicolea, J.M., Cuadrado, J., Garcia Orden, J.C. (Eds.), Proc. Multibody Dynamics 2005 ECCOMAS Thematic Conference (pdf). Universidad Politécnica Madrid, Madrid, pp. 1–20.

Meinders, T., Meinke, P., 2002. Rotor dynamics and irregular wear of elastic wheelsets. In: Popp, K., Schiehlen, W. (Eds.), System Dynamics and Long-Term Behaviour of Railway Vehicles, Track and Subgrade. In: Lecture Notes in Applied Mechanics, vol. 6. Springer-Verlag, Berlin, pp. 133–152.

Meinders, T., 2005. Dynamik und Verschleiß von Eisenbahnradesätzen. Fortschrittsberichte VDI, Reihe 12, vol. 612. VDI-Verlag, Düsseldorf.

Melzer, F., 1996. Symbolic computations in flexible multibody systems. Nonlinear Dynamics 9, 147–163.

Menegaldo, L.L., Fleury, A.T., Weber, H.I., 2004. Moment arms and musculotendon lengths estimation for a three-dimensional lower-limb model. Journal of Biomechanics 37 (9), 1447–1453.

Mochon, S., McMahon, T.A., 1980. Ballistic walking: An improved model. Mathematical Biosciences 52, 241–260.

Morys, B., 1998. Zur Entstehung und Verstärkung von Unrundheiten an Eisenbahnrädern bei hohen Geschwindigkeiten. Dissertation, Fakultät für Maschinenbau, Universität Karlsruhe.

Müller, P.C., Schiehlen, W., 1985. Linear Vibrations. Martinus Nijhoff, Dordrecht.

Nagano, A., Gerritsen, K.G.M., 2001. Effects of neuromuscular strength training on vertical jumping performance – a computer simulation study. Journal of Applied Biomechanics 17 (2), 113–128.

Nigg, B.M., Herzog, W. (Eds.), 1999. Biomechanics of the Musculo-Skeletal System, second ed. John Wiley & Sons.

N.N. 2000. ANSYS User's Manual. Ansys Inc., Houston, PA.

Pfeiffer, F. (Ed.), 1992. Plenary Lectures of the 1st European Solid Mechanics Conference, European Journal of Mechanics 11, 1–184 (special issue).

Pfister, J., Eberhard, P., 2002. Frictional contact of flexible and rigid bodies. Granular Matter 4 (1), 25–36.

Pratt, J., 2000. Exploiting inherent robustness and natural dynamics in the control of bipedal walking robots. PhD thesis, Computer Science Department, Massachusetts Institute of Technology, Cambridge, MA.

Riener, R., Edrich, T., 1999. Identification of passive elastic joint moments in the lower extremities. Journal of Biomechanics 32 (5), 539–544.

Ripke, B., 1995a. Hochfrequente Gleismodellierung und Simulation der Fahrzeug-Gleis-Dynamik unter Verwendung einer nichtlinearen Kontakt-mechanik. Fortschrittsberichte VDI-Zeitschrift, Reihe 12, vol. 231. VDI-Verlag, Düsseldorf.

Ripke, B., 1995b. Track 1.2 – A Simulation program for track dynamics, Manual. Technische Universität Berlin, Berlin.
Robertson, R.E., Schwertassek, R., 1988. Dynamics of Multibody Systems. Springer, Berlin.

Saha, S.K., Schiehlen, W., 2001. Recursive kinematics and dynamics for parallel structural closed-loop multibody systems. Mechanics of Structures and Machines 29, 143–175.

Schiehlen, W. (Ed.), 1990. Multibody System Handbook. Springer-Verlag, Berlin.

Schiehlen, W., 1997. Multibody system dynamics: Roots and perspectives. Multibody System Dynamics 1 (2), 149–188.

Schiehlen, W., 1999. Control of chaos for pendulum systems. In: Moon, F.C. (Ed.), New Applications of Nonlinear and Chaotic Dynamics in Mechanics. Kluwer, Dordrecht, pp. 363–370.

Schiehlen, W., Ackermann, M., 2005. Estimation of metabolic costs for human locomotion, in: American Society Mech. Eng. (Ed.), Proceedings IDETC/CIE2005 (pdf). ASME, New York, DETC2005-84229, pp. 1–17.

Schiehlen, W., Eberhard, P., 2004. Technische Dynamik. B.G. Teubner, Wiesbaden (in German).

Schittkowski, K., 1985. NLPQL: A FORTRAN subroutine solving constrained nonlinear programming problems. Annals of Operations Research 5, 485–500.

Sciavicco, L., Siciliano, B., 2000. Modelling and Control of Robot Manipulators. Springer, London.

Schwefel, H.-P., 1995. Evolution and Optimum Seeking. John Wiley & Sons.

Shabana, A.A., 1989. Dynamics of Multibody Systems, first ed. Wiley, New York.

Shabana, A.A., 2005. Dynamics of Multibody Systems, third ed. Cambridge University Press, Cambridge.

Shabana, A.A. (Ed.), 2003. Special issue on flexible multibody dynamics. Nonlinear Dynamics 34.

Specht, W., 1985. Beitrag zur rechnerischen Bestimmung des Rad- und Schieneverschleißes durch Güterwagendrehgestelle, Dissertation, RWTH Aachen, Fakultät für Maschinenwesen.

Spong, M.W., Vidyasagar, M., 1989. Robot Dynamics and Control. John Wiley & Sons, New York.

Stein, R.B., Lebiedowska, M.K., Popovic, D.B., Scheiner, A., Chizeck, H.J., 1996. Estimating mechanical parameters of leg segments in individuals with and without physical disabilities. IEEE Transactions on Rehabilitation Engineering 4 (3), 201–211.

Thelen, D.G., Anderson, F.C., Delp, S.L., 2003. Generating dynamic simulations of movement using computed muscle control. Journal of Biomechanics 36, 321–328.

Umberger, B.R., Gerritsen, K.G.M., Martin, P.E., 2003. A model of human muscle energy expenditure. Computer Methods in Biomechanics & Biomedical Engineering 6 (2), 99–111.

Volle, A., 1996. Modellierung, Simulation und Animation eines strukturvariablen Systems. Student Project STUD-133, Institute B of Mechanics, University of Stuttgart.

Volle, A., 1997, Integration eines Rad-Schiene-Kontaktmoduls in die Simulationsumgebung NEWSIM. Diplomarbeit DIPL-67, Institute B of Mechanics, University of Stuttgart.

Vukobratović, M., Borovac, B., Surla, D., Stokić, D., 1990. Biped Locomotion: Dynamics, Stability, Control and Application. Scientific Funda-mentals of Robotics, vol. 7. Springer-Verlag, Berlin.

Wallrapp, O., 1993. Standard input data of flexible members in multibody systems. In: Schiehlen, W. (Ed.), Advanced Multibody System Dynamics – Simulation and Software Tools. Kluwer Academic Publishers, Dordrecht, pp. 445–450.

Wallrapp, O., Eichberger, A., 2000. *FEMBS*, An interface between FEM codes and MBS codes. DLR. Oberpfaffenhofen.

Winter, D.A., 2005. Biomechanics and Motor Control of Human Movement, third ed. John Wiley & Sons.

Winters, J.M., 1990. Hill-based muscle models: a system engineering perpective. In: Winters, J.M., Woo, Y. (Eds.), Multiple Muscle Systems. Springer-Verlag, pp. 69–93 (Chapter 5).

Yoon, Y.S., Mansour, J.M., 1982. The passive elastic moment at the hip. Journal of Biomechanics 15 (12), 905–910.

Zahalak, G.I., 1990. Modeling muscle mechanics (and energetics). In: Winters, J.M., Woo, Y. (Eds.), Multiple Muscle Systems. Springer-Verlag, pp. 1–23 (Chapter 1).

Zajac, F.E., 1989. Muscle and tendon: properties, models, scaling, and application to biomechanics and motor control. CRC Critical Reviews in Biomedical Engineering 19 (4), 359–411.

Zobory, I., 1997. Prediction of wheel/rail profile wear. Vehicle System Dynamics 28, 221–259.