1 Introduction

Technical systems are modeled as constrained or restrained systems of rigid or flexible bodies, i.e. as a multibody system (MBS). An approach frequently used is the so-called ’absolute coordinate formulation’ where the Newton-Euler equations of individual bodies are formulated and subjected to constraint and interaction forces [1, 29, 31]. The corresponding numerical model is a system of differential-algebraic equations (DAE) of index 3 that is commonly transformed to an index 1 DAE and solved numerical using ODE integration methods. This inevitably leads to constraint violation that are of the order of the accuracy of the integration scheme. Various constraint stabilization methods were introduced to remedy this problem [4, 20].

In MBS dynamics [1, 29, 31] the configuration space (c-space) of the rigid body is historically treated as the direct product Lie group \(\textit{SO}\,(3) \times {\mathbb {R}}^{3}\). This may not be stated explicitly but is implied by the decoupled parameterization of rotations and translations. Rigid body motions are screw motions, however. Hence the proper rigid body c-space is the semidirect product \(\textit{SE}\,(3) =\textit{SO}\,(3) \ltimes {\mathbb {R}}^{3}\)—the group of isometric and orientation preserving transformations of Euclidean space, called the special Euclidean group in three dimensions. Moreover, only this c-space ensures frame invariance of the motion equations [9].

There is a recent awareness that the use of an appropriate geometric model of rigid body motions is crucial for the numerical performance, mainly motivated by the development of Lie group integration schemes for MBS [12]. It has also been observed that the constraint satisfaction varies dramatically for either choice of c-space [23] . Moreover, it is crucial to observe that this applies to any integration scheme, i.e. equally to the (vector space) integration schemes commonly used in MBS dynamics. This issue has not yet been addressed systematically. In [23] the consequences of using the direct and semidirect product group has been analyzed for MBS by means of numerical simulations. It is important to notice that this

In this note the case of a single constrained rigid body is considered, which allows for a concrete statement. It will be shown that constraints are exactly satisfied, if they constrain the body’s motion to a c-space subgroup. Noting that only subgroups of \(\textit{SE}\,(3) \) are relevant for MBS modeling, including lower kinematic (Reuleaux) pairs, \(\textit{SE}\,(3) \) is deemed the appropriate c-space for numerical analysis.

2 Problem statement

The motion of a rigid body can be represented as a curve \(C\left( t\right) \) in a 6-dimensional Lie group G –the body’s c-space. Its velocity can be defined as left-invariant vector field \(V=C^{-1}\dot{C}\in {\mathfrak {g}}\). The latter can be represented by a vector \({\mathbf {V}}\in {{\mathbb {R}}}^{6}\) comprising the angular and translational velocity (see Sect. 3). The momentum vector \(\varvec{\Pi }=\mathbf {MV}\in {\mathfrak {g}}^{*}\) is then defined with the body-fixed inertia matrix \(\mathbf {M}\). The velocity as well as the corresponding Hamiltonian is left-invariant. The dynamics of a free rigid body is thus governed by the Euler-Poincaré equations [22]

$$\begin{aligned} \dot{\varvec{\Pi }}-{\mathbf {ad}}_{{\mathbf {V}}}^{T}\varvec{\Pi }=\mathbf {0} \end{aligned}$$
(1)

on \({\mathfrak {g}}^{*}\). These are the Newton-Euler equations according to the geometric model of rigid body motions encoded in G. The solution of (1) is the velocity respectively momentum evolution. The actual motion is the solution of the (left) Poisson equations \(\dot{C}=CV\), that will be referred to as the kinematic reconstruction equations [22].

Let the body be subjected to m geometric constraints \(h\left( C\right) = \mathbf {0}\), with constraint mapping \(h:G\rightarrow {\mathbb {R}}^{m}\). The corresponding velocity constraints can be expressed as \({\mathbf {J}}\left( C\right) {\mathbf {V}}=\mathbf {0}\), where \({\mathbf {J}}\) is the left-trivialized tangent mapping of h referred to as constraint Jacobian. The equations of motion (EOM) of the constrained rigid body attain the form

$$\begin{aligned} \dot{\varvec{\Pi }}-{\mathbf {ad}}_{{\mathbf {V}}}^{T}\varvec{\Pi }+{\mathbf {J}}^{T} \lambda&=\mathbf {W}\left( C\right) \end{aligned}$$
(2a)
$$\begin{aligned} \dot{C}&=CV\ \end{aligned}$$
(2b)
$$\begin{aligned} h\left( C\right)&=\mathbf {0} \end{aligned}$$
(2c)

with applied forces \(\mathbf {W}\in {\mathfrak {g}}^{*}\) and Lagrange multipliers \({\lambda }\in {\mathfrak {g}}^{*}\). This is an index 3 DAE system on the state space \(G\times {\mathfrak {g}}\) (using C and \(\mathbf { V}\) as variables).

In many practically significant situations the constraints define a subgroup, i.e. \(H=h^{-1}\left( \mathbf {0}\right) \) is a subgroup of G. In this case H can be used as c-space and the dynamics is governed by the unconstrained equations

$$\begin{aligned} \dot{\varvec{\Pi }}-{\mathbf {ad}}_{{\mathbf {V}}}^{T}\varvec{\Pi }&=\mathbf {W} \left( C\right) \end{aligned}$$
(3a)
$$\begin{aligned} \dot{C}&=CV \end{aligned}$$
(3b)

on the state space \(H\times \mathfrak {h}\). A prominent example is the heavy top where \(H=SO\left( 3\right) \). This has been the standard example for Lie group integration schemes applied to the rigid body [24, 25, 27].

The solution of (2b) has the form \(C\left( t\right) =C_{0}\exp {\mathbf {X}}\left( t\right) \), where \({\mathbf {X}}\left( t\right) \) is a curve in \({\mathfrak {g}}\), and \(C_{0}\in G\) the initial value. Thus the kinematic reconstruction equations (2b) on G can be replaced by the system \( {\mathbf {V}}=\mathrm {dexp}_{-{\mathbf {X}}}({\dot{\mathbf {X}}})\) on \({\mathfrak {g}}\). This is the basic idea behind the Munthe-Kaas (MK) method [17, 19, 24, 25], for instance.

