1 Introduction

The core task in computational multibody system (MBS) dynamics is to either construct the equations of motion (EOM) explicitly that can be written for an unconstrained tree-topology MBS in the form

$$ \mathbf{M} ( \mathbf{q} ) \ddot{\mathbf{q}}+\mathbf{C} ( \dot{\mathbf{q}}, \mathbf{q} ) \dot{\mathbf{q}}=\mathbf{Q} ( \dot{\mathbf{q}},\mathbf{q},t ) $$
(1)

in a way that is easy to pursue, or to evaluate them for given \(( \ddot{\mathbf{q}},\dot{\mathbf{q}},\mathbf{q} ) \) and \(t\), respectively to solve them, in a computationally efficient way for \(\mathbf{q} ( t ) \). In continuation of [60], the aim of this paper is to present established \(O ( n ) \) formulations in a common geometric setting and to show that this setting allows for a flexible and user-friendly MBS modeling.

Screw and Lie group theory provides a geometric framework that allows for achieving optimal computational performance and at the same time allows for an intuitive and flexible modeling. In particular, it gives rise to a formulation of the MBS kinematics that does not involve body-fixed joint frames. The kinematics modeling is indeed reflected in the formulation used to evaluate the EOM. A central concept is the representation of velocities (twists) as screws. Four different variants were recalled in [60]. In this paper, their application to dynamics modeling is reviewed. A well-known approach, which exploits the fact that rigid-body twists are screws, is the so-called “spatial vector” formulation introduced in [26, 29], respectively the so-called “spatial operator algebra”, which was formalized in [73]. The latter is the basis for the \(O ( n ) \) forward dynamics algorithms introduced in [30, 37, 38, 44, 72, 74]. The fundamental operation underlying these formulations is the frame transformations of screws, that is, twists and wrenches. The fact that the latter can be expressed in terms of compact matrix operations gave rise to a matrix formulation for the MBS kinematic and dynamics [5, 42, 43, 83] using screw algebra. While these formulations make merely use of the algebraic properties of screws (e.g. velocities, accelerations, wrenches), several algorithms for generating the EOM of MBS with tree topology were reported, which also exploit the fact that finite rigid body motions constitute the Lie group \(\mathit{SE} ( 3 ) \) whose Lie algebra \(\mathit{se} ( 3 ) \) is isomorphic to the algebra of screws [15, 23, 24, 32, 33]. The central relation is the product of exponentials (POE) introduced in [15]. The important feature of such a geometric Lie group formulation is the frame invariance, which makes it independent from any modeling convention like the Denavit–Hartenberg convention. This allows for direct processing of CAD data and gives further rise to numerically advantageous Lie group time integration methods. Yet there is no established Lie group algorithm for the generation respectively evaluation of the EOM that takes full advantage of the freedom to chose different motion representations enabled by the frame invariance.

This paper is organized as follows. Recursive relations for the acceleration and jerk, and thus for the time derivatives of the Jacobians, are first derived in Sect. 2. The Newton–Euler equations for the four different representations of twists introduced in [60] are then recalled in Sect. 3. The corresponding recursive \(O ( n ) \) inverse dynamics algorithm for evaluating the EOM are presented in Sect. 4. The body-fixed algorithm is similar to that in [2, 7, 30, 34, 35, 44, 45, 67, 68, 70, 71, 76], the hybrid formulation to that in [1, 6, 37, 38, 73, 74], and the spatial formulation to that in [29]. Two versions of the EOM in closed form are presented in Sect. 5. In Sect. 5.1, the Euler–Jourdain respectively “projection” equations [14, 84] are presented that, together with the screw formulation of MBS kinematics, allow for an efficient MBS modeling in terms of readily available geometric data. In Sect. 5.2, a closed form of the Lagrangian EOM is presented using the Lie group approach. It should be noticed that the presented formulations allow for modeling MBS without introduction of joint frames while applying the recursive kinematics and dynamics algorithm that is deemed best suited. The significance of the Lie group formulation for the linearization of the EOM and the determination of derivative of the EOM with respect to geometric design parameters and time derivatives is discussed in Sect. 6. Finally, in Sect. 7 the application of Lie group integration methods is briefly discussed. The kinematic relations presented in [60] are summarized in Appendix A. The basic Lie group background can be found in [47, 63, 75].

2 Acceleration, jerk, and partial derivatives of Jacobians

Besides the compact description of finite and instantaneous motions of a system of articulated bodies, a prominent feature of the screw theoretical approach is that it allows for expressing the partial derivatives explicitly in terms geometric objects. Moreover, the analytic formulation of the kinematics using the POE gives rise to compact expressions for higher derivatives of the instantaneous joint screws, that is, of the Jacobian, which may be relevant for sensitivity analysis and linearization of motion equations. In this section, results for the acceleration and jerk of a kinematic chain are presented for the body-fixed, spatial, and hybrid representation. The corresponding relations for the mixed representation are readily found from either one of these using the relations in Table 3 of [60].

2.1 Body fixed representation

Starting from (102), the body-fixed acceleration is V ˙ i b = J i b q ¨ + J ˙ i b q ˙ or, explicitly in terms of the body-fixed instantaneous screw coordinates,

$$ \dot{\mathbf{V}}_{i}^{\text{b}}=\sum_{j\leq i} \mathbf{J}_{i,j}^{\text{b}}\ddot{q}_{j}+\sum _{j\leq i}\sum_{k\leq i}\frac{\partial}{\partial q^{k}} \mathbf{J}_{i,j}^{\text{b}}\dot{q}_{j}\dot{q}_{k}. $$
(2)

Using the matrix form of (104), the partial derivatives of the instantaneous screw coordinates are

$$ \frac{\partial}{\partial q_{k}}\widehat{\mathbf{J}} {_{i,j}^{\text{b}}}= \frac{\partial}{\partial q_{k}}\bigl(\mathbf{C}_{i}^{-1}\mathbf {C}_{j}\bigr)\mathbf{A}_{j}^{-1}\widehat{ \mathbf{Y}}_{j}\mathbf{A}_{j}\mathbf {C}_{i}^{-1} \mathbf{C}_{j}+\mathbf{C}_{i}^{-1} \mathbf{C}_{j}\mathbf {A}_{j}^{-1}\widehat{ \mathbf{Y}}_{j}\mathbf{A}_{j}\frac{\partial }{\partial q_{k}}\bigl( \mathbf{C}_{j}^{-1}\mathbf{C}_{i}\bigr). $$
(3)

This can be evaluated with help of the POE formula (94) as

$$\begin{aligned} &\frac{\partial}{\partial q_{k}}\bigl(\mathbf{C}_{i}^{-1} \mathbf{C}_{j}\bigr) \\ &\quad=\frac{\partial}{\partial q_{k}}\bigl(\mathbf{A}_{i}^{-1} \exp(-\widehat {\mathbf{Y}}_{i}q_{i})\cdots\exp(-\widehat{ \mathbf {Y}}_{j+1}q_{j+1})\mathbf{A}_{j}\bigr) \\ &\quad=-\mathbf{A}_{i}^{-1}\exp(-\widehat{\mathbf{Y}}_{i}q_{i}) \cdots\exp (-\widehat{\mathbf{Y}}_{k+1}q_{k+1})\widehat{ \mathbf{Y}}_{k}\exp (-\widehat{\mathbf{Y}}_{k}q_{k}) \cdots\exp(-\widehat{\mathbf {Y}}_{j+1}q_{j+1}) \mathbf{A}_{j} \\ &\quad=-\mathbf{C}_{i}^{-1}\mathbf{C}_{k} \mathbf{A}_{k}^{-1}\widehat{\mathbf {Y}}_{k} \mathbf{A}_{k}\mathbf{C}_{k}^{-1} \mathbf{C}_{j}=-\mathbf {C}_{i}^{-1} \mathbf{C}_{k}\mathbf{A}_{k}^{-1}\widehat{\mathbf {Y}}_{k}\mathbf{A}_{k}\mathbf{C}_{k}^{-1} \mathbf{C}_{i}\mathbf {C}_{i}^{-1} \mathbf{C}_{j} \\ &\quad=-\widehat{\mathbf{J}} {_{i,k}^{\text{b}}}\mathbf{C}_{i}^{-1} \mathbf {C}_{j},\quad j\leq k\leq i, \end{aligned}$$
(4)

and in the same way, it follows that

$$ \frac{\partial}{\partial q_{k}}\bigl(\mathbf{C}_{j}^{-1}\mathbf {C}_{i}\bigr)=\mathbf{C}_{j}^{-1} \mathbf{C}_{i}\widehat{\mathbf {J}} {_{i,j}^{\text{b}}},\quad j \leq k\leq i. $$
(5)

Insertion into (3) yields \(\frac{\partial}{\partial q_{k}}\widehat{\mathbf{J}}{_{i,j}^{\text{b}}}=\widehat{\mathbf {J}}{_{i,j}^{\text{b}}}\widehat{\mathbf{J}}{_{i,k}^{\text{b}}}-\widehat {\mathbf{J}}{_{i,k}^{\text{b}}}\widehat{\mathbf{J}}{_{i,j}^{\text{b}}}\), and noting (114), the final expression is

$$ \fbox{$\dfrac{\partial\mathbf{J}_{i,j}^{\text{b}}}{\partial q_{k}}=\bigl[\mathbf{J}_{i,j}^{\text{b}}, \mathbf{J}_{i,k}^{\text{b}}\bigr],\quad j< k\leq i$.} $$
(6)

Hence the partial derivative of the instantaneous joint screw \(\mathbf {J}{_{i,j}^{\text{b}}}\) with respect to \(q_{k}\) is simply the screw product (115) of \(\mathbf{J}{_{i,j}^{\text{b}}}\) and \(\mathbf{J}{_{i,k}^{\text{b}}}\). The final expression for the acceleration attains a very compact form

$$ \dot{\mathbf{V}}_{i}^{\text{b}}=\sum_{j\leq i} \mathbf{J} {_{i,j}^{\text{b}}}\ddot{q}_{j}+\sum _{j< k\leq i}\bigl[\mathbf{J} {_{i,j}^{\text{b}},\mathbf {J} {_{i,k}^{\text{b}}}\bigr]}\dot{q}_{j} \dot{q}_{k}. $$
(7)

Indeed, the same result would be obtained using (104) in terms of \(\mathbf{Y}_{i}\). This expression has been derived, using different notations, for instance, in [15, 50, 63, 67].

Equation (7) can be summarized for all bodies \(i=1,\ldots,n\) using the system twist (112) and system Jacobian (113). To this end, the derivative (6) is rewritten as

$$ \frac{\partial\mathbf{J}{_{i,j}^{\text{b}}}}{\partial q_{k}}=\bigl[\mathbf {J} {_{i,j}^{\text{b}}, \mathbf{J}_{i,k}^{\text{b}}}\bigr]=\mathbf{Ad}_{\mathbf {C}_{i,k}}\bigl[ \mathbf{J} {_{k,j}^{\text{b}},{^{k}}\mathbf{X}_{k}} \bigr]=-\mathbf {Ad}_{\mathbf{C}_{i,k}}\mathbf{ad}_{{{^{k}}\mathbf{X}_{k}}}\mathbf {J} {_{k,j}^{\text{b}}},\quad j< k\leq i, $$
(8)

so that

$$ \dot{\mathbf{J}} {_{i,j}^{\text{b}}}=\sum _{j< k\leq i}\bigl[\mathbf {J} {_{i,j}^{\text{b}}, \mathbf{J}_{i,k}^{\text{b}}}\bigr]\dot{q}_{k}=-\sum _{j< k\leq i}\mathbf{Ad}_{\mathbf{C}_{i,k}}\mathbf{ad}_{{{^{k}}\mathbf {X}_{k}}} \mathbf{J} {_{k,j}^{\text{b}}}\dot{q}_{k}. $$

Noticing that \(\mathbf{ad}_{{{^{k}}\mathbf{X}_{k}}}\mathbf {J}{_{k,k}^{\text{b}}}=\mathbf{0}\), the time derivative of the body-fixed system Jacobian factors as

J ˙ b (q, q ˙ )= A b (q) a b ( q ˙ ) A b (q) X b = A b (q) a b ( q ˙ ) J b (q)
(9)

with A b defined in (24) of [60] and with

a b ( q ˙ ):=diag( q ˙ 1 ad X 1 1 ,, q ˙ n ad X n n ).
(10)

Hence the system acceleration is given in compact matrix form as

V ˙ b = J b q ¨ A b a b J b q ˙ = J b q ¨ A b a b V b .
(11)

Remark 1

(Overall inverse kinematics solution)

Relation (11) gives rise to a solution of the inverse kinematics problem on acceleration level, that is, the generalized accelerations for given configurations, twists, and accelerations of the bodies. The unique solution is

q ¨ = ( ( X b ) T X b ) 1 ( X b ) T ( ( I D b ) V ˙ b + a b V b ) ,
(12)

which is indeed the time derivative of (26) in [60]. In components, this gives the acceleration of the individual joints as \(\ddot {q}_{i}={^{i}\mathbf{X}}_{i}^{T}(\dot{\mathbf{V}}_{i}^{\text{b}}-\mathbf {Ad}_{\mathbf{C}_{i,i-1}}\dot{\mathbf{V}}_{i-1}^{\text{b}}+\dot {q}_{i}[{^{i}\mathbf{X}}_{i},\mathbf{V}_{i}^{\text{b}}])/ \Vert {^{i}\mathbf{X}}_{i} \Vert ^{2}\).

A further time derivative of the twist yields the jerk of a body, which requires a further partial derivative of the Jacobian. Starting from (6) and using the Jacobi identity (117) and the bilinearity \(\frac{\partial}{\partial q_{k}}[\mathbf{J}{_{i,j}^{\text{b}},\mathbf{J}{_{i,k}^{\text{b}}}]=}[\frac{\partial}{\partial q_{k}}\mathbf{J}{_{i,j}^{\text{b}},\mathbf{J}{_{i,k}^{\text{b}}}]+}[\mathbf{J}{_{i,j}^{\text{b}},\frac{\partial}{\partial q_{k}}\mathbf{J}{_{i,k}^{\text{b}}}]}\), the nonzero second partial derivative is found as

