Multibody System Dynamics

, Volume 43, Issue 1, pp 37–70 | Cite as

Screw and Lie group theory in multibody kinematics

Motion representation and recursive kinematics of tree-topology systems
Open Access
Article

Abstract

After three decades of computational multibody system (MBS) dynamics, current research is centered at the development of compact and user-friendly yet computationally efficient formulations for the analysis of complex MBS. The key to this is a holistic geometric approach to the kinematics modeling observing that the general motion of rigid bodies and the relative motion due to technical joints are screw motions. Moreover, screw theory provides the geometric setting and Lie group theory the analytic foundation for an intuitive and compact MBS modeling. The inherent frame invariance of this modeling approach gives rise to very efficient recursive \(O ( n ) \) algorithms, for which the so-called “spatial operator algebra” is one example, and allows for use of readily available geometric data. In this paper, three variants for describing the configuration of tree-topology MBS in terms of relative coordinates, that is, joint variables, are presented: the standard formulation using body-fixed joint frames, a formulation without joint frames, and a formulation without either joint or body-fixed reference frames. This allows for describing the MBS kinematics without introducing joint reference frames and therewith rendering the use of restrictive modeling convention, such as Denavit–Hartenberg parameters, redundant. Four different definitions of twists are recalled, and the corresponding recursive expressions are derived. The corresponding Jacobians and their factorization are derived. The aim of this paper is to motivate the use of Lie group modeling and to provide a review of different formulations for the kinematics of tree-topology MBS in terms of relative (joint) coordinates from the unifying perspective of screw and Lie group theory.

Keywords

Rigid bodies Multibody systems Kinematics Relative coordinates Recursive algorithms Screws Lie groups Frame invariance 

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, 56, 57, 58, 59, 60]. 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. [10, 11, 12].

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)\)

n

Subgroup

Motion

1

1-dim. translation along some axis

1

SO(2)

1-dim. rotation about arbitrary fixed axis

1

\(H_{p}\)

screw motion about arbitrary axis with finite pitch

2

\(\mathbb{R}^{2}\)

2-dim. planar translation

2

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}\)

translation along arbitrary axis & rotation along this axis

3

\(\mathbb{R}^{3}\)

spatial translations

3

SO(3)

spatial rotations about arbitrary fixed point

3

\(H_{p}\ltimes\mathbb{R}^{2}\)

translation in a plane + screw motion ⊥ to this plane (pitch h)

3

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}^{2}=\mathit{SE} ( 2 ) \)

planar motions

4

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}^{3}=\mathit{SE} ( 2 ) \ltimes \mathbb{R}\)

spatial translations + rotation about axis with fixed orientation (Schönflies motion)

6

SE(3)

spatial motion

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

n

Subgroup

Lower pair

Macro joint

1

Prismatic joint

×

1

SO(2)

Revolute joint

×

1

\(H_{p}\)

Screw joint

×

2

\(\mathbb{R}^{2}\)

×

combination of two nonparallel prismatic joints

2

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}\)

Cylindrical joint

×

3

\(\mathbb{R}^{3}\)

×

combination of three nonparallel prismatic joints

3

SO(3)

Spherical joint

×

3

\(H_{p}\ltimes\mathbb{R}^{2}\)

×

planar joint + screw joint with axis normal to plane

3

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}^{2}=\mathit{SE} ( 2 ) \)

Planar joint

×

4

\(\mathit{SO} ( 2 ) \ltimes\mathbb{R}^{3}=\mathit{SE} ( 2 ) \ltimes \mathbb{R}\)

×

planar joint + prismatic joint with axis normal to plane

6

SE(3)

×