It is a common approach in MBS dynamics [1, 31] to transform the system (2a2c) to an index 1 DAE (see (18) below) that gives rise to an ODE of the form

$$\begin{aligned} {\dot{\mathbf {V}}}&=F\left( {\mathbf {X}},{\mathbf {V}}\right) \end{aligned}$$
(4a)
$$\begin{aligned} {\dot{\mathbf {X}}}&=\mathrm {dexp}_{-{\mathbf {X}}}^{-1}({\mathbf {V}}). \end{aligned}$$
(4b)

This is an ODE on the vector space \({\mathbb {R}}^{6}\times {\mathbb {R}}^{6}\) (identifying \({\mathfrak {g}}\) with \({\mathbb {R}}^{6}\)), which can be solved with any numerical integration method. Moreover it splits into the system (4a) on \({\mathbb {R}}^{6}\) and the system (4b) on the Lie algebra \({\mathfrak {g}}\).

So far no particular c-space Lie group G is specified. The c-space Lie group, i.e. the geometric model of rigid body motions, determines (1) the explicit form of the Euler-Poincaré equations, and (2) the dexp mapping, i.e. the kinematic reconstruction equations. Moreover, (4b) is a system on the Lie algebra \({\mathfrak {g}}\), and thus specific to the c-space. The following question is addressed in the remainder of this note:

Problem

How does the choice of c-space Lie group affect the preservation of the constraint manifold \(h^{-1}\left( \mathbf {0}\right) \) when numerically integrating the rigid body model (4a, 4b)?

3 Two choices of configuration space

The configuration of a rigid body is given by \(C=\left( {\mathbf {R}},{\mathbf {r}} \right) \), where \({\mathbf {R}}\in \textit{SO} \left( 3\right) \) represents the orientation of a body-fixed reference frame (RFR) w.r.t. a spatial inertial frame (IFR), and \({\mathbf {r}}\in {\mathbb {R}}^{3}\) is the position vector expressed in this frame. Two choices for the c-space are used in the literature that will be considered: (1) the direct product Lie group \( SO\,( 3) \times {\mathbb {R}}^{3}\), and (2) the semidirect product \( SE\,(3) =SO\,(3) \ltimes {\mathbb {R}}^{3}\) –the special Euclidean group in three dimensions [30].

In the following \(\varvec{\widehat{{\xi }}}\in so\left( 3\right) \) denotes the skew symmetric matrix associated to the vector \({\xi }\in {\mathbb {R}} ^{3}\). With slight abuse of notation the vector will be referred to as an element of \(so\left( 3\right) \). The right-translated differential \(\mathrm { dexp}:{\mathfrak {g}}\times {\mathfrak {g}}\rightarrow {\mathfrak {g}}\) of the exp mapping on G is defined as \(\mathrm {dexp}_{{\mathbf {X}}}({\dot{\mathbf {X}}})= \dot{C}C^{-1}\), with \(C=\exp {\mathbf {X}}\), which implies \(\mathrm {dexp}_{- {\mathbf {X}}}({\dot{\mathbf {X}}})=C^{-1}\dot{C}\).

3.1 Direct product lie group \(SO\left( 3\right) \times {\mathbb {R}} ^{3} \)

The direct product group is traditionally used as c-space in MBS dynamics [31]. This stems from the notion that rotations and translations are independent, and is also reflected by the decoupled parameterization of C in terms of rotation parameters (angles, angle-axis) and position vector. The group multiplication is

$$\begin{aligned} C_{1}\cdot C_{2}=({\mathbf {R}}_{1}{\mathbf {R}}_{2},{\mathbf {r}}_{1}+{\mathbf {r}}_{2}) \end{aligned}$$
(5)

and the inverse element is \(C^{-1}=({\mathbf {R}}^{T},-{\mathbf {r}})\). The group is generated by its Lie algebra \(so\left( 3\right) \times {\mathbb {R}}^{3}\), with elements \({\mathbf {X}}=\left( \varvec{{\xi }},{\mathbf {r}}\right) \), via the exponential mapping

$$\begin{aligned} {\mathbf {X}}=\left( \varvec{{\xi }},{\mathbf {r}}\right) \longmapsto \exp {\mathbf {X}} =(\exp \varvec{\widehat{{\xi }}},{\mathbf {r}}), \end{aligned}$$
(6)

where \(\exp \widehat{{\xi }}\) is the exponential on \(SO\,( 3) \) [30]. The configuration of a rigid body is thus parameterized by the scaled rotation axis \({\xi }\) and the displacement vector \({\mathbf {r}}\). The Lie bracket on \(so\,(3) \times {\mathbb {R}}^{3}\) is

$$\begin{aligned} \left[ {\mathbf {X}}_{1},{\mathbf {X}}_{2}\right] =\left( \varvec{{\xi }}_{1}\times \varvec{{\xi }}_{2},\mathbf {0}\right) . \end{aligned}$$
(7)

This can be expressed as \({\mathbf {ad}}_{{\mathbf {X}}_{1}}{\mathbf {X}}_{2}\) with matrix

$$\begin{aligned} {\mathbf {ad}}_{{\mathbf {X}}}=\left( \begin{array}{cc} \varvec{\widehat{{\xi }}} &{}\quad \ \ \mathbf {0} \\ \mathbf {0} &{}\quad \ \ \mathbf {0} \end{array} \right) . \end{aligned}$$
(8)

The rigid body velocity \(V^{\mathrm{m}}:=C^{-1}\dot{C}\in so\left( 3\right) \times {\mathbb {R}}^{3}\), that reads in vector form \({\mathbf {V}}^{\mathrm{m}}=( \varvec{{\omega }^{\mathrm{b}}},{\dot{\mathbf {r}}})\), is referred to as the mixed velocity since it consists of the body-fixed angular velocity \({\omega }^{\mathrm{b}}\) and the translational velocity \({\dot{\mathbf {r}}} \) expressed in the spatial IFR. This is commonly used in MBS dynamics [31].

The right-translated differential of the exp mapping is in matrix form

