1 Introduction

Computational multibody system (MBS) dynamics aims at mathematical formulations and efficient computational algorithms for the kinetic analysis of complex mechanical systems. At the same time the modeling process is supposed to be intuitive and user friendly. Moreover, the efficiency of MBS algorithms and the complexity of the actual modeling process is largely determined by the way the kinematics is described. This concerns the core issues of representing rigid body motions and describing the kinematics of technical joints. Both issues can be addressed with concepts of screw and Lie group theory.

Spatial MBS perform complicated motions, and in general rigid bodies perform screw motions that form a Lie group. Although the theory of screw motions is well understood, screw theory has almost completely been ignored for MBS modeling with only a few exceptions. The latter can be grouped into two classes. The first class uses of the fact that the velocity of a rigid body is a screw, referred to as the twist. The propagation of twists within an MBS is thus described as a frame transformation of screw coordinates. This gave rise to the so-called “spatial vector” formulation introduced in [23, 24] and to the so-called “spatial operator algebra”, which was formalized in [64] and used for \(O ( n ) \) forward dynamics algorithms, for example, in [25, 32, 33, 38, 63, 65]. Screw notations are also used in the formulations presented in [5, 36, 37, 74]. Further MBS formulations were reported that use screw notations uncommon for the MBS community [26]. All these approaches only exploit the algebraic properties of screws as far as relevant for a compact handling of velocities, accelerations, wrenches, and inertia. The second class goes one step further by recognizing that finite motions form the Lie group \(\mathit{SE} ( 3 ) \) with the screw algebra as its Lie algebra \(\mathit{se} ( 3 ) \). Moreover, screw theory provides the geometric setting and Lie group theory the analytic foundation for an intuitive and efficient modeling of rigid body mechanisms. Some of the first publications reporting Lie group formulations of the kinematics of an open kinematic chain are [15, 28, 29] and [19, 20]. In this context the term product of exponentials (POE) is being used since Brockett used it in [15]. Unfortunately, these publications have not reached the MBS community, presumably because of the used mathematical concepts that differ from classical MBS formalisms. The basic concept is the exponential mapping that determines the finite relative motion of two adjacent bodies connected by a lower pair joint in terms of a screw associated with the joint. The product of the exponential mappings for all consecutive joints determines the overall motion of the chain. Within this formulation, twists are naturally represented as screws, and joint motions are described in terms of screw coordinates.

Motivated by [15], Lie group formulations for MBS dynamics were reported in a few publications, for example, [44, 46, 5660]. It should be mentioned that the basic elements of a screw formulation for MBS dynamics were already presented in [39] but did not receive due attention.

A crucial feature of these geometric approaches is their frame invariance, which allows for arbitrary representations of screws and for freely assigning reference frames, which drastically simplify the kinematics modeling and also provide a direct link to CAD models. Moreover, the POE, and thus the kinematics, can even be formulated without the use of any joint frame, which basically resembles the “zero reference” formulation reported for a robotic arm in [27]. On the other hand, classical approaches to the description of joint kinematics are the Denavit–Hartenberg (DH) [3, 22, 35] (in its different forms) and the Sheth–Uicker two-frame convention [69]. Such two-frame conventions are used in most of the current MBS dynamics simulations packages that use relative coordinates. The Lie group description, on the other hand, not only allows for arbitrary placement of joint frames but makes them dispensable altogether.

The benefits of geometric modeling have been recognized already in robotics. Recently, at least in robotics, the text books [40, 52, 67] have reached a wider audience. Modern approaches to robotics make extensive use of screw and Lie group theoretical concepts. This is, also supported by the Universal Robot Description Format (URDF) that is used, for instance, in the Robot Operating System (ROS), rather than DH parameters. In MBS dynamics the benefits of geometric mechanics are slowly being recognized. Interestingly, this mainly applies to the modeling of MBS with flexible bodies undergoing large deformations [8, 72]. This is not surprising since geometrically exact formulations require correct modeling of the finite kinematics of a continua. The displacement field of a Cosserat beam, for instance, is a proper motion in \(E^{3}\) and thus modeled as motion in \(\mathit{SE} ( 3 ) \). This is an extension of the original work on geometrically exact beams and shells by Simo [70, 71], where the displacement field is modeled on \(\mathit{SO} ( 3 ) \times{\mathbb{R}}^{3}\). Another topic where Lie group theory is recently applied in MBS dynamics is the time integration. To this end, Lie group integration schemes were modified and applied to MBS models in absolute coordinate formulation [17], where the motions of individual bodies are described as a general screw motion that are constrained according to the interconnecting joints. It shall be remarked that, despite the current trend to emphasize the use of Lie group (basic) concepts, the basics formulations for nonlinear flexible MBS were already reported by Borri et al. [1012].

The aim of this paper is to provide a comprehensive summary of the basic concepts for modeling MBS in terms of relative coordinates using joint screws and to relate them to existing formulations that are scattered throughout the literature. Without loss of generality the concepts are introduced for a kinematic chain within an MBS with arbitrary topology [34, 45]. It is also the aim to show that MBS can be modeled in a user-friendly way without having to follow restrictive modeling conventions and that this gives rise to \(O ( n ) \) formulations. The latter are not the topic of this paper.

The paper is organized as follows. In Sect. 2, the MBS configuration is described in terms of joint variables, used as generalized coordinates, with the joint geometry parameterized by joint screw coordinates. This classical approach of using body-fixed joint frames to describe relative configurations is extended to a formulation that does not involve joint frames. The corresponding relations for the MBS velocity are derived in Sect. 3. A formulation is introduced for each of the four different definitions of rigid body twists found in the literature. The latter are called the body-fixed, spatial, hybrid, and mixed twists. They differ by the reference point used to measure the velocity and by the frame in which the angular and translational velocities are resolved. The different twist representations are introduced in Sect. A.2. Recursive relations for the respective Jacobians are derived, and the computational aspects are discussed with emphasize on their decomposition. The presented formulation allows for an efficient modeling of the MBS kinematics in terms of readily available geometric data. Throughout the paper, only a few basic concepts from Lie group theory are required, which are summarized in Appendix A. The used nomenclature is summarized in Appendix B.

As for all Lie group formulations, the biggest hurdle for a reader (who may be already be familiar with MBS formulations) is the notation. The reader not familiar with screws and Lie group modeling may want to consult Sect. A.1 before reading Sect. 2 and Sect. A.2 before reading Sect. 3. This paper is aimed to provide a reference and cannot replace an introductory textbook like [40, 52, 67]. A beginner is recommended to consult [40]. Yet there is no text book that treats the topic from an MBS perspective. Readers not interested in the derivations could simply use the main relations that are displayed with a black border.

2 Configuration of a kinematic chain

In this section the kinematics modeling using joint screw coordinates is presented. For simplicity, a single open kinematic chain is considered comprising \(n\) moving bodies interconnected by \(n\) 1-DOF lower pair joints. To simplify the formulation, but without loosing generality, higher-DOF joints are modeled as combination of 1-DOF lower pair joints. Bodies and joints are labeled with the same indices \(i=1,\ldots,n\), whereas the ground is indexed with 0. With the sequential numbering of bodies and joints of the kinematic chain, joint \(i\) connects body \(i\) to its predecessor body \(i-1\). A body-fixed reference frame (BFR) \(\mathcal{F}_{i}\) is attached to body \(i\) of the MBS. The body is then kinematically represented by this BFR.

2.1 Joint kinematics

It has been the standard approach in MBS modeling to represent higher-DOF joints by combination of 1-DOF lower pair joints, that is, using either revolute, prismatic, or screw joints. This will be adopted in the following although this is not the way in which MBS models are implemented in practice, but it simplifies the introduction of the presented approach without compromising its generality. The justification of this approach is that most technical joints are so-called lower kinematic pairs (also called Reuleaux pairs) characterized by surface contact [61, 62], that is, they are the mechanical generators of motion subgroups of \(\mathit{SE} ( 3 ) \) [67]. However, not all motion subgroups are generated by lower pairs. The 10 subgroups are listed in Table 1. So-called “macro joints” are frequently used in MBS modeling to generate motion subgroups by combination of lower pairs. Table 2 shows the correspondence of motion subgroups with lower pairs and macro joints. Missing in this list are joints relevant for MBS modeling such as universal/hook and constant velocity joints since they are not lower kinematic pairs. They can be modeled by combination of lower pair joints.

Table 1 \(n\)-dimensional motion subgroups of \(\mathit{SE}(3)\)
Table 2 Mechanical generators of the \(n\)-dimensional subgroups of \(\mathit{SE}(3)\). A motion subgroup can be generated by a lower pair or by a “macro joint”, i.e., a combination of joints with smaller DOF

The classical approach to describe joint kinematics is to introduce an additional pair of body-fixed joint frames (JFR) for each joint (Fig. 1) [74]. Denote by \(\mathcal {J}_{i-1,i}\) the JFR for joint \(i\) on body \(i-1\) and by \(\mathcal{J}_{i,i}\) the JFR on body \(i\). The relative motion of adjacent bodies is represented by the frame transformation between the respective JFRs that can be described in terms of screw coordinates (Sect. A.1).

Fig. 1
figure 1

Description of the kinematics of joint \(i\) connecting body \(i\) with its predecessor body \(i-1\). A body-fixed JFR \(\mathcal{J}_{i,i}\) is introduced on body \(i\), and \(\mathcal{J}_{i-1,i}\), on body \(i-1\), respectively. A revolute joint is shown as an example

Lower pair 1-DOF joints restrict the interconnected bodies so to perform screw motions with a certain pitch \(h\). Revolute joints have pitch \(h=0\), and prismatic joints have pitch \(h=\infty\), whereas proper screw joints have a nonzero finite pitch. Denote by

$$ {^{i-1}}\mathbf{Z}_{i}=\left ( \textstyle\begin{array}{c} {^{i-1}}\mathbf{e}{_{i}} \\ {^{i-1}}\mathbf{z}{_{i}}\times{^{i-1}}\mathbf{e}{_{i}}+{^{i-1}}\mathbf{e}{_{i}h}_{i} \end{array}\displaystyle \right ) $$
(1)

the unit screw coordinate vector of joint \(i\) expressed in the JFR \(\mathcal{J}_{i-1,i}\) on body \(i-1\), where \({^{i-1}}\mathbf{z}{_{i}}\) is the position vector of a point on the joint axis measured in the JFR \(\mathcal {J}_{i-1,i}\), and \({^{i-1}}\mathbf{e}{_{i}}\) is the unit vector along the joint axis resolved in JFR \(\mathcal{J}_{i-1,i}\).