$$ \frac{\partial^{2}\mathbf{J}_{i,j}^{\text{b}}}{\partial q_{k}\partial q_{r}}=\left \{ \textstyle\begin{array}{l@{\quad}l} {}[{}[\mathbf{J}{_{i,j}^{\text{b}},\mathbf{J}{_{i,k}^{\text{b}}}],}\mathbf{J}{_{i,r}^{\text{b}}}], & j< k\leq r\leq i, \\ {}[{}[\mathbf{J}{_{i,j}^{\text{b}},\mathbf{J}{_{i,r}^{\text{b}}}],}\mathbf{J}{_{i,k}^{\text{b}}}], & j< r< k\leq i. \end{array}\displaystyle \right . $$
(13)

This gives rise to an explicit form for the body-fixed jerk:

$$\begin{aligned} \textstyle\begin{array}[b]{rcl} \displaystyle\ddot{\mathbf{V}}_{i}^{\text{b}} &=&\displaystyle\sum _{j\leq i}\mathbf {J} {_{i,j}^{\text{b}}} \dddot{q}_{j}+2\sum_{j< k\leq i} \bigl[\mathbf{J} {_{i,j}^{\text{b}},\mathbf{J} {_{i,k}^{\text{b}}} \bigr]}\ddot {q}_{j}\dot{q}_{k} \\ &&\displaystyle{}+\sum_{j< k\leq i}\bigl[\mathbf{J} {_{i,j}^{\text{b}}, \mathbf {J} {_{i,k}^{\text{b}}}\bigr]}\dot{q}_{j} \ddot{q}_{k}+2\sum_{j< k\leq r\leq i}\bigl[ \bigl[\mathbf{J} {_{i,j}^{\text{b}},\mathbf {J} {_{i,k}^{\text{b}}} \bigr],}\mathbf{J} {_{i,r}^{\text{b}}}\bigr]\dot{q}_{j}\dot {q}_{k}\dot{q}_{r}. \end{array}\displaystyle \end{aligned}$$
(14)

Thus only computationally simple nested screw products are required to compute the terms that are quadratic and cubic in \(\ddot{q}_{j}\), \(\dot {q}_{k}\). The same applies to higher derivatives (which, for instance, are required for motion planning). The explicit form of the \(\nu\)th-order partial derivative was presented in [55]:

$$ \frac{\partial^{\nu}\mathbf{J}_{i,j}^{\text{b}}}{\partial q_{\alpha _{1}}\partial q_{\alpha_{2}}\cdots\partial q_{\alpha_{\nu}}}=\bigl[\ldots {}\bigl[{}\bigl[{}\bigl[\mathbf{J}_{i,j}^{\text{b}}{,} \mathbf {J}_{i,\beta _{1}}^{\text{b}}\bigr],\mathbf{J}_{i,\beta_{2}}^{\text{b}}{ \bigr]},\mathbf {J}_{i,\beta_{3}}^{\text{b}}{\bigr]}\ldots, \mathbf{J}_{i,\beta_{\nu }}^{\text{b}}\bigr],\quad j< \beta_{1}\leq \beta_{2}\leq\cdots\leq\beta _{\nu}\leq i, $$
(15)

where \(\beta_{1}\leq\beta_{2}\leq\cdots\leq\beta_{\nu}\) is the ordered sequence of the indices \(\alpha_{1},\ldots,\alpha_{\nu}\). Clearly, the closed-form expressions become very involved. Their explicit determination can be avoided by recursive evaluation [55].

2.2 Spatial representation

Proceeding in the same way as for (3), the partial derivative of the spatial Jacobian is obtained as

$$ \fbox{$\dfrac{\partial\mathbf{J}_{j}^{\text{s}}}{\partial q_{k}}=\bigl[\mathbf {J}_{k}^{\text{s}}, \mathbf{J}_{j}^{\text{s}}\bigr],\quad k< j$.} $$
(16)

Since the spatial representation \(\mathbf{J}{_{j}^{\text{s}}}\) is intrinsic to the joint \(j\), rather than related to a body as is (104), the time derivative can be expressed as

$$ \dot{\mathbf{J}} {_{j}^{\text{s}}}=\sum _{k\leq j}\bigl[\mathbf{J} {_{k}^{\text{s}}, \mathbf{J}_{j}^{\text{s}}}\bigr]\dot{q}^{k}=\biggl[\sum _{k\leq j}\mathbf {J} {_{k}^{\text{s}}, \mathbf{J}_{j}^{\text{s}}}\biggr]\dot{q}_{k}=\bigl[ \mathbf {V} {_{j}^{\text{s}},\mathbf{J}_{j}^{\text{s}}} \bigr]. $$
(17)

This relation reconfirms the special properties of spatial twists that are advantageous for recursive implementations. It may be considered as an extension of Euler’s formula for the time derivative of vectors resolved in moving frames to screws. For this reason, Featherstone [27, 29] termed the Lie bracket the “spatial cross product”. The spatial acceleration is therewith

$$ \dot{\mathbf{V}}_{i}^{\text{s}}=\sum_{j\leq i} \mathbf{J} {_{j}^{\text{s}}}\ddot{q}_{j}+\sum _{k< j\leq i}\bigl[\mathbf{J} {_{k}^{\text{s}},\mathbf {J} {_{j}^{\text{s}}}\bigr]}\dot{q}_{j} \dot{q}_{k}=\sum_{j\leq i} \bigl( \mathbf{J} {_{j}^{\text{s}}}\ddot{q}_{j}+\bigl[\mathbf{V} {_{j}^{\text{s}},\mathbf{J}_{j}^{\text{s}}}\bigr] \dot{q}_{j} \bigr) . $$
(18)

In matrix form the overall spatial acceleration can be summarized as

V ˙ s = J s q ¨ + Lb s J s q ˙ = J s q ¨ + Lb s V s
(19)

with

b s ( V s ) :=diag( ad V 1 s ,, ad V n s )
(20)

and L being the lower triangular block identity matrix. A solution for \(\ddot{\mathbf{q}}\) similar to (11) exists.

The second partial derivative of the spatial Jacobian is

$$ \frac{\partial^{2}\mathbf{J}{_{i}^{\text{s}}}}{\partial q_{k}q_{j}}=\left \{ \textstyle\begin{array}{l@{\quad}l} {}[\mathbf{J}{_{k}^{\text{s}},}[\mathbf{J}{_{j}^{\text{s}},\mathbf {J}{_{i}^{\text{s}}}]}], & k< j< i, \\ {}[\mathbf{J}{_{j}^{\text{s}},}[\mathbf{J}{_{k}^{\text{s}},\mathbf {J}{_{i}^{\text{s}}}]}], & j\leq k< i. \end{array}\displaystyle \right . $$
(21)

Therewith the spatial representation of the jerk of body \(i\) is found as

$$\begin{aligned} \ddot{\mathbf{V}}_{i}^{\text{s}} =&\sum _{j\leq i} \biggl(\mathbf {J} {_{j}^{\text{s}}} \dddot{q}_{j}+2\bigl[\mathbf{V} {_{j}^{\text{s}}}, \mathbf {J} {_{j}^{\text{s}}\bigr]}\ddot{q}_{j}+\sum _{k\leq j}\bigl[{\mathbf{J} {_{k}^{\text{s}}}} \ddot{q}_{k},\mathbf{J} {_{j}^{\text{s}}\bigr]} \dot{q}^{j}+\bigl[\mathbf {V} {_{j-1}^{\text{s}}}+ \mathbf{V} {_{j}^{\text{s}}-\mathbf{V} {_{i}^{\text{s}}}, \bigl[}\mathbf{V} {_{j}^{\text{s}}},\mathbf{J} {_{j}^{\text{s}}} \bigr]\bigr]\dot {q}_{j} \biggr) \\ \end{aligned}$$
(22)
$$\begin{aligned} =&\sum_{j\leq i} \biggl(\mathbf{J} {_{j}^{\text{s}}} \dddot {q}_{j}+\bigl[\bigl[\mathbf{V} {_{j}^{\text{s}}},{ \mathbf{J} {_{j}^{\text{s}}\bigr]}},\mathbf{V} {_{i}^{\text{s}}}-2 \mathbf{V} {_{j}^{\text{s}}}\bigr]\dot {q}_{j}+\biggl[ \sum_{k\leq j}{\mathbf{J} {_{k}^{\text{s}}}} \ddot {q}_{k}+\bigl[\mathbf{V} {_{j}^{\text{s}}},{ \mathbf{J} {_{j}^{\text{s}}\bigr]}}\dot {q}_{j},{ \mathbf{J} {_{j}^{\text{s}}}}\biggr]\dot{q}_{j} \\ &{}+2\bigl[ \mathbf {V} {_{j}^{\text{s}}},{\mathbf{J} {_{j}^{\text{s}}}} \bigr]\ddot{q}_{j} \biggr). \end{aligned}$$
(23)

The instantaneous joint screws (105) and thus their derivatives (16) and (21) are independent of a particular body. The closed form of the \(\nu\)th-order partial derivative has been reported in [54]:

$$\begin{aligned} \frac{\partial^{\nu}\mathbf{J}{_{i}^{\text{s}}}}{\partial q_{\alpha _{1}}\partial q_{\alpha_{2}}\cdots\partial q_{\alpha_{\nu}}} =&\bigl[\mathbf{J}_{\beta_{\nu}}^{\text{s}},\bigl[ \mathbf{J}_{\beta_{\nu -1}}^{\text{s}},\bigl[\mathbf{J}_{\beta_{\nu-2}}^{\text{s}}, \ldots{}\bigl[ \mathbf{J}_{\beta _{1}}^{\text{s}},\mathbf{J}_{i}^{\text{s}} \bigr]\ldots\bigr]\bigr]\bigr],\quad \beta_{\nu }\leq \beta_{\nu-1}\leq \cdots\leq\beta_{1}< i, \\ =&\mathbf{ad}_{\mathbf{J}_{\beta_{\nu}}^{\text{s}}}\mathbf {ad}_{\mathbf{J}_{\beta_{\nu-1}}^{\text{s}}}\mathbf{ad}_{\mathbf {J}_{\beta_{\nu-2}}^{\text{s}}} \cdots\mathbf{ad}_{\mathbf{J}_{\beta _{1}}^{\text{s}}}\mathbf{J}_{i}^{\text{s}},\quad \beta_{\nu}\leq\beta _{\nu-1}\leq\cdots\leq\beta _{1}< i, \\ =&\biggl[\mathbf{J}_{\beta_{\nu}}^{\text{s}},\frac{\partial^{\nu -1}\mathbf{J}_{i}^{\text{s}}}{\partial q_{\beta_{1}}\partial q_{\beta _{2}}\cdots \partial q_{\beta_{\nu-1}}}\biggr],\quad \beta_{\nu}\leq\beta_{\nu-1}< i, \end{aligned}$$
(24)

where again \(\beta_{\nu}\leq\beta_{\nu-1}\leq\cdots\leq\beta_{1}\) is the ordered sequence of the indices \(\alpha_{1},\ldots,\alpha _{\nu}\). The last form in (24) allows for a recursive determination. Moreover, a recursive formulation for the time derivative of spatial twists has been reported in [56]. Together with the very concise form (17), this makes the spatial representation computationally very attractive.

2.3 Hybrid form

The results in Sect. 2.1 can be carried over to the hybrid twist using relation (107). As in (119), denote by \({{\overset{v}{\mathbf{J}}}{_{i,k}^{\text{h}}}}\) and \({{\overset{\omega }{\mathbf{J}}}{_{i,k}^{\text{h}}}}\) the screw coordinate vectors comprising respectively the linear and angular parts of the column of the hybrid Jacobian, so that \({\mathbf{J}_{i,k}^{\text{h}}}={{\overset{\omega }{\mathbf{J}}}{_{i,k}^{\text{h}}+\overset{v}{\mathbf{J}}}{_{i,k}^{\text{h}}}}\). Then

$$\begin{aligned} \frac{\partial{\mathbf{J}_{i,j}^{\text{h}}}}{\partial q_{k}} =&\frac {\partial\mathbf{Ad}_{\mathbf{R}_{i}}}{\partial q_{k}}\mathbf {J}_{i,j}^{\text{b}}+ \mathbf{Ad}_{\mathbf{R}_{i}}\frac{\partial\mathbf {J}_{i,j}^{\text{b}}}{\partial q_{k}}=\mathbf{ad}_{{{\overset{\omega }{\mathbf{J}}}{_{i,k}^{\text{h}}}}} \mathbf{Ad}_{\mathbf{R}_{i}}\mathbf {J}_{i,j}^{\text{b}}+ \mathbf{Ad}_{\mathbf{R}_{i}}\bigl[\mathbf {J}_{i,j}^{\text{b}}, \mathbf{J}_{i,k}^{\text{b}}\bigr] \\ =&\bigl[{{\overset{\omega}{\mathbf{J}}} {_{i,k}^{\text{h}}}} {, \mathbf {J}_{i,j}^{\text{h}}\bigr]+\bigl[\mathbf{J}_{i,j}^{\text{h}}, \mathbf {J}_{i,k}^{\text{h}}\bigr]=\bigl[\mathbf{J}_{i,j}^{\text{h}}, \mathbf {J}_{i,k}^{\text{h}}-{\overset{\omega}{\mathbf{J}}} {_{i,k}^{\text{h}}}\bigr]}, \end{aligned}$$
(25)

and thus

$$ \fbox{$\dfrac{\partial{\mathbf{J}_{i,j}^{\text{h}}}}{\partial q_{k}}= {\bigl[\mathbf{J}_{i,j}^{\text{h}},{ {\mathop{\mathbf{J}}\limits^{v}}} {_{i,k}^{\text{h}}}\bigr]}=- \mathbf{ad}_{{{{\mathop{\mathbf{J}}\limits^{v}}}{_{i,k}^{\text{h}}}}}\mathbf{J}_{ij}^{\text{h}},\quad j\leq k \leq i$.} $$
(26)

The similarity to (6) is apparent. The difference is that the convective term due to the angular motion is missing, which is why only \(\overset{v}{\mathbf{J}}\) appears. The time derivative of the hybrid Jacobian can thus be expressed as

$$ \dot{\mathbf{J}} {_{i,j}^{\text{h}}}=\sum _{k\leq j}{\bigl[\mathbf {J}_{i,j}^{\text{h}},{ \overset{v}{\mathbf{J}}} {_{i,k}^{\text{h}}}\bigr]}\dot {q}_{k}={\bigl[\mathbf{J}_{i,j}^{\text{h}},\Delta{ \overset{v}{\mathbf {V}}} {_{j-1,i}^{\text{h}}}\bigr]}, $$
(27)

where \(\Delta{\mathbf{V}{_{j-1,i}^{\text{h}}}}:={\mathbf{V}{_{i}^{\text{h}}}}-\mathbf{Ad}_{\mathbf{r}_{i,j-1}}{\mathbf{V}{_{j-1}^{\text{h}}}}\) is the relative hybrid twist of body \(j-1\) and \(i\) as observed in the BFR on body \(i \). A simpler relation is obtained by directly differentiating (106):

$$\begin{aligned} \dot{\mathbf{J}} {_{i,j}^{\text{h}}} =&(\mathbf{ad}_{\dot{\mathbf {r}}_{i,j}}+ \mathbf{Ad}_{\mathbf{r}_{i,j-1}}\mathbf{ad}_{\boldsymbol{\omega }_{j}^{\text{s}}}){^{0}} \mathbf{X}_{j}^{j} \\ =&\mathbf{Ad}_{\mathbf{r}_{i,j-1}}(\mathbf{ad}_{\dot{\mathbf {d}}_{i,j}}+\mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}}){^{0}} \mathbf {X}_{j}^{j}=\mathbf{Ad}_{\mathbf{r}_{i,j-1}}( \mathbf{ad}_{\mathbf {V}_{j}^{\text{s}}}-\mathbf{ad}_{\dot{\mathbf{r}}_{i}}){^{0}}\mathbf {X}_{j}^{j}. \end{aligned}$$
(28)