$$\begin{aligned} {{\mathbf {dexp}}}_{{\mathbf {X}}}{\dot{\mathbf {X}}}=\left( \begin{array}{cc} {\mathbf {dexp}}_{{\xi }} &{}\quad \ \ \mathbf {0}\\ \mathbf {0} &{}\quad \ \ \mathbf {I} \end{array} \right) \end{aligned}$$
(9)

so that \({\mathbf {V}}^{\mathrm{m}}={\mathbf {dexp}}_{-{\mathbf {X}}}{\dot{\mathbf {X}}}\) for \(C=\exp {\mathbf {X}}\in \textit{SO}\,(3) \times {\mathbb {R}}^{3}\). Therein

$$\begin{aligned} {\mathbf {dexp}}_{\varvec{{\xi }}}=\frac{1}{\left\| \varvec{{\xi }}\right\| ^{2}} \big [(\mathbf {I}-\exp \varvec{\widehat{{\xi }}})\varvec{\widehat{{\xi }}}+ \varvec{{\xi \xi }}^{T} \big ] \end{aligned}$$
(10)

is the matrix form of the dexp mapping on \(\textit{SO}\,(3) \) [30]. The inverse, required in (4b), is

$$\begin{aligned} {\mathbf {dexp}}_{\varvec{{\xi }}}^{-1}=\mathbf {I}-\frac{1}{2}\varvec{\widehat{{ \xi }}}+\left( 1-\frac{\left\| \varvec{{\xi }}\right\| }{2}\cot \frac{ \left\| \varvec{{\xi }}\right\| }{2}\right) \frac{\varvec{\widehat{{\xi }}} ^{2}}{\left\| \varvec{{\xi }}\right\| ^{2}}. \end{aligned}$$
(11)

In order to decouple the Newton and Euler equations, the RFR is located at the center of mass (COM). With the body-fixed inertia matrix \(\mathbf {M} =\left( \begin{array}{cc} \varvec{\Theta }_{0} &{}\quad \mathbf {0} \\ \mathbf {0} &{}\quad m\mathbf {I} \end{array} \right) \), where \(\varvec{\Theta }_{0}\) is the inertia tensor w.r.t. the COM, the mixed momentum vector is \(\varvec{\Pi }^{\mathrm{m}}=\mathbf {MV }^{\mathrm{m}}=\left( \varvec{\Theta }_{0}\varvec{{\omega }^{\mathrm{b}}},m\dot{ {\mathbf {r}}}\right) \in so^{*}\,( 3) \times {{\mathbb {R}}}^{3}\). The corresponding Euler-Poincaré equations (1) are, with (8), explicitly

$$\begin{aligned} \varvec{\Theta }_{0}{\dot{\omega }}^{\mathrm{b}}+\varvec{{\omega }^{ \text {b}}}\times \varvec{\Theta }_{0}{\omega }^{\mathrm{b}}= & {} \mathbf {0} \nonumber \\ m{\dot{\mathbf {r}}}= & {} \mathbf {0}. \end{aligned}$$
(12)

These are indeed the decoupled Newton-Euler equations w.r.t. the COM. This decoupling of rotations and translations prevails as apparent from (5), (8), and (9).

The mixed velocity and momentum are left-invariant w.r.t. actions of \( SO\,( 3) \times {\mathbb {R}}^{3}\). The latter are not proper frame transformations. Moreover, the equations (12) cannot be transformed to another RFR by means of actions \(SO\,( 3) \times { {\mathbb {R}}}^{3}\). This already indicates that the latter is not a proper rigid body c-space.

3.2 Special euclidean group \(\textit{SE}\,(3) \)

Although being independent, rigid body rotations and translations are not decoupled. Moreover a rigid body motion is a screw motion belonging to \( SE\left( 3\right) \), and this is hence the proper rigid body c-space. This is reflected in the group multiplication \(C_{2}\cdot C_{1}=\left( {\mathbf {R}} _{2}{\mathbf {R}}_{1},{\mathbf {r}}_{2}+{\mathbf {R}}_{2} {\mathbf {r}}_{1}\right) \) that describes frame transformations. The inverse element is \(C^{-1}=\left( {\mathbf {R}},-{\mathbf {R}}^{T}{\mathbf {r}}\right) \). The Lie algebra \(se\,( 3) =so\,( 3) \ltimes {\mathbb {R}}^{3}\) consists of elements of the form \({\mathbf {X}}=\left( \varvec{{\xi }},\varvec{{\eta }}\right) \), and is equipped with the Lie bracket (screw product) \(\left[ {\mathbf {X}}_{1},{\mathbf {X}}_{2}\right] =\left( \varvec{{\xi }}_{1}\times \varvec{{\xi }}_{2},\varvec{{\xi }} _{1}\times {\varvec{\eta } }_{2}-\varvec{{\xi }}_{2}\times \varvec{{\eta }} _{1}\right) \) [30]. The latter can be expressed as \(\left[ {\mathbf {X}} _{1},{\mathbf {X}}_{2}\right] ={\mathbf {ad}}_{{\mathbf {X}}_{1}}{\mathbf {X}}_{2}\), with the matrix

$$\begin{aligned} {\mathbf {ad}}_{{\mathbf {X}}}=\left( \begin{array}{cc} \varvec{\widehat{{\xi }}} &{}\quad \ \ \mathbf {0} \\ \varvec{\widehat{{\eta }}} &{}\quad \ \ \varvec{\widehat{{\xi }}} \end{array} \right) . \end{aligned}$$
(13)

The exponential mapping attains, with (10), the explicit form

$$\begin{aligned} {\mathbf {X}}=\left( \varvec{{\xi }},\varvec{{\eta }}\right) \longmapsto \exp \widehat{{\mathbf {X}}}{}=(\exp \varvec{\widehat{{\xi }}},{\mathbf {dexp}}_{{ \xi }}\varvec{{\eta }}). \end{aligned}$$
(14)

Therewith the rigid body configuration is parameterized in terms of screw coordinates \({\mathbf {X}}\in se\,( 3) \).