Assumption 1

It is assumed throughout the paper that the two JFRs coincide in the reference configuration \(q_{i}=0\). This assumption can be easily relaxed if required.

Denote with \(q_{i}\) the joint variable (angle, translation). With Assumption 1, the configuration of the JFR \(\mathcal{J}_{i,i}\) on body \(i\) relative to the JFR \(\mathcal{J}_{i-1,i}\) on body \(i-1\) is given by the exponential in (69) as \(\mathbf{D}_{i} ( q_{i} ) :=\exp ({}{}{^{i-1}}\mathbf{Z}_{i}q_{i})\).

Remark 1

It is a common practice to locate the JFRs with their origins at the joint axis (as in Fig. 2), so that \(\mathbf{z}=\mathbf{0}\). Then the joint screw coordinates for the three types of 1-DOF joints are

$$ \mathbf{Z}^{\text{revolute}}=\left ( \textstyle\begin{array}{c} \mathbf{e} \\ \mathbf{0} \end{array}\displaystyle \right ) ,\qquad \mathbf{Z}^{\text{screw}}=\left ( \textstyle\begin{array}{c} \mathbf{e} \\ \mathbf{e}{h} \end{array}\displaystyle \right ) ,\qquad \mathbf{Z}^{\text{prismatic}}=\left ( \textstyle\begin{array}{c} \mathbf{0} \\ \mathbf{e} \end{array}\displaystyle \right ) . $$
(2)
Fig. 2
figure 2

Definition of body-fixed RFR \(\mathcal{F}_{i}\) and JFR \(\mathcal{J}_{i,i}\) and \(\mathcal{J}_{i-1,i}\) for joint \(i\)

2.2 Recursive kinematics using body-fixed joint frames

The absolute configuration of body \(i\), that is, the configuration of its BFR \(\mathcal{F}_{i}\) relative to the inertial frame (IFR) \(\mathcal {F}_{0}\) is represented by \(\mathbf{C}_{i}\in \mathit{SE} ( 3 ) \). The relative configuration of body \(i\) relative to body \(i-1\) is \(\mathbf {C}_{i-1,i}:=\mathbf{C}_{i-1}^{-1}\mathbf{C}_{i}\). The configuration of a rigid body in the kinematic chain can be determined recursively by successive combination of the relative configurations of adjacent bodies as \(\mathbf {C}_{i}=\mathbf{C}_{0,1}\mathbf{C}_{1,2}\cdots\mathbf{C}_{i-1,i}\).

For joint \(i\), denote by \({}\mathbf{S}_{i-1,i}\) the constant transformation from JFR \(\mathcal{J}_{i-1,i}\) to the RFR \(\mathcal{F}_{i-1}\) on body \(i-1\), and by \(\mathbf{S}_{i,i}\) the constant transformation from JFR \(\mathcal {J}_{i,i}\) to the RFR \(\mathcal{F}_{i}\) on body \(i\) (Fig. 2). Then the relative configuration is \(\mathbf {C}_{i-1,i}={}\mathbf{S}_{i-1,i}\mathbf{D}_{i} ( q_{i} ) {}\mathbf{S}_{i,i}^{-1}\). Denote by \(\mathbf{q}\in{\mathbb{V}}^{n}\) the vector of joint variables that serve as generalized coordinates of the MBS. The joint space manifold is \({\mathbb{V}}^{n}={\mathbb{R}}^{n_{\text{P}}}\times \mathbb{T}^{n_{\text{R}}}\) for an MBS model comprising \(n_{\text{P}}\) prismatic and \(n_{\text{R}}\) revolute/screw joints (\(n_{\text{P}}+n_{\text{R}}=n\)).

The absolute configuration (i.e. relative to the IFR) of body \(i\) in the chain is

$$ \fbox{$\mathbf{C}_{i} ( \mathbf{q} ) =\mathbf{S}_{0,1}\mathbf {D}_{1} ( q_{1} ) \mathbf{S}_{1,1}^{-1} \cdot\mathbf {S}_{1,2}\mathbf{D}_{2} ( q_{2} ) \mathbf{S}_{2,2}^{-1}\cdot \ldots\cdot\mathbf{S}_{i-1,i} \mathbf{D}_{i} ( q_{i} ) \mathbf {S}_{i,i}^{-1}$.} $$
(3)

This formulation requires the following modeling steps:

  • Introduction of body-fixed JFR \(\mathcal{J}_{i,i}\) at body \(i\) with relative configuration \(\mathbf{S}_{i,i}\);

  • Introduction of body-fixed JFR \(\mathcal{J}_{i-1,i}\) at body \(i-1\) with relative configurations \(\mathbf{S}_{i-1,i}\);

  • The screw coordinate vector \({^{i-1}}\mathbf{Z}_{i}\) of joint \(i\) represented in JFR \(\mathcal{J}_{i-1,i}\) at body \(i-1\).

Expression (3) is the standard MBS formulation for the kinematics of an open chain in terms of relative coordinates, that is, joint angles or translations. For 1-DOF joints, the JFR is usually oriented so that its 3-axis points along the joint axis (as in Fig. 2). Then the screw coordinates are \({^{i-1}}\mathbf{Z}_{i}=(0,0,1-s_{i},0,0,s_{i}+h_{i} ( 1-s_{i} ) )^{T}\), where \(s_{i}\,=1\) for prismatic joint, and \(s_{i}=0\) for a screw joint with finite pitch \(h_{i}\) (for revolute joints, \(h_{i}=0\)).

Remark 2

The matrix \(\mathbf{C}_{i}\) is used to represent the configuration of body \(i \); hence the symbol. Frequently, the symbol \(\mathbf{T}_{i}\) is used [40, 74], which refers to the fact that these matrices describe the transformation of point coordinates (Sect. A.1).

Remark 3

It is important to emphasize that the Lie group formulation (3) is merely another approach to the standard matrix formulation of MBS kinematics aiming at compact expressions that simplify the implementation without compromising the efficiency. It also includes various conventions used to describe the joint kinematics. An excellent overview of classical matrix methods (also with emphasis on how they can be employed for synthesis) can be found in [74]. For instance, \(\mathbf {S}_{i-1,i}\) and \(\mathbf{S}_{i,i}\) can be parameterized in terms of the constant part of the Denavit–Hartenberg (DH) parameters [74]. Formulation (3) in particular resembles the Sheth–Uicker convention (which was introduced to eliminate the ambiguity of the DH parameters) [69, 74]. In that notation the matrices \(\mathbf{S}_{i-1,i}\) and \(\mathbf{S}_{i,i}\) are called the shape matrices of joint \(i\). However, the Sheth–Uicker convention still presumes certain alignment of joint axes. For example, a revolute axis is supposed to be parallel to the 3-axis of the JFRs. A recent discussion of these notations can be found in [9]. An expression similar to (3) was also presented in [54], where no restriction on the joint axis is imposed. A recursive formulation of the MBS motion equations using homogeneous transformation matrices was also presented in [36, 37].

Remark 4

(Multi-DOF joints)

The description for 1-DOF joints in terms of a screw coordinate vector \(\mathbf{Z}_{i}\) can be generalized to joints with more than one DOF. For a joint with DOF \(\nu\), the relative configuration of the JFRs can alternatively be described in terms of \(\nu\) joint variables \(q_{i_{1}},\ldots,q_{i_{\nu}}\) by \(\mathbf{D}_{i} ( q_{i_{1}},\ldots ,q_{i_{\nu}} ) :=\exp({}{}{^{i-1}}\mathbf {Z}_{i_{1}}q_{i_{1}}+\cdots+{^{i-1}}\mathbf{Z}_{i_{\nu}}q_{i_{\nu }})\) or \(\mathbf{D}_{i} ( q_{i_{1}},\ldots,q_{i_{\nu}} ) :=\exp({}{}{^{i-1}}\mathbf{Z}_{i_{1}}q_{i_{1}})\cdot\ldots\cdot\exp({}{}{^{i-1}}\mathbf{Z}_{i_{\nu}}q_{i_{\nu}})\). For a spherical joint, for instance, the variables in the first form are the components of the rotation axis times angle in (64), and in the second form, these are three angles corresponding to the order of 1-DOF rotations (e.g. Euler-angles). For lower pair joints, in the first case, \(q_{i_{1}},\ldots,q_{i_{\nu}}\) are canonical coordinates of the first kind on the joint motion subgroup, and in the second case, they are canonical coordinates of the second kind [52]. The \(\mathbf{Z}_{i_{1}},\ldots,\mathbf{Z}_{i_{\nu}}\) form a basis on the subalgebra of the motion subgroup generated by the joint.

2.3 Recursive kinematics without body-fixed joint frames

The introduction of joint frames is a tedious step within the MBS kinematics modeling. Moreover, it is desirable to minimize the data required to formulate the kinematic relations. In this regard the frame invariance of screws is beneficial.

The two constant transformations from the JFR to the BFR on the respective body can be summarized using (76) as

$$ \mathbf{C}_{i-1,i} ( q_{i} ) =\mathbf{S}_{i-1,i}\mathbf {D}_{i} ( q_{i} ) \mathbf{S}_{i,i}^{-1}= \mathbf {S}_{i-1,1}\mathbf{S}_{i,i}^{-1} \mathbf{S}_{i,i}\mathbf{D}_{i} ( q_{i} ) \mathbf{S}_{i,i}^{-1}=\mathbf{B}_{i}\exp \bigl({^{i}}\mathbf {X}_{i}q_{i}\bigr), $$
(4)

so that the relative configuration splits into only one constant and a variable part. The constant part \(\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\) when \(q_{i}=0\). The variable part is now given in terms of the constant screw coordinate vector of joint \(i\) represented in BFR \(\mathcal{F}_{i}\):

$$ {^{i}}\mathbf{X}_{i}=\mathbf{Ad}_{\mathbf{S}_{i,i}}{^{i-1}} \mathbf {Z}_{i}=\left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{i} \\ {^{i}}\mathbf{x}_{i,i}\times{^{i}}\mathbf{e}_{i}+h_{i}{^{i}}\mathbf{e}_{i} \end{array}\displaystyle \right ) . $$
(5)

The matrix \(\mathbf{Ad}_{\mathbf{S}_{i,i}}\) defined in (73) transforms screw coordinates represented in \(\mathcal{J}_{i,i-1}\) to those represented in \(\mathcal{F}_{i}\) according to their relative configuration described by \(\mathbf{S}_{i,i}\).