This yields the following explicit expressions for the hybrid acceleration:

$$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{h}} =&\sum _{j\leq i}\mathbf{J} {_{j}^{\text{h}}} \ddot{q}_{j}+\sum_{j\leq k\leq i}{\bigl[ \mathbf{J}_{i,j}^{\text{h}},{\overset{v}{\mathbf{J}}} {_{i,k}^{\text{h}}}\bigr]}\dot{q}_{j}\dot {q}_{k}=\sum_{j\leq i}\bigl(\mathbf{J} {_{j}^{\text{h}}}\ddot{q}_{j}+{\bigl[\mathbf {J}_{i,j}^{\text{h}},\Delta {\overset{v}{\mathbf{V}}} {_{j-1,i}^{\text{h}}}\bigr]}\dot{q}_{j}\bigr) \end{aligned}$$
(29)
$$\begin{aligned} =&\sum_{j\leq i}\bigl(\mathbf{J} {_{j}^{\text{h}}} \ddot{q}_{j}+(\mathbf {ad}_{\dot{\mathbf{r}}_{i,j}}+\mathbf{Ad}_{\mathbf{r}_{i,j}} \mathbf {ad}_{\boldsymbol{\omega }_{j}^{\text{s}}}){^{0}}\mathbf{X}_{j}^{j} \dot{q}_{j}\bigr). \end{aligned}$$
(30)

For the second derivative, it is simplest to start from (28), and a straightforward calculation yields

$$ \ddot{\mathbf{J}} {_{i,j}^{\text{h}}}= \bigl( \mathbf{ad}_{\ddot{\mathbf {r}}_{i,j}}+2 \mathbf{ad}_{\dot{\mathbf{r}}_{i,j}}\mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}}+\mathbf{Ad}_{\mathbf{r}_{i,j}}( \mathbf {ad}_{\dot{\boldsymbol{\omega}}_{j}^{\text{s}}}+\mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}}\mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}}) \bigr) {^{0}}\mathbf{X}_{j}^{j}. $$
(31)

The jerk in hybrid representation can thus be written as

$$\begin{aligned} \ddot{\mathbf{V}}_{i}^{\text{h}} =&\sum _{j\leq i} \bigl( \mathbf {J} {_{j}^{\text{h}}} \dddot{q}_{j}+2\mathbf{ad}_{\dot{\mathbf {r}}_{i,j}}\ddot{q}_{j}+ ( \mathbf{ad}_{\ddot{\mathbf {r}}_{i,j}}+2\mathbf{ad}_{\dot{\mathbf{r}}_{i,j}}\mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}} )\dot{q}_{j} \end{aligned}$$
(32)
$$\begin{aligned} &{} + \mathbf{Ad}_{\mathbf{r}_{i,j}} \bigl(2\mathbf {ad}_{\boldsymbol{\omega}_{j}^{\text{s}}} \ddot{q}_{j}+(\mathbf{ad}_{\dot {\boldsymbol{\omega}}_{j}^{\text{s}}}+\mathbf{ad}_{\boldsymbol{\omega }_{j}^{\text{s}}} \mathbf{ad}_{\boldsymbol{\omega}_{j}^{\text{s}}} )\dot {q}_{j}\bigr){^{0}} \mathbf{X}_{j}^{j} \bigr) . \end{aligned}$$
(33)

These are the core relations in the so-called “spatial vector” formulation (i.e. using the hybrid representation of twists) [30, 37, 38, 44, 72, 74]. In this context the Lie bracket, respectively screw product (115) has been termed the “spatial cross product” [27, 29].

2.4 Mixed representation

With (101), employing the results for the mixed representation yields

$$ \dot{\mathbf{J}} {_{ij}^{\text{m}}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{I} \end{array}\displaystyle \right ) \dot{\mathbf{J}} {_{ij}^{\text{h}}},\qquad\dot{ \mathbf {V}}_{i}^{\text{m}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{I} \end{array}\displaystyle \right ) \dot{\mathbf{V}}_{i}^{\text{h}},\qquad \ddot{ \mathbf{V}}_{i}^{\text{m}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{I} \end{array}\displaystyle \right ) \ddot{\mathbf{V}}_{i}^{\text{h}}. $$
(34)

3 Newton–Euler equations in various representations

3.1 Spatial representation

Consider a rigid body with body-fixed BFR \(\mathcal{F}_{\text{b}}=\{ \varOmega;\vec{e}_{\text{b},1},\vec{e}_{\text{b},2},\vec{e}_{\text{b},3}\} \) located at an arbitrary point \(\varOmega\). Denote the inertia matrix with respect to this BFR by \(\mathbf{M}^{\text{b}}\); see (41). The configuration of the BFR \(\mathcal{F}_{\text{b}}\) is described by \(\mathbf{C}= ( \mathbf {R},\mathbf{r} ) \). The spatial inertia matrix expressed in the IFR is then

$$ \mathbf{M}^{\text{s}}=\mathbf{Ad}_{\mathbf{C}}^{-T} \mathbf{M}^{\text{b}}\mathbf{Ad}_{\mathbf{C}}^{-1}. $$
(35)

The spatial canonical momentum coscrew \(\boldsymbol{\Pi}^{\text{s}}= ( \mathbf{L}^{\text{s}},\mathbf{P}^{\text{s}} ) ^{T}\in \mathit{se}^{\ast } ( 3 ) \), conjugate to the spatial twist, is thus

$$ \boldsymbol{\Pi}^{\text{s}}=\mathbf{M}^{\text{s}}\mathbf{V}^{\text{s}}= \mathbf{Ad}_{\mathbf{C}}^{-T}\mathbf{M}^{\text{b}}\mathbf {Ad}_{\mathbf{C}}^{-1}\mathbf{V}^{\text{s}}=\mathbf{Ad}_{\mathbf {C}}^{-T} \boldsymbol{\Pi}^{\text{b}}. $$
(36)

The momentum balance yields the Newton–Euler (NE) equations in spatial representation, which attains the simple form

$$ \dot{\boldsymbol{\Pi}}^{\text{s}}=\mathbf{W}^{\text{s}}, $$
(37)

where \(\mathbf{W}^{\text{s}}= ( \mathbf{t}^{\text{s}},\mathbf {f}^{\text{s}} ) ^{T}\) is the applied wrench with spatial torque \(\mathbf{t}^{\text{s}}\equiv{^{0}}\mathbf{t}^{0}\) and force \(\mathbf {f}^{\text{s}}\equiv {^{0}}\mathbf{f}\), both measured and resolved in the IFR. The momentum balance equation (37) is the simplest form possible, which is achieved by using the spatial representation of twist, wrench, and momentum. Firstly, it does not involve any vectorial operation, for example, cross products. Secondly, it is also numerically advantageous: any numerical discretization of the ODE (37) easily preserves the spatial momentum in the absence of external wrenches. This has been discussed already by Borri [12]. In this context the spatial formulation is called the fixed pole equation. In a recent paper [31] the advantages of this form are exploited for geometrically exact modeling of beams.

An explicit and compact form in terms of the spatial twist is found, introducing (36) and using

$$ \dot{\mathbf{M}}^{\text{s}}=-\mathbf{ad}_{\mathbf{V}^{\text{s}}}^{T} \mathbf{M}^{\text{s}}-\mathbf{M}^{\text{s}}\mathbf{ad}_{\mathbf {V}^{\text{s}}} $$
(38)

along with \(\mathbf{ad}_{\mathbf{V}^{\text{s}}}\mathbf{V}^{\text{s}}=\mathbf{0}\), as

$$ \fbox{$\mathbf{W}^{\text{s}}=\mathbf{M}^{\text{s}}\dot{\mathbf{V}}^{\text{s}}- \mathbf{ad}_{\mathbf{V}^{\text{s}}}^{T}\mathbf{M}^{\text{s}}\mathbf {V}^{\text{s}}$.} $$
(39)

Remark 2

Writing (39) as \(\mathbf{W}^{\text{s}}=\mathbf{M}^{\text{s}}\dot {\mathbf{V}}^{\text{s}}+\mathbf{C}^{\text{s}}\mathbf{V}^{\text{s}}\) (with \(\mathbf{C}^{\text{s}}:=-\mathbf{ad}_{\mathbf{V}^{\text{s}}}^{T}\mathbf{M}^{\text{s}}\)) shows that \(\dot{\mathbf{M}}^{\text{s}}-2\mathbf{C}^{\text{s}}=\mathbf{ad}_{\mathbf{V}^{\text{s}}}^{T}\mathbf{M}^{\text{s}}-\mathbf{M}^{\text{s}}\mathbf{ad}_{\mathbf {V}^{\text{s}}}\) is skew symmetric. This property is called the skew symmetry of the motion equations [63].

3.2 Body-fixed representation

Let \(\mathcal{F}_{\text{c}}=\{C;\vec{e}_{\text{c},1},\vec{e}_{\text{c},2},\vec{e}_{\text{c},3}\}\) be a body-fixed frame located at the COM. Its configuration is described by \(C_{\text{c}}= ( \mathbf{R}_{\text{c}},\mathbf{r}_{\text{c}} ) \). The body-fixed twist of the COM frame is denoted \(\mathbf{V}_{\text{c}}^{\text{b}}= ( \boldsymbol{\omega}_{\text{c}}^{\text{b}},\mathbf{v}_{\text{c}}^{\text{b}} ) ^{T}\) with \(\widetilde{\boldsymbol{\omega}}_{\text{c}}^{\text{b}}=\mathbf{R}_{\text{c}}^{T}\dot{\mathbf{R}}_{\text{c}},\mathbf{v}_{\text{c}}^{\text{b}}=\mathbf{R}_{\text{c}}^{T}\dot{\mathbf{r}}_{\text{c}}\). The inertia matrix with respect to this COM frame is denoted

$$ \mathbf{M}_{\text{c}}^{\text{b}}=\left ( \textstyle\begin{array}{c@{\quad}c} \boldsymbol{\varTheta}_{\text{c}} & \mathbf{0} \\ \mathbf{0} & m\mathbf{I} \end{array}\displaystyle \right ) $$
(40)

with the body mass \(m\) and the inertia tensor \(\boldsymbol{\varTheta}_{\text{c}}\) expressed in the body-fixed COM frame \(\mathcal{F}_{\text{c}}\). Let \(S_{\text{bc}}= ( \mathbf{R}_{\text{bc}},{^{\text{b}}}\mathbf {d}_{\text{bc}} ) \in \mathit{SE} ( 3 ) \) be the transformation from the COM frame \(\mathcal{F}_{\text{c}}\) to the BFR \(\mathcal {F}_{\text{b}}\). Here \({^{\text{b}}}\mathbf{d}_{\text{bc}}\) is the position vector from the BFR to the COM resolved in the BFR. Then the configuration of \(\mathcal{F}_{\text{c}}\) is given in terms of that of the BFR by \(\mathbf{C}_{\text{c}}=\mathbf {CS}_{\text{bc}}\). The inertia matrix with respect to the general BFR \(\mathcal{F}_{\text{b}}\) is

$$\begin{aligned} \textstyle\begin{array}[b]{rcl} \mathbf{M}^{\text{b}} &=&\mathbf{Ad}_{\mathbf{S}_{\text{bc}}}^{-T} \mathbf{M}_{\text{c}}^{\text{b}}\mathbf{Ad}_{\mathbf {S}_{\text{bc}}}^{-1} \\ &=&\left ( \textstyle\begin{array}{c@{\quad}c} \boldsymbol{\varTheta}_{\text{b}} & m{^{\text{b}}\widetilde{\mathbf {d}}}_{\text{bc}} \\ -m{^{\text{b}}}\widetilde{\mathbf{d}}_{\text{bc}} & m\mathbf{I} \end{array}\displaystyle \right ) \end{array}\displaystyle \end{aligned}$$
(41)

with \(\boldsymbol{\varTheta}_{\text{b}}=\mathbf{R}_{\text{bc}}\boldsymbol{\varTheta }_{\text{c}}\mathbf{R}_{\text{bc}}^{T}-m\widetilde{\mathbf{d}}_{\text{bc}}^{2}\) (which is the parallel axes theorem).