The velocity \(V^{\mathrm{b}}=C^{-1}\dot{C}\in se\,( 3) \) is called the body-fixed velocity screw (also called body-twist). In vector form \({\mathbf {V}}^{\mathrm{b}}=(\varvec{{\omega }}^{\mathrm{b}},\mathbf {v}^{ \text {b}})\), where \(\mathbf {v}^{\mathrm{b}}={\mathbf {R}}^{T}{\dot{\mathbf {r}}}\) is the body-fixed translational velocity.

The right-translated differential of exp possesses different representations in matrix form as e.g. reported in [8, 28], so that \({\mathbf {V}}^{\mathrm{b}}={\mathbf {dexp}}_{-{\mathbf {X}}}{\dot{\mathbf {X}}}\) for \(C=\exp {\mathbf {X}}\in SE\,( 3) \). The inverse of dexp in matrix form has been derived in [30]. A computationally efficient form is reported in [8, 28]

$$\begin{aligned} {\mathbf {dexp}}_{{\mathbf {X}}}^{-1}=\left( \begin{array}{cc} {\mathbf {dexp}}_{\varvec{{\xi }}}^{-1} &{}\quad \mathbf {0}\\ \mathbf {U} &{}\quad {\mathbf {dexp}}_{\varvec{{\xi }}}^{-1} \end{array} \right) \end{aligned}$$
(15)

with

$$\begin{aligned} \mathbf {U}\left( {\mathbf {X}}\right) =\frac{1-\gamma }{\left\| \varvec{{\xi }} \right\| ^{2}}\left( \varvec{\widehat{{\eta }}}\varvec{\widehat{{\xi }}}+ \varvec{\widehat{{\xi }}}\varvec{\widehat{{\eta }}}\right) +\frac{p}{\left\| \varvec{{\xi }}\right\| ^{3}}\left( \frac{1}{\beta }+\gamma -2\right) \varvec{\widehat{{\xi }}}^{2}-\frac{1}{2}\varvec{\widehat{{\eta }}} \end{aligned}$$
(16)

and \(\gamma :=\frac{2}{\left\| \varvec{{\xi }}\right\| }\cot \frac{ \left\| \varvec{{\xi }}\right\| }{2}\), \(\alpha :=\frac{2}{\left\| \varvec{{\xi }}\right\| }\sin \frac{\left\| \varvec{{\xi }}\right\| }{2} \cos \frac{\left\| \varvec{{\xi }}\right\| }{2},\beta :=\frac{4}{ \left\| \varvec{{\xi }}\right\| ^{2}}\sin ^{2}\frac{\left\| \varvec{{ \xi }}\right\| }{2}\). Here \(\mathbf p :=\varvec{{\xi }}\cdot {\varvec{\eta }} /\left\| {\varvec{\xi }}\right\| ^{2}\) is the pitch of the screw.

With the left-invariant body-fixed momentum screw \(\varvec{\Pi }^{\mathrm{b}}= \mathbf {MV}^{\mathrm{b}}=(\varvec{\Theta }_{0}\varvec{{\omega }}^{\mathrm{b}},m \mathbf {v}^{\mathrm{b}})\in se^{*}\) (3a, 3b) the dynamics of the rigid body is governed by the Euler-Poincaré equations (1) that, with (13), are the body-fixed Newton-Euler equations

$$\begin{aligned} \varvec{\Theta }_{0}{\dot{\omega }}^{\mathrm{b}}+{\omega }^{ \text {b}}\times \varvec{\Theta }_{0}{\omega }^{\mathrm{b}}= & {} \mathbf {0} \nonumber \\ m\dot{\mathbf {v}}^{\mathrm{b}}+m{\omega }\times \mathbf {v}^{\mathrm{b}}= & {} \mathbf {0}. \end{aligned}$$
(17)

4 Constraint satisfaction in numerical time integration of the index 1 DAE

4.1 The associated index 1 DAE

Consider the single rigid body with motion equations (2a2c). Following the standard method in MBS dynamics, this is reformulated as index 1 DAE [1, 29, 31]

$$\begin{aligned} \left( \begin{array}{cc} \mathbf {M} &{}\quad {\mathbf {J}}^{T} \\ {\mathbf {J}} &{}\quad \mathbf {0} \end{array} \right) \left( \begin{array}{c} {\dot{\mathbf {V}}} \\ \varvec{{\lambda }} \end{array} \right) =\left( \begin{array}{c} {\mathbf {ad}}_{{\mathbf {V}}}^{T}\varvec{\Pi }+\mathbf {W} \\ \varvec{{\eta }} \end{array} \right) \end{aligned}$$
(18)

by complementing (2a) with the acceleration constraints, \({\mathbf {J}} \left( C\right) {\dot{\mathbf {V}}}={\eta }\left( C,{\mathbf {V}}\right) \). Then the system (18) is solved for \({\dot{\mathbf {V}}}\) (and \( {\lambda }\) as by-product), which yields an ODE of the form (4a). Then the ODE (4) is solved with a numerical (vector space) integration scheme.

4.2 Constraint satisfaction for a general C-space lie group

The constraints are satisfied during the integration as long as the configuration update step of the applied numerical integration scheme returns a configuration in \(h^{-1}\left( \mathbf {0}\right) \). It is well-known, however, that numerically solving (4a, 4b) with ODE integration schemes generally leads to violations of the (now hidden) geometric constraints (2c). To reduce this numerical drift, constraint stabilization methods have been proposed that either amend the motion equations [3, 20] or correct the numerical solution by projecting it to the constraint manifold \(h^{-1}\left( \mathbf {0} \right) \) [2, 4, 11, 32]. All these methods aim at minimizing or correcting, rather than avoiding, constraint violations.

The subsequent analysis of the constraint satisfaction makes use the parameterization of the rigid body configuration in terms of \({\mathbf {X}}\in {\mathfrak {g}}\). Denoting with \({\mathbf {X}}^{\left( i\right) }:={\mathbf {X}} \left( t_{i}\right) \), the configuration at time step \(t_{i}\) is \(C\left( t_{i}\right) =\exp {\mathbf {X}}^{\left( i\right) }\), with \({\mathbf {X}}^{\left( i\right) }={\mathbf {X}}^{\left( i-1\right) }+\varvec{\Phi }^{\left( i\right) }\). The increment \(\varvec{\Phi }^{\left( i\right) }\in {\mathfrak {g}} \) is found by numerically solving (4). To this end any explicit or implicit vector space integration scheme can be used.