As indicated in Fig. 3, here \({^{i}}\mathbf {e}_{i} \) is the unit vector along the axis of joint \(i\) resolved in the BFR \(\mathcal{F}_{i}\), and \({^{i}}\mathbf{x}_{i,i}\) is the position vector of a point on the axis of joint \(i\), measured and resolved in \(\mathcal{F}_{i}\). This is indeed the same screw as in (1) but expressed in the BFR on body \(i\).

Fig. 3
figure 3

Description of the kinematics of joint \(i\) without body-fixed JFRs in the zero-reference relative configuration with \(q_{i}=0\). The vector \(\mathbf{x}_{i}\) is used when the joint screw coordinates are represented in the BFR \(\mathcal{F}_{i}\) on body \(i\), and \(\bar{\mathbf{x}}_{i-1,i}\) is used when the joint screw coordinates are represented in the BFR \(\mathcal{F}_{i-1}\) on body \(i-1\)

The joint screw can alternatively be represented in \(\mathcal{F}_{i-1}\). Then

$$ \mathbf{C}_{i-1,i} ( q_{i} ) =\mathbf{S}_{i,i-1}\mathbf {D}_{i} ( q_{i} ) \mathbf{S}_{i,i}^{-1}= \mathbf {S}_{i,i-1}\mathbf{D}_{i} ( q_{i} ) \mathbf {S}_{i,i-1}^{-1}\mathbf{S}_{i,i-1}\mathbf{S}_{i,i}^{-1}= \exp \bigl({^{i-1}}\bar{\mathbf{X}}_{i}q_{i}\bigr) \mathbf{B}_{i} $$
(6)

with the joint screw coordinate vector

$$ {^{i-1}}\bar{\mathbf{X}}_{i}=\mathbf{Ad}_{\mathbf {S}_{i-1,i}}{^{i-1}} \mathbf{Z}_{i}=\mathbf{Ad}_{\mathbf {B}_{i}}{^{i}} \mathbf{X}_{i}=\left ( \textstyle\begin{array}{c} {^{i-1}}\mathbf{e}_{i} \\ {^{i-1}}\bar{\mathbf{x}}_{i-1,i}\times{^{i-1}}\mathbf {e}_{i}+{^{i-1}}\mathbf{e}_{i}h_{i} \end{array}\displaystyle \right ), $$
(7)

now expressed in the BFR \(\mathcal{F}_{i-1}\) at body \(i-1\), where \({^{i-1}}\bar{\mathbf{x}}_{i-1,i}\) is the position vector of a point on the axis of joint \(i\) measured in \(\mathcal{F}_{i-1}\).

Successive combination of the relative configurations yields

$$ \fbox{$\textstyle\begin{array}[b]{rcl} \mathbf{C}_{i} ( \mathbf{q} ) & =& \mathbf{B}_{1}\exp\bigl({^{1}}\mathbf{X}_{1}q_{1} \bigr)\cdot \mathbf{B}_{2}\exp \bigl({^{2}} \mathbf{X}_{2}q_{2}\bigr)\cdot\ldots\cdot\mathbf{B}_{i} \exp \bigl({^{i}}\mathbf{X}_{i}q_{i}\bigr) \\ &=&\exp\bigl({^{0}}\bar{\mathbf{X}}_{1}q_{1} \bigr)\mathbf{B}_{1}\cdot\exp \bigl({^{1}}\bar{ \mathbf{X}}_{2}{q}_{2}\bigr)\mathbf{B}_{2}\cdot \ldots\cdot \exp\bigl({^{i-1}}\bar{\mathbf{X}}_{i}q_{i}\bigr)\mathbf{B}_{i}. \end{array}\displaystyle $} $$
(8)

The first form of (8) was reported [60], and both forms in [56, 57]. It will be called the body-fixed Product-of-Exponentials (POE) formula in body-fixed description since the joint kinematics is expressed by exponentials of joint screws. It seems to be more convenient to work with the screw coordinates \({^{i}}\mathbf{X}_{i}\). Also in [5], two variants of the kinematic description of a serial chain were presented using a BFR on body \(i-1\) or \(i\), respectively.

In summary, this body-fixed POE formulation does not require introduction of JFRs. It only requires the following readily available information:

  • The relative reference configuration \(\mathbf{B}_{i}\) of the adjacent bodies connected by joint \(i\) for \(q_{i}=0\);

  • The screw coordinates \({^{i}}\mathbf{X}_{i}\) of joint \(i\) represented in the BFR \(\mathcal{F}_{i}\) at body \(i\), or alternatively the screw coordinates \({^{i-1}}\bar{\mathbf{X}}_{i}\) represented in the BFR \(\mathcal{F}_{i-1}\) at body \(i-1\).

The form (8) simplifies the expression for the joint kinematics. Its main advantage is that it only involves the reference configuration \(\mathbf{B}_{i}\) of BFRs.

2.4 Recursive kinematics without body-fixed joint frames and screw coordinates

Thanks to the frame invariance, the joint screw coordinates can even be described in the spatial IFR, that is, without reference to any body-fixed frames. To this end, (8) is written as

$$\begin{aligned} \mathbf{C}_{i} ( \mathbf{q} ) =&\mathbf{B}_{1}\exp \bigl({^{1}}\mathbf{X}_{1}q_{1}\bigr) \mathbf{B}_{1}^{-1} \\ &{}\cdot\mathbf{B}_{1}\mathbf{B}_{2}\exp\bigl({^{2}} \mathbf{X}_{2}q_{2}\bigr)\mathbf {B}_{2}^{-1} \mathbf{B}_{1}^{-1} \\ &{}\cdot\ldots\cdot\mathbf{B}_{1}\cdots\mathbf{B}_{i}\exp \bigl({^{i}}\mathbf {X}_{i}q_{i}\bigr) \mathbf{B}_{i}^{-1}\cdots\mathbf{B}_{1}^{-1} \mathbf {B}_{1}\cdots\mathbf{B}_{i}. \end{aligned}$$
(9)

Relation (76) yields \(\mathbf{B}\exp(q\widehat{\mathbf{X}})\mathbf{B}^{-1}=\exp(q\mathbf{B}\widehat{\mathbf{X}}\mathbf {B}^{-1})=\) \(\exp(q\mathbf{Ad}_{\mathbf{B}}\mathbf{X})\), so that

$$ \fbox{$\mathbf{C}_{i} ( \mathbf{q} ) =\exp(\mathbf {Y}_{1}q_{1}) \cdot \exp(\mathbf{Y}_{2}q_{2})\cdot\ldots\cdot\exp(\mathbf {Y}_{i}q_{i})\mathbf{A}_{i}$.} $$
(10)

Here

$$ \mathbf{A}_{i}:=\mathbf{B}_{1}\cdots\mathbf{B}_{i}= \mathbf{C}_{i} ( \mathbf{0} ) =\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i} ( \mathbf{0} ) & \mathbf{r}_{i} ( \mathbf{0} ) \\ \mathbf{0} & 1 \end{array}\displaystyle \right ) $$
(11)

is the absolute reference configuration (i.e. relative to IFR) of body \(i\), and

$$ \mathbf{Y}_{j}=\mathbf{Ad}_{\mathbf{A}_{j}}{^{j}} \mathbf{X}_{j}=\left ( \textstyle\begin{array}{c} \mathbf{e}_{j} \\ \mathbf{y}_{j}\times\mathbf{e}_{j}+h_{j}\mathbf{e}_{j} \end{array}\displaystyle \right ) $$
(12)

is the screw coordinate vector of joint \(j\) represented in the IFR \(\mathcal{F}_{0}\) in the reference configuration with \(\mathbf {q}=\mathbf{0}\) (Fig. 4). The direction unit vector \(\mathbf{e}_{j}\) and the position vector \(\mathbf{y}_{j}\) of a point on the joint axis are expressed in the IFR \(\mathcal{F}_{0}\) (the leading superscript “0” omitted). The transformation (12) relates the body-fixed to the spatial representation of joint screw in the reference configuration. The product of the exp mappings in (10) describes the motion of an RFR on body \(i\), which at \(\mathbf{q}=\mathbf{0}\) coincides with the IFR relative to the IFR. The relation to the actual BFR is achieved by the subsequent transformation \(\mathbf{A}_{i}\). Such a “zero reference” formulation has been first reported by Gupta [27] in terms of frame transformation matrices and was latter introduced by Brockett [15] as the POE formula for robotic manipulators. Formulation (10) was then used in [16] for MBS modeling. It should be remarked that in the classical literature on screws, the spatial representation of a screw is denoted by the symbol “$” [31, 66].

Fig. 4
figure 4

Description of the kinematics of joint \(i\) with respect to the spatial IFR in the zero-reference configuration with \(\mathbf{q}=\mathbf{0}\)

All data required for this spatial POE formulation is represented in the spatial IFR:

  • Absolute reference configurations \(\mathbf{A}_{i}=\mathbf {C}_{i} ( \mathbf{0} ) \), that is, the reference configuration of body \(i\) with respect to the IFR \(\mathcal{F}_{0}\) for \(\mathbf{q}=\mathbf{0}\).

  • Joint screw coordinates \(\mathbf{Y}_{i}\equiv\) \({^{0}}\mathbf {Y}_{i}^{0}\) in spatial representations, that is, measured and resolved in the IFR \(\mathcal{F}_{0}\) for \(\mathbf{q}=\mathbf{0}\).

The result (10) is remarkable since it allows for formulating the MBS kinematics without body-fixed joint frames. From a modeling perspective this has proven very useful since no joint transformations \(\mathbf{S}_{i,i},\mathbf{S}_{i-1,i}\) or \(\mathbf{B}_{i}\) are needed. Only the absolute reference configurations \(\mathbf{A}_{i}\) with respect to the IFR and the reference screw coordinates (12), that is, \(\mathbf{e}_{i}\) and \(\mathbf{p}_{i}\), resolved in the IFR, are required. This is in particular advantageous when processing CAD data. Moreover, if in the reference (construction) configuration the RFR of the bodies coincide with the IFR (global CAD reference system), that is, all parts are designed with respect to the same RFR, then \(\mathbf{A}_{i}=\mathbf{I}\) and \(\mathbf{Y}_{j}={^{j}}\mathbf{X}_{j}\).

2.5 Example

Figure 5 shows a surgical device that consists of a robot arm and a remote center of motion (RCM) mechanism. This was disclosed in the patent [77]. The robot arm consisting of bodies 1, 2, 3 is used to position the RCM mechanism consisting of bodies 4 and 5. The surgical instrument is mounted in the socket at the remote end of body 5. The axes of joints 4 and 5 and of the instrument intersect at one point. This allows the instrument to freely pivot around an incision point.

Fig. 5
figure 5

Model of the RCM mechanism disclosed in [77]. The model was create with the MBS tool Alaska