The momentum coscrew represented in the body-fixed RFR \(\mathcal {F}_{\text{b}}\) is \(\boldsymbol{\Pi}^{\text{b}}=\mathbf{M}^{\text{b}}\mathbf{V}^{\text{b}}\). The frame transformation of (39) to the BFR \(\mathcal{F}_{\text{b}}\) yields the body-fixed momentum balance represented in \(\mathcal {F}_{\text{b}} \) in the concise form:

$$ \fbox{$\textstyle\begin{array}[b]{rcl} \mathbf{W}^{\text{b}}& =&\dot{\boldsymbol{\Pi}}^{\text{b}}- \mathbf{ad}_{\mathbf{V}^{\text{b}}}^{T}\boldsymbol{\Pi}^{\text{b}}\\ &=&\mathbf{M}^{\text{b}}\dot{\mathbf{V}}^{\text{b}}-\mathbf {ad}_{\mathbf{V}^{\text{b}}}^{T}\mathbf{M}^{\text{b}}\mathbf{V}^{\text{b}} \end{array}\displaystyle $} $$
(42)

with the applied wrench \(\mathbf{W}^{\text{b}}= ( \mathbf{t}^{\text{b}},\mathbf{f}^{\text{b}} ) ^{T}\) in body-fixed representation. Equations (42) are formally identical to the spatial equations (39). Written separately, this yields the NE equations expressed in an arbitrary body-fixed BFR

$$\begin{aligned} \boldsymbol{\varTheta}_{\text{b}}\dot{\boldsymbol{\omega}}^{\text{b}}+\widetilde { \boldsymbol{\omega}} {^{\text{b}}}\boldsymbol{\varTheta}_{\text{b}}\boldsymbol{\omega}^{\text{b}}+m{^{\text{b}}}\widetilde{\mathbf{d}}_{\text{bc}} \bigl( \dot{\mathbf{v}}^{\text{b}}+\widetilde{\boldsymbol{\omega }} {^{\text{b}}}\mathbf{v} {^{\text{b}}} \bigr) =&\mathbf{t}^{\text{b}} , \end{aligned}$$
(43)
$$\begin{aligned} m \bigl(\dot{\mathbf{v}}^{\text{b}}+\widetilde{\boldsymbol{\omega}} {^{\text{b}}}\mathbf{v}^{\text{b}}+\bigl(\dot{\widetilde{\boldsymbol{\omega}}} {^{\text{b}}}+\widetilde{\boldsymbol{\omega}} {^{\text{b}}}\widetilde{\boldsymbol{\omega}} {^{\text{b}}\bigr)^{\text{b}}}\mathbf{d}_{\text{bc}} \bigr) =& \mathbf{f}^{\text{b}}. \end{aligned}$$
(44)

When using the COM frame as special case, the momentum represented in the body-fixed COM frame is \(\boldsymbol{\Pi}_{\text{c}}^{\text{b}}=\mathbf {M}_{\text{c}}^{\text{b}}\mathbf{V}_{\text{c}}^{\text{b}}\), and the momentum balance yields

$$ \mathbf{W}_{\text{c}}^{\text{b}}=\mathbf{M}_{\text{c}}^{\text{b}} \dot {\mathbf{V}}_{\text{c}}^{\text{b}}-\mathbf{ad}_{\boldsymbol{\omega}_{\text{c}}^{\text{b}}}^{T} \mathbf{M}_{\text{c}}^{\text{b}}\mathbf{V}_{\text{c}}^{\text{b}}. $$
(45)

Written in components, this yields the NE equations represented in the COM frame:

$$\begin{aligned} \boldsymbol{\varTheta}_{\text{c}}\dot{\boldsymbol{\omega}}_{\text{c}}^{\text{b}}+ \widetilde{\boldsymbol{\omega}}_{\text{c}}^{\text{b}}\boldsymbol{\varTheta }_{\text{c}}\boldsymbol{\omega}_{\text{c}}^{\text{b}} =& \mathbf{t}_{\text{c}}^{\text{b}}, \end{aligned}$$
(46)
$$\begin{aligned} m \bigl(\dot{\mathbf{v}}_{\text{c}}^{\text{b}}+\widetilde{\boldsymbol{\omega }}_{\text{c}}^{\text{b}}\mathbf{v}_{\text{c}}^{\text{b}} \bigr) =&\mathbf{f}_{\text{c}}^{\text{b}}. \end{aligned}$$
(47)

Noticeably, the angular and translational momentum equations are coupled even though the COM is used as reference. This is due to using body-fixed twists.

3.3 Hybrid form

The hybrid twist \({\mathbf{V}}{_{\text{c}}^{\text{h}}}= ( \boldsymbol{\omega }^{\text{s}},\dot{\mathbf{r}}_{\text{c}} ) ^{T}\) of the COM frame is related to the body-fixed twist by \(\mathbf{Ad}_{\mathbf{R}_{\text{c}}}^{-1}\mathbf{V}_{\text{c}}^{\text{b}}\) (see (99)), where \(\mathbf{R}_{\text{c}}\) is the absolute rotation matrix of \(\mathcal {F}_{\text{c}}\) in \(C_{\text{c}}\). The hybrid momentum screw is thus \(\boldsymbol{\Pi}_{\text{c}}^{\text{h}}=\mathbf{M}_{\text{c}}^{\text{h}}\mathbf{V}_{\text{c}}^{\text{h}}\), where the hybrid representation of the inertia matrix is

$$ \mathbf{M}_{\text{c}}^{\text{h}}=\mathbf{Ad}_{\mathbf{R}_{\text{c}}}^{-T} \mathbf{M}_{\text{c}}^{\text{b}}\mathbf{Ad}_{\mathbf{R}_{\text{c}}}^{-1}= \left ( \textstyle\begin{array}{c@{\quad}c} \boldsymbol{\varTheta}_{\text{c}}^{\text{h}} & \mathbf{0} \\ \mathbf{0} & m\mathbf{I} \end{array}\displaystyle \right ) ,\quad \boldsymbol{\varTheta}_{\text{c}}^{\text{h}}=\mathbf{R_{\text{c}} \varTheta}_{\text{c}}\mathbf{R}_{\text{c}}^{T}. $$
(48)

The hybrid momentum balance with respect to the COM follows from \(\dot {\boldsymbol{\Pi}}_{\text{c}}^{\text{h}}=\mathbf{W}_{\text{c}}^{\text{h}}\). Using \(\dot{\mathbf{M}}_{\text{c}}^{\text{h}}=-\mathbf {ad}_{\boldsymbol{\omega}^{\text{s}}}^{T}\mathbf{M}_{\text{c}}^{\text{h}}-\mathbf{M}_{\text{c}}^{\text{h}}\mathbf{ad}_{\boldsymbol{\omega }^{\text{s}}}\) yields

$$ \mathbf{W}_{\text{c}}^{\text{h}}=\mathbf{M}_{\text{c}}^{\text{h}} \dot {\mathbf{V}}_{\text{c}}^{\text{h}}+\mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}} \mathbf{M}_{\text{c}}^{\text{h}}{\overset{\omega}{\mathbf {V}}} {_{\text{c}}^{\text{h}}} $$
(49)

with \({\overset{\omega}{\mathbf{V}}}{_{\text{c}}^{\text{h}}}= ( \boldsymbol{\omega}^{\text{s}},\mathbf{0} ) ^{T}\) (notice that \(-\mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}}^{T}=\mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}}\)). Writing (49) separately for the angular and linear momentum balance,

$$\begin{aligned} \boldsymbol{\varTheta}_{\text{c}}^{\text{h}}\dot{\boldsymbol{\omega}}^{\text{s}}+\widetilde{\boldsymbol{\omega}}^{\text{s}}\boldsymbol{\varTheta}_{\text{c}}^{\text{h}}\boldsymbol{\omega}^{\text{s}} =& \mathbf{t}_{\text{c}}^{\text{h}}, \end{aligned}$$
(50)
$$\begin{aligned} m\dot{\mathbf{r}}_{\text{c}} =&\mathbf{f}_{\text{c}}^{\text{h}}, \end{aligned}$$
(51)

shows that the hybrid NE equations with respect to the COM are indeed decoupled. Here \(\mathbf{W}_{\text{c}}^{\text{h}}=(\mathbf{t}_{\text{c}}^{\text{h}},\mathbf{f}_{\text{c}}^{\text{h}})^{T}\) denotes the hybrid wrench measured in the COM frame and resolved in the IFR.

Now consider the arbitrary body-fixed BFR \(\mathcal{F}_{\text{b}}\) with configuration \(C= ( \mathbf{R},\mathbf{r} ) \). The hybrid twist \(\mathbf{V}^{\text{h}}= ( \boldsymbol{\omega}^{\text{s}},\dot {\mathbf{r}} ) ^{T}\) measured at this RFR is \(\mathbf{V}^{\text{h}}=\mathbf{Ad}_{\mathbf{d}_{\text{bc}}}\mathbf{V}_{\text{c}}^{\text{h}}\),with the displacement vector \(\mathbf{d}_{\text{bc}}\) from BFR to COM resolved in the IFR. The hybrid mass matrix with respect to the BFR \(\mathcal{F}_{\text{b}}\) is found as

$$ \mathbf{M}^{\text{h}}=\mathbf{Ad}_{\mathbf{d}_{\text{bc}}}^{-T}\mathbf {M}_{\text{c}}^{\text{h}}\mathbf{Ad}_{\mathbf{d}_{\text{bc}}}^{-1}= \left ( \textstyle\begin{array}{c@{\quad}c} \boldsymbol{\varTheta}^{\text{h}} & m\widetilde{\mathbf{d}}_{\text{bc}} \\ -m\widetilde{\mathbf{d}}_{\text{bc}} & m\mathbf{I} \end{array}\displaystyle \right ) ,\quad \boldsymbol{\varTheta}^{\text{h}}=\boldsymbol{\varTheta}_{\text{c}}^{\text{h}}-m \widetilde{\mathbf{d}}_{\text{bc}}^{2}. $$
(52)

The momentum balance in hybrid representation with respect to an arbitrary BFR

$$ \dot{\boldsymbol{\Pi}}^{\text{h}}=\mathbf{W}^{\text{h}} $$
(53)

is found, using \(\dot{\mathbf{Ad}}_{\mathbf{d}_{\text{bc}}}^{-1}=-\mathbf{ad}_{\dot{\mathbf{d}}_{\text{bc}}}=\mathbf {Ad}_{\mathbf{d}_{\text{bc}}}^{-1}\mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}}-\mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}}\mathbf{Ad}_{\mathbf {d}_{\text{bc}}}^{-1}\) to evaluate (53), as

$$ \fbox{$\mathbf{W}^{\text{h}}=\mathbf{M}^{\text{h}}\dot{\mathbf{V}}^{\text{h}}+ \mathbf{ad}_{\boldsymbol{\omega}^{\text{s}}}\mathbf{M}^{\text{h}}{\overset{\omega}{ \mathbf{V}}} {^{\text{h}}}$.} $$
(54)

Separating the angular and translational part results in

$$\begin{aligned} \boldsymbol{\varTheta}^{\text{h}}\dot{\boldsymbol{\omega}}^{\text{s}}+\widetilde {\boldsymbol{\omega}}^{\text{s}}\boldsymbol{\varTheta}^{\text{h}}\boldsymbol{\omega }^{\text{s}}+m\widetilde{\mathbf{d}}_{\text{bc}}\ddot{\mathbf{r}} =& \mathbf{t}^{\text{h}} , \end{aligned}$$
(55)
$$\begin{aligned} m\bigl(\ddot{\mathbf{r}}+\bigl(\dot{\widetilde{\boldsymbol{\omega}}} {^{\text{s}}}+\widetilde{\boldsymbol{\omega}}^{\text{s}}\widetilde{\boldsymbol{\omega }}^{\text{s}}\bigr)\mathbf{d}_{\text{bc}}\bigr) =& \mathbf{f}^{\text{h}}. \end{aligned}$$
(56)

These are simpler than the body-fixed equations (43) and (44). Finally, notice that \(\mathbf{f}^{\text{h}}=\mathbf {f}^{\text{s}}\).

3.4 Mixed form

The mixed twist \(\mathbf{V}^{\text{m}}= ( \boldsymbol{\omega}^{\text{b}},\dot{\mathbf{r}} ) ^{T}\) consist of the body-fixed angular velocity \(\boldsymbol{\omega}^{\text{b}}\), that is, measured and resolved in the BFR \(\mathcal{F}_{\text{b}}\), and the translational velocity \(\dot{\mathbf{r}}\) measured at the BFR \(\mathcal{F}_{\text{b}}\) and resolved in the IFR. The NE equations for the mixed representation with respect to a general BFR are directly found by combining (43) and (56) with \(\ddot {\mathbf{r}}=\dot{\mathbf{v}}^{\text{b}}+\widetilde{\boldsymbol{\omega }}{^{\text{b}}}\mathbf{v}{^{\text{b}}}\):

$$\begin{aligned} \boldsymbol{\varTheta}^{\text{b}}\dot{\boldsymbol{\omega}}^{\text{b}}+\widetilde { \boldsymbol{\omega}} {^{\text{b}}}\boldsymbol{\varTheta}^{\text{b}}\boldsymbol{\omega}^{\text{b}}+m{^{\text{b}}}\widetilde{\mathbf{d}}_{\text{bc}} \mathbf{R}^{T}\ddot{\mathbf{r}} =&\mathbf{t}^{\text{b}}, \end{aligned}$$
(57)
$$\begin{aligned} m\bigl(\ddot{\mathbf{r}}+\mathbf{R}\bigl(\dot{\widetilde{\boldsymbol{\omega }}} {^{\text{b}}}+\widetilde{\boldsymbol{\omega}}^{\text{b}}\widetilde {\boldsymbol{\omega}}^{\text{b}}\bigr){^{\text{b}}}\mathbf{d}_{\text{bc}}\bigr) =& \mathbf{f}^{\text{h}}. \end{aligned}$$
(58)

If a COM frame is used, then combining (46) and (51) yields