A (possibly implicit) numerical integration scheme determines \(\varvec{\Phi } ^{\left( i\right) }\) by (usually) linear combination of the right hand side of (4b) evaluated at s intermediate time steps. The right hand side is given by the inverse of dexp, which possesses the series expansion

$$\begin{aligned} \mathrm {dexp}_{{\mathbf {X}}}^{-1}\left( \mathbf {Y}\right) =\sum _{i\ge 0}\frac{ B_{i}}{i!}\mathrm {ad}_{{\mathbf {X}}}^{i}\left( \mathbf {Y}\right) \end{aligned}$$
(19)

with the Bernoulli numbers \(B_{i}\). Hence the following assumption is feasible for the general class of integration schemes that construct the solution as linear combination of the right hand side of (4b).

Assumption 1

The configuration update increment is determined as

$$\begin{aligned} \varvec{\Phi }^{\left( i\right) }=\sum _{j=1}^{s}\sum _{r\ge 0}\alpha _{ij} {\mathbf {ad}}_{{\mathbf {V}}^{\left( j\right) }}^{r}{\mathbf {V}}^{\left( i\right) } \end{aligned}$$
(20)

denoting \({\mathbf {V}}^{\left( j\right) }:={\mathbf {V}}(t_{i-1}+c_{j}\varDelta t, \mathbf {q}_{j})\) with some real coefficients \(\alpha _{ij}\) and \(c_{j}\) specific to the integration scheme.

Also the numerically obtained solution \({\mathbf {V}}\left( t\right) \) of (4) does not necessarily satisfy the velocity constraints \({\mathbf {J}} \left( C\right) {\mathbf {V}}=\mathbf {0}\). This linear condition can be easily satisfied, however.

Assumption 2

It is assumed that the velocity \({\mathbf {V}}^{\left( j\right) }\) satisfies the kinematic constraints at all time steps \(t_{j}=t_{i-1}+c_{j}\varDelta t\).

This gives rise to the following.

Theorem 1

The kinematic motion constraints of a rigid body are satisfied by a configuration update step in terms of linear combinations of velocity samples \({\mathbf {V}}^{\left( j\right) }\), if the constraints restrict the body’s motion to a subgroup of its c-space Lie group.

Proof

With Assumption 2, the body velocities at the intermediate configurations belong to the subspace of \({\mathfrak {g}}\) defined by the velocity constraints. The r-fold nested Lie brackets \({\mathbf {ad}}_{{\mathbf {V}} ^{\left( j\right) }}^{r}{\mathbf {V}}^{\left( i\right) }\), \(r\ge 0\), in the construction (20) of \(\varvec{\Phi }^{\left( i\right) }\) form a basis for the smallest Lie subalgebra of \({\mathfrak {g}}\) comprising all \({\mathbf {V}} ^{\left( i\right) }\) at intermediate time steps \(t_{i-1}+c_{j}\varDelta t\). If the constraints restrict the motion to a subgroup \(H=h^{-1}\left( \mathbf {0} \right) \subset G\), and thus the velocities to the corresponding subalgebra of \({\mathfrak {g}}\), the brackets in terms of feasible velocities in (20) form a basis for this subalgebra. Consequently, \(\varvec{\Phi }^{\left( i\right) }\) belongs to the smallest Lie subalgebra of \({\mathfrak {g}}\) containing the constrained body velocity \({\mathbf {V}}\), and the configuration increment \(C\,( t_{i}) \) belongs to the corresponding subgroup of the c-space Lie group G, (occasionally called the completion group). Hence the constraints are satisfied regardless of the order and accuracy of the integration scheme. \(\square \)

4.3 Constraint satisfaction for \(SE\,( 3) \) and \(SO\,( 3) \times {{\mathbb {R}}}^{3}\)

The above theorem applies to arbitrary c-space Lie groups. Clearly the two c-space Lie groups of interest have different subgroups, and it is important to analyze which subgroups do actually correspond to practically relevant constraints. This is vital since traditionally all formulations for rigid body MBS use \(SO\,( 3) \times {\mathbb {R}}^{3}\) as c-space (at least implicitly by treating rotations and translations decoupled), whereas only a few formulations for flexible bodies employ \(SE\,( 3) \) such as [69]. Hence a legitimate question is whether using a proper rigid body c-space Lie group will alleviate or even eliminate constraint violations.

The motion of a rigid body is represented by the motion of its body-fixed RFR relative to the IFR, summarized as \(C=\left( {\mathbf {R}},{\mathbf {r}} \right) \).

The 10 subgroups of \(\textit{SE}\,(3) \) are listed in Table 1 (adopted from [30]), where also the corresponding lower kinematic pairs (Reuleaux pairs) are indicated. \(\textit{SE}\,(3) \) represents rigid body motions, i.e. screw motions, respecting the coupling of rotation and translation. This motion representation is invariant w.r.t. the change of RFR. For instance, if the RFR is located at the center of rotation, elements of \(\textit{SO}\,(3) \), as a \(\textit{SE}\,(3) \) subgroup, have the form \(C=\left( {\mathbf {R}}, \mathbf {0}\right) \). This is occasionally called the standard representation. For a general location of RFR, \(\textit{SO}\,(3) \) as a subgroup consists of elements \(C=\left( {\mathbf {R}},{\mathbf {r}}\right) \) such that there is a \(M\in \textit{SE}\,(3) \) that transforms them to the standard form via \(\textit{MCM}^{-1}\).

The 10 subgroups of the direct product \(\textit{SO}\,(3) \times {\mathbb {R}} ^{3}\) are listed in Table 2. It does not represent frame transformations. The translations are decoupled from the rotations. For instance, elements of the subgroup of rotations about a fixed pole have necessarily the form \(C=\left( {\mathbf {R}},\mathbf {0}\right) \), which is not a frame-invariant representation. That is, the RFR origin is always the center of rotation. The subscript ‘0’ in \(\textit{SO}_{0}\,( 3) \) in Table 2 signifies that pure rotations are always about the RFR origin. Consequently, the direct product cannot describe the screw motion of a body-fixed RFR at a generic location. Recall that commonly in MBS dynamics it is used as c-space model even though!