The reference configuration is shown in Fig. 5. The IFR is located at the base of the mechanism. The joint screw coordinates in spatial representation are determined by the geometric parameters shown in Fig. 6. The position vectors \(\mathbf{y}_{i}\) and unit vectors \(\mathbf{e}_{i}\) in (12) are

$$\begin{aligned} \mathbf{y}_{1} =& ( 0,0,0 ) ^{T},\qquad \mathbf{y}_{2}= ( -d_{2},0,0 ) ^{T},\qquad \mathbf{y}_{3}= ( d_{3},0,0 ) ^{T},\qquad \mathbf{y}_{4}= ( d_{4},0,h_{4} ) ^{T}, \\ \mathbf {y}_{5} =& ( d_{5},0,0 ) ^{T},\qquad\mathbf{e}_{1} =\mathbf{e}_{2}=\mathbf{e}_{3}= \mathbf{e}_{5}= ( 0,0,1 ) ^{T},\qquad \mathbf{e}_{4}=(-(1/ \sqrt{2},0,1/\sqrt{2})^{T}. \end{aligned}$$

Since any point on the joint axes can be used, the 3-components in \(\mathbf{y}_{i}\), \(i=1,2,3,5\), are set to zero. An arbitrary point on the axis of joint 4 is chosen as indicated. Thus the joint screw coordinates (12) are

$$\begin{aligned} \mathbf{Y}_{1} =& ( 0,0,1,0,0,0 ) ^{T},\qquad \mathbf{Y}_{2}= \bigl( \{0,0,1,0,d_{2},0 \bigr) ^{T},\qquad \mathbf{Y}_{3}= ( 0,0,1,0,-d_{3},0 ) ^{T}, \\ \mathbf{Y}_{4} =&(-1\sqrt{2},0,1/\sqrt{2},0,-d_{4}/ \sqrt{2}-h_{4}/\sqrt {2},0)^{T},\qquad \mathbf{Y}_{5}= ( 0,0,1,0,-d_{5},0 ) ^{T}. \end{aligned}$$

The reference configurations (11) of the bodies are determined by

$$\begin{aligned} \mathbf{R}_{1} ( \mathbf{0} ) =&\mathbf{R}_{2} ( \mathbf {0} ) =\mathbf{R}_{3} ( \mathbf{0} ) =\mathbf{R}_{5} ( \mathbf{0} ) =\mathbf{I},\qquad \mathbf{R}_{4} ( \mathbf{0} ) =\left ( \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1/\sqrt{2} & 0 & -1/\sqrt{2} \\ 0 & 1 & 0 \\ 1/\sqrt{2} & 0 & 1/\sqrt{2} \end{array}\displaystyle \right ), \\ \mathbf{r}_{1} ( \mathbf{0} ) =& ( -x_{1},0,z_{1} ) ^{T},\qquad \mathbf{r}_{2} ( \mathbf{0} ) = ( -x_{2},0,-z_{2} ) ^{T},\qquad \mathbf{r}_{3} ( \mathbf{0} ) = ( x_{3},0,z_{3} ) ^{T}, \\ \mathbf{r}_{4} ( \mathbf{0} ) =& ( x_{4},0,z_{4} ) ^{T},\qquad \mathbf{r}_{5} ( \mathbf{0} ) = ( x_{5},0,z_{5} ) ^{T}. \end{aligned}$$

Therewith the configuration of all bodies are determined by the POE (10). For instance,

$$ \mathbf{C}_{3} ( \mathbf{q} ) =\left ( \textstyle\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} c_{123} & -s_{123} & 0 & -{d_{2}c_{1}}+({d_{2}}+{d_{3}})c_{12}+({x_{3}}-{d_{3}})c_{123} \\ s_{123} & c_{123} & 0 & -{d_{2}}s_{1}+({d_{2}}+{d_{3}})s_{12}+({x_{3}}-{d_{3}})s_{123} \\ 0 & 0 & 1 & {z_{3}} \\ 0 & 0 & 0 & 1 \end{array}\displaystyle \right ) $$

with \(c_{123}:=\cos({q_{1}}+{q_{2}}+{q_{3}})\) etc. The expressions for \(\mathbf{C}_{4} ( \mathbf{q} ) \) and \(\mathbf{C}_{5} ( \mathbf{q} ) \) are rather complicated and are omitted here.

Fig. 6
figure 6

Description of the geometry of the RCM mechanism

Instead of deducing them from the geometry in Fig. 6, the body-fixed representation of the joint screw coordinates can be determined by relation (12). This yields

$$\begin{aligned} \begin{aligned} {^{1}}\mathbf{X}_{1} &= ( 0,0,1,0,-x_{1},0 ) ^{T},\qquad {^{2}}\mathbf{X}_{2}= ( 0,0,1,0,d_{2}-x_{2},0 ) ^{T},\\ {^{3}}\mathbf{X}_{3}&= ( 0,0,1,0,-d_{3}+x_{3},0 ) ^{T}, \\ {^{4}}\mathbf{X}_{4} &=(0,0,1,0,-d_{4}/ \sqrt{2}-h_{4}/\sqrt {2}+x_{4}/\sqrt{2}+z_{4}/ \sqrt{2},0)^{T},\\ {^{5}}\mathbf{X}_{5}&= ( 0,0,1,0,-d_{5}+x_{5},0 ) ^{T}. \end{aligned} \end{aligned}$$

This example shows the simplicity of the approach.

3 Velocity of a kinematic chain

In this section, recursive relations are derived for the four forms of twists introduced in Sect. A.2, namely the body-fixed, spatial, hybrid, and mixed twists [18].

3.1 Body-fixed representation of rigid body twists

3.1.1 Body-fixed twists

The body-fixed twist of body \(i\), denoted \(\mathbf{V}_{i}^{\text{b}}=(\boldsymbol{\omega}_{i}^{\text{b}},\mathbf{v}_{i}^{\text{b}})^{T}\), is the aggregate of the angular velocity \(\boldsymbol{\omega}_{i}^{\text{b}}:={^{i}}\boldsymbol{\omega}_{i}\) of its BFR and the translational velocity \(\mathbf{v}_{i}^{\text{b}}:={^{i}}\mathbf{v}_{i}\) of its origin relative to the IFR (Sect. A.2). The twist of body \(i\) in a kinematic chain is the sum of twists of the joints connecting it to the ground. Represented (measured and resolved) in its BFR \(\mathcal{F}_{i}\) (Fig. 7), this is

$$ \mathbf{V}_{i}^{\text{b}}=\dot{q}_{1}\left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{1} \\ {^{i}}\mathbf{b}_{i,1}\times{^{i}}\mathbf{e}_{1}+{^{i}}\mathbf{e}_{1}h_{1} \end{array}\displaystyle \right ) +\dot{q}_{2}\left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{2} \\ {^{i}}\mathbf{b}_{i,2}\times{^{i}}\mathbf{e}_{2}+{^{i}}\mathbf{e}_{2}h_{2} \end{array}\displaystyle \right ) +\cdots+\dot{q}_{i} \left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{i} \\ {^{i}}\mathbf{b}_{i,i}\times{^{i}}\mathbf{e}_{i}+{^{i}}\mathbf{e}_{i}h_{i} \end{array}\displaystyle \right ) . $$
(13)

Here \({^{i}}\mathbf{b}_{i,j}\) is the instantaneous position vector of a point on the axis of joint \(j\) measured in the BFR \(\mathcal{F}_{i}\), and \({^{i}}\mathbf{e}_{j}\) is the unit vector along the axis resolved in the BFR. The instantaneous joint screw coordinates in (13) are configuration dependent and related to the joint screws (5) and (12) (deduced from reference configuration) by a frame transformation.

Fig. 7
figure 7

Description of the instantaneous kinematics of a kinematic chain

3.1.2 Body-fixed Jacobian and recursive relations

The body-fixed twist is determined by (80) in terms of the configuration \(\mathbf{C} ( t ) \). Using (4) and (77), from \(\mathbf{C}_{i}=\mathbf{C}_{i-1}\mathbf {C}_{i-1,i}\) there follows the recursive relation (notice that \(\mathbf{C}_{i-1,i}^{-1}=\mathbf{C}_{i,i-1}=\mathbf{C}_{i}^{-1}\mathbf{C}_{i-1}\))

$$ \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}=\mathbf {Ad}_{\mathbf{B}_{i}\exp({^{i}}\mathbf{X}_{i}q_{i})}^{-1}\mathbf {V}_{i-1}^{\text{b}}+{^{i}}\mathbf{X}_{i} \dot{q}_{i}. $$
(14)

The frame transformations due to the relative motions \(\mathbf {C}_{i,i-1}\) of adjacent bodies propagate the twists within the kinematic chain. The first term on the right-hand side of (14) is the twist of body \(i-1\) represented in the BFR \(\mathcal{F}_{i}\) on body \(i\), and the second term is the additional contribution from joint \(i\).

The configuration \(\mathbf{C}_{i}\) of body \(i\) depends on the joint variables \(q_{j}\), \(j \leq i\). The body-fixed twist (80) can thus be expressed as \(\widehat{\mathbf{V}}_{i}^{\text{b}}=\sum_{j\leq i}\widehat {\mathbf{J}}_{i,j}^{\text{b}}\dot{q}_{j}\) where \(\widehat{\mathbf{J}}_{i,j}^{\text{b}}:=\mathbf{C}_{i}^{-1}\frac{\partial}{\partial q^{j}}\mathbf{C}_{i}\). The POE (8), together with (77) and (76), yields

$$\begin{aligned} &\mathbf{C}_{i}^{-1}\frac{\partial}{\partial q_{j}}\mathbf{C}_{i} \\ &\quad=\exp\bigl(-{^{i}}\widehat{\mathbf{X}}_{i}q_{i} \bigr)\mathbf{B}_{i}^{-1}\cdots \exp\bigl(-{^{j+1}} \widehat{\mathbf{X}}_{j+1}q_{j+1}\bigr)\mathbf {B}_{j+1}^{-1}{^{j}}\widehat{\mathbf{X}}_{j} \exp\bigl({^{j+1}}\widehat {\mathbf{X}}_{j+1}q_{j+1} \bigr)\cdots\exp\bigl({^{i}}\widehat{\mathbf {X}}_{i}q_{i} \bigr) \\ &\quad=\mathbf{C}_{i}^{-1}\mathbf{C}_{j}{^{j}} \widehat{\mathbf {X}}_{j}\mathbf{C}_{j}^{-1} \mathbf{C}_{i}=\mathrm{Ad}_{\mathbf {C}_{i,j}}\bigl({^{j}} \widehat{\mathbf{X}}_{j}\bigr),\quad j\leq i. \end{aligned}$$
(15)