“free joint”

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

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

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

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

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

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

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

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 ˙ . Open image in new window
(17)
The \(6\times n\) matrix
J i b = ( J i , 1 b , , J i , i b , 0 , 0 ) Open image in new window
(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 Open image in new window. Recursion (14) can then be written in the matrix form
V b = D b V b + X b q ˙ Open image in new window
(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 ) . Open image in new window
(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 ˙ , Open image in new window
(23)
where the \(6n\times n\) matrix J b = A b X b Open image in new window 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 ) Open image in new window
(24)
is the screw transformation matrix. Comparing (21) and (23) shows that A b = ( I D b ) 1 Open image in new window. In fact, D b Open image in new window is nilpotent so that the von-Neumann series
A b = ( I D b ) 1 = I + D b + ( D b ) 2 + + ( D b ) n Open image in new window
(25)
terminates with ( D b ) n + 1 = 0 Open image in new window. That is, \(\mathbf {A}^{\text{b}}\) is the 1-resolvent of D b Open image in new window, 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 ) Open image in new window.

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 ) Open image in new window followed by ( X b ) T Open image in new window and ( ( X b ) T X b ) 1 Open image in new window yields
q ˙ = ( ( X b ) T X b ) 1 ( X b ) T ( I D b ) V b . Open image in new window
(26)
The \(n\times n\) diagonal matrix ( X b T X b ) 1 = diag ( 1 / 1 X 1 2 , , 1 / n X n 2 ) Open image in new window 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 ) Open image in new window
(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 Open image in new window of the kinematic chain is determined as
V s = J s q ˙ , Open image in new window
(31)
where the spatial system Jacobian possesses the factorizations
J s = A s Y s = A sb X b = A sh X h . Open image in new window
(32)
Therein it is Y s = diag ( Y 1 , , Y n ) Open image in new window, X h Open image in new window 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 ) . Open image in new window
(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 Open image in new window, the relation for the inverse of A b Open image in new window in terms of matrix D b Open image in new window 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 ) Open image in new window
(34)
and ( A s ) 1 Open image in new window 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 ˙ Open image in new window
(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 ) Open image in new window. 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 Open image in new window according to
V h = J h q ˙ = A h X h q ˙ , Open image in new window
(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 ) . Open image in new window
(44)
In analogy to (25), A h Open image in new window can be resolved as power series using the relation A h = ( I T h ) 1 Open image in new window 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 ) . Open image in new window
(45)
This leads to the inverse ( A h ) 1 = ( I T h ) Open image in new window 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 ˙ , Open image in new window
(48)
where the mixed Jacobian of body \(i\) is introduced as
J i m = ( J i , 1 m , , J i , i m , 0 , 0 ) . Open image in new window
(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 Open image in new window can be expressed in terms of the system Jacobian J m Open image in new window as
V m = J m q ˙ = A m X m q ˙ Open image in new window
(53)
with X m : = X h Open image in new window and the matrix A m Open image in new window 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 Open image in new window analogous to that of A h Open image in new window.

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 . Open image in new window
(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 . Open image in new window
(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 ) . Open image in new window
The body-fixed twist of body 3 is therewith V 3 b = J 3 b ( q ) q ˙ Open image in new window. 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 Open image in new window 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].

Notes

Acknowledgements

Open access funding provided by Johannes Kepler University Linz. The author acknowledges that this work has been partially supported by the Austrian COMET-K2 program of the Linz Center of Mechatronics (LCM).

References

  1. 1.
    Anderson, K.: An order \(n\) formulation for the motion simulation of general multi-rigid-body constrained systems. Comput. Struct. 43(3), 565–579 (1992) CrossRefMATHGoogle Scholar
  2. 2.
    Anderson, K.S., Critchley, J.H.: Improved ‘order-N’ performance algorithm for the simulation of constrained multi-rigid-body dynamic systems. Multibody Syst. Dyn. 9(2), 185–212 (2003) MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Angeles, J.: Rational Kinematics. Springer, New York (1988) CrossRefMATHGoogle Scholar
  4. 4.
    Angles, J., Lee, S.: The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement. J. Appl. Mech. 55, 243–244 (1988) CrossRefMATHGoogle Scholar
  5. 5.
    Angeles, J.: Fundamentals of Robotic Mechanical Systems, 2nd edn. Springer, Berlin (2003) MATHGoogle Scholar
  6. 6.
    Bae, D.S., Hwang, R.S., Haug, E.J.: A recursive formulation for real-time dynamic simulation of mechanical systems. J. Mech. Des. 113(2), 158–166 (1988) Google Scholar
  7. 7.
    Bae, D.S., et al.: A generalized recursive formulation for constrained flexible multibody dynamics. Int. J. Numer. Methods Eng. 50, 1841–1859 (2001) CrossRefMATHGoogle Scholar
  8. 8.
    Bauchau, O.: Flexible Multibody Dynamics. Springer, Dordrecht (2011) CrossRefMATHGoogle Scholar
  9. 9.
    Bongardt, B.: Analytical approaches for design and operation of haptic human–machine interfaces. PhD thesis, University Bremen (2015) Google Scholar
  10. 10.
    Borri, M., Bottasso, C.L., Trainelli, L.: Integration of elastic multibody systems by invariant conserving/dissipating algorithms—part I: formulation. Comput. Methods Appl. Mech. Eng. 190(29/30), 3669–3699 (2001) CrossRefMATHGoogle Scholar
  11. 11.
    Borri, M., Bottasso, C.L., Trainelli, L.: Integration of elastic multibody systems by invariant conserving/dissipating algorithms—part II: numerical schemes and applications. Comput. Methods Appl. Mech. Eng. 190(29/30), 3701–3733 (2001) MATHGoogle Scholar
  12. 12.
    Borri, M., Bottasso, C.L., Trainelli, L.: An invariant-preserving approach to robust finite-element multibody simulation. Z. Angew. Math. Mech. 83(10), 663–676 (2003) MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Bottasso, C.L., Borri, M.: Integrating finite rotations. Comput. Methods Appl. Mech. Eng. 164, 307–331 (1998) MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Bottema, O., Roth, B.: Theoretical Kinematics. Dover, New York (1990) MATHGoogle Scholar
  15. 15.
    Brockett, R.W.: Robotic manipulators and the product of exponentials formula. In: Mathematical Theory of Networks and Systems. Lecture Notes in Control and Information Sciences, vol. 58, pp. 120–129 (1984) CrossRefGoogle Scholar
  16. 16.
    Brockett, R.W., Stokes, A., Park, F.: A geometrical formulation of the dynamical equations describing kinematic chains. IEEE Int. Conf. Robot. Autom. 2, 637–641 (1993) Google Scholar
  17. 17.
    Brüls, O., Cardona, A., Arnold, M.: Lie group generalized-alpha time integration of constrained flexible multibody systems. Mech. Mach. Theory 48, 121–137 (2012) CrossRefGoogle Scholar
  18. 18.
    Bruyninckx, H., De Schutter, J.: Symbolic differentiation of the velocity mapping for a serial kinematic chain. Mech. Mach. Theory 31(2), 135–148 (1996) CrossRefGoogle Scholar
  19. 19.
    Chevallier, D.P.: Lie algebras, modules, dual quaternions and algebraic methods in kinematics. Mech. Mach. Theory 26(6), 613–627 (1991) CrossRefGoogle Scholar
  20. 20.
    Chevallier, D.P.: Lie groups and multibody dynamics formalism. In: Proc. EUROMECH Colloquium, Prague, vol. 320, pp. 1–20 (1994) Google Scholar
  21. 21.
    Critchley, J.H., Anderson, K.S.: A generalized recursive coordinate reduction method for multibody system dynamics. Int. J. Multiscale Comput. Eng. 1(2–3), 181–199 (2003) Google Scholar
  22. 22.
    Denavit, J., Hartenberg, R.: A kinematic notation for lower-pair mechanisms based on matrices. J. Appl. Mech. 22, 215–221 (1955) MathSciNetMATHGoogle Scholar
  23. 23.
    Featherstone, R.: The calculation of robot dynamics using articulated-body inertias. Int. J. Robot. Res. 2(1), 13–30 (1983) CrossRefGoogle Scholar
  24. 24.
    Featherstone, R.: Rigid Body Dynamics Algorithms. Springer, Berlin (2008) CrossRefMATHGoogle Scholar
  25. 25.
    Fijany, A.: Parallel \(O(\log N)\) algorithms for computation of manipulator forward dynamics. IEEE Trans. Robot. Autom. 11(3), 389–400 (1995) CrossRefGoogle Scholar
  26. 26.
    Gallardo, J., Rico, J.M., Frisoli, A., Checcacci, D., Bergamasco, M.: Dynamics of parallel manipulators by means of screw theory. Mech. Mach. Theory 38(11), 1113–1131 (2003) MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Gupta, K.C.: Kinematic analysis of manipulators using the zero reference position description. Int. J. Robot. Res. 5(2), 5–13 (1986) CrossRefGoogle Scholar
  28. 28.
    Hervé, J.M.: Analyse Structurelle des Mécanismes par Groupe des Déplacements. Mech. Mach. Theory 13, 437–450 (1978) CrossRefGoogle Scholar
  29. 29.
    Hervé, J.M.: Intrinsic formulation of problems of geometry and kinematics of mechanisms. Mech. Mach. Theory 17(3), 179–184 (1982) CrossRefGoogle Scholar
  30. 30.
    Hollerbach, J.M.: A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity. IEEE Trans. Syst. Man Cybern. SMC-10(11), 730–736 (1980) MathSciNetCrossRefGoogle Scholar
  31. 31.
    Hunt, K.H.: Kinematic Geometry of Mechanisms. Oxford Engineering Science Series. SIAM, Oxford (1990) MATHGoogle Scholar
  32. 32.
    Jain, A.: Unified formulation of dynamics for serial rigid multibody systems. J. Guid. Control Dyn. 14(3), 531–542 (1991) CrossRefMATHGoogle Scholar
  33. 33.
    Jain, A., Rodriguez, G.: Diagonalized Lagrangian robot dynamics. IEEE Trans. Robot. Autom. 11(4), 571–584 (1995) CrossRefGoogle Scholar
  34. 34.
    Jain, A.: Graph theoretic foundations of multibody dynamics, part I: structural properties. Multibody Syst. Dyn. 26, 307–333 (2011) MathSciNetCrossRefMATHGoogle Scholar
  35. 35.
    Khalil, W., Kleinfinger, J.F.: A new geometric notation for open and closed-loop robots. In: Proceedings of the IEEE International Conference on Robotics and Automation, pp. 1174–1179 (1986) Google Scholar
  36. 36.
    Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—I. Theory. Mech. Mach. Theory 31(5), 573–587 (1996) CrossRefGoogle Scholar
  37. 37.
    Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—II. Applications to chains of rigid bodies and serial manipulators. Mech. Mach. Theory 31(5), 589–605 (1996) CrossRefGoogle Scholar
  38. 38.
    Lilly, W., Orin, D.E.: Alternate formulations for the manipulator inertia matrix. Int. J. Robot. Res. 10(1), 64–74 (1991) CrossRefGoogle Scholar
  39. 39.
    Liu, Y.: Screw-matrix method in dynamics of multibody systems. Acta Mech. Sin. 4(2), 165–174 (1988) MathSciNetCrossRefMATHGoogle Scholar
  40. 40.
    Lynch, K.M., Park, F.C.: Modern Robotics. Cambridge University Press, Cambridge (2017) Google Scholar
  41. 41.
    Maißer, P.: Analytische Dynamik von Mehrkörpersystemen. Z. Angew. Math. Mech. 68(10), 463–481 (1988) MathSciNetCrossRefMATHGoogle Scholar
  42. 42.
    Maisser, P.: Differential-geometric methods in multibody dynamics. Nonlinear Anal. 30(8), 5127–5133 (1997) MathSciNetCrossRefMATHGoogle Scholar
  43. 43.
    McCarthy, J.M.: An Introduction to Theoretical Kinematics. MIT Press, Cambridge (1990) Google Scholar
  44. 44.
    Mladenova, C.D.: Group theory in the problems of modeling and control of multi-body systems. J. Geom. Symmetry Phys. 8, 17–121 (2006) MathSciNetMATHGoogle Scholar
  45. 45.
    Müller, A.: Representation of the kinematic topology of mechanisms for kinematic analysis. Mech. Sci. 6, 1–10 (2015) CrossRefGoogle Scholar
  46. 46.
    Müller, A., Maisser, P.: Lie group formulation of kinematics and dynamics of constrained MBS and its application to analytical mechanics. Multibody Syst. Dyn. 9, 311–352 (2003) MathSciNetCrossRefMATHGoogle Scholar
  47. 47.
    Müller, A.: Implementation of a geometric constraint regularization for multibody system models. Arch. Mech. Eng. 61(2), 376–383 (2014) CrossRefGoogle Scholar
  48. 48.
    Müller, A., Terze, Z.: The significance of the configuration space Lie group for the constraint satisfaction in numerical time integration of multibody systems. Mech. Mach. Theory 82, 173–202 (2014) CrossRefGoogle Scholar
  49. 49.
    Müller, A.: A note on the motion representation and configuration update in time stepping schemes for the constrained rigid body. BIT Numer. Math. 56(3), 995–1015 (2016) MathSciNetCrossRefMATHGoogle Scholar
  50. 50.
    Müller, A.: Screw and Lie group theory in multibody dynamics—recursive algorithms and equations of motion of tree-topology systems. Multibody Syst. Dyn. (2016). doi: 10.1007/s11044-017-9583-6 Google Scholar
  51. 51.
    Müller, A.: Coordinate mappings for rigid body motions. J. Comput. Nonlinear Dyn. 12(2), 021010 (2016) CrossRefGoogle Scholar
  52. 52.
    Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994) MATHGoogle Scholar
  53. 53.
    Naudet, J., Lefeber, D., Daerden, F., Terze, Z.: Forward dynamics of open-loop multibody mechanisms using an efficient recursive algorithm based on canonical momenta. Multibody Syst. Dyn. 10(1), 45–59 (2003) MathSciNetCrossRefMATHGoogle Scholar
  54. 54.
    Orin, D., et al.: Kinematic and kinetic analysis of open-chain linkages utilizing Newton–Euler methods. Math. Biosci. 43, 107–130 (1979) CrossRefMATHGoogle Scholar
  55. 55.
    Orin, D., Schrader, W.: Efficient computation of the Jacobian for robot manipulators. Int. J. Robot. Res. 3(4) (1984) Google Scholar
  56. 56.
    Park, F.C.: Computational aspects of the product-of-exponentials formula for robot kinematics. IEEE Trans. Autom. Control 39(3), 643–647 (1994) CrossRefMATHGoogle Scholar
  57. 57.
    Park, F.C., Bobrow, J.E., Ploen, S.R.: A Lie group formulation of robot dynamics. Int. J. Robot. Res. 14(6), 609–618 (1995) CrossRefGoogle Scholar
  58. 58.
    Park, F.C., Kim, M.W.: Lie theory, Riemannian geometry, and the dynamics of coupled rigid bodies. Z. Angew. Math. Phys. 51, 820–834 (2000) MathSciNetCrossRefMATHGoogle Scholar
  59. 59.
    Ploen, S.R., Park, F.C.: A Lie group formulation of the dynamics of cooperating robot systems. Robot. Auton. Syst. 21, 279–287 (1997) CrossRefGoogle Scholar
  60. 60.
    Ploen, S.R., Park, F.C.: Coordinate-invariant algorithms for robot dynamics. IEEE Trans. Robot. Autom. 15(6), 1130–1135 (1999) CrossRefGoogle Scholar
  61. 61.
    Reuleaux, F.: Theoretische Kinematik: Grundzüge einer Theorie des Maschinenwesens. Vieweg, Braunschweig (1875) MATHGoogle Scholar
  62. 62.
    Reuleaux, F.: Kinematics of Machinery. Dover, New York (1963) Google Scholar
  63. 63.
    Rodriguez, G.: Kalman filtering, smoothing, and recursive robot arm forward and inverse dynamics. IEEE J. Robot. Autom. RA-3(6), 624–639 (1987) CrossRefGoogle Scholar
  64. 64.
    Rodriguez, G., Jain, A., Kreutz-Delgado, K.: A spatial operator algebra for manipulator modelling and control. Int. J. Robot. Res. 10(4), 371–381 (1991) CrossRefGoogle Scholar
  65. 65.
    Rodriguez, G., Jain, A., Kreutz-Delgado, K.: Spatial operator algebra for multibody system dynamics. J. Astronaut. Sci. 40, 27–50 (1992) MathSciNetGoogle Scholar
  66. 66.
    Samuel, A.E., McAree, P.R., Hunt, K.H.: Unifying screw geometry and matrix transformations. Int. J. Robot. Res. 10(5), 454–472 (1991) CrossRefGoogle Scholar
  67. 67.
    Selig, J.: Geometric Fundamentals of Robotics. Monographs in Computer Science Series. Springer, New York (2005) MATHGoogle Scholar
  68. 68.
    Shabana, A.A.: Dynamics of Multibody Systems, 4th edn. Springer, Berlin (2013) CrossRefMATHGoogle Scholar
  69. 69.
    Sheth, P.N., Uicker, J.J.: A generalized symbolic notation for mechanisms. J. Eng. Ind. 93(1), 102–112 (1971) CrossRefGoogle Scholar
  70. 70.
    Simo, J.C., Vu-Quoc, L.: On the dynamics in space of rods undergoing large motions—geometrically exact approach. Comput. Methods Appl. Mech. Eng. 66, 125–161 (1986) MathSciNetCrossRefMATHGoogle Scholar
  71. 71.
    Simo, J.C., Wong, K.K.: Unconditionally stable algorithms for rigid body dynamics that exactly preserve energy and momentum. Int. J. Numer. Methods Eng. 31(1), 19–52 (1991) MathSciNetCrossRefMATHGoogle Scholar
  72. 72.
    Sonneville, V., Cardona, A., Bruls, O.: Geometrically exact beam finite element formulated on the special Euclidean group SE(3). Comput. Methods Appl. Mech. Eng. 268, 451–474 (2014) MathSciNetCrossRefMATHGoogle Scholar
  73. 73.
    Stelzle, W., Kecskeméthy, A., Hiller, M.: A comparative study of recursive methods. Arch. Appl. Mech. 66, 9–19 (1995) CrossRefMATHGoogle Scholar
  74. 74.
    Uicker, J.J., Ravani, B., Sheth, P.N.: Matrix Methods in the Design Analysis of Mechanisms and Multibody Systems. Cambridge University Press, Cambridge (2013) CrossRefMATHGoogle Scholar
  75. 75.
    Vukobratović, M., Potkonjak, V.: Contribution of the forming of computer methods for automatic modelling of spatial mechanisms motions. Mech. Mach. Theory 14(3), 179–188 (1979) CrossRefGoogle Scholar
  76. 76.
    Waldron, K.J.: Geometrically based manipulator rate control algorithms. Mech. Mach. Theory 17(6), 379–385 (1982) CrossRefGoogle Scholar
  77. 77.
    Won, J.S., Choi, S.W., Peine, W.: Curved RCM of Surgical Robot Arm. Patent WO 2009/104853 A1, Aug. 27, 2009 Google Scholar
  78. 78.
    Whitney, D.E.: The mathematics of coordinated control of prosthetic arms and manipulators. J. Dyn. Syst. Meas. Control 94(4), 303–309 (1972) CrossRefGoogle Scholar
  79. 79.
    Yamane, K., Nakamura, Y.: Comparative study on serial and parallel forward dynamics algorithms for kinematic chains. Int. J. Robot. Res. 28, 622–629 (2009) CrossRefGoogle Scholar

Copyright information

© The Author(s) 2017

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors and Affiliations

  1. 1.Institute of RoboticsJohannes Kepler UniversityLinzAustria

Personalised recommendations