MBS models of technical systems predominantly comprise lower pair joints. Such joints constrain the motion to subgroups of \(\textit{SE}\,(3) \) (not of \(\textit{SO}\,(3) \times {\mathbb {R}}^{3}\)), corresponding to lower-dimensional screw motions. Then, if \(\textit{SE}\,(3) \) is used as c-space Lie group, \(H=h^{-1}\left( \mathbf {0}\right) \) is in fact a subgroup of the c-space. H is the isotropy group of the joint, i.e. the subgroup of motions leaving the contact surface of the joints invariant. Each of the six types of lower pairs corresponds to such a subgroup as indicated in Table 1. Consequently the joint constraints are satisfied by an \(\textit{SE}\,(3) \) update step if a rigid body is connected to the ground by a lower pair joint.

Corollary 1

The geometric constraints imposed on a rigid body by lower pair joints (and general restrictions to \(SE\,( 3) \) subgroups) are satisfied by a configuration update step in terms of linear combinations of velocity samples \({\mathbf {V}}^{\left( j\right) }\), if \(SE\,( 3) \) is used as c-space. Using \(SO\,( 3) \times {\mathbb {R}}^{3}\) the update satisfies constraints restricting to \(SE\,( 3) \) subgroups that are, as manifolds, identical to subgroups of \(SO\,( 3) \times {\mathbb {R}}^{3}\), i.e. planar motions, Schönflies motions, and pure translations.

Table 1 n-Dimensional subgroups of \(\textit{SE}\,(3)\)
Table 2 n-Dimensional subgroups of \(\textit{SO} (3)\times {\mathbb {R}}^3\)

Remark 1

Given the velocity of a motion in a \(SE\left( 3\right) \) subgroup. The \(SO\left( 3\right) \times {{\mathbb {R}}}^{3}\) update does not yield a configuration in that subgroup. For instance, the update step with a velocity \({\mathbf {V}}=\left( \varvec{{\omega }},\mathbf {v}\right) \in so\left( 3\right) \subset se\left( 3\right) \) leads to an independent rotational and translational increment, i.e. not in \(SO\left( 3\right) \).There are, however, two special cases where the update with both groups perform equal: planar and Schönflies motions. This is so because in \( SO\left( 2\right) \ltimes {\mathbb {R}}^{2}\) (planar motions) and \(SO\left( 2\right) \ltimes {\mathbb {R}}^{3}\) (Schönflies motions), the action of \( SO\left( 2\right) \) leaves \({{\mathbb {R}}}^{2}\) and \({{\mathbb {R}}}^{3}\) invariant, so that as manifolds they are identical to \(SO_{0} \left( 2\right) \times {\mathbb {R}}^{2}\) and \(SO_{0}\left( 2\right) \times {\mathbb {R}}^{3}\), respectively. Thus, for constraints restricting to these subgroups, updates with both c-spaces perform equally (see Sect. 5.4). The same applies to pure translations.

Remark 2

Corollary 1 does not regard the accuracy of the integration scheme. It rather says that the constraints are exactly satisfied regardless of the accuracy of the integration scheme or step size.

Remark 3

(Parameterization of \(SE\left( 3\right) \)) It was concluded that \(SE\left( 3\right) \) shall be used as c-space. The semidirect product requires according parameterization in terms of screw coordinates \({\mathbf {X}}\) in (14). This is different to what is currently used in MBS modeling. The main difference is that the translation vector is not used as coordinate but is determined by the screw coordinates.

Remark 4

(Relevance for Lie group integration methods) The ODE system (4) arose from replacing \(\dot{C}=CV\) by \({\mathbf {dexp}} _{-{\mathbf {X}}}{\dot{\mathbf {X}}}\), in order to analyze the standard vector space integration schemes used in MBS dynamics. Resorting to the original equation leads to the ODE

$$\begin{aligned} {\dot{\mathbf {V}}}&=F\left( {\mathbf {X}},{\mathbf {V}}\right) \end{aligned}$$
(21a)
$$\begin{aligned} \dot{C}&=CV. \end{aligned}$$
(21b)

This is an ODE on the state space Lie group \(G\times {\mathbb {R}}^{6}\). Hence Lie group integration schemes like the MK scheme [24, 25], or the schemes adopting the Newmark and generalized \(\alpha \) scheme to the Lie group setting of constrained rigid body dynamics [12, 13] can be applied. Since these schemes use (local) canonical coordinates (of first kind) to express the configuration update via the exponential mapping, the above corollary also apply to the Lie group integration methods. In particular, MK schemes solve the substitute Eq. (4b).

Fig. 1
figure 1

Assignment of IFR and RFR, and kinematics of the a spherical joint, and b revolute joint

5 Examples

A few examples are presented that illustrate the above discussion. In all examples the rigid body is a rectangular aluminum solid with side lengths \( 0.3\times 0.15\times 0.05\) m. The body-fixed RFR is located at the COM, as shown in Fig. 1a). Its mass is \(m=6.075\) kg, and its inertia tensor w.r.t. the COM is \(\varvec{\Theta }_{0}=\mathrm {diag} ~(0.0126563,0.0468281,0.0569531)\hbox {kg}\,\hbox {m}^{2}\). In the following results are presented for some lower pair joints and a higher kinematic pair. The respective joint connects the body to the IFR at the ground. The joint is located on the body at the point \(\mathbf {p}=\left( -0.15,0.0375,0\right) \)m expressed in the body-fixed RFR.

The EOM (4a, 4b) are evaluated by solving (18). The Newton-Euler equations therein depend on the c-space. These are (12) for the direct product (using mixed velocities), and (17) for the semidirect product c-space (using body-fixed twists). The constraints Jacobian \({\mathbf {J}}\) is joint specific.