$$\begin{aligned} \begin{aligned} \boldsymbol{\varTheta}_{\text{c}}\dot{\boldsymbol{\omega}}_{\text{c}}^{\text{b}}+\widetilde{\boldsymbol{\omega}}_{\text{c}}^{\text{b}}\boldsymbol{\varTheta }_{\text{c}}\boldsymbol{\omega}_{\text{c}}^{\text{b}} &= \mathbf{t}_{\text{c}}^{\text{b}}, \\ m\ddot{\mathbf{r}}_{\text{c}} &=\mathbf{f}_{\text{c}}^{\text{h}}. \end{aligned} \end{aligned}$$
(59)

3.5 Arbitrary representation

The NE equations of body \(i\) represented in an arbitrary frame \(\mathcal {F}_{j}\) are obtained by a frame transformation of the spatial momentum balance (37) as

$$ \mathbf{Ad}_{\mathbf{C}_{j}}^{T}\dot{\boldsymbol{\Pi}}_{i}^{\text{s}}= \mathbf{Ad}_{\mathbf{C}_{j}}^{T}\mathbf{W}_{i}^{\text{s}}. $$
(60)

The spatial twist in terms of the twist of body \(i\) represented in \(\mathcal{F}_{j}\) is \({\mathbf{V}_{i}^{\text{s}}}=\mathbf{Ad}_{\mathbf {C}_{j}}{^{j}\mathbf{V}}_{i}\). Using \({\dot{\mathbf{V}}_{i}^{\text{s}}}=\mathbf{Ad}_{\mathbf{C}_{j}}{^{j}\dot{\mathbf{V}}}_{i}+\mathbf {ad}_{\mathbf{V}_{j}^{\text{s}}}\mathbf{V}_{i}^{\text{s}}\), (39) yields

$$ {^{j}\mathbf{M}}_{i} \bigl({^{j}\dot{ \mathbf{V}}}_{i}+\mathbf {ad}_{{^{j}\mathbf{V}}_{j}}{^{j} \mathbf{V}}_{i} \bigr)-\mathbf {ad}_{{^{j}\mathbf{V}}_{i}}^{T}{^{j} \mathbf{M}}_{i}{^{j}\mathbf {V}}_{i}={^{j} \mathbf{W}}_{i} $$
(61)

with the inertia matrix of body \(i\) represented in frame \(j\)

$$ {^{j}\mathbf{M}}_{i}:=\mathbf{Ad}_{\mathbf{C}_{j}}^{T} \mathbf {M}_{i}^{\text{s}}\mathbf{Ad}_{\mathbf{C}_{j}}. $$
(62)

The spatial and body-fixed representations are particular cases with \(i=j\).

Even more generally, the NE equations can be resolved in yet another frame \(\mathcal{F}_{k}\). This is achieved by transforming the momentum balance (37) as

$$ \mathbf{Ad}_{\mathbf{R}_{j,k}}^{T}\mathbf{Ad}_{\mathbf{C}_{j}}^{T} \dot {\boldsymbol{\Pi}}_{i}^{\text{s}}=\mathbf{Ad}_{\mathbf{R}_{j,k}}^{T} \mathbf {Ad}_{\mathbf{C}_{j}}^{T}\mathbf{W}_{i}^{\text{s}} $$
(63)

where \(\mathbf{R}_{k,j}\) is the rotation matrix from \(\mathcal{F}_{i}\) to \(\mathcal{F}_{k}\). The final equations follow from (61) and the relation \({^{j}\dot{\mathbf{V}}}_{i}^{j}=\mathbf{Ad}_{\mathbf {R}_{j,k}}{^{k}\dot{\mathbf{V}}}_{i}^{j}+\mathbf{ad}_{{}^{j}\overset {\omega}{\mathbf{V}}{_{k}^{j}}}\mathbf{Ad}_{\mathbf {R}_{j,k}}{^{k}\mathbf{V}}_{i}^{j}\) as

$$ \fbox{${^{k}\mathbf{M}}_{i}^{j} \bigl({^{k} \dot{\mathbf{V}}}_{i}^{j}+ (\mathbf{ad}_{{^{k}\mathbf{V}}_{j}^{j}}+ \mathbf{ad}_{{}^{k}\overset {\omega}{\mathbf{V}}{_{k}^{j}}} ){{}^{k}\mathbf{V}}_{i}^{j} \bigr)-\mathbf{ad}_{{^{k}\mathbf{V}}_{i}^{j}}^{T}{^{k}\mathbf {M}}_{i}^{j}{^{k}\mathbf{V}}_{i}^{j}={^{k} \mathbf{W}}_{i}^{j}$} $$
(64)

with the mass matrix of body \(i\) measured at frame \(\mathcal{F}_{j}\) and resolved in frame \(\mathcal{F}_{k}\)

$$ {^{k}\mathbf{M}}_{i}^{j}:=\mathbf{Ad}_{\mathbf{R}_{k,j}}^{T}{^{j} \mathbf {M}}_{i}\mathbf{Ad}_{\mathbf{R}_{k,j}}=\mathbf{Ad}_{\mathbf {R}_{k,j}}^{T} \mathbf{Ad}_{\mathbf{C}_{j}}^{T}\mathbf{M}_{i}^{\text{s}} \mathbf{Ad}_{\mathbf{C}_{j}}\mathbf{Ad}_{\mathbf{R}_{k,j}}. $$
(65)

The spatial and body-fixed representations are particular cases with \(i=j=k\), and the hybrid representation with \(i=j\) and \(k=0\). An alternative form of the NE equations in arbitrary reference frames was presented in [9].

4 Recursive evaluation of the motion equations for a kinematic chain

The model-based control of complex MBS and the computational MBS dynamics rely on efficient recursive inverse and forward dynamics algorithms. The recursive Newton–Euler method for tree-topology MBS was presented in an abstract, that is, coordinate-free, approach in [46]. However, the various recursive methods using different representations give rise to algorithmically equivalent methods but with different computational costs. In the following, the various inverse dynamics algorithms are presented, and their computational effort is estimated. A detailed analysis and forward dynamics algorithms are beyond the scope of this paper. The presented discussion is nevertheless indicative also for the corresponding forward dynamics algorithms. Some results on the forward kinematics complexity can be found in [65, 79, 85]. This, however, depends on the actual implementation. A comparative study is still due and will be part of further research.

The inverse dynamics consists in evaluating the motion equations for given joint coordinates \(\mathbf{q}\), joint rates \(\dot{\mathbf{q}}\), accelerations \(\ddot{\mathbf{q}}\), and applied wrenches \(\mathbf {W}_{i}^{\text{app}}\) and hence in determining the joint forces \(\mathbf {Q}= ( Q_{1},\ldots, Q_{n} ) \). The starting point of recursive algorithms for rigid body MBS is the NE equations of the individual bodies. The MBS dynamics is indeed governed by the Lagrange equations. Consequently, summarizing the recursive steps yields the Lagrangian motion equations in closed form. This will be shown in the following.

It is assumed for simplicity that the inertia properties, that is, the mass matrices \(\mathbf{M}_{i}^{\text{b}}\), are expressed in the body-fixed BFR of body \(i\) determining its configuration, rather than introducing a second frame.

4.1 Body-fixed representation

Forward kinematics recursion

Given the joint variables \(\mathbf{q}\), the configurations of the \(n\) bodies are determined recursively by (93) or (94), and the twists by (109). Then also the accelerations are found recursively. The expression \(\mathbf{C}_{i-1,i} ( q_{i} ) =\mathbf{B}_{i}\exp ({^{i}}\mathbf{X}_{i}q_{i})\) for the relative configuration yields \(\dot {\mathbf{Ad}}_{\mathbf{C}_{i,i-1}}\mathbf{V}_{i-1}^{\text{b}}=[\mathbf {Ad}_{\mathbf{C}_{i,i-1}}\mathbf{V}_{i-1}^{\text{b}},{^{i}\mathbf {X}}_{i}\dot{q}_{i}]\), and hence

$$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{b}}& =\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\dot { \mathbf{V}}_{i-1}^{\text{b}}+\bigl[\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\mathbf {V}_{i-1}^{\text{b}},{^{i}\mathbf{X}}_{i} \dot{q}_{i}\bigr]+{^{i}\mathbf {X}}_{i} \ddot{q}_{i} \end{aligned}$$
(66a)
$$\begin{aligned} & =\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\dot{\mathbf{V}}_{i-1}^{\text{b}}+ \bigl[\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\mathbf{V}_{i-1}^{\text{b}}, \mathbf{V}_{i}^{\text{b}}\bigr]+{^{i}\mathbf{X}}_{i} \ddot{q}_{i} \end{aligned}$$
(66b)
$$\begin{aligned} & =\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\dot{\mathbf{V}}_{i-1}^{\text{b}}+ \bigl[\mathbf{V}_{i}^{\text{b}},{^{i}\mathbf{X}}_{i} \dot {q}_{i}\bigr]+{^{i}\mathbf{X}}_{i} \ddot{q}_{i}, \end{aligned}$$
(66c)

where (66b) and (66c) follow by replacing either argument in the Lie bracket using (109).

Remark 3

Notice that solving (109) for \(\dot{q}_{i}\) leads to the result in Remark 9 of [60]. Solving (66c) for \(\ddot{q}_{i}\) yields (12). Using (66b), the latter can be expressed as \(\ddot{q}_{i}={^{i}\mathbf{X}}_{i}^{T}(\mathbf {V}_{i}^{\text{b}}-\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\dot{\mathbf {V}}_{i-1}^{\text{b}}+[\mathbf{V}_{i}^{\text{b}},\mathbf{Ad}_{\mathbf {C}_{i,i-1}}\mathbf{V}_{i-1}^{\text{b}}])/ \Vert {^{i}\mathbf {X}}_{i} \Vert ^{2}\).

Recursive Newton–Euler algorithm

Once the configurations, twists, and accelerations of the bodies are computed with the forward kinematics recursion, the Newton–Euler equations (42) for each individual body can be evaluated by an inverse dynamics backward recursion. The momentum balance of body \(i\) then yields the resulting body-fixed wrench \(\mathbf{W}_{i}^{\text{b}}\) acting on the body due to generalized joint forces and constraint reactions forces. Projecting the resultant wrench onto the screw axis \({^{i}\mathbf{X}}_{i}\) of joint \(i\) yields the generalized force \(Q_{i}\). Summarizing the forward and backward recursions yields the following recursive algorithm:

Forward Kinematics

  • Input: \(\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}}\)

  • For \(i=1,\ldots,n\)

    $$\begin{aligned} \mathbf{C}_{i}& =\mathbf{C}_{i-1}\mathbf{B}_{i}\exp \bigl({^{i}\mathbf {X}}_{i}q_{i}\bigr)=\exp( \mathbf{Y}_{1}q_{1})\cdot\ldots\cdot\exp ( \mathbf{Y}_{i}q_{i})\mathbf{A}_{i} \end{aligned}$$
    (67a)
    $$\begin{aligned} \mathbf{V}_{i}^{\text{b}}& =\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\mathbf {V}_{i-1}^{\text{b}}+{^{i}\mathbf{X}}_{i} \dot{q}_{i} \end{aligned}$$
    (67b)
    $$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{b}}& =\mathbf{Ad}_{\mathbf{C}_{i,i-1}}\dot { \mathbf{V}}_{i-1}^{\text{b}}-\dot{q}_{i} \mathbf{ad}_{{^{i}\mathbf {X}}_{i}}\mathbf{V}_{i}^{\text{b}}+{^{i} \mathbf{X}}_{i}\ddot{q}_{i} \end{aligned}$$
    (67c)
  • Output: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{b}},\dot{\mathbf {V}}_{i}^{\mathrm{b}}\)

  • Input: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{b}},\dot{\mathbf {V}}_{i}^{\mathrm{b}},{\mathbf{W}}_{i}^{\text{b,app}}\)

  • For \(i=n-1,\ldots,1\)

    $$\begin{aligned} \mathbf{W}_{i}^{\text{b}}& =\mathbf{Ad}_{\mathbf{C}_{i+1,i}}^{T} \mathbf {W}_{i+1}^{\text{b}}+\mathbf{M}_{i}^{\text{b}} \dot{\mathbf {V}}_{i}^{\text{b}}-\mathbf{ad}_{\mathbf{V}_{i}^{\text{b}}}^{T} \mathbf {M}_{i}^{\text{b}}\mathbf{V}_{i}^{\text{b}}+{ \mathbf{W}}_{i}^{\text{b,app}} \end{aligned}$$
    (68a)
    $$\begin{aligned} Q_{i}& ={^{i}\mathbf{X}}_{i}^{T}\mathbf{W}_{i}^{\text{b}} \end{aligned}$$
    (68b)
  • Output: \(\mathbf{Q}\)

The joint reaction wrench is omitted in (68a) since this is reciprocal to the joint screw and does not contribute to (68b). Notice that, with (95), the body-fixed \({^{i}\mathbf{X}}_{i}\) and the spatial representation \(\mathbf{Y}_{i}\) of joint screw coordinates can be used. This form of the recursive body-fixed NE equations, using Lie group notation, has been reported in several publications [50, 67, 70, 71].

Computational effort

For the kinematic chain comprising \(n\) bodies connected by \(n\) 1-DOF joints, in total, the twist recursion (67b) and acceleration recursion (67c) each requires \(n-1\) frame transformations. The acceleration recursion (67c) further requires \(n-1\) Lie brackets. The second argument of the Lie bracket can be reused from (67b). Hence the twist and acceleration recursion need \(2 ( n-1 ) \) frame transformations and \(n-1\) Lie brackets. The backward recursion (68a) needs \(n-1\) frame transformations and \(n\) Lie brackets. In total, the NE algorithm needs \(3 ( n-1 ) \) frame transformations and \(2n-1\) Lie brackets. The evaluation of the Lie bracket in (67c) can be simplified using (66b) since the screw vector \({^{i}\mathbf {X}}_{i} \) expressed in RFR is sparse and often only contains one non-zero entry.

Remark on forward dynamics

Using the body-fixed representation, a recursive forward dynamics algorithm, making explicit use of Lie group concepts, was presented in [67, 68, 70, 71, 76]. The kinematic forward recursion, together with the factorization in Sect. 3.1.3 of [60], was used to derive \(O ( n ) \) forward dynamics algorithms in [30, 44], where the Lie group concept is regarded as spatial operator algebra. Other \(O ( n ) \) forward dynamics algorithms were presented in [2, 7, 34, 35]. The inverse dynamics formulation was also presented in [29, 45] in the context of screw theory.