Using (12), this yields the following relations:

$$ \fbox{$\textstyle\begin{array}[b]{rcl} \mathbf{J}_{i,j}^{\text{b}}&=& \mathbf{Ad}_{\mathbf{C}_{i,j}}{^{j}}\mathbf{X}_{j}\\ &=&\mathbf{Ad}_{\mathbf{C}_{i,j}\mathbf{A}_{j}^{-1}}\mathbf{Y}_{j} \\ &=&\mathbf{Ad}_{\mathbf{C}_{i,j}\mathbf{S}_{j,j}}{^{j-1}}\mathbf {Z}_{j},\quad j\leq i. \end{array}\displaystyle $} $$
(16)

The \(\mathbf{J}_{i,j}^{\text{b}}\) are the screw coordinate vectors in (13) obtained via a frame transformation (73) of \({^{j}}\mathbf{X}_{j} \) in (5), or \(\mathbf{Y}_{j}\) in (12), to the current configuration. The body-fixed twist is hence

V i b = j i J i , j b q ˙ j = J i b q ˙ .
(17)

The \(6\times n\) matrix

J i b = ( J i , 1 b , , J i , i b , 0 , 0 )
(18)

is called the geometric body-fixed Jacobian of body \(i\) [52]. It is the central object in all formulations that use body-fixed twists and Lie group formulations [46, 56, 57, 60]. The geometric Jacobian appears in the literature under different names. For instance, in [41, 42, 46], it is called the “kinematic basic function (KBF)” since it is the pivotal object for (recursive) evaluation of MBS kinematics.

Expression (16) gives rise to the recursive relation