The EOM (4a, 4b) were integrated for 10 s with an explicit 4th order Runge-Kutta (RK4) method using the three step sizes \( \varDelta t=10^{-2}\hbox {s},10^{-3}\hbox {s},10^{-4}\hbox {s}\). For all examples the initial configuration was \(C_{0}=(\mathbf {I},-\mathbf {p})\), as in Fig. 1a).

5.1 Spherical joint–heavy top

Connecting the body to the ground with a spherical joint (ball-and-socket joint) yields the model of a heavy top. The heavy top became the standard example for Lie group modeling and integration methods [5, 1217].

The spherical joint imposes the system of three position constraints

$$\begin{aligned} h\left( C\right) :={\mathbf {r}}+\mathbf {Rp}=\mathbf {0}. \end{aligned}$$
(22)

Differentiating twice w.r.t. time yields the acceleration constraints in terms of body-fixed twists \({\mathbf {V}}^{\mathrm{b}}=({\varvec{\omega }}^{\mathrm{b} },\mathbf {v}^{\mathrm{b}})\)

$$\begin{aligned} {\mathbf {J}}{\dot{\mathbf {V}}}^{\mathrm{b}}=\mathbf {R}(\varvec{\widehat{{\omega }}} \varvec{\widehat{{\omega }}}\mathbf {p}+\widehat{{\omega }}\mathbf {v}), \text { with }\mathbf {J}=\left( \begin{array}{cc} {\mathbf {R}}\widehat{\mathbf {p}}&\ \ -{\mathbf {R}} \end{array} \right) \end{aligned}$$
(23)

used in the \(SE\left( 3\right) \) model, and in terms of mixed velocities \( {\mathbf {V}}^{\mathrm{m}}=({\omega }^{\mathrm{b}},{\dot{\mathbf {r}}})\)

$$\begin{aligned} {\mathbf {J}}{\dot{\mathbf {V}}}^{\mathrm{m}}={\mathbf {R}}\varvec{\widehat{{\omega }}} \varvec{\widehat{{\omega }}}\mathbf {p},\text { with }\mathbf {J}=\left( \begin{array}{cc} {\mathbf {R}}\widehat{\mathbf {p}}&\ \ -\mathbf {I} \end{array} \right) \end{aligned}$$
(24)

used in the \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) model. The EOM were integrated with initial velocity \(\varvec{{\omega }}_{0}^{\mathrm{b}}=(2\pi ,\pi ,0.2\pi )\)rad/s.

The geometric constraints define the 3-dimensional constraint manifold \( H=h^{-1}\left( \mathbf {0}\right) \). This is the manifold of spherical displacements around the IFR origin. In \(SE\left( 3\right) \) this is the subgroup \(H=SO\left( 3\right) \subset SE\left( 3\right) \). But H is not a subgroup of \(SO\left( 3\right) \times {\mathbb {R}}^{3}\). It can only be a subgroup of the latter, if the body-fixed RFR is located at the rotation center. According to Corollary 1 the \(SE\left( 3\right) \) update should lead to exact constraint satisfaction while \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) could not. This is confirmed by the position error \( \varepsilon :=\left\| h\right\| \) shown in Fig. 2. The constraint satisfaction of the direct product formulation is dictated by the 4th order accuracy of the integration scheme.

Fig. 2
figure 2

Error in the spherical joint position constraints for a \( \textit{SO}\,(3)\times {{\mathbb {R}}^{3}}\), and b \(\textit{SE}\,(3)\)

5.2 Revolute joint

With the orientation of RFR shown in Fig. 1b, the joint axis is aligned with the 2-axis, and the revolute joint imposes the five geometric constraints

$$\begin{aligned} {\mathbf {r}}+\mathbf {Rp}= & {} \mathbf {0} \end{aligned}$$
(25)
$$\begin{aligned} R_{12}= & {} 0 \end{aligned}$$
(26)
$$\begin{aligned} R_{23}= & {} 0 \end{aligned}$$
(27)

where \({\mathbf {R}}=(R_{ij})\). The system of acceleration constraints in terms of body-fixed twists consists of (23) and the two constraints

$$\begin{aligned} \ddot{\omega }_{1}^{\mathrm{b}}= & {} 0 \end{aligned}$$
(28)
$$\begin{aligned} \ddot{\omega }_{3}^{\mathrm{b}}= & {} 0 \end{aligned}$$
(29)

where \(\varvec{{\omega }}^{\mathrm{b}}=(\omega _{1}^{\mathrm{b}},\omega _{2}^{ \text {b}},\omega _{3}^{\mathrm{b}})\). In terms of the mixed velocities the acceleration constraints consists of (24) and the two constraints (28), (29). The EOM were integrated with initial velocity \({\varvec{\omega }}_{0}^{\mathrm{b}}=(0,2\pi ,0)\)rad/s.

The revolute joint constraints define the subgroup \(H=SO\left( 2\right) \subset SE\left( 3\right) \) of rotations about a fixed axis. Since the axis does not pass through the origin of the RFR it is not a \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) subgroup. The consequences are apparent in Fig. 3. Both exactly satisfy the rotation constraints, since a solution of (18) only has non-zero components for rotations about the rotation axis.

Fig. 3
figure 3

Error in the revolute joint position constraints for a \( \textit{SO}\,(3)\times {{\mathbb {R}}^{3}}\), and b \(\textit{SE}\,(3)\)

5.3 Cylindrical joint

A cylindrical joint allows for rotation about and translation along a fixed axis. The RFR is allocated as for the revolute joint in Fig. 1a. The according system of four geometric constraints consists of the first and third equation of (25) and the two equations (26), (27). The system of acceleration constraints in terms of body-fixed twists consists of the first and third equation of (23) and the two constraints (28), (29). Using mixed velocities these are the first and third equation of (24) and (28), (29).

The EOM were integrated with initial velocity \({\varvec{\omega }}_{0}^{\mathrm{b} }=(0,2\pi ,0)\) rad/s and \(\mathbf {v}_{0}^{\mathrm{b}}={\dot{\mathbf {r}}} =\mathbf { p}\times {\omega }_{0}^{\mathrm{b}}+(0,1,0)\) m/s. The numerical results are the same as in Fig. 3 for the revolute joint. This is clear since the constraints define the direct product subgroup \( SO\left( 2\right) \times {\mathbb {R}}\) of \(SE\left( 3\right) \).