4.2 Spatial representation

Forward kinematics recursion

Expressing the spatial twist in terms of the spatial Jacobian, the expressions (105) lead immediately to

$$ \mathbf{V}_{i}^{\text{s}}=\mathbf{V}_{i-1}^{\text{s}}+ \mathbf {J} {_{i}^{\text{s}}}\dot{q}_{i}. $$
(69)

The recursive determination of spatial accelerations thus only requires the time derivative (17) of the spatial Jacobian, so that

$$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{s}} =&\dot{\mathbf{V}}_{i-1}^{\text{s}}+ \mathbf{ad}_{\mathbf{V}_{i}^{\text{s}}}\mathbf{J} {_{i}^{\text{s}}} \dot{q}_{i}+\mathbf{J} {_{i}^{\text{s}}} \ddot{q}_{i} \\ =&\dot{\mathbf{V}}_{i-1}^{\text{s}}+\mathbf{ad}_{\mathbf {V}_{i-1}^{\text{s}}}{ \mathbf{V} {_{i}^{\text{s}}}}+\mathbf {J} {_{i}^{\text{s}}} \ddot{q}_{i}. \end{aligned}$$
(70)

The second form in (70) follows by inserting (69). This is a generalization of Euler’s theorem, for the derivative of vectors resolved in moving frames, to screw coordinate vectors. Therefore the \(\mathbf{ad}\) operator is occasionally called the “spatial cross product”.

Recursive Newton–Euler algorithm

The momentum balance expressed with the spatial NE equations (39), together with (69), leads to the following algorithm:

Forward Kinematics

  1. Input: \(\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}}\)

  2. For \(i=1,\ldots,n\)

    $$\begin{aligned} \mathbf{C}_{i}& =\mathbf{C}_{i-1}\mathbf{B}_{i}\exp \bigl({^{i}\mathbf {X}}_{i}q_{i}\bigr)=\exp( \mathbf{Y}_{1}q_{1})\cdot\ldots\cdot\exp ( \mathbf{Y}_{i}q_{i})\mathbf{A}_{i} \end{aligned}$$
    (71a)
    $$\begin{aligned} \mathbf{J} {_{i}^{\text{s}}}& =\mathbf{Ad}_{\mathbf{C}_{i}}{^{i} \mathbf {X}}_{i}=\mathbf{Ad}_{\mathbf{C}_{i}\mathbf{A}_{i}^{-1}}\mathbf {Y}_{i}= \mathbf{Ad}_{\mathbf{C}_{j}\mathbf{S}_{j,j}}{^{j-1}}\mathbf{Z}_{j} \end{aligned}$$
    (71b)
    $$\begin{aligned} \mathbf{V}_{i}^{\text{s}}& =\mathbf{V}_{i-1}^{\text{s}}+ \mathbf {J} {_{i}^{\text{s}}}\dot{q}_{i} \end{aligned}$$
    (71c)
    $$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{s}}& =\dot{\mathbf{V}}_{i-1}^{\text{s}}+ \mathbf{J} {_{i}^{\text{s}}}\ddot{q}_{i}+ \mathbf{ad}_{\mathbf {V}_{i-1}^{\text{s}}}{\mathbf{V} {_{i}^{\text{s}}}} \end{aligned}$$
    (71d)
  3. Output: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{s}},\dot{\mathbf {V}}_{i}^{\mathrm{s}},\mathbf{J}{_{i}^{\text{s}}}\)

  4. Input: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{s}},\dot{\mathbf {V}}_{i}^{\mathrm{s}},\mathbf{J}{_{i}^{\text{s}},\mathbf{W}}_{i}^{\text{s,app}}\)

  5. For \(i=n-1,\ldots,1\)

    $$\begin{aligned} \mathbf{M}_{i}^{\text{s}}& =\mathbf{Ad}_{\mathbf{C}_{i}}^{-T} \mathbf {M}_{i}^{\text{b}}\mathbf{Ad}_{\mathbf{C}_{i}}^{-1} \end{aligned}$$
    (72a)
    $$\begin{aligned} \mathbf{W}_{i}^{\text{s}}& =\mathbf{W}_{i+1}^{\text{s}}+ \mathbf {M}_{i}^{\text{s}}\dot{\mathbf{V}}_{i}^{\text{s}}- \mathbf{ad}_{\mathbf {V}_{i}^{\text{s}}}^{T}\mathbf{M}_{i}^{\text{s}} \mathbf{V}_{i}^{\text{s}}+{\mathbf{W}}_{i}^{\text{s,app}} \end{aligned}$$
    (72b)
    $$\begin{aligned} Q_{i}& =\bigl(\mathbf{J} _{i}^{{\text{s}}} \bigr)^{T}\mathbf{W}_{i}^{\text{s}} \end{aligned}$$
    (72c)
  6. Output: \(\mathbf{Q}\)

Computational effort

In contrast to (67b), once the instantaneous screws (71b) and the spatial mass matrix (35) are computed, recursions (71c), (71d), and (72b) do not require frame transformations of twists. Instead, the spatial mass matrix is transformed according to (72a), which is the frame transformation of a second-order tensor. Overall, the spatial algorithm needs \(n\) frame transformations of screw coordinates, \(n\) frame transformation of a second-order tensor, and \(2n-1\) Lie brackets. Comparing body-fixed and spatial formulation, it must be noticed that the frame transformation of the second-order inertia tensor has the same complexity as two screw coordinate transformations (if just implemented in the form (35)), and hence the computational complexity of both would be equivalent. This fact is to be expected since body-fixed and spatial representations are related by frame transformations. Nevertheless, the spatial version has some interesting features that should be emphasized:

  1. 1.

    The NE equations (39) form a nonlinear first-order ODE system on \(\mathit{SE} ( 3 ) \times \mathit{se} ( 3 ) \). Since a spatial reference is used, the momentum conservation of a rigid body can simply be written as \(\dot{\boldsymbol{\Pi}}_{i}^{\text{s}}={\mathbf{0}}\), where \(\boldsymbol{\Pi}_{i}^{\text{s}}\in \mathit{se}^{\ast} ( 3 ) \) is the momentum coscrew. Using the spatial momentum balance (37) has potentially two advantages. Firstly, (37) is a linear ODE in \(\boldsymbol{\Pi}\) on the phase space \(\mathit{SE} ( 3 ) \times \mathit{se}^{\ast} ( 3 ) \). This implies that a numerical integration scheme can easily preserve the momentum, as pointed out in [12]. Secondly, \(O ( n ) \) formulations using canonical momenta have been shown to be computationally advantageous. An \(O ( n ) \) forward dynamics algorithm based on the canonical Hamilton equations was presented in [64] that uses a hybrid form. It was shown to require less numerical operations than \(O ( n ) \) algorithms based on the NE equations. It is also known that \(O ( n ) \) algorithms based on the spatial representation can be computationally more efficient than those based on body-fixed or hybrid representations [29]. A further reduction of computational costs can be expected from an algorithm using spatial momenta.

  2. 2.

    It is interesting to notice that the hybrid as well as the spatial twists appear in the recursive \(O ( n ) \) forward dynamics formulation in [6], where the first is called “Cartesian velocity”, and the latter is called “velocity state”. In this formulation the spatial twist plays a central role, and it was already remarked that the recursive relation of spatial twists (see (71c)) is simpler than that for hybrid twists (76c).

  3. 3.

    If a purely kinematic analysis is envisaged the forward recursion (71b)–(71d) is more efficient than the body-fixed and the hybrid version (see the next section) [65] (disregarding possibly necessary transformations of the results to local reference frames). As pointed out in Sect. 2.2, this advantage is retained for the higher-order kinematics (jerk, jounce, etc.) [54].

Remark on forward dynamics

The spatial formulation is rarely used for dynamics. Featherstone [26, 29] derived a forward dynamics \(O ( n ) \) algorithm. He concluded that this requires the lowest computational effort compared to other methods. But this does not take into account the necessary transformations of twists and wrenches to local reference frames. Moreover, it was shown in [79] that the \(O ( n ) \) forward dynamics algorithm in body-fixed representation, using the body-fixed joint screw coordinates \({}^{i}\mathbf{X}_{i}\) and RFR at the joint axis, can be implemented in such a way that it requires less computational effort than the spatial version. The key is that when the BFR of \(\mathcal{F}_{i}\) is located at and aligned with the axis of joint \(i\), then \({}^{i}\mathbf{X}_{i}\) becomes sparse. From a user perspective this, however, is a restraining presumption.

4.3 Hybrid form

Forward kinematics recursion

The hybrid twists are determined recursively by (111) with \({^{0}\mathbf{X}}_{i}^{i}{=}\mathbf{Ad}_{\mathbf{R}_{i}}{^{i}\mathbf {X}}_{i}\). For the acceleration recursion, note that \(\dot{\mathbf{Ad}}_{\mathbf {r}_{i,i-1}}=\mathbf{ad}_{\dot{\mathbf{r}}_{i,i-1}}=\mathbf{ad}_{\dot {\mathbf{r}}_{i-1}}-\mathbf{ad}_{\dot{\mathbf{r}}_{i}}\) since \(\dot {\mathbf{r}}_{i,i-1}=\dot{\mathbf{r}}_{i-1}-\dot{\mathbf{r}}_{i}\). This yields

$$ \dot{\mathbf{V}}_{i}^{\text{h}}=\mathbf{Ad}_{\mathbf{r}_{i,i-1}}\dot { \mathbf{V}}_{i-1}^{\text{h}}+{^{0}\mathbf{X}}_{i}^{i} \ddot {q}_{i}+\mathbf{ad}_{\dot{\mathbf{r}}_{i,i-1}}\mathbf{V}_{i-1}^{\text{h}}+ \mathbf{ad}_{\boldsymbol{\omega}_{i}}{^{0}\mathbf{X}}_{i}^{i} \dot {q}_{i}. $$
(73)

Taking into account that \(\mathbf{ad}_{\dot{\mathbf{r}}_{i}} ( \mathbf{V}_{i}^{\text{h}}-\mathbf{X}{_{i}^{\text{h}}}\dot{q}_{i} ) =\mathbf{ad}_{\dot{\mathbf{r}}_{i}}\mathbf{V}_{i-1}^{\text{h}}\) (because there is no angular part in \(\mathbf{ad}_{\dot{\mathbf{r}}_{i}}\)) and \(\mathbf {ad}_{\dot{\mathbf{r}}_{i}}+\mathbf{ad}_{\boldsymbol{\omega}_{i}^{\text{s}}}=\mathbf{ad}_{\mathbf{V}_{i}^{\text{h}}}\), this can be transformed to

$$ \dot{\mathbf{V}}_{i}^{\text{h}}=\mathbf{Ad}_{\mathbf{r}_{i,i-1}}\dot { \mathbf{V}}_{i-1}^{\text{h}}+{^{0}\mathbf{X}}_{i}^{i} \ddot {q}_{i}+\mathbf{ad}_{\dot{\mathbf{r}}_{i-1}}\mathbf{V}_{i-1}^{\text{h}}- \mathbf{ad}_{\dot{\mathbf{r}}_{i}}\mathbf{V}_{i}^{\text{h}}+\mathbf {ad}_{\mathbf{V}_{i}^{\text{h}}}{^{0}\mathbf{X}}_{i}^{i} \dot{q}_{i}. $$
(74)

Another form follows by solving (111) for \(\mathbf {V}_{i-1}^{\text{h}}\) and inserting this into (73), noting that \(\mathbf{ad}_{\dot{\mathbf{r}}_{i,i-1}}\mathbf{Ad}_{\mathbf {r}_{i,i-1}}^{-1}=\mathbf{ad}_{\dot{\mathbf{r}}_{i,i-1}}\), as

$$ \dot{\mathbf{V}}_{i}^{\text{h}}=\mathbf{Ad}_{\mathbf{r}_{i,i-1}}\dot { \mathbf{V}}_{i-1}^{\text{h}}+{^{0}\mathbf{X}}_{i}^{i} \ddot {q}_{i}+\mathbf{ad}_{\dot{\mathbf{r}}_{i,i-1}}\mathbf{V}_{i}^{\text{h}}+( \mathbf{ad}_{\mathbf{V}_{i}^{\text{h}}}-\mathbf{ad}_{\dot{\mathbf {r}}_{i-1}}){^{0} \mathbf{X}}_{i}^{i}\dot{q}_{i}. $$
(75)

Comparing these three different recursive relations (73), (74), and (75) for the hybrid acceleration from a computational perspective (73) is the most efficient.

Recursive Newton–Euler algorithm

With the hybrid Newton–Euler equations (54), the recursive NE algorithm is as follows:

Forward Kinematics

  • Input: \(\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}}\)

  • For \(i=1,\ldots,n\)

    $$\begin{aligned} \mathbf{C}_{i}& =\mathbf{C}_{i-1}(\mathbf{q}) \mathbf{B}_{i}\exp \bigl({^{i}\mathbf{X}}_{i}q_{i} \bigr)=\exp(\mathbf{Y}_{1}q_{1})\cdot\ldots \cdot\exp( \mathbf{Y}_{i}q_{i})\mathbf{A}_{i} \end{aligned}$$
    (76a)
    $$\begin{aligned} {^{0}\mathbf{X}}_{i}^{i}& =\mathbf{Ad}_{\mathbf{R}_{i}}{^{i} \mathbf {X}}_{i}=\mathbf{Ad}_{-\mathbf{r}_{i}}\mathbf{Y} {_{i}}= \mathbf {Ad}_{\mathbf{R}_{i}}\mathbf{Ad}_{\mathbf{S}_{i,i}}{^{i-1}} \mathbf{Z}_{i} \end{aligned}$$
    (76b)
    $$\begin{aligned} \mathbf{V}_{i}^{\text{h}}& =\mathbf{Ad}_{\mathbf{r}_{i,i-1}}\mathbf {V}_{i-1}^{\text{h}}+{^{0}\mathbf{X}}_{i}^{i} \dot{q}_{i} \end{aligned}$$
    (76c)
    $$\begin{aligned} \dot{\mathbf{V}}_{i}^{\text{h}}& =\mathbf{Ad}_{\mathbf{r}_{i,i-1}}\dot {\mathbf{V}}_{i-1}^{\text{h}}+\mathbf{ad}_{\dot{\mathbf {r}}_{i,i-1}} \mathbf{V}_{i-1}^{\text{h}}+\mathbf{ad}_{\boldsymbol{\omega }_{i}^{\text{s}}}{^{0} \mathbf{X}}_{i}^{i}\dot{q}_{i}+{^{0} \mathbf {X}}_{i}^{i}\ddot{q}_{i} \end{aligned}$$
    (76d)
  • Output: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{h}},\dot{\mathbf {V}}_{i}^{\mathrm{h}},{^{0}\mathbf{X}}_{i}^{i}\)

  • Input: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{h}},\dot{\mathbf {V}}_{i}^{\mathrm{h}},{^{0}\mathbf{X}}_{i}^{i},{\mathbf{W}}_{i}^{\text{h,app}}\)

  • For \(i=n-1,\ldots,1\)

    $$\begin{aligned} \mathbf{M}_{i}^{\text{h}}& =\mathbf{Ad}_{\mathbf{R}_{i}}^{-T} \mathbf {M}_{i}^{\text{b}}\mathbf{Ad}_{\mathbf{R}_{i}}^{-1} \end{aligned}$$
    (77a)
    $$\begin{aligned} \mathbf{W}_{i}^{\text{h}}& =\mathbf{Ad}_{\mathbf{d}_{i+1,i}}^{T} \mathbf {W}_{i+1}^{\text{h}}+\mathbf{M}_{i}^{\text{h}} \dot{\mathbf {V}}_{i}^{\text{h}}+\mathbf{ad}_{\boldsymbol{\omega}^{\text{h}}}\mathbf {M}_{i}^{\text{h}}{\overset{\omega}{\mathbf{V}}} {_{i}^{\text{h}}}+{\mathbf{W}}_{i}^{\text{h,app}} \end{aligned}$$
    (77b)
    $$\begin{aligned} \mathbf{Q}_{i}& =\bigl({^{0}\mathbf{X}}_{i}^{i} \bigr)^{T}\mathbf{W}_{i}^{\text{h}} \end{aligned}$$
    (77c)
  • Output: \(\mathbf{Q}\)

Computational effort

The hybrid representation is a compromise between using twists and wrenches measured in body-fixed frames (as for the body-fixed representation, where twists and wrenches are measured at the RFR origin) and those resolved in the IFR (as for the spatial representation, where twists and wrenches are measured at the IFR origin). It has therefore been used extensively for \(O ( n ) \) inverse and forward dynamics algorithms. The essential difference between the forward recursion for kinematic evaluation in body-fixed and hybrid formulation is that the body-fixed recursion (67a)–(67c) requires frame transformations of screws involving rotations and translations, whereas the hybrid recursion (76a)–(76d) only requires the change of reference point using position vectors resolved in the IFR. The attitude transformation only appears in (76b) and in the computation of the hybrid inertia matrix (77a). In total, the forward kinematics needs \(n\) rotational transformations and \(2n-2\) translational transformations. Further, (76d) needs \(n-1\) cross products of the form \(\mathbf {ad}_{\dot{\mathbf{r}}_{i,i-1}}\mathbf{V}_{i-1}^{\text{h}}= ( \mathbf{0}, ( \dot{\mathbf{r}}_{i-1}-\dot{\mathbf{r}}_{i} ) \times\boldsymbol{\omega}_{i-1}^{\text{s}} ) ^{T}\) and \(n\) Lie brackets \(\mathbf{ad}_{\boldsymbol{\omega}_{i}^{\text{s}}}{^{0}\mathbf {X}}_{i}^{i}\). The inverse dynamics needs the \(n\) rotational transformations (77a) of the second-order inertia tensor, \(n-1\) translational transformations of wrenches, and \(n\) Lie brackets with \(\boldsymbol{\omega}_{i}^{\text{s}}\) in (77b). In total, the hybrid NE algorithm needs \(3n-3\) translational and \(n\) rotational transformations of screw coordinates, \(n\) rotational transformations of the inertia tensor, and \(3n-1\) Lie brackets. Although the number of operations is equivalent to the body-fixed version, the particular form of transformations is computationally very simple motivating its extensive use in \(O ( n ) \) forward dynamics algorithms. Moreover, the hybrid NE equations are commonly expressed in a body-fixed BFR at the COM, so that the hybrid NE equations simplify to (49) and (50), (51), respectively.

Instead of transforming the joint screws \({^{i}\mathbf{X}}_{i}\) or \(\mathbf{Y}{_{i}}\) in the reference configuration, the instantaneous hybrid joint screws can be determined using the defining expression (36) in [60] with the current \(\mathbf{b}_{j,i}\) and \(\mathbf{e}_{j}\).

Remark on forward dynamics

The above inverse dynamics formulation was presented in [37, 38, 73, 74] together with \(O ( n ) \) forward dynamics algorithms. An \(O ( n ) \) forward dynamics method was presented in [1, 6]. These algorithms are deemed efficient taking into account that the computation results do not have to be transformed to the body-fixed reference points of interest, as in case of the spatial version. An \(O ( n ) \) forward dynamics algorithm was developed in [64] using canonical Hamilton equations in hybrid representation, that is, the momentum balance (53) in terms of the conjugate momenta \(\boldsymbol{\Pi }_{i}^{\text{h}}\), rather than the NE equations. It was concluded that its performance is comparable to that of Featherstone’s [29] method in terms of spatial twists.

4.4 Choice of body-fixed reference frames

The Lie group formulation involves geometric and inertia properties that are readily available, for example, from CAD data.

In [60] and in the preceding sections, two approaches to the description of MBS geometry (with and without body-fixed joint frames) and three versions for representing velocities and accelerations (body-fixed, spatial, hybrid) were presented, each having its merits. The description of the geometry is independent from the representation of twists. For instance, the geometry could be described in terms of joint screws expressed in the IFR, whereas the kinematics and dynamics is modeled using body-fixed twists. This allows us to take advantage of the low-complexity hybrid or spatial recursive NE equations while still having the freedom to use or avoid body-fixed joint frames.

The standard approach to model an MBS is to introduce (1) an IFR, (2) body-fixed BFRs, and (3) body-fixed JFRs. The latter is avoided using spatial joint screws \(\mathbf{Y}_{i}\), as already presented. It still remains to introduce body-fixed BFRs kinematically representing the bodies. However, even the explicit definition of RFRs can be avoided by properly placing them. Their location is usually dictated by the definition of the inertia tensors, and it is customary to relate the inertia data to the COM. If, instead, the body-fixed BFRs are assigned such that they coincide in the reference configuration (\(\mathbf{q}=\mathbf{0}\)) with the IFR, then no reference configurations of bodies need to be determined (\(\mathbf {A}_{i}=\mathbf{I}\)). This normally means that the RFR is outside the physical extension of a body, that is, the inertia properties of all bodies are determined in the assembly reference configuration with respect to the global IFR. In other words, they are deduced from the design drawing (corresponding to \(\mathbf{q}=\mathbf{0}\)) relative to a single construction frame. This can be exploited when using CAD systems. The required kinematic data then reduces to the direction and position vectors \(\mathbf{e}_{i}\) and \(\mathbf {y}_{i}\)in order to compute \(\mathbf{Y}_{i}\) in (95). As a side effect, \(\mathbf{Y}_{i}={^{i}\mathbf{X}}_{i}\). This is an important result and does apply to any of the discussed twist representations since the representation of twists has nothing to do with the geometry description. Moreover, then the POE (94) and the Jacobian (104), (105), and thus (107) simplify in terms of spatial screw coordinates. The only computational drawback is that the hybrid Newton and Euler equations are not decoupled since the spatial IFR, to which the inertia data is related, is unlikely to coincide with the COM of the bodies in the reference configuration. Details can be found in [53].

5 Motion equations in closed form

5.1 Euler–Jourdain equations

The body-fixed NE equations for the individual bodies within the MBS are

$$ \mathbf{M}_{i}^{\text{b}}\dot{\mathbf{V}}_{i}^{\text{b}}- \mathbf {ad}_{\mathbf{V}_{i}^{\text{b}}}^{T}\mathbf{M}_{i}^{\text{b}} \mathbf {V}_{i}^{\text{b}}-{\mathbf{W}}_{i}^{\text{b,app}}-{ \mathbf {W}}_{i}^{\text{b,c}}=\mathbf{0}, $$
(78)

where \({\mathbf{W}}_{i}^{\text{b,c}}\) is the constraint reaction wrench of joint \(i\), and \({\mathbf{W}}_{i}^{\text{b,app}}\) represents the total wrench applied to body \(i\) including the applied wrench in joint \(i\). Jourdain’s principle of virtual power, using the admissible variation δ V b = J b δ q ˙ of the system twist and noting that \(\delta\mathbf{V}^{\text{b}}\) are reciprocal to the constraint wrenches (see Sect. B.2), yields the system of \(n\) motion equations

( J b ) T ( M 1 b V ˙ 1 b ad V 1 b T M 1 b V 1 b W 1 b,app M n b V ˙ n b ad V n b T M n b V n b W n b,app ) =0.
(79)

This form allows for a concise and computationally efficient construction of the motion equations. The point of departure are the NE equations of the individual bodies. The body-fixed system Jacobian (113) is determined by the (constant) joint screw coordinates in X b and the screw transformations encoded in A b . The same applies to the other representations. The accelerations are determined by (7), respectively (11). Explicit evaluation of (79) leads to the recursive algorithm in Sect. 4.1. Inserting the twists and accelerations into (79) yields Eqs. (1) that determine the MBS dynamics on the tangent bundle \(T{\mathbb {V}}^{n}\) with state vector \(( \mathbf{q},\dot{\mathbf{q}} ) \in T{\mathbb{V}}^{n}\). Alternatively, combining (79) with (112) yields a system of \(n+6n\) ODEs in the state variables (q, V b ) V n ×se ( 3 ) n that govern the dynamics on the state space \({\mathbb {V}}^{n}\times \mathit{se} ( 3 ) ^{n}\). The advantage of this formulation is that it is a first-order ODE system and that the system has block triangular structure. Yet another interesting formulation follows with the NE equations (37) in terms of the conjugate momenta in spatial representation

( J s ) T ( Π ˙ 1 s W 1 s,app Π ˙ n s W n s,app ) = 0 , M i s J i s q ˙ = Π i s , i , , n .
(80)

This is a system of \(n+6n\) first-order ODEs in the phase space \(( \mathbf{q},\boldsymbol{\Pi}^{\text{s}} ) \in{\mathbb{V}}^{n}\times \mathit{se}^{\ast} ( 3 ) ^{n}\). System (80) can be solved for the \(\dot{\boldsymbol{\Pi}}_{i}^{\text{s}}\) and \(\dot{\mathbf{q}}_{i}\) noting the block triangular structure of J s [60]. From a numerical point of view, the momentum formulation in phase space will allow for momentum-preserving integration schemes.

Various versions of (79) have been published. Using the hybrid representation of twists, basically the same equations were reported in [4]. There the system Jacobian is called the “natural orthogonal complement”, motivated by the fact that the columns of J b are orthogonal to the vectorial representations of constraint wrenches (although the former are screws, whereas the latter are coscrews). In classical vector notation, they were reported in [39, 48] and [14]. In [39] the equations (79) are called the Euler–Jourdain equations. In [48], emphasizing on the recursive evaluation of the body Jacobian, the instantaneous body-fixed joint screws \(\mathbf {J}_{i}^{\text{b}}\) are called “kinematic basic functions” since they are the intrinsic objects in MBS kinematics. In [14] Eqs. (79) are called “projection equations” since the NE equations of the individual bodies are restricted to the feasible motion (although J b is not a projector). Equations (79) in body-fixed representation are equivalent to Kane’s equations, where \(\mathbf{J}_{i}^{\text{b}}\) are called “partial velocities” [40]. The instantaneous joint screw coordinates, that is, the columns \(\mathbf{J}_{i}^{\text{b}}\) of the geometric Jacobian, were also called “kinematic influence coefficients” and their partial derivatives (6) the “second-order kinematic influence coefficients” [8, 82].

It should be finally remarked that, due to the block triangular form of J b , solving (79) and using the inversion of A b (see (25) in [60]) lead immediately to an \(O ( n ) \) forward dynamics algorithm. This is the common starting point for deriving forward dynamics algorithms that applies to any twist representation.

5.2 Lagrange equations

The MBS motion equations can be derived as the Lagrange equations in terms of generalized coordinates. For simplicity, potential forces are omitted, so that the Lagrangian is simply the kinetic energy. Then the equations attain the form

$$ \frac{d}{dt} \biggl( \frac{\partial T}{\partial\dot{\mathbf{q}}} \biggr) ^{T}- \biggl( \frac{\partial T}{\partial\mathbf{q}} \biggr) ^{T}=\mathbf {M} ( \mathbf{q} ) \ddot{ \mathbf{q}}+\mathbf{C} ( \dot {\mathbf{q}},\mathbf{q} ) \dot{\mathbf{q}}= \mathbf{Q} ( \dot {\mathbf{q}},\mathbf{q},t ) $$
(81)

with generalized mass matrix \(\mathbf{M}\), where \(\mathbf{C} ( \dot {\mathbf{q}},\mathbf{q} ) \dot{\mathbf{q}}\) represent the Coriolis and centrifugal forces. The vector \(\mathbf{Q}\) stands for all other generalized forces, including potential, dissipative, and applied forces. Using body-fixed twists, the kinetic energy of body \(i\) is \(T_{i}=\frac {1}{2}(\mathbf{V}_{i}^{\text{b}})^{T}\mathbf{M}_{i}^{\text{b}}\mathbf {V}_{i}^{\text{b}}\). The kinetic energy of the MBS is T( q ˙ ,q)= i T i = 1 2 ( V b ) T M b V b = 1 2 q ˙ T M q ˙ with the generalized mass matrix

M ( q ) = ( J b ) T M b J b
(82)