$$ \mathbf{J}_{i,j}^{\text{b}}=\left \{ \textstyle\begin{array}{l@{\quad}l} \mathbf{Ad}_{\mathbf{C}_{i,i-1}}\mathbf{J}_{i-1,j}^{\text{b}},& j< i,\\ {^{i}}\mathbf{X}_{i}, & j=i . \end{array}\displaystyle \right . $$
(19)

This is essentially another form of recursion (14) using (17).

Remark 5

(Dependence on joint variables)

With (8), respectively (10), it is clear that the Jacobian \(\mathbf{J}_{i}^{\text{b}}\) of body \(i\) can only depend on \(q_{1},\ldots ,q_{i}\). Moreover, noting in (16) that \(\mathbf{C}_{i,j}=\mathbf {C}_{i}^{-1}\mathbf{C}_{j}\) is independent from \(q_{1}\), it follows that \(\mathbf{J}_{i}^{\text{b}}\) depends on \(q_{2},\ldots,q_{i}\), that is, it is independent from the first joint in the chain. This is obvious from a kinematic perspective since \(\mathbf{V}_{i}^{\text{b}}\) is the sum of twists of the preceding bodies in the chain expressed in the BFR on body \(i\). This only depends on the configuration of the bodies relative to body \(i\) but not on the absolute configuration of the overall chain, which is determined by \(q_{1}\).

Remark 6

(Required data)

The second form in (16) in conjunction with (10) allows for computation of the body-fixed Jacobian without introducing body-fixed JFRs. The only information needed is the joint screw coordinates \(\mathbf{Y}_{j}\) represented in the IFR and the reference configurations \(\mathbf{A}_{j}\).

Remark 7

(Change of reference frame)

When another BFR on body \(i\) is used, which is related to the original BFR by \(\mathbf{S}\in \mathit{SE} ( 3 ) \), its configuration is given by \(\mathbf{C}_{i}^{\prime}=\mathbf{C}_{i}\mathbf{S}\). The corresponding body-fixed twist follows from (80) as \(\widehat{\mathbf {V}}_{i}^{\prime\text{b}}=\mathbf{C}_{i}^{\prime-1}\dot{\mathbf {C}}_{i}^{\prime}=\mathbf{S}^{-1}\mathbf{C}_{i}^{-1}\dot{\mathbf {C}}_{i}\mathbf{S}=\mathrm{Ad}_{\mathbf{S}}^{-1}(\widehat{\mathbf {V}}_{i}^{\text{b}})\) and, in vector form,

$$ \mathbf{V}_{i}^{\prime\text{b}}=\mathbf{Ad}_{\mathbf{S}}^{-1} \mathbf {V}_{i}^{\text{b}}. $$
(20)

On the other hand, the body-fixed twist is invariant under a change of IFR, which is given by \(\mathbf{C}_{i}^{\prime}=\mathbf{SC}_{i}\). Body-fixed twists are therefore called left-invariant vector fields on \(\mathit{SE} ( 3 ) \) since left multiplication of \(\mathbf{C}_{i}\) with any \(\mathbf{S}\in \mathit{SE} ( 3 ) \) does not affect \(\mathbf {V}_{i}^{\text{b}}\).

Remark 8

(Application of body-fixed representation)

The recursive relations for body-fixed twist and Jacobian are the basis for the MBS dynamics algorithms in [1, 2, 7, 25, 30, 38, 39, 56, 57, 60, 75]. In [1, 2] the adjoint transformation matrix in (14) was called the “shift matrix”, and \(\mathbf{X}_{i}\) was called the “motion map matrix”. However, the geometric background was rarely exploited as in [56, 57, 60] and [39]. Remarkably, Liu [39] already presented all relevant formulations in terms of screws.

3.1.3 Body-fixed system Jacobian and its decomposition

The body-fixed twists are summarized in the overall twist vector V b = ( V 1 b , , V n b ) T . Recursion (14) can then be written in the matrix form

V b = D b V b + X b q ˙
(21)

with

D b := ( 0 0 0 0 Ad C 2 , 1 0 0 0 Ad C 3.2 0 0 0 Ad C n , n 1 0 ) , X b :=diag ( 1 X 1 , , n X n ).
(22)

On the other hand, the recursive expression for the Jacobian (19) reads in the matrix form

V b = J b q ˙ = A b X b q ˙ ,
(23)

where the \(6n\times n\) matrix J b = A b X b is the system Jacobian in body-fixed representation, and

A b := ( I 0 0 0 Ad C 2 , 1 I 0 0 Ad C 3 , 1 Ad C 3 , 2 I 0 Ad C n , 1 Ad C n , 2 Ad C n , n 1 I )
(24)

is the screw transformation matrix. Comparing (21) and (23) shows that A b = ( I D b ) 1 . In fact, D b is nilpotent so that the von-Neumann series

A b = ( I D b ) 1 =I+ D b + ( D b ) 2 ++ ( D b ) n
(25)

terminates with ( D b ) n + 1 =0. That is, \(\mathbf {A}^{\text{b}}\) is the 1-resolvent of D b , which is the fundamental point of departure for many \(O ( n ) \) algorithms. Moreover, (25) is another form of the recursive coordinate transformations. Hence the inverse ( A b ) 1 =(I D b ).

Remark 9

(Overall inverse kinematics solution)

The above result allows for a simple transformation from body-fixed velocities to the corresponding joint rates. When the twists of all bodies are given, (23) is an overdetermined linear system in \(\dot {\mathbf{q}}\). It has a unique solution as long as the twists are consistent with the kinematics. Premultiplication of (23) with (I D b ) followed by ( X b ) T and ( ( X b ) T X b ) 1 yields

q ˙ = ( ( X b ) T X b ) 1 ( X b ) T ( I D b ) V b .
(26)

The \(n\times n\) diagonal matrix ( X b T X b ) 1 =diag(1/ 1 X 1 2 ,,1/ n X n 2 ) has full rank. Due to the block diagonal structure, this yields the solutions \(\dot{q}_{i}={^{i}\mathbf{X}}_{i}^{T}(\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}\) for the individual joints. This is indeed the projection of the relative twist of body \(i\) with respect to body \(i-1\) onto the axis of joint \(i\). It is an exact solution of the inverse kinematics for the overall MBS, presuming that the twists are compatible, that is, satisfy (14). If this is not the case, (26) is the unique pseudoinverse solution of system (23) of \(6n\) equations for the \(n\) unknowns \(\dot{q}_{i}\) minimizing the residual error. This can be considered as the generalized inverse kinematics problem: given desired twists of all individual links, find the joint rates that best reproduce these twists. This can be applied, for instance, to the inverse kinematics of human body models processing motion capture data (estimated position and orientation of body segments) and when noisy data is processed.

Although solution (26) seems straightforward, it should be remarked that there is no frame invariant inner product on \(\mathit{se} ( 3 ) \), that is, no norm of screws that is invariant under a change of reference frame can be defined [67]. The correctness of (26) follows by regarding the transposed joint screw coordinates as coscrews, and \({^{i}\mathbf{X}}_{i}^{T}{^{i}\mathbf{X}}_{i}\) is the pairing of screw and coscrew coordinates rather than an inner product.

3.2 Spatial representation of rigid body twists

3.2.1 Spatial twists

A representation of the body twist, which is less common in MBS modeling but frequently used in mechanism theory, is the so-called spatial twist, denoted \(\mathbf{V}_{i}^{\text{s}}=(\boldsymbol{\omega}_{i}^{\text{s}},\mathbf{v}_{i}^{\text{s}})^{T}\). This is the twist of body \(i\) represented in the IFR. It consists of the angular velocity of the BFR of body \(i\) measured and resolved in the IFR and of the translational velocity \(\mathbf {v}_{i}^{\text{s}}:=\dot{\mathbf{r}}_{i}-\boldsymbol{\omega}_{i}^{\text{s}}\times\mathbf{r}_{i}\) of the (possibly imaginary) point on the body that is momentarily traveling through the origin of the IFR measured and resolved in the IFR (Sect. A.2). With the notation in Fig. 7, the spatial twist of body \(i\) is geometrically readily constructed as

$$ \mathbf{V}_{i}^{\text{s}}=\dot{q}_{1}\left ( \textstyle\begin{array}{c} \mathbf{e}_{1} \\ \mathbf{s}_{1}\times\mathbf{e}_{1}+h_{1}\mathbf{e}_{1} \end{array}\displaystyle \right ) +\dot{q}_{2}\left ( \textstyle\begin{array}{c} \mathbf{e}_{2} \\ \mathbf{s}_{2}\times\mathbf{e}_{2}+h_{2}\mathbf{e}_{2} \end{array}\displaystyle \right ) +\cdots+\dot{q}_{i} \left ( \textstyle\begin{array}{c} \mathbf{e}_{i} \\ \mathbf{s}_{i}\times\mathbf{e}_{i}+h_{i}\mathbf{e}_{i} \end{array}\displaystyle \right ) , $$
(27)

where \(\mathbf{s}_{j}\) is the position vector of a point on the joint axis \(j \) expressed in the IFR. The screw coordinates in (27) are configuration dependent. They are equal to \(\mathbf{Y}_{j}\) in the reference configuration \(\mathbf{q}=\mathbf{0}\), where \(\mathbf{s}_{i}=\mathbf{y}_{i}\).

3.2.2 Spatial Jacobian and recursive relations

To derive an analytic expression, using the POE, definition (80) of the spatial twist is applied. As apparent from (27), the nonvanishing instantaneous joint screws are identical for all bodies. This is clear since the IFR is the only reference frame involved. The spatial twist can thus be expressed as \(\mathbf{V}_{i}^{\text{s}}=\sum_{j\leq i}\mathbf{J}_{j}^{\text{s}}\dot{q}_{j}\) with \(\widehat{\mathbf {J}}_{j}^{\text{s}}:=\frac{\partial}{\partial q^{j}}\mathbf {C}_{i}\mathbf{C}_{i}^{-1}\). Using the POE, a straightforward derivation analogous to (15) yields

$$ \fbox{$\textstyle\begin{array}[b]{rcl} \mathbf{J}_{j}^{\text{s}} &=& \mathbf{Ad}_{\mathbf{C}_{j}}{^{j}}\mathbf{X}_{j}\\ &=&\mathbf{Ad}_{\mathbf{C}_{j}\mathbf{A}_{j}^{-1}}\mathbf{Y}_{j}\\ &=&\mathbf{Ad}_{\mathbf{C}_{j}\mathbf{S}_{j,j}}{^{j-1}}\mathbf {Z}_{j},\quad j\leq i. \end{array}\displaystyle $} $$
(28)

The \(\mathbf{J}_{j}^{\text{s}}\) is the instantaneous screw coordinate vector of joint \(j\) in (27) in spatial representation, that is, represented in the IFR. The matrix

J i s = ( J 1 s , , J i s , 0 , , 0 )
(29)

is called the spatial Jacobian of body \(i\). The relations (27) and (28) yield the following recursive expression for the spatial twists of bodies in a kinematic chain:

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

Remark 10

The spatial representation has remarkable advantages. The velocity recursion (30) is the simplest possible since the twists of individual bodies can simply be added without any coordinate transformation. An important observation is that \(\mathbf{J}_{j}^{\text{s}}\) is intrinsic to joint \(j\). The nonzero screw vectors in the Jacobian (29) are thus the same for all bodies. This is a consequence of using a single spatial reference frame.

3.2.3 Spatial system Jacobian and its decomposition

The overall spatial twist V s = ( V 1 s , , V n s ) T of the kinematic chain is determined as

V s = J s q ˙ ,
(31)

where the spatial system Jacobian possesses the factorizations

J s = A s Y s = A sb X b = A sh X h .
(32)

Therein it is Y s =diag( Y 1 ,, Y n ), X h in (44), and

A sb : = ( Ad C 1 0 0 0 Ad C 1 Ad C 2 0 0 Ad C 1 Ad C 2 0 0 Ad C 1 Ad C 2 Ad C n 1 Ad C n ) , A sh : = ( Ad r 1 0 0 0 Ad r 1 Ad r 2 0 0 Ad r 1 Ad r 2 0 0 Ad r 1 Ad r 2 Ad r n 1 Ad r n ) A s : = A sb diag ( Ad A 1 1 , , Ad A n 1 ) .
(33)

All nonzero entries in a column of these matrices are identical. Hence the construction of these matrices only requires determination of the \(n\) entries in the last row that are copied into the upper triangular block matrix. The factorization (32) gives rise to an expression for its inverse. Noting that A sb =diag( Ad C 1 ,, Ad C n ) A b , the relation for the inverse of A b in terms of matrix D b in (22) yields

( A sb ) 1 = ( I D b ) diag ( Ad C 1 , , Ad C n ) = ( Ad C 1 1 0 0 0 Ad C 2 Ad C 2 1 0 0 0 Ad C 3 Ad C 3 1 0 0 0 Ad C n Ad C n 1 )
(34)

and ( A s ) 1 accordingly.

Remark 11

(Dependence on joint variables)

Similarly to the body-fixed twist, since \(\mathbf{J}_{i}^{\text{s}}=\mathbf{Ad}_{\mathbf{C}_{i}}{^{i}}\mathbf{X}_{i}=\mathbf {Ad}_{\mathbf{C}_{i-1}}\mathbf{Ad}_{\mathbf{B}_{i}\exp{^{i}}\mathbf {X}_{i}q_{i}}{^{i}}\mathbf{X}_{i}=\mathbf{Ad}_{\mathbf {C}_{i-1}}{^{i}}\mathbf{X}_{i}\) is independent from \(q_{i}\), it follows that the spatial Jacobian of body \(i\) only depends on \(q_{1},\ldots,q_{i-1}\). Indeed, the motion of joint \(i\) does not change its screw axis about which body \(i\) is moving.

Remark 12

(Change of reference frame)

The spatial twist is called a right-invariant vector field on \(\mathit{SE} ( 3 ) \) because it does not change when \(\mathbf{C}_{i}\) is postmultiplied by any \(\mathbf{S}\in \mathit{SE} ( 3 ) \), representing a change of body-fixed RFR. Under a change of IFR according to \(\mathbf {C}_{i}^{\prime}=\mathbf{SC}_{i}\), the spatial twists transform as

$$ \mathbf{V}_{i}^{\prime\text{s}}=\mathbf{Ad}_{\mathbf{S}}\mathbf {V}_{i}^{\text{s}}. $$
(35)

Remark 13

(Application of spatial representation)

The spatial twist is used almost exclusively in mechanism kinematics (often without mentioning it) but is becoming accepted for MBS modeling since it was introduced in [23, 24]. For kinematic analysis of mechanisms, it is common practice to (instantaneously) locate the global reference frame so that it coincides with the frame where kinetostatic properties (twists, wrenches) are observed, usually at the end-effector. For a serial robotic manipulator, the end-effector frame is located at the terminal link of the chain, so that \(\mathbf {A}_{n}=\mathbf{I} \), and \(\mathbf{V}_{n}^{\text{s}}\) is then the spatial end-effector twist. From their definition it follows that the spatial and hybrid twist (see next section) of body \(i\) are numerically identical when the BFR \(\mathcal{F}_{i}\) overlaps with the IFR \(\mathcal{F}_{0}\).

The most prominent use of the spatial representation in dynamics is the \(O ( n ) \) forward dynamics method by Featherstone [23, 24]. This has not yet been widely applied in MBS dynamics. This may be due to use of an uncommon choice of reference point (the IFR origin) at which the spatial entities are measured, so that results and interaction wrenches must be transformed to body-fixed reference frames. The spatial representation of twists must not be confused with the “spatial vector” notation proposed in [23, 24]. The latter is a general expression of twists as 6-vectors (like body-fixed and spatial) but without reference to a particular frame in which the components are resolved. This allows for abstract derivation of kinematic relations, but these relations must eventually be resolved in a particular frame, and this eventually determines the computational effort.

A notable application of the spatial twist is the modeling and numerical integration of nonlinear elastic MBS, where it is called the base pole velocity [10] or fixed pole velocity [13], and the intrinsic coupling of translational and angular velocity (according to the screw motion) was discussed. The corresponding momentum balance and conservation properties are discussed in [11, 12] (see also [50]).

Remark 14

As in Remark 9, relation (34) gives rise to an overall inverse kinematics solution. For given spatial twists \(\mathbf {V}_{i}^{\text{s}}\), this reads in components as \(\dot {q}_{i}={^{i}\mathbf{X}}_{i}^{T}\mathbf{Ad}_{\mathbf {C}_{i}}^{-1}(\mathbf{V}_{i}^{\text{s}}-\mathbf{V}_{i-1}^{\text{s}})/ \Vert {^{i}\mathbf{X}}_{i} \Vert ^{2}\).

3.3 Hybrid form of rigid body twists

3.3.1 Hybrid twists

In various applications, it is beneficial to measure the twist of a body in the body-fixed BFR but resolve it in the IFR. This is commonly referred to as the hybrid twist [18, 52], denoted \(\mathbf{V}_{i}^{\text{h}}=(\boldsymbol{\omega}_{i}^{\text{s}},\dot{\mathbf {r}}_{i})^{T}\). The geometric construction (Fig. 7) yields

$$ \mathbf{V}_{i}^{\text{h}}=\dot{q}_{1}\left ( \textstyle\begin{array}{c} \mathbf{e}_{1} \\ \mathbf{b}_{i,1}\times\mathbf{e}_{1}+h_{1}\mathbf{e}_{1} \end{array}\displaystyle \right ) +\dot{q}_{2}\left ( \textstyle\begin{array}{c} \mathbf{e}_{2} \\ \mathbf{b}_{i,2}\times\mathbf{e}_{2}+h_{2}\mathbf{e}_{2} \end{array}\displaystyle \right ) +\cdots+\dot{q}_{i} \left ( \textstyle\begin{array}{c} \mathbf{e}_{i} \\ \mathbf{b}_{i,i}\times\mathbf{e}_{i}+h_{i}\mathbf{e}_{i} \end{array}\displaystyle \right ) . $$
(36)

As in (13), \(\mathbf{b}_{i,j}\) is the position vector of a point on the axis of joint \(j\) measured from the BFR \(\mathcal{F}_{i}\) of body \(i\), and \(\mathbf{e}_{j}\) is the unit vector along the axis, but now expressed in the IFR \(\mathcal{F}_{0}\). This was originally introduced in [76] and [78] and is used in various \(O ( n ) \) dynamics algorithms (Remark 15).

3.3.2 Hybrid Jacobian and recursive relations

The hybrid twist is merely the body-fixed twist resolved in the IFR. Using (75), this transformation is \(\mathbf{V}_{i}^{\text{h}}=\mathbf{Ad}_{\mathbf{R}_{i}}\mathbf{V}_{i}^{\text{b}}\) where \(\mathbf{R}_{i}\) is the rotation matrix of body \(i\). Then (17) leads to

V i h = j i J i , j h q ˙ j = J i h q ˙
(37)

with the columns \(\mathbf{J}_{i,j}^{\text{h}}:=\mathbf{Ad}_{\mathbf {R}_{i}}\mathbf{J}_{i,j}^{\text{b}}\) of the hybrid Jacobian J i h =( J i , 1 h ,, J i , i h ,0,0). The recursive expressions (19) and (14) remain valid when all screw coordinate vectors are resolved in the IFR. The joint screw coordinates are then configuration dependent. The screw coordinate vector of joint \(j\) measured in the BFR \(\mathcal{F}_{j}\) on body \(j\) and resolved in the IFR \(\mathcal{F}_{0}\) is related to (5) via

$$ {^{0}}\mathbf{X}_{j}^{j}=\mathbf{Ad}_{\mathbf{R}_{j}}{^{j}} \mathbf {X}_{j}=\left ( \textstyle\begin{array}{c} \mathbf{e}_{j} \\ \mathbf{x}_{j,j}\times\mathbf{e}_{j}+h_{j}\mathbf{e}_{j} \end{array}\displaystyle \right ) . $$
(38)

As in (5), the position vector \(\mathbf{x}_{j,j}\) of a point on the axis of joint \(j\) is measured from the BFR \(\mathcal{F}_{j}\) but now resolved in the IFR. The relations \(\mathbf{Ad}_{\mathbf{C}_{i}}=\mathbf {Ad}_{\mathbf{r}_{i}}\mathbf{Ad}_{\mathbf{R}_{i}}\) and \(\mathbf {r}_{i,j}=\mathbf{r}_{j}-\mathbf{r}_{i}\) lead to

$$\begin{aligned} \mathbf{Ad}_{\mathbf{R}_{i}}\mathbf{J}_{i,j}^{\text{b}} =&\mathbf {Ad}_{\mathbf{R}_{i}}\mathbf{Ad}_{\mathbf{C}_{i,j}}{^{j}}\mathbf {X}_{j}=\mathbf{Ad}_{\mathbf{R}_{i}}\mathbf{Ad}_{\mathbf {C}_{i,j}} \mathbf{Ad}_{\mathbf{R}_{j}}^{-1}{^{0}}\mathbf {X}_{j}^{j}=\mathbf{Ad}_{\mathbf{R}_{i}} \mathbf{Ad}_{\mathbf {C}_{i}}^{-1}\mathbf{Ad}_{\mathbf{C}_{j}} \mathbf{Ad}_{\mathbf {R}_{j}}^{-1}{^{0}}\mathbf{X}_{j}^{j} \\ =&\mathbf{Ad}_{\mathbf{r}_{i}}^{-1}\mathbf{Ad}_{\mathbf {r}_{j}}{^{0}} \mathbf{X}_{j}^{j}=\mathbf{Ad}_{-\mathbf{r}_{i}}\mathbf {Ad}_{\mathbf{r}_{j}}{^{0}}\mathbf{X}_{j}^{j}= \mathbf{Ad}_{\mathbf {r}_{j}-\mathbf{r}_{i}}{^{0}}\mathbf{X}_{j}^{j}= \mathbf{Ad}_{\mathbf {r}_{i,j}}{^{0}}\mathbf{X}_{j}^{j}. \end{aligned}$$
(39)

Therewith the columns of the hybrid Jacobian of body \(i\) are

$$ \fbox{$\mathbf{J}_{i,j}^{\text{h}}=\mathbf{Ad}_{\mathbf {r}_{i,j}}{^{0}} \mathbf{X}_{j}^{j},\quad j\leq i$.} $$
(40)

The \(\mathbf{J}_{i,j}^{\text{h}}\) is the instantaneous screw coordinate of joint \(j\) in (36) measured at BFR on body \(i\) and resolved in the IFR. In the hybrid form, all vectors are resolved in the IFR. That is, the screw coordinates \({^{0}}\mathbf{X}_{j}^{j}\) depend on the current configuration \(\mathbf{q}\) even though the joint axis is constant within body \(j\). The hybrid twist is resolved in the IFR. Since the screw coordinates \({^{0}}\mathbf{X}_{j}^{j}\) are already resolved in the IFR, the transformation to the current configuration, to determine the instantaneous joint screws \(\mathbf{J}_{i,j}^{\text{h}} ( \mathbf {q} ) \), only requires translations of origins. This is obtained by shifting the reference point according to \(\mathbf{r}_{i,j}\), which is why the matrix \(\mathbf{Ad}_{\mathbf{r}_{i,j}}\) is also called the “shift dyad” [21]. This is not a frame transformation.

Relation (40) gives rise to the recursive relation for the hybrid Jacobian

$$ \mathbf{J}_{i,j}^{\text{h}}=\left \{ \textstyle\begin{array}{l@{\quad}l} \mathbf{Ad}_{\mathbf{r}_{i,i-1}}\mathbf{J}_{i-1,j}^{\text{h}}, & j< i,\\ {^{0}}\mathbf{X}_{i}^{i}, & j=i . \end{array}\displaystyle \right . $$
(41)

and, analogously to (14), for the hybrid twists,

$$ \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}. $$
(42)

The advantage of the hybrid form over the body-fixed is that (41) only involves the relative displacement \(\mathbf{r}_{i,i-1}\) in contrast to the complete relative configuration \(\mathbf{C}_{i,i-1}\) in (19). It must be recalled, however, that the vectors \(\mathbf{e}_{j}\) and \(\mathbf{r}_{j,j}\) must be transformed to the IFR. Furthermore, when formulating equations of motion, the inertia properties of the body must be resolved in the IFR so that they become configuration dependent [50].

Remark 15

(Application of hybrid representation)

The hybrid form was used in [76] for forward kinematics calculation of serial manipulators and in [4, 5] to compute the motion equations and the inverse dynamics solution. It is used in many recursive \(O ( n ) \) forward dynamics algorithms such as [6, 38, 53, 54, 64], where relations (42) and (40) play a central role. In the so-called “spatial operator algebra” [64], hybrid screw entities are called “spatial vectors”. The hybrid form is deemed computationally efficient since the transformations only involve translations. The actual configuration of the chain is not discussed in these publications, but it enters via the vectors \(\mathbf{e}_{i} ( \mathbf{q} ) \) and \(\mathbf{r}_{i} ( \mathbf{q} )\), respectively \(\mathbf{d}_{i,j} ( \mathbf{q} ) \). In [38] the inverse transformation \(\mathbf{Ad}_{\mathbf{r}_{i,j}}^{-1}\) was denoted by \({}^{j}\mathbf{X}_{i}\) (not to be confused with (5)), and the screw coordinate vector \({^{0}}\mathbf{X}_{j}^{j}\) in (38) by \(\phi_{j}\). In [64], \(\mathbf{Ad}_{\mathbf{r}_{i,j}}^{-1}\) was denoted by \(\phi_{i,j}^{T}\), and \({^{0}}\mathbf{X}_{j}^{j}\) with \(\mathbf {H}_{j}^{T}\). The transposed matrices appear since they arise from the transformation of wrenches.

3.3.3 Hybrid system Jacobian and its decomposition

The hybrid system Jacobian, which determines the overall hybrid twist vector V h = ( V 1 h , , V n h ) T according to

V h = J h q ˙ = A h X h q ˙ ,
(43)

is decomposed in terms of

A h := ( I 0 0 0 Ad r 2 , 1 I 0 0 Ad r 3 , 1 Ad r 3 , 2 I 0 Ad r n , 1 Ad r n , 2 Ad r n , n 1 I ) , X h :=diag ( 0 X 1 1 , , 0 X n n ).
(44)

In analogy to (25), A h can be resolved as power series using the relation A h = ( I T h ) 1 with the \(6n\times6n\) matrix

T h := ( 0 0 0 0 Ad r 2 , 1 0 0 0 Ad r 3 , 2 0 0 0 Ad r n , n 1 0 ) .
(45)

This leads to the inverse ( A h ) 1 =(I T h ) and a solution \(\dot{\mathbf{q}}\) of (43) of the form (26).

3.4 Mixed form of rigid body twists

3.4.1 Mixed twists

When formulating the Newton–Euler equations of rigid bodies, it can be beneficial to use the body-fixed angular velocity and the translational velocity measured at the body-fixed BFR but resolved in the IFR. This is called the mixed twist denoted by \(\mathbf{V}_{i}^{\text{m}}=(\boldsymbol{\omega}_{i}^{\text{b}},\dot{\mathbf{r}}_{i})^{T}\). It is used in MBS dynamics modeling [68], basically because when using the mixed twist, the Newton–Euler equations with respect to the COM are decoupled and because the body-fixed inertia tensor is constant (see also the companion paper [50]). The mixed twist is readily found as

$$ \mathbf{V}_{i}^{\text{m}}=\dot{q}_{1}\left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{1} \\ \mathbf{b}_{i,1}\times\mathbf{e}_{1}+\mathbf{e}_{1}h_{1} \end{array}\displaystyle \right ) +\dot{q}_{2}\left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{2} \\ \mathbf{b}_{i,2}\times\mathbf{e}_{2}+\mathbf{e}_{2}h_{2} \end{array}\displaystyle \right ) +\cdots+\dot{q}_{i} \left ( \textstyle\begin{array}{c} {^{i}}\mathbf{e}_{i} \\ \mathbf{b}_{i,i}\times\mathbf{e}_{i}+\mathbf{e}_{i}h_{i} \end{array}\displaystyle \right ) . $$
(46)