Fig. 4
figure 4

Kinematics of the a planar joint, b hook joint, and c pin-in-slot joint

5.4 Planar joint

A 3 degree-of-freedom (DOF) ’planar joint’ restricts the body to move on a plane, i.e. it can perform translations in the plane and independent rotations about an axis normal to the plane. Assigning the joint and RFR as in Fig. 4a, the body can move in the 1-2-plane of the IFR. The three geometric constraints are hence the third equation of (25) and the equations (26, 27). Accordingly, in terms of body-fixed twists, the acceleration constraints are the third equation of (23) together with (28, 29). In terms of mixed velocities, these are the third equation in (24) together with (28, 29).

The submanifold H, defined by the planar joint constraints, consists of all configurations the body can attain when it can be freely located in the plane. As explained in Remark 1 the update steps of both formulations shall lead to exact constraint satisfaction. This is confirmed by the simulation results. The constraints are satisfied regardless of the integration step size (therefore not shown here).

5.5 Hook joint

A hook joint allows for successive rotations about two (usually perpendicular) rotation axes. With the joint assignment in Fig. 4b the condition is that the 3-axis of the IFR and 2-axis of the body-fixed RFR are perpendicular, and these two define the rotation axes. The corresponding four geometric constraints are the three equations (25) and \(R_{23}=0\). The acceleration constraints are omitted for brevity. The EOM were integrated with initial velocity \({\varvec{\omega }} _{0}^{\mathrm{b}}=(0,\pi ,0.2\pi )\)rad/s.

The hook joint defines a 2-dimensional submanifold H of the subgroup of rotations about the IFR origin. There is no 2-dimensional subgroup of \( SO\left( 3\right) \). Thus H cannot be a subgroup of \(SE\left( 3\right) \) nor of \(SO\left( 3\right) \times {\mathbb {R}}^{3}\).

Figure 5 shows the expected dependence of the rotation error \(\varepsilon _{r}:=\left| R_{23}\right| \) on the step size. This dependence is also observed for the position constraints when using the \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) formulation (Fig. 6a). The \(SE\left( 3\right) \) update does, however, exactly satisfy position constraint (Fig. 6b). This can be explained by noting that points on the body are constrained to move on spheres centered at the intersection of the joint axes. In \(SE\left( 3\right) \) the completion group of the constrained rigid body velocities, i.e. the smallest subgroup containing H, is \(K=SO\left( 3\right) \). The orbit \(O_{x}=\{Cx|C\in K\}\) of a point \(x\in E^{3}\) on the body by K is a sphere centered at the joint center. Hence, the position constraints are respected.

Fig. 5
figure 5

Error in the hook joint rotation constraints for a \(SO(3)\times { {\mathbb {R}}^{3}}\), and b SE(3)

Fig. 6
figure 6

Error in the hook joint position constraints for a \(SO(3)\times { {\mathbb {R}}^{3}}\), and b SE(3)

Fig. 7
figure 7

Error in the pin-in-slot joint position constraints for a \( SO(3)\times {{\mathbb {R}}^{3}}\), and b SE(3)

5.6 Pin-in-slot joint

The pin-in-slot joint is a 2 DOF higher kinematic pair. According to the RFR in Fig. 4c the four geometric constraints are the second and third equation of (25) together with the equations (26, 27). The acceleration constraints for the body-fixed twist formulation are the second and third equation of (23) and the constraints (28, 29). In mixed velocity formulation, the acceleration constraints are the second and third equation of (24) together with the two equations (28, 29).

The joint does not define a motion subgroup, so that the \(SE\left( 3\right) \) update cannot respect the constraints. This also holds for \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) if a general RFR is used. This is confirmed in Fig. 7 where numerical results are shown for the initial velocities \(\varvec{{\omega }}_{0}^{\mathrm{b}}=(0,\pi ,0.2\pi )\) rad/s and \(\mathbf {v}_{0}^{\mathrm{b}}=\mathbf {p}\times \varvec{{\omega }}_{0}^{\mathrm{b }}+(1,0,0)~\hbox {m}\)/s.

In order to clarify the significance of RFR for the \(SO\left( 3\right) \times {\mathbb {R}}^{3}\) formulation, consider the case where the translation axis defined by the joint passes through the RFR at the COM, i.e. \(\mathbf {p} =\mathbf {0}\). Then the motions in fact define the subgroup \(SO_{0} \left( 2\right) \times {\mathbb {R}}\) of \(SO\left( 3\right) \times {\mathbb {R}} ^{3}\), and the constraints are exactly satisfied. The trivial numerical results are omitted.

6 Conclusion

Constrained MBS comprising rigid bodies are frequently modeled by a system of Newton-Euler equations subjected to the constraints due to geometric interconnections. This is commonly treated as index 1 DAE system, and numerically solved using ODE integration schemes. The classical MBS formulation uses decoupled rotation and translation parameters. The underlying geometric model is that of \(SO\left( 3\right) \times {\mathbb {R}} ^{3}\), although rigid body motions form the Lie group \(SE\left( 3\right) \). A major problem when integrating the index 1 formulation is the violation of constraints. It has been observed, however, that the c-space Lie group significantly affects the constraint satisfaction. This problem was here addressed for the single rigid body constrained to an inertial system. For the practically important case of lower pair joints, it is concluded that the constraints are exactly satisfied (independently of the integration scheme and accuracy) if \(SE\left( 3\right) \) is used as c-space Lie group. The practical implication of using \(SE\left( 3\right) \) as c-space is the use of screw coordinates \({\mathbf {X}}=\left( \varvec{{\xi }},\varvec{{\eta }} \right) \) as parameters, and coefficient matrices of the form (15) in the kinematic equations (4b) of the model. Although already thoroughly investigated and published [6, 8, 9, 21], the use of screw coordinates for MBS modeling has not yet found due attention.

The presented result is valid for the single rigid body constrained to an inertial frame. It cannot be immediately carried over to MBS. This shall be the topic of further research.