and M b :=diag( M 1 b ,, M n b ). The conjugate momentum vector is thus ( T q ˙ ) T = ( J b ) T M b V b . Its time derivative with (11) is given as d d t ( T q ˙ ) T =M(q) q ¨ ( J b ) T ( ( M b A b a b ) T + M b A b a b ) J b q ˙ , and a b is defined in (10). From (8) it follows that ( T q ) T = ( M b A b b b X b ) T J b q ˙ with

b b ( V b ) :=diag( ad V 1 b ,, ad V n b ).
(83)

This admits identifying the generalized mass matrix (82) and the matrix

C ( q , q ˙ ) = ( J b ) T ( ( M b A b a b ) T + M b A b a b ) J b ( M b A b b b X b ) T J b = ( a b J b + b b X b ) T ( A b ) T M b J b ( J b ) T M b A b a b J b .
(84)

The first term on the right-hand side in (84) can be simplified so that

C ( q , q ˙ ) = ( J b ) T ( M b A b a b + ( b b ) T M b ) J b .
(85)

The concise expressions (82) and (85) allow for construction of the Lagrange equations in closed form. Similar expressions can be derived using the spatial and hybrid representation of twists.

For analytic investigations of the MBS dynamics, it may be useful to write the Lagrange equations in components as

$$ \sum_{j=1}^{n}M_{ij} ( \mathbf{q} ) \ddot{q}_{j}+\sum_{j,k=1}^{n} \varGamma_{ijk} ( \mathbf{q} ) \dot{q}_{j}\dot {q}_{k}=Q_{i} ( \mathbf{q},\dot{\mathbf{q}},t ), $$
(86)

where the Christoffel symbols of first kind are defined as \(\varGamma _{ijk}=\frac{1}{2} ( \frac{\partial M_{ik}}{\partial q_{j}}+\frac {\partial M_{ij}}{\partial q_{k}}-\frac{\partial M_{jk}}{\partial q_{i}} ) =\varGamma_{ikj}\). The recursive relations (6) give rise to the closed-form expressions

$$\begin{aligned} \textstyle\begin{array}[b]{rcl} \displaystyle\varGamma_{ijk} &=&\displaystyle\frac{1}{2}\sum _{l=k}^{n} \bigl( \bigl(\mathbf {J}_{l,k}^{\text{b}} \bigr)^{T}\mathbf{M}_{l}\mathbf{ad}_{\mathbf {J}_{l,i}^{\text{b}}} \mathbf{J}_{l,j}^{\text{b}}+\bigl(\mathbf{J}_{lj}^{\text{b}} \bigr)^{T}\mathbf{M}_{l}\mathbf{ad}_{\mathbf{J}_{l,i}^{\text{b}}}\mathbf {J}_{l,k}^{\text{b}}+\bigl(\mathbf{J}_{l,i}^{\text{b}} \bigr)^{T}\mathbf {M}_{l}\mathbf{ad}_{\mathbf{J}_{l,s}^{\text{b}}} \mathbf{J}_{l,r}^{\text{b}} \bigr) \\ &&\displaystyle\text{with }i< j\leq k\text{ or }j\leq i< k,\ r=\max ( i,j ) ,\ s=\min ( i,j ) . \end{array}\displaystyle \end{aligned}$$
(87)

This expression for the Christoffel symbols in Lie group notation was reported in [16, 50], and already in [48] in tensor notation. This expression simplifies when Binet’s inertia tensor \(\boldsymbol{\vartheta}_{i}=\frac{1}{2}\operatorname{tr} ( \boldsymbol{\varTheta}_{i} ) \mathbf{I}-\boldsymbol{\varTheta}_{i}\) is used in the mass matrix \(\mathbf{M}_{i}^{\text{b}}\). Then (40) is replaced by \(\check{\boldsymbol{M}}_{i\text{c}}^{\text{b}}=\operatorname{diag} ( \boldsymbol{\vartheta}_{i},m_{i}\mathbf{I} ) \), and (41) by \(\check{\boldsymbol{M}}_{i}^{\text{b}}=\mathbf{Ad}_{\mathbf{S}_{\text{bc}}}^{-T}\check{\boldsymbol{M}}_{i\text{c}}^{\text{b}}\mathbf{Ad}_{\mathbf {S}_{\text{bc}}}^{-1}\). This leads to

$$\begin{aligned} \varGamma_{ijk} =&\frac{1}{2}\sum _{l=k}^{n}\bigl(\mathbf{J}_{l,j}^{\text{b}} \bigr)^{T}\check{\boldsymbol{M}}_{l}\mathbf{ad}_{{{\overset{\omega}{\mathbf {J}}}{_{l,k}^{\text{b}}}}} \mathbf{J}_{l,i}^{\text{b}} \\ &\text{with }i< j\leq k\text{ or }j\leq i< k. \end{aligned}$$
(88)

Equations (87) were presented in [50, 67, 68, 70, 71], and (88) in [50]. Prior to these publications, Eqs. (87) and (88) have been reported in [48, 49] using tensor notation rather than Lie group notation. Another publication that should be mentioned is [19] where the Lagrange equations were derived using similar algebraic operations.

The above closed forms of EOM are derived using body-fixed twists. The potential benefit of using spatial or hybrid twists remains to be explored.

6 Derivatives of motion equations

In various contexts the information about the sensitivity of the MBS kinematics and dynamics is required either with respect to joint angles, geometric parameters, or dynamic parameters. Whereas it is known that the EOM of a rigid body MBS attains a form that is linear in the dynamic parameters, they depend nonlinearly on the generalized coordinates and geometry. The POE formulation provides a means to determine sensitivity with respect to kinematic parameters.

6.1 Sensitivity of motion equations

Gradients with respect to generalized coordinates are required for the linearization of the EOM (as basis for stability analysis and controller design) and for optimal control of MBS. Since the second-order and higher derivatives (13) of the body-fixed Jacobian, (21) of the spatial Jacobian, and (26) of the hybrid Jacobian are given as algebraic closed-form expressions in terms of screw products, the linearized EOM can be evaluated recursively and expressed in closed form. Using the Lie group notation, this was reported in [76].

The same results were already presented in [49] using tensor notation. Comparing the two formulations reveals once more that the matrix Lie group formulation provides a level of abstraction leading to compact expressions. A closed form for partial derivatives of the inverse mass matrix has been reported in [51], which is required for investigating the controllability of MBS. Using the body-fixed representation of twists, recursive \(O ( n ) \) where reported in [3, 35].

6.2 Geometric sensitivity

Optimizing the design of an MBS requires information about the sensitivity with respect to geometric parameters. A recursive algorithm was reported in [35] and its parallel implementation in [3], where the partial derivatives are computed on a case-by-case basis. The Lie group formulation gives rise to a general closed-form expression. To this end, the POE formula (93) is extended as follows.

The geometry of the two bodies \(i\) and \(i-1\) connected by joint \(i\) is encoded in the constant part \(\mathbf{S}_{i,i}\) and \(\mathbf {S}_{i-1,i}\) in (92), respectively in \(\mathbf{B}_{i}\) in the formulation in (93). These are frame transformations and hence can be parameterized in terms of screw coordinates. If \(\mathbf{B}_{i}\) depends on \(\lambda \leq6\) geometric parameters, it is expressed as \(\mathbf{B}_{i} ( \boldsymbol{\pi}_{i} ) =\mathbf{B}_{i0}\exp(\mathbf{U}_{i1}\pi_{i1})\cdot \ldots \cdot\exp(\mathbf{U}_{i\lambda}\pi_{i\lambda})\). The screw coordinates \(\mathbf{U}_{i1}\) and corresponding parameters \(\pi_{i1}\) account for the considered variations from the nominal geometry, represented by \(\mathbf {B}_{i0}\in \mathit{SE} ( 3 ) \). Thus the relative configuration due to joint \(i\) and the geometric variations is \(\mathbf{C}_{i-1,i} ( \mathbf {q},\boldsymbol{\pi}_{i} ) =\mathbf{B}_{i} ( \boldsymbol{\pi }_{i} ) \exp ({^{i}}\mathbf{X}_{i}q_{i})\). The key observation is that partial derivatives of \(\mathbf{B}_{i} ( \boldsymbol{\pi}_{i} ) \) are available in closed form, as for the joint screw coordinates. Hence also the sensitivity withe respect to the MBS geometry can be expressed in closed form [52]. This fact has been applied to robot calibration [21, 22], where the POE accounts for geometric imperfections to be identified.

6.3 Time derivatives of the EOM

The design of feedback-linearizing flatness-based controllers for robotic manipulators modeled as rigid body MBS actuated by elastic actuators (so-called series elastic actuators) requires the time derivatives of the inverse dynamics solution \(\mathbf{Q} ( t ) \) [25, 66], that is, the first and second time derivatives of the EOM are necessary. Extensions of the classical recursive Newton–Euler inverse dynamics algorithms in body-fixed representations were presented in [18]. As it can be expected, the relation are very complicated. Using the presented Lie group formulation of the inverse dynamics algorithms gives rise to rather compact and thus fail-safe algorithm. This was presented in [61] for the body-fixed and hybrid version.

7 Geometric integration

This paper focuses on the MBS modeling in terms of relative (joint) coordinates. Alternatively, the MBS kinematics can be described in terms of absolute coordinates.

One of the issues addressed when modeling MBS in terms of absolute coordinates is the kinematic reconstruction, that is, the determination of the motion of a rigid body, represented by \(\mathbf {C} ( t ) \), from its velocity field \(\mathbf{V} ( t ) \). This amounts to solving one of the equations (see Appendix A2 in [60])

$$ \widehat{\mathbf{V}}^{\text{b}}=\mathbf{C}^{-1}\dot{\mathbf{C}}, \qquad\widehat{\mathbf{V}}^{\text{s}}=\dot{\mathbf{C}} \mathbf{C}^{-1} $$
(89)

together with the NE (42) or (39), respectively. Classically, the orientation is parameterized with three parameters. The problem encountered is that there is no singularity-free global parameterization of rotations with three parameters. Instead of local parameters (position and rotation angles), the absolute configurations of the rigid bodies within the MBS can be represented by \(\mathbf{C} ( t ) \). Then a numerical integration step from time \(t_{k-1}\) to \(t_{k}=t_{k-1}+h\) will determine the incremental configuration update \(\Delta\mathbf{C}_{k}=\mathbf {C}_{k-1}^{-1}\mathbf{C}_{k}\) with \(\mathbf{C}_{k}=\mathbf{C} ( t_{k} ) \) and \(\mathbf{C}_{k-1}=\mathbf{C} ( t_{k-1} ) \). Equations (89) are ODEs on the Lie group \(\mathit{SE} ( 3 ) \). These can be replaced by ODEs on the Lie algebra \(\mathit{se} ( 3 ) \). The motion increment from \(t_{k-1}\) to \(t_{k}\) is parameterized as \(\Delta\mathbf {C} ( t ) =\exp\mathbf{X} ( t ) \) with an algorithmic instantaneous screw coordinate vector \(\mathbf{X}\). Then (89) are equivalent to the ODEs on the Lie algebra

$$ \mathbf{V}^{\text{s}}=\mathbf{dexp}_{\mathbf{X}}\dot{\mathbf{X}},\qquad \mathbf{V}^{\text{b}}=\mathbf{dexp}_{-\mathbf{X}}\dot{\mathbf{X}}, $$
(90)

where \(\mathbf{dexp}_{\mathbf{X}}:\mathit{se} ( 3 ) \rightarrow \mathit{se} ( 3 ) \) is the right-trivialized differential of the exp mapping on \(\mathit{SE} ( 3 ) \) [12, 58, 59, 69]. This is the basic idea of the class of Munthe-Kaas integration schemes [20, 36, 62]. This scheme has been adapted to MBS in absolute coordinates [80]. The advantage of these integration methods is that no global parameterization is necessary since the numerical integration is pursued in terms of the incremental parameters \(\mathbf{X}\). The ODEs (90) can be solved with any vector space integration scheme (originally the Munthe-Kaas scheme uses a Runge–Kutta method) with initial value \(\mathbf{X} ( t_{k-1} ) =\mathbf{0}\).

Recently, the geometric integration concepts were incorporated in the generalized \(\alpha\) method [17, 41] for MBS described in absolute coordinates. In this case the representation of proper rigid body motions is crucial, as discussed in [57, 58], which is frequently incorrectly represented by \(\mathit{SO} ( 3 ) \times{\mathbb {R}}^{3}\). Also momentum-preserving schemes were proposed [81]. It should be mentioned that the concept of geometric integration schemes on \(\mathit{SE} ( 3 ) \) can be transferred to the kinematics of flexible bodies undergoing large deformations described as Cosserat continua. In this context the spatial description (referred to as fixed-pole formulation) has proven to be beneficial [31]. Recent results on Lie group modeling of beams can be found in [77, 78].

8 Conclusions and outlook

The computational effort of recursive \(O ( n ) \) algorithms, but also of the formalisms for evaluating the EOM in closed form, depends on the representation of rigid body motions and of the motions of technical joints. Since the geometry of finite rigid body and relative motions is described by the Lie group \(\mathit{SE} ( 3 ) \) and that of instantaneous motions by the screw algebra \(\mathit{se} ( 3 ) \), Lie group theory provides the geometric framework. As already shown in [60], Lie group formulations for the MBS kinematics give rise to compact recursive formulations in terms of relative coordinates. In this paper the corresponding recursive NE algorithms were presented and related to the various \(O ( n ) \) algorithms scattered in the literature. This allows for a comparative investigation of their efficiency in conjunction with the modeling procedure. For instance, whereas most \(O ( n ) \) algorithms used the hybrid representation, the spatial representation, as used by Featherstone [29] and Bottasso [12] (where it is called fixed point formulation), is receiving increased attention since it gives easily rise to structure-preserving integration schemes [1012, 31]. A conclusive investigation will be the subject of future research. Future research will also focus on combining the \(O ( n ) \) forward dynamics algorithm by Featherstone [29], based on NE equations using spatial representations with Naudet’s algorithm [64] based on Hamilton’s canonical equations in hybrid representation. The use of the spatial momentum balance shall allow for momentum-preserving integration of the EOM and at the same time to reduce the number of frame transformations. A further important research topic is the derivation of structure-preserving Lie group integration schemes for which the spatial formulation of EOM will be formulation of choice.