As in (36), \(\mathbf{e}_{j}\) is the unit vector along the axis of joint \(j\) measured and resolved in the IFR \(\mathcal{F}_{0}\), and \(\mathbf{b}_{i,j}\) is the position vector of a point on the axis measured in the BFR \(\mathcal{F}_{i}\) of body \(i\) and resolved in the IFR. The mixed twist is related to the body-fixed, spatial, and hybrid form via

$$ \mathbf{V}_{i}^{\text{m}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{I} & \mathbf{0} \\ \mathbf{0} & \mathbf{R}_{i} \end{array}\displaystyle \right ) \mathbf{V}_{i}^{\text{b}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{I} \end{array}\displaystyle \right ) \mathbf{V}_{i}^{\text{h}}= \left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ -\widetilde{\mathbf{r}}_{i} & \mathbf{I} \end{array}\displaystyle \right ) \mathbf{V}_{i}^{\text{s}}. $$
(47)

3.4.2 Mixed Jacobian and recursive relations

Expression (46) is written as

V i m = j i J i , j m q ˙ j = J i m q ˙ ,
(48)

where the mixed Jacobian of body \(i\) is introduced as

J i m = ( J i , 1 m , , J i , i m , 0 , 0 ) .
(49)

The elements in the instantaneous joint screw coordinate vectors \(\mathbf{J}_{i,j}^{\text{m}}\) in (46) are not consistently resolved in one frame. Rather \({^{i}}\mathbf{e}_{j}\) is resolved in BFR \(\mathcal{F}_{i}\), and \(\mathbf{e}_{j}\) in the IFR. The mixed Jacobian can thus not be derived via frame transformations. Starting from the body-fixed Jacobian yields

