Abstract
Screw and Lie group theory allows for user-friendly modeling of multibody systems (MBS), and at the same they give rise to computationally efficient recursive algorithms. The inherent frame invariance of such formulations allows to use arbitrary reference frames within the kinematics modeling (rather than obeying modeling conventions such as the Denavit–Hartenberg convention) and to avoid introduction of joint frames. The computational efficiency is owed to a representation of twists, accelerations, and wrenches that minimizes the computational effort. This can be directly carried over to dynamics formulations. In this paper, recursive \(O ( n ) \) Newton–Euler algorithms are derived for the four most frequently used representations of twists, and their specific features are discussed. These formulations are related to the corresponding algorithms that were presented in the literature. Two forms of MBS motion equations are derived in closed form using the Lie group formulation: the so-called Euler–Jourdain or “projection” equations, of which Kane’s equations are a special case, and the Lagrange equations. The recursive kinematics formulations are readily extended to higher orders in order to compute derivatives of the motions equations. To this end, recursive formulations for the acceleration and jerk are derived. It is briefly discussed how this can be employed for derivation of the linearized motion equations and their time derivatives. The geometric modeling allows for direct application of Lie group integration methods, which is briefly discussed.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
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
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 or, explicitly in terms of the body-fixed instantaneous screw coordinates,
Using the matrix form of (104), the partial derivatives of the instantaneous screw coordinates are
This can be evaluated with help of the POE formula (94) as
and in the same way, it follows that
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
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
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
so that
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
with defined in (24) of [60] and with
Hence the system acceleration is given in compact matrix form as
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
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
This gives rise to an explicit form for the body-fixed jerk:
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]:
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
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
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
In matrix form the overall spatial acceleration can be summarized as
with
and 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
Therewith the spatial representation of the jerk of body \(i\) is found as
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]:
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
and thus
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
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):
This yields the following explicit expressions for the hybrid acceleration:
For the second derivative, it is simplest to start from (28), and a straightforward calculation yields
The jerk in hybrid representation can thus be written as
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
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
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
The momentum balance yields the Newton–Euler (NE) equations in spatial representation, which attains the simple form
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
along with \(\mathbf{ad}_{\mathbf{V}^{\text{s}}}\mathbf{V}^{\text{s}}=\mathbf{0}\), as
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
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
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:
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
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
Written in components, this yields the NE equations represented in the COM frame:
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
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
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,
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
The momentum balance in hybrid representation with respect to an arbitrary BFR
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
Separating the angular and translational part results in
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}}}\):
If a COM frame is used, then combining (46) and (51) yields
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
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
with the inertia matrix of body \(i\) represented in frame \(j\)
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
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
with the mass matrix of body \(i\) measured at frame \(\mathcal{F}_{j}\) and resolved in frame \(\mathcal{F}_{k}\)
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
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
The recursive determination of spatial accelerations thus only requires the time derivative (17) of the spatial Jacobian, so that
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
-
–
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}$$(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) -
–
Output: \(\mathbf{C}_{i},\mathbf{V}_{i}^{\mathrm{s}},\dot{\mathbf {V}}_{i}^{\mathrm{s}},\mathbf{J}{_{i}^{\text{s}}}\)
-
–
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}}\)
-
•
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) -
–
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.
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.
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.
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
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
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
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
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 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
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 and the screw transformations encoded in . 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 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
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 [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 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 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 , solving (79) and using the inversion of (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
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 with the generalized mass matrix
and . The conjugate momentum vector is thus . Its time derivative with (11) is given as , and is defined in (10). From (8) it follows that with
This admits identifying the generalized mass matrix (82) and the matrix
The first term on the right-hand side in (84) can be simplified so that
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
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
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
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])
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
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 [10–12, 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.
References
Anderson, K.: An order \(n\) formulation for the motion simulation of general multi-rigid-body constrained systems. Comput. Struct. 43(3), 565–579 (1992)
Anderson, K.S., Critchley, J.H.: Improved ‘order-N’ performance algorithm for the simulation of constrained multi-rigid-body dynamic systems. Multibody Syst. Dyn. 9(2), 185–212 (2003)
Anderson, K.S., Hsu, Y.: Order-\((n +m)\) direct differentiation determination of design sensitivity for constrained multibody dynamic systems. Struct. Multidiscip. Optim. 26, 171–182 (2004)
Angles, J., Lee, S.: The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement. J. Appl. Mech. 55, 243–244 (1988)
Angeles, J.: Fundamentals of Robotic Mechanical Systems, 2nd edn. Springer, Berlin (2003)
Bae, D.S., Hwang, R.S., Haug, E.J.: A recursive formulation for real-time dynamic simulation of mechanical systems. J. Mech. Des. 113(2), 158–166 (1988)
Bae, D.S., et al.: A generalized recursive formulation for constrained flexible multibody dynamics. Int. J. Numer. Methods Eng. 50, 1841–1859 (2001)
Benedict, C.E., Tesar, D.: Model formulation of complex mechanisms with multiple inputs: part I—geometry. J. Mech. Des. 100(4), 747–754 (1978)
Bongardt, B., Kirchner, F.: Newton–Euler equations in general coordinates. In: Proc. of Mathematics of Robotics (IMA), September 9–11, St Anne’s College, University of Oxford (2015)
Borri, M., Bottasso, C.L., Trainelli, L.: Integration of elastic multibody systems by invariant conserving/dissipating algorithms—part II: numerical schemes and applications. Comput. Methods Appl. Mech. Eng. 190(29/30), 3701–3733 (2001)
Borri, M., Bottasso, C.L., Trainelli, L.: An invariant-preserving approach to robust finite-element multibody simulation. Z. Angew. Math. Mech. 83(10), 663–676 (2003)
Bottasso, C.L., Borri, M.: Integrating finite rotations. Comput. Methods Appl. Mech. Eng. 164, 307–331 (1998)
Bottema, O., Roth, B.: Theoretical Kinematics. Dover, New York (1990)
Bremer, H.: Elastic Multibody Dynamics. Springer, Berlin (2010)
Brockett, R.W.: Robotic manipulators and the product of exponentials formula. In: Mathematical Theory of Networks and Systems. Lecture Notes in Control and Information Sciences, vol. 58, pp. 120–129 (1984)
Brockett, R.W., Stokes, A., Park, F.: A geometrical formulation of the dynamical equations describing kinematic chains. IEEE Int. Conf. Robot. Autom. 2, 637–641 (1993)
Brüls, O., Cardona, A., Arnold, M.: Lie group generalized-alpha time integration of constrained flexible multibody systems. Mech. Mach. Theory 48, 121–137 (2012)
Buondonno, G., De Luca, A.: A recursive Newton–Euler algorithm for robots with elastic joints and its application to control. 2015 IEEE/RSJ IROS, 5526–5532
Burdick, J.W.: An algorithm for generation of efficient manipulator dynamic equations. In: Proc. IEEE Int. Conf. Rob. and Automat. (ICRA), vol. 3, pp. 212–218 (1986)
Celledoni, E., Owren, B.: Lie group methods for rigid body dynamics and time integration on manifolds. Comput. Methods Appl. Mech. Eng. 19, 421–438 (1999)
Chen, I.-M., Yang, G.: Kinematic calibration of modular reconfigurable robots using product-of-exponentials formula. J. Robot. Syst. 14(11), 807–821 (1997)
Chen, I-M., et al.: Local POE model for robot kinematic calibration. Mech. Mach. Theory 36(11–12), 1215–1239 (2001)
Chevallier, D.P.: Lie algebras, modules, dual quaternions and algebraic methods in kinematics. Mech. Mach. Theory 26(6), 613–627 (1991)
Chevallier, D.P.: Lie groups and multibody dynamics formalism. In: Proc. EUROMECH Colloquium, Prague, vol. 320, pp. 1–20 (1994)
De Luca, A.: Decoupling and feedback linearization of robots with mixed rigid/elastic joints. Int. J. Robust Nonlinear Control 8, 965–977 (1998)
Featherstone, R.: The calculation of robot dynamics using articulated-body inertias. Int. J. Robot. Res. 2(1), 13–30 (1983)
Featherstone, R.: Robot Dynamics Algorithms. Kluwer Academic, Dordrecht (1987)
Featherstone, R.: The acceleration vector of a rigid body. Int. J. Robot. Res. 20, 841–846 (2001)
Featherstone, R.: Rigid Body Dynamics Algorithms. Springer, Berlin (2008)
Fijany, A.: Parallel \(O(\log N)\) algorithms for computation of manipulator forward dynamics. IEEE Trans. Robot. Autom. 11(3), 389–400 (1995)
Gaćeša, M., Jelenić, G.: Modified fixed-pole approach in geometrically exact spatial beam finite elements. Finite Elem. Anal. Des. 99, 39–48 (2015)
Hervé, J.M.: Analyse Structurelle des Mécanismes par Groupe des Déplacements. Mech. Mach. Theory 13, 437–450 (1978)
Hervé, J.M.: Intrinsic formulation of problems of geometry and kinematics of mechanisms. Mech. Mach. Theory 17(3), 179–184 (1982)
Hollerbach, J.M.: A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity. IEEE Trans. Syst. Man Cybern. SMC-10(11), 730–736 (1980)
Hsu, Y., Anderson, K.S.: Recursive sensitivity analysis for constrained multi-rigid-body dynamic systems design optimization. Struct. Multidiscip. Optim. 24, 312–324 (2002)
Iserles, A., et al.: Lie-group methods. Acta Numer. 9, 215–365 (2000)
Jain, A.: Unified formulation of dynamics for serial rigid multibody systems. J. Guid. Control Dyn. 14(3), 531–542 (1991)
Jain, A., Rodriguez, G.: Diagonalized Lagrangian robot dynamics. IEEE Trans. Robot. Autom. 11(4), 571–584 (1995)
Jungnickel, U., Maisser, P.: Dynamiksimulation von Mehrkörpersystemen mit geschlossenensn kinematischen Ketten mittels Algebrodifferentialgleichungen. Report No. 26, Institut für Mechanik, Akademie der Wissenschaften der DDR (1990). ISSN 0232-5330
Kane, T.R., Levinson, D.A.: Dynamics: Theory and Applications. Mcgraw Hill, New York (1985)
Krysl, P., Endres, L.: Explicit Newmark/Verlet algorithm for time integration of the rotational dynamics of rigid bodies. Int. J. Numer. Methods Eng. 62, 2154–2177 (2005)
Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—I. Theory. Mech. Mach. Theory 31(5), 573–587 (1996)
Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—II. Applications to chains of rigid bodies and serial manipulators. Mech. Mach. Theory 31(5), 589–605 (1996)
Lilly, W., Orin, D.E.: Alternate formulations for the manipulator inertia matrix. Int. J. Robot. Res. 10(1), 64–74 (1991)
Liu, Y.: Screw-matrix method in dynamics of multibody systems. Acta Mech. Sin. 4(2), 165–174 (1988)
Luh, J.Y.S., Walker, M.W., Paul, R.P.C.: On-line computational scheme for mechanical manipulators. J. Dyn. Syst. Meas. Control 102(2), 69–76 (1980)
Lynch, K.M., Park, F.C.: Modern Robotics. Cambridge University Press, Cambridge (2017)
Maißer, P.: Analytische Dynamik von Mehrkörpersystemen. Z. Angew. Math. Mech. 68(10), 463–481 (1988)
Maisser, P.: Differential-geometric methods in multibody dynamics. Nonlinear Anal. 30(8), 5127–5133 (1997)
Müller, A., Maisser, P.: Lie group formulation of kinematics and dynamics of constrained MBS and its application to analytical mechanics. Multibody Syst. Dyn. 9, 311–352 (2003)
Müller, A.: Partial derivatives of the inverse mass matrix of multibody systems via its factorization. IEEE Trans. Robot. 23(1), 164–168 (2007)
Müller, A.: Generic mobility of rigid body mechanisms. Mech. Mach. Theory 44(6), 1240–1255 (2009)
Müller, A.: MBS motion equation without explicit definition of body-fixed reference frames, 38 mechanisms and robotics conference (MECH). ASME 2014 International Design Engineering Technical Conferences, August 12–15, 2014, Buffalo, NY
Müller, A.: Higher derivatives of the kinematic mapping and some applications. Mech. Mach. Theory 76, 70–85 (2014)
Müller, A.: Derivatives of screw systems in body-fixed representation. In: Lenarcic, J., Khatib, O. (eds.) Advances in Robot Kinematics (ARK). Springer, Berlin (2014)
Müller, A.: Recursive higher-order constraints for linkages with lower kinematic pairs. Mech. Mach. Theory 100, 33–43 (2016)
Müller, A., Terze, Z.: The significance of the configuration space Lie group for the constraint satisfaction in numerical time integration of multibody systems. Mech. Mach. Theory 82, 173–202 (2014)
Müller, A.: A note on the motion representation and configuration update in time stepping schemes for the constrained rigid body. BIT Numer. Math. 56(3), 995–1015 (2016)
Müller, A.: Coordinate mappings for rigid body motions. J. Comput. Nonlinear Dyn. 12(2), 021010 (2016)
Müller, A.: Screw and Lie group theory in multibody kinematics—motion representation and recursive kinematics of tree-topology systems. Multibody Syst. Dyn. (2017). doi:10.1007/s11044-017-9582-7
Müller, A.: Recursive second-order inverse dynamics for serial manipulators. In: IEEE Int. Conf. Robotics Automations (ICRA), May 29–June 3, 2017, Singapore
Munthe-Kaas, H.: High order Runge–Kutta methods on manifolds. Appl. Numer. Math. 29, 115–127 (1999)
Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)
Naudet, J., Lefeber, D., Daerden, F., Terze, Z.: Forward dynamics of open-loop multibody mechanisms using an efficient recursive algorithm based on canonical momenta. Multibody Dyn. 10(1), 45–59 (2003)
Orin, D., Schrader, W.: Efficient computation of the Jacobian for robot manipulators. Int. J. Robot. Res. 3(4) (1984)
Palli, G., Melchiorri, C., De Luca, A.: On the feedback linearization of robots with variable joint stiffness. In: IEEE Int. Conf. Rob. Aut. (IROS), Pasadena, CA, USA May 19–23 (2008)
Park, F.C.: Computational aspects of the product-of-exponentials formula for robot kinematics. IEEE Trans. Autom. Control 39(3), 643–=647 (1994)
Park, F.C., Bobrow, J.E., Ploen, S.R.: A Lie group formulation of robot dynamics. Int. J. Robot. Res. 14(6), 609–618 (1995)
Park, J., Chung, W.K.: Geometric integration on Euclidean group with application to articulated multibody systems. IEEE Trans. Robot. Autom. 21(5), 850–863 (2005)
Park, F.C., Kim, M.W.: Lie theory, Riemannian geometry, and the dynamics of coupled rigid bodies. Z. Angew. Math. Phys. 51, 820–834 (2000)
Ploen, S.R., Park, F.C.: A Lie group formulation of the dynamics of cooperating robot systems. Robot. Auton. Syst. 21, 279–287 (1997)
Rodriguez, G.: Kalman filtering, smoothing, and recursive robot arm forward and inverse dynamics. IEEE J. Robot. Autom. RA-3(6), 624–639 (1987)
Rodriguez, G., Jain, A., Kreutz-Delgado, K.: A spatial operator algebra for manipulator modelling and control. Int. J. Robot. Res. 10(4), 371–381 (1991)
Rodriguez, G., Jain, A., Kreutz-Delgado, K.: Spatial operator algebra for multibody system dynamics. J. Astronaut. Sci. 40, 27–50 (1992)
Selig, J.: Geometric Fundamentals of Robotics. Monographs in Computer Science Series. Springer, New York (2005)
Sohl, G.A., Bobrow, J.E.: A recursive multibody dynamics and sensitivity algorithm for branched kinematic chains. J. Dyn. Syst. Meas. Control 123, 391–399 (2001)
Sonneville, V., Cardona, A., Brüls, O.: Geometrically exact beam finite element formulated on the special Euclidean group SE(3). Comput. Methods Appl. Mech. Eng. 268(1), 451–474 (2014)
Sonneville, V., Brüls, O.: A formulation on the special Euclidean group for dynamic analysis of multibody systems. J. Comput. Nonlinear Dyn. 9(4), 041002 (2014)
Stelzle, W., Kecskeméthy, A., Hiller, M.: A comparative study of recursive methods. Arch. Appl. Mech. 66, 9–19 (1995)
Terze, Z., Müller, A., Zlatar, D.: Lie-group integration method for constrained multibody systems in state space. Multibody Syst. Dyn. 34(3), 275–305 (2015). doi:10.1007/s11044-014-9439-2
Terze, Z., Müller, A., Zlatar, D.: An angular momentum and energy conserving Lie-group integration scheme for rigid body rotational dynamics originating from Störmer–Verlet algorithm. J. Comput. Nonlinear Dyn. 10(5), 051005 (2015). 11 pages. doi:10.1115/1.4028671
Thomas, M., Tesar, D.: Dynamic modeling of serial manipulator arms. J. Dyn. Syst. Meas. Control 104(3), 218–228 (1982)
Uicker, J.J., Ravani, B., Sheth, P.N.: Matrix Methods in the Design Analysis of Mechanisms and Multibody Systems. Cambridge University Press, Cambridge (2013)
Wittenburg, J.: Dynamics of Systems of Rigid Bodies. B. G. Teubner, Stuttgart (1977)
Yamane, K., Nakamura, Y.: Comparative study on serial and parallel forward dynamics algorithms for kinematic chains. Int. J. Robot. Res. 28, 622–629 (2009)
Acknowledgements
Open access funding provided by Johannes Kepler University Linz. The author acknowledges that this work has been partially supported by the Austrian COMET-K2 program of the Linz Center of Mechatronics (LCM).
Author information
Authors and Affiliations
Corresponding author
Additional information
Dedicated to Prof. Peter Maißer
Appendices
Appendix A: Summary of basic kinematic relations
As prerequisite, the kinematic relations derived in [60] are summarized. Denote by
the absolute configuration of body \(i\) with respect to the inertial frame (IFR) \(\mathcal{F}_{0}\). This is alternatively denoted by \(C_{i}= ( \mathbf{R}_{i},\mathbf{r}_{i} ) \). The relative configuration of body \(i\) relative to body \(i-1\) is given as
where \(\mathbf{B}_{i}:=\mathbf{S}_{i-1,i}\mathbf{S}_{i,i}^{-1}=\mathbf {C}_{i-1,i} ( 0 ) \) is the reference configuration of body \(i\) with respect to body \(i-1\), that is, for \(q_{i}=0\), and \({^{i-1}}\mathbf{Z}_{i}\in {\mathbb{R}}^{6}\) is the screw coordinate vector of joint \(i\) represented in the joint frame (JFR) \(\mathcal{J}_{i-1,i}\) on body \(i-1\). Successive relative configurations can be combined to
where \({^{i}}\mathbf{X}_{i}\in{\mathbb{R}}^{6}\) is the screw coordinate vector of joint \(i\) represented in the joint frame fixed at body \(i\), \(\mathbf{Y}_{i}\in{\mathbb{R}}^{6}\) is the joint screw coordinate vector in spatial representation (measured and resolved in IFR) for the reference configuration \(\mathbf{q}=\mathbf{0}\), and \(\mathbf{A}_{i}=\mathbf {C}_{i} ( \mathbf{0} ) \) is the reference configuration of body \(i\). The two representations of joint screw coordinates are related by
where, in vector representation of screws, the adjoined transformation \(\mathbf{Ad}\) corresponding to \(\mathbf{C}\in \mathit{SE} ( 3 ) \) is given by the matrix
For simplicity, the following notations are used:
so that \(\mathbf{Ad}_{\mathbf{C}}=\mathbf{Ad}_{\mathbf{r}}\mathbf {Ad}_{\mathbf{R}}\).
The twist of body \(i\) in body-fixed representation \(\mathbf {V}_{i}^{\text{b}}= ( \boldsymbol{\omega}_{i}^{\text{b}},\mathbf {v}_{i}^{\text{b}} ) ^{T}\) and in spatial representation \(\mathbf{V}_{i}^{\text{s}}= ( \boldsymbol{\omega}_{i}^{\text{s}},\mathbf{v}_{i}^{\text{s}} ) ^{T}\) is defined by
Here \(\mathbf{v}_{i}^{\text{b}}=\mathbf{R}_{i}^{T}\dot{\mathbf{r}}_{i}\) the body-fixed translational velocity, that is, the velocity of the origin of the body-fixed reference frame (RFR) \(\mathcal{F}_{i}\) of body \(i\) measured in the IFR \(\mathcal{F}_{0}\) and resolved in \(\mathcal{F}_{i}\), whereas \(\mathbf{v}_{i}^{\text{s}}=\dot{\mathbf{r}}_{i}+\mathbf{r}_{i}\times \boldsymbol{\omega}_{i}^{\text{s}}\) is the spatial translational velocity, that is, the velocity of the point of the body that is momentarily passing through the origin of the IFR \(\mathcal{F}_{0}\) resolved in the IFR. The body-fixed and spatial angular velocity, \(\boldsymbol{\omega}_{i}^{\text{b}}\) and \(\boldsymbol{\omega}_{i}^{\text{s}}\), are defined by \(\widetilde{\boldsymbol{\omega }}_{i}^{\text{b}}=\mathbf{R}_{i}^{T}\dot{\mathbf{R}}_{i}\) and \(\widetilde{\boldsymbol{\omega}}_{i}^{\text{s}}=\dot{\mathbf{R}}_{i}\mathbf {R}_{i}^{T}\), respectively. The hybrid twist is defined as \(\mathbf {V}_{i}^{\text{h}}=(\boldsymbol{\omega}_{i}^{\text{s}},\dot{\mathbf {r}}_{i})^{T}\), and finally the mixed twist as \(\mathbf{V}_{i}^{\text{m}}=(\boldsymbol{\omega }_{i}^{\text{b}},\dot{\mathbf{r}}_{i})^{T}\). The four representations are related as follows:
The twist of body \(i\) within a kinematic chain is determined in terms of the generalized velocities \(\dot{\mathbf{q}}\) as
with the Jacobian in body-fixed, in spatial, in hybrid, and in mixed representation. The \(i\)th column of the Jacobian is respectively given by
These are the instantaneous joint screw coordinates in body-fixed, spatial, and hybrid representation. The Jacobians are related as
The representations of joint screw coordinates are related by (95) and by
where \(\mathbf{r}_{i}\) is the current position of body \(i\) in \(\mathbf {C}_{i} \). The twists admit the recursive expressions
Summarizing the twists of all bodies in , respectively, admits the expressions
in terms of the system Jacobians that admit the factorizations [60]
This provides a compact description of the overall MBS kinematics. The explicit relations for the inverse of the matrices are the starting point for deriving recursive forward dynamics \(O ( n ) \) algorithms.
Appendix B: Rigid body motions and the Lie group \(\mathit{SE} ( 3 ) \)
For an introduction to screws and to the motion Lie group \(\mathit{SE} ( 3 ) \), the reader is referred to the text books [5, 47, 63, 75].
2.1 B.1 Derivatives of screws
Let \(\mathbf{C}_{i}\) be time dependent. According to (96), the corresponding frame transformation of screw coordinates from \(\mathcal {F}_{i} \) to \(\mathcal{F}_{0}\) is \({\mathbf{X}}\equiv{^{0}\mathbf {X}}=\mathbf{Ad}_{\mathbf{C}_{i}}{^{i}}\mathbf{X}\). Assume that the screw coordinates expressed in body-fixed frame are constant. The rate of change of the screw coordinates expressed in IFR is \(\frac{d}{dt}\widehat{\mathbf{X}}=\frac {d}{dt}\mathbf{Ad}_{\mathbf{C}_{i}}({^{i}\widehat{\mathbf{X}})}=\dot {\mathbf{C}}_{i}\mathbf{C}_{i}^{-1}\mathbf{C}_{i}{^{i}\widehat{\mathbf {X}}}\mathbf{C}_{i}^{-1}-\mathbf{C}_{i}{^{i}\widehat{\mathbf{X}}}\mathbf {C}_{i}^{-1}\dot{\mathbf{C}}_{i}\mathbf{C}_{i}^{-1}=\widehat{\mathbf {V}}_{i}^{\text{s}}\,{\widehat{\mathbf{X}}}-\widehat{\mathbf {V}}_{i}^{\text{s}}\,{\widehat{\mathbf{X}}}=[\widehat{\mathbf {V}}_{i}^{\text{s}},{\widehat{\mathbf{X}}}]\). Therein
is the Lie bracket on \(\mathit{se} ( 3 ) \), also called the adjoint mapping. In vector notation of screws, denoting a general screw vector with \(\mathbf{X}= ( \boldsymbol{\xi},\boldsymbol{\eta} ) ^{T}\), this is
with
The form (115) is known as the screw product [13, 75]. Matrix (116) has appeared under different names, such as “spatial cross product” in [28, 29, 38] or the “north-east cross product’ [12]. The Lie bracket obeys the Jacobi identity
Allowing for time-dependent body-fixed screw coordinates \({^{i}\mathbf{X}}\), this relation gives rise to an expression for the time derivative of screw coordinates in moving frames:
This is the spatial extension of Euler’s formula for the derivative of a vector resolved in a moving frame.
For simplicity, throughout the paper the following notations are used:
Then the matrices
are used to denote matrix (116) for twists \({{\overset{\omega }{\mathbf{V}}}}\) and \({{\overset{v}{\mathbf{V}}}}\), respectively, which are the infinitesimal versions on (97).
2.2 B.2 Wrenches as coscrews—\(\mathit{se}^{\ast} ( 3 ) \)
Screws are the geometric objects embodying twists, wrenches, and momenta of rigid bodies. These different physical meanings imply different mathematical interpretations of the geometric object.
A wrench, defined by a force and moment, is denoted by \(\mathbf{W}= ( \mathbf{t},\mathbf{f} ) ^{T}\). The force applied at a point with position vector \(\mathbf{p}\) generates the moment \(\mathbf{t}=\mathbf {p}\times\mathbf{f}\). The dual to the Chasles theorem is the Poinsot theorem stating that every system of forces can be reduced to a force together with a couple with moment parallel to the force.
Geometrically, a screw is determined by the Plücker coordinates of the line along the screw axis and the pitch. If \(\mathbf{e}\) is the unit vector along the screw axis, and \(\mathbf{p}\) is a position vector of a point on that axis, then the screw coordinate vector of a twist is \(\mathbf {V}= ( \boldsymbol{\omega},\mathbf{v} ) ^{T}=\omega ( \mathbf{e},\mathbf {p}\times\mathbf{e}+h\mathbf{e} ) ^{T}\), where \(\omega= \Vert \boldsymbol{\omega} \Vert \) is its magnitude, and \(h=\mathbf {v}^{T}\boldsymbol{\omega}/\omega^{2}\) is its pitch. The screw coordinate vector of a wrench, that is, the force \(\mathbf{f}\) producing a torque \(\mathbf{t}\) about the axis \(\mathbf{e}\) when the point of application is displaced according to \(\mathbf{p}\) from the axis, is \(\mathbf{W}= ( \mathbf {t},\mathbf{f} ) ^{T}=f ( \mathbf{p}\times\mathbf{e}+h\mathbf{e},\mathbf{e} ) ^{T}\)with pitch \(h=\mathbf{t}^{T}\mathbf{f}/ \Vert \mathbf{f} \Vert ^{2}\). Apparently, the linear and angular components of the screw coordinates are interchanged for twists and wrenches. The different definition of screw coordinate vectors allows to describe the action of a wrench on a twist as the scalar product: \(\mathbf{W}^{T}\mathbf{V}\) is the power performed by the wrench acting on twist \(\mathbf{V}\).
A twist \({^{2}}\mathbf{V}\) represented in frame \(\mathcal{F}_{2}\) transforms to its representation in frame \(\mathcal{F}_{1}\) according to \({^{1}}\mathbf{V}=\mathbf{Ad}_{\mathbf{S}_{1,2}}{^{2}}\mathbf{V}\). The power conservation yields that a wrench represented in \(\mathcal{F}_{1}\) transforms to its representation in \(\mathcal{F}_{2}\) according to
Although this notation is useful for kinetostatic formulations, it is inconsistent in the sense that it treats screw coordinates differently for twists and wrenches. In screw theory, aiming on a consistent treatment of screw entities, a screw is represented by its coordinates as defined by (67) in [60], and the so-called reciprocal product of two screws is used [5, 13, 75]. The latter is defined for \(\mathbf{X}_{1}=(\boldsymbol{\xi}_{1},\boldsymbol{\eta}_{1})^{T}\) and \(\mathbf{X}_{2}=(\boldsymbol{\xi}_{2},\boldsymbol{\eta}_{2})^{T}\) as \(\mathbf {X}_{1}\odot \mathbf{X}_{2}=\boldsymbol{\xi}_{1}^{T}\boldsymbol{\eta}_{2}+\boldsymbol{\eta }_{1}^{T}\boldsymbol{\xi}_{2}\). Two screws are said to be reciprocal if \(\mathbf{X}_{1}\odot\mathbf{X}_{2}=0\). Obviously, if twists and wrenches are represented consistently with the same definition of screw coordinates, then a twist and wrench screws being reciprocal means that they perform no work. Geometrically, for zero pitch screws, this means that the screw axes intersect.
In screw theory, wrench screws are called coscrews to distinguish them from motion screws and to indicate that a wrench acts on a motion screw (a twist) as a linear operator that returns work or power. Since twists form the Lie algebra \(\mathit{se} ( 3 ) \), wrenches form the dual \(\mathit{se}^{\ast} ( 3 ) \).
Appendix C: Nomenclature
- \(\mathcal{F}_{0}\) :
-
IFR
- \(\mathcal{F}_{i}\) :
-
BFR of body \(i\)
- \(\mathcal{J}_{i,i}\) :
-
JFR for joint \(i\) at body \(i\), joint \(i\) connects body \(i\) with its predecessor body \(i-1\)
- \(\mathcal{J}_{i-1,i}\) :
-
JFR for joint \(i\) at body \(i-1\)
- \({^{i}}\mathbf{r}\) :
-
Coordinate representation of a vector resolved in BFR on body \(i\). The index is omitted if this is the IFR: \(\mathbf{r}\equiv {^{0}}\mathbf{r}\)
- \(\mathbf{R}_{i}\) :
-
Rotation matrix from BFR \(\mathcal{F}_{i}\) at body \(i\) to IFR \(\mathcal{F}_{0}\)
- \(\mathbf{R}_{i,j}\) :
-
Rotation matrix transforming coordinates resolved in BFR \(\mathcal{F}_{j}\) to coordinates resolved in \(\mathcal{F}_{i}\)
- \(\mathbf{r}_{i}\) :
-
Position vector of origin of BFR \(\mathcal {F}_{i}\) at body \(i\) resolved in IFR \(\mathcal{F}_{0}\)
- \(\mathbf{r}_{i,j}\) :
-
Position vector from origin of BFR \(\mathcal{F}_{i}\) to origin of BFR \(\mathcal{F}_{j}\)
- \(\widetilde{\mathbf{x}}\) :
-
skew symmetric matrix associated with the vector \(\mathbf{x}\in{\mathbb{R}}^{3}\)
- \(C_{i}= ( \mathbf{R}_{i},\mathbf{r}_{i} ) \) :
-
Absolute configuration of body \(i\). This is denoted in matrix form by \(\mathbf{C}_{i}\)
- \(\mathbf{C}_{i,j}=\mathbf{C}_{i}^{-1}\mathbf{C}_{j}\) :
-
Relative configuration of body \(j\) w.r.t. body \(i\)
- \({^{k}}\mathbf{v}{_{i}^{j}}\) :
-
Translational velocity of body \(i\) measured at origin of BFR \(\mathcal{F}_{j}\), resolved in BFR \(\mathcal{F}_{k}\)
- \(\mathbf{v}_{i}^{\text{b}}\equiv{^{i}}\mathbf{v}{_{i}^{i}}\) :
-
Body-fixed representation of the translational velocity of body \(i\)
- \(\mathbf{v}_{i}^{\text{s}}\equiv{^{0}}\mathbf{v}{_{i}^{0}}\) :
-
Spatial representation of the translational velocity of body \(i\)
- \({^{k}}\boldsymbol{\omega}{_{i}}\) :
-
Angular velocity of body \(i\) measured and resolved in BFR \(\mathcal{F}_{k}\)
- \(\boldsymbol{\omega}{_{i}^{\text{b}}}\equiv{^{i}}\boldsymbol{\omega}{_{i}}\) :
-
Body-fixed representation of the angular velocity of body \(i\)
- \(\boldsymbol{\omega}{_{i}^{\text{s}}}\equiv{^{0}}\boldsymbol{\omega}{_{i}}\) :
-
Spatial representation of the angular velocity of body \(i\)
- \({^{k}}\mathbf{V}{_{i}^{j}}\) :
-
Twist of (RFR of) body \(i\) measured in \(\mathcal{F}_{j}\) and resolved in \(\mathcal{F}_{k}\)
- \(\mathbf{V}_{i}^{\text{b}}\equiv{^{i}}\mathbf{V}{_{i}^{i}}\) :
-
Body-fixed representation of the twist of body \(i\)
- \(\mathbf{V}{_{i}^{\text{s}}}\equiv{^{0}}\mathbf{V}{_{i}^{0}}\) :
-
Spatial representation of the twist of body \(i\)
- \(\mathbf{V}_{i}^{\text{h}}\equiv{^{0}}\mathbf{V}{_{i}^{i}}\) :
-
Hybrid form of the twist of body \(i\)
- :
-
Vector of system twists in body-fixed representation
- :
-
Vector of system twists in spatial representation
- :
-
Vector of system twists in hybrid representation
- :
-
Vector of system twists in mixed representation
- \(\mathbf{W}_{i}^{\text{b}}\) :
-
Applied wrench at body \(i\) in body-fixed representation
- \(\mathbf{W}_{i}^{\text{s}}\) :
-
Applied wrench at body \(i\) in spatial representation
- \(\mathbf{W}_{i}^{\text{h}}\) :
-
Applied wrench at body \(i\) in hybrid representation
- \(\mathbf{M}_{i}^{\text{b}}\) :
-
Inertia matrix of body \(i\) in body-fixed representation
- \(\mathbf{M}_{i}^{\text{s}}\) :
-
Inertia matrix of body \(i\) in spatial representation
- \(\mathbf{M}_{i}^{\text{h}}\) :
-
Inertia matrix of body \(i\) in hybrid representation
- \(\mathbf{Ad}_{\mathbf{R}}\) :
-
Screw transformation associated with \(C= ( \mathbf{R},\mathbf{0} ) \)
- \(\mathbf{Ad}_{\mathbf{r}}\) :
-
Screw transformation associated with \(C= ( \mathbf{I},\mathbf{r} ) \)
- \(\mathbf{Ad}_{\mathbf{C}_{i,j}}\) :
-
Transformation matrix transforming screw coordinates represented in \(\mathcal{F}_{j}\) to screw coordinates represented in \(\mathcal{F}_{i}\)
- \(\mathbf{ad}_{\mathbf{X}}\) :
-
Screw product matrix associated with screw coordinate vector \(\mathbf{X}\in{\mathbb{R}}^{6}\)
- \({[ \mathbf{X},\mathbf{Y} ]} \) :
-
Lie bracket of screw coordinate vectors \(\mathbf{X},\mathbf{Y}\in{\mathbb{R}}^{6}\); \([ \mathbf{X},\mathbf{Y} ] =\mathbf{ad}_{\mathbf{X}}\mathbf{Y}\)
- \(\widehat{\mathbf{X}}\in \mathit{se} ( 3 ) \) :
-
\(4\times4\) matrix associated with the screw coordinate vectors \(\mathbf{X}\in{\mathbb{R}}^{6}\)
- \(\mathit{SE} ( 3 ) \) :
-
Special Euclidean group in three dimensions—Lie group of rigid body motions
- \(\mathit{se} ( 3 ) \) :
-
Lie algebra of \(\mathit{SE} ( 3 ) \), algebra of screws
- \(\mathbf{q}\in{\mathbb{V}}^{n}\) :
-
Joint coordinate vector
- \({\mathbb{V}}^{n}\) :
-
Configuration space
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Müller, A. Screw and Lie group theory in multibody dynamics. Multibody Syst Dyn 42, 219–248 (2018). https://doi.org/10.1007/s11044-017-9583-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-017-9583-6