$$ \fbox{$\mathbf{J}_{i,j}^{\text{m}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \widetilde{\mathbf{r}}_{i,j} & \mathbf{I} \end{array}\displaystyle \right ) {^{0}} \mathbf{X}_{j}^{j},\quad j\leq i$,} $$
(50)

where \({^{0}}\mathbf{X}_{j}^{j}\) are the screw coordinates of joint \(j\) measured in frame \(\mathcal{F}_{j}\) and resolved in the IFR, given in (38). The difference to (40) is that the angular and translational part are resolved in different frames. Expression (50) can be written in the recursive form

$$ \mathbf{J}_{i,j}^{\text{m}}=\left \{ \textstyle\begin{array}{l@{\quad}l} \left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i,i-1} & \mathbf{0} \\ \widetilde{\mathbf{r}}_{i,i-1}\mathbf{R}_{i} & \mathbf{I} \end{array}\displaystyle \right ) \mathbf{J}_{i-1,j}^{\text{h}}, & j< i,\\ \left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i}^{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{I} \end{array}\displaystyle \right ) {^{0}} \mathbf{X}_{i}^{i}, & j=i. \end{array}\displaystyle \right . $$
(51)

This directly translates to a recursive relation for the mixed twists within a kinematic chain

$$ \mathbf{V}_{i}^{\text{m}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i,i-1} & \mathbf{0} \\ \widetilde{\mathbf{r}}_{i,i-1}\mathbf{R}_{i} & \mathbf{I} \end{array}\displaystyle \right ) \mathbf{V}_{i-1}^{\text{m}}+\mathbf{J} {_{i,i}^{\text{m}}}\dot{q}_{i}. $$
(52)

3.4.3 Mixed system Jacobian and its decomposition

The overall mixed twist vector V m = ( V 1 m , , V n m ) T can be expressed in terms of the system Jacobian J m as

V m = J m q ˙ = A m X m q ˙
(53)

with X m := X h and the matrix A m as in (44) but with the \(\mathbf {Ad}_{\mathbf{r}_{i,j}}\) replaced by the matrix in (50). This allows for a closed-form inversion of A m analogous to that of A h .

3.5 Relation of different forms

The introduced twists are related by certain (not necessarily frame) transformations, and it is occasionally desirable to switch between them. From their definitions in (80) it is clear that body-fixed and spatial twists, and thus the corresponding Jacobians, are related by

V i s = Ad C i V i b , J i s = Ad C i J i b .
(54)

Evaluating this in the reference configuration \(\mathbf{q}=\mathbf{0}\) leads to the relation of joint screw coordinates (12). The body-fixed twist is related to its hybrid version by a coordinate transformation determined by the rotation \(\mathbf{R}_{i}\) matrix, aligning the body frame with the IFR,

$$ \mathbf{V}_{i}^{\text{h}}=\left ( \textstyle\begin{array}{c@{\quad}c} \mathbf{R}_{i} & \mathbf{0} \\ \mathbf{0} & \mathbf{R}_{i} \end{array}\displaystyle \right ) \mathbf{V}_{i}^{\text{b}}= \mathbf{Ad}_{\mathbf{R}_{i}}\mathbf {V}_{i}^{\text{b}}. $$
(55)

Transformation (55) applies to a general hybrid screw and in particular to the joint screws (5) and (38) and Jacobians (16) and (40):

X j j 0 = Ad R j j X j , J i h = Ad R i J i b .
(56)

Combining (56) and (12) yields the relation of hybrid and spatial versions of joint screws

$$ \mathbf{Y}_{j}=\mathbf{Ad}_{\mathbf{r}_{i}}{^{0}} \mathbf{X}_{j}^{j} $$
(57)

with the current position vector \(\mathbf{r}_{i}\) of body \(i\) in \(\mathbf{C}_{i}\). From (54) and (55) it follows that

$$ \mathbf{V}_{i}^{\text{s}}=\mathbf{Ad}_{\mathbf{C}_{i}}\mathbf {Ad}_{\mathbf{R}_{i}}^{-1}\mathbf{V}_{i}^{\text{h}}= \mathbf{Ad}_{\mathbf {r}_{i}}\mathbf{V}_{i}^{\text{h}} $$
(58)

and thus

$$ \mathbf{J}_{j}^{\text{s}}=\mathbf{Ad}_{\mathbf{r}_{i}}\mathbf {J}_{i,j}^{\text{h}},\quad j\leq i. $$
(59)

This describes the change of reference point from the BFR of body \(i\) to the IFR. The transformations between the different forms of twists and joint screws are summarized in Table 3.

Table 3 Transformation of the different representations of twists and joint screw coordinates

It should be finally mentioned that the screw coordinates \({^{i}}\mathbf {X}_{i}\) and \({^{0}}\mathbf{X}_{i}^{i}\) are just different coordinates for the same geometric object, namely of the instantaneous joint screw of joint \(i\) measured in the BFR at body \(i\) but resolved either in this BFR or in the IFR. The vector \(\mathbf{Y}_{i}\) on the other hand is a snapshot of the joint screw coordinates of joint \(i\) in spatial representation at the reference \(\mathbf{q}=\mathbf{0}\).

Remark 16

(Computational efficiency)

It is clear from (14), (30), (42), and (52) that the number of numerical operations differ between the four different representations of twists. This allows for selecting the most efficient one when a kinematic analysis is envisaged. In [55] the problem of determining the twists of the terminal body in a kinematic chain (robot end-effector) was analyzed for body-fixed, spatial, and hybrid forms. This study suggests that the spatial representation is computationally most efficient. A conclusive analysis of all four forms has not yet been reported. Moreover, the general situation includes the dynamic analysis. This was partly addressed in [73, 79].

3.6 Example (continued)

The Jacobian in body-fixed and spatial representation is determined for the example in Sect. 2.5. The instantaneous screw coordinates in body-fixed representation are readily found with (16). For instance, the instantaneous screw coordinate vector of joint 1 expressed in the body-fixed frame on body 3 is

$$\begin{aligned} \mathbf{J}_{3,1}^{\text{b}} =&\mathbf{Ad}_{\mathbf{C}_{3,1}\mathbf {A}_{1}^{-1}} \mathbf{Y}_{1}=\mathbf{Ad}_{\mathbf{C}_{3,1}}{^{1}} \mathbf{X}_{1} \\ =& \bigl( 0,0,1,(d_{2}+d_{3})s_{2}+(x_{1}+x_{3}-d_{3})s_{23},d_{2}-x_{1}-(d_{2}+d_{3})c_{2}+(d_{3}-x_{1}-x_{3})c_{23},0 \bigr) ^{T}. \end{aligned}$$

Proceeding analogously for the other joints yields the body-fixed Jacobian of body 3 as

J 3 b (q)= ( 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 ( d 2 + d 3 ) s 2 + ( x 1 + x 3 d 3 ) s 23 s 3 ( x 2 + x 3 d 2 d 3 ) 0 0 0 d 2 x 1 ( d 2 + d 3 ) c 2 + ( d 3 x 1 x 3 ) c 23 c 3 ( d 2 + d 3 x 2 x 3 ) d 3 x 2 x 3 d 3 0 0 0 0 0 0 0 ) .

The body-fixed twist of body 3 is therewith V 3 b = J 3 b (q) q ˙ . Again details for body 4 and 5 are omitted because of space limitation.

The spatial representation of the screw coordinates of joint \(1,\ldots,4\), for instance, is found with (28):

$$\begin{aligned} \mathbf{J}_{1}^{\text{s}} ( \mathbf{q} ) =& ( 0,0,1,0,0,0 ) ^{T}, \\ \mathbf{J}_{2}^{\text{s}} ( \mathbf{q} ) =& ( 0,0,1,-d_{2}s_{1},d_{2}c_{1},0 ) ^{T}, \\ \mathbf{J}_{3}^{\text{s}} ( \mathbf{q} ) =& \bigl( 0,0,1,(d_{2}+d_{3})s_{23}-d_{2}s_{1},d_{2}c_{1}-(d_{2}+d_{3})c_{12},0 \bigr) ^{T}, \\ \mathbf{J}_{4}^{\text{s}} ( \mathbf{q} ) =&\frac{1}{\sqrt {2}} \bigl(-c_{123},-s_{123},1,(d_{2}+d_{3})s_{12}-d_{2}s_{1}+(d_{4}+h_{4}-d_{3})s_{123}, \\ &d_{2}c_{1}-(d_{2}+d_{3})c_{12}+(d_{3}-d_{4}-h_{4})c_{123},d_{2}s_{23}-(d_{2}+d_{3})s_{3} \bigr)^{T}. \end{aligned}$$

That for joint 5 is omitted again. These \(\mathbf{J}_{i}^{\text{s}}\) constitute the spatial Jacobians J i s in (29).

4 Conclusions and outlook

Screw and Lie group theory gives rise to compact formulations of the equations governing the MBS kinematics in terms of relative (joint) coordinates. This is beneficial for the actual modeling process and for the implementation of MBS algorithms and their computational properties. The frame invariance of these concepts allows for expressing the relevant modeling objects as suited best for a particular application. In particular, the MBS kinematics can be formulated without introduction of body-fixed joint frames. This is a central result that gives rise to maximal flexibility as opposed to the use of modeling conventions like Denavit–Hartenberg parameters. These results have been published over the last two decades, but they have not been presented within a uniform MBS framework. In this paper, screw and Lie group theory has been employed to provide such a framework. Decisive for the computational efficiency is the actual representation of rigid body twists and accelerations. Four commonly used forms were recalled, and the recursive algorithms for MBS kinematics where presented. The corresponding recursive algorithms for evaluation of the motion equations are presented in the accompanying paper [50].

The reader used to work with the classical body-fixed twists should be able to directly apply the presented modeling paradigm for MBS kinematics using relation (10) to determine the body configurations and (16) to determine the Jacobian while having the freedom to choose arbitrary BFR and IFR. This applies likewise to the spatial, hybrid, and mixed twists.

The full potential of Lie group formulations is yet to be explored in future research. This regards the modeling steps and the computational properties, in particular, given a current trend in computational MBS dynamics to put more emphasis on user-friendly modeling and on tailored simulation codes. A forthcoming paper will address MBS with general topology. To this end, the loop closure constraints are formulated in the form of a POE. Redundant loop constraints are still a major challenge. It is already known that the loop constraints can be concisely formulated in terms of joint screws, but even more that they can be reduced to a nonredundant constraint system by means of simple operations on the joint screw system [47].