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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
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–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–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.
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).
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
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
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
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
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}\):
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\).
The joint screw can alternatively be represented in \(\mathcal{F}_{i-1}\). Then
with the joint screw coordinate vector
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
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
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
Here
is the absolute reference configuration (i.e. relative to IFR) of body \(i\), and
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].
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.
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
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
The reference configurations (11) of the bodies are determined by
Therewith the configuration of all bodies are determined by the POE (10). For instance,
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.
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
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
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.
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}\))
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
Using (12), this yields the following relations:
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
The \(6\times n\) matrix
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
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,
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 . Recursion (14) can then be written in the matrix form
with
On the other hand, the recursive expression for the Jacobian (19) reads in the matrix form
where the \(6n\times n\) matrix is the system Jacobian in body-fixed representation, and
is the screw transformation matrix. Comparing (21) and (23) shows that . In fact, is nilpotent so that the von-Neumann series
terminates with . That is, \(\mathbf {A}^{\text{b}}\) is the 1-resolvent of , 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 .
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 followed by and yields
The \(n\times n\) diagonal matrix 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
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
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
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:
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 of the kinematic chain is determined as
where the spatial system Jacobian possesses the factorizations
Therein it is , in (44), and
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 , the relation for the inverse of in terms of matrix in (22) yields
and 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
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
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
with the columns \(\mathbf{J}_{i,j}^{\text{h}}:=\mathbf{Ad}_{\mathbf {R}_{i}}\mathbf{J}_{i,j}^{\text{b}}\) of the hybrid Jacobian . 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
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
Therewith the columns of the hybrid Jacobian of body \(i\) are
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
and, analogously to (14), for the hybrid twists,
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 according to
is decomposed in terms of
In analogy to (25), can be resolved as power series using the relation with the \(6n\times6n\) matrix
This leads to the inverse 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
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
3.4.2 Mixed Jacobian and recursive relations
Expression (46) is written as
where the mixed Jacobian of body \(i\) is introduced as
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
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
This directly translates to a recursive relation for the mixed twists within a kinematic chain
3.4.3 Mixed system Jacobian and its decomposition
The overall mixed twist vector can be expressed in terms of the system Jacobian as
with and the matrix 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 analogous to that of .
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
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,
Transformation (55) applies to a general hybrid screw and in particular to the joint screws (5) and (38) and Jacobians (16) and (40):
Combining (56) and (12) yields the relation of hybrid and spatial versions of joint screws
with the current position vector \(\mathbf{r}_{i}\) of body \(i\) in \(\mathbf{C}_{i}\). From (54) and (55) it follows that
and thus
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.
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
Proceeding analogously for the other joints yields the body-fixed Jacobian of body 3 as
The body-fixed twist of body 3 is therewith . 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):
That for joint 5 is omitted again. These \(\mathbf{J}_{i}^{\text{s}}\) constitute the spatial Jacobians 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].
References
Anderson, K.: An order \(n\) formulation for the motion simulation of general multi-rigid-body constrained systems. Comput. Struct. 43(3), 565–579 (1992)
Anderson, K.S., Critchley, J.H.: Improved ‘order-N’ performance algorithm for the simulation of constrained multi-rigid-body dynamic systems. Multibody Syst. Dyn. 9(2), 185–212 (2003)
Angeles, J.: Rational Kinematics. Springer, New York (1988)
Angles, J., Lee, S.: The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement. J. Appl. Mech. 55, 243–244 (1988)
Angeles, J.: Fundamentals of Robotic Mechanical Systems, 2nd edn. Springer, Berlin (2003)
Bae, D.S., Hwang, R.S., Haug, E.J.: A recursive formulation for real-time dynamic simulation of mechanical systems. J. Mech. Des. 113(2), 158–166 (1988)
Bae, D.S., et al.: A generalized recursive formulation for constrained flexible multibody dynamics. Int. J. Numer. Methods Eng. 50, 1841–1859 (2001)
Bauchau, O.: Flexible Multibody Dynamics. Springer, Dordrecht (2011)
Bongardt, B.: Analytical approaches for design and operation of haptic human–machine interfaces. PhD thesis, University Bremen (2015)
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)
Borri, M., Bottasso, C.L., Trainelli, L.: Integration of elastic multibody systems by invariant conserving/dissipating algorithms—part II: numerical schemes and applications. Comput. Methods Appl. Mech. Eng. 190(29/30), 3701–3733 (2001)
Borri, M., Bottasso, C.L., Trainelli, L.: An invariant-preserving approach to robust finite-element multibody simulation. Z. Angew. Math. Mech. 83(10), 663–676 (2003)
Bottasso, C.L., Borri, M.: Integrating finite rotations. Comput. Methods Appl. Mech. Eng. 164, 307–331 (1998)
Bottema, O., Roth, B.: Theoretical Kinematics. Dover, New York (1990)
Brockett, R.W.: Robotic manipulators and the product of exponentials formula. In: Mathematical Theory of Networks and Systems. Lecture Notes in Control and Information Sciences, vol. 58, pp. 120–129 (1984)
Brockett, R.W., Stokes, A., Park, F.: A geometrical formulation of the dynamical equations describing kinematic chains. IEEE Int. Conf. Robot. Autom. 2, 637–641 (1993)
Brüls, O., Cardona, A., Arnold, M.: Lie group generalized-alpha time integration of constrained flexible multibody systems. Mech. Mach. Theory 48, 121–137 (2012)
Bruyninckx, H., De Schutter, J.: Symbolic differentiation of the velocity mapping for a serial kinematic chain. Mech. Mach. Theory 31(2), 135–148 (1996)
Chevallier, D.P.: Lie algebras, modules, dual quaternions and algebraic methods in kinematics. Mech. Mach. Theory 26(6), 613–627 (1991)
Chevallier, D.P.: Lie groups and multibody dynamics formalism. In: Proc. EUROMECH Colloquium, Prague, vol. 320, pp. 1–20 (1994)
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)
Denavit, J., Hartenberg, R.: A kinematic notation for lower-pair mechanisms based on matrices. J. Appl. Mech. 22, 215–221 (1955)
Featherstone, R.: The calculation of robot dynamics using articulated-body inertias. Int. J. Robot. Res. 2(1), 13–30 (1983)
Featherstone, R.: Rigid Body Dynamics Algorithms. Springer, Berlin (2008)
Fijany, A.: Parallel \(O(\log N)\) algorithms for computation of manipulator forward dynamics. IEEE Trans. Robot. Autom. 11(3), 389–400 (1995)
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)
Gupta, K.C.: Kinematic analysis of manipulators using the zero reference position description. Int. J. Robot. Res. 5(2), 5–13 (1986)
Hervé, J.M.: Analyse Structurelle des Mécanismes par Groupe des Déplacements. Mech. Mach. Theory 13, 437–450 (1978)
Hervé, J.M.: Intrinsic formulation of problems of geometry and kinematics of mechanisms. Mech. Mach. Theory 17(3), 179–184 (1982)
Hollerbach, J.M.: A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity. IEEE Trans. Syst. Man Cybern. SMC-10(11), 730–736 (1980)
Hunt, K.H.: Kinematic Geometry of Mechanisms. Oxford Engineering Science Series. SIAM, Oxford (1990)
Jain, A.: Unified formulation of dynamics for serial rigid multibody systems. J. Guid. Control Dyn. 14(3), 531–542 (1991)
Jain, A., Rodriguez, G.: Diagonalized Lagrangian robot dynamics. IEEE Trans. Robot. Autom. 11(4), 571–584 (1995)
Jain, A.: Graph theoretic foundations of multibody dynamics, part I: structural properties. Multibody Syst. Dyn. 26, 307–333 (2011)
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)
Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—I. Theory. Mech. Mach. Theory 31(5), 573–587 (1996)
Legnani, G.: A homogeneous matrix approach to 3D kinematics and dynamics—II. Applications to chains of rigid bodies and serial manipulators. Mech. Mach. Theory 31(5), 589–605 (1996)
Lilly, W., Orin, D.E.: Alternate formulations for the manipulator inertia matrix. Int. J. Robot. Res. 10(1), 64–74 (1991)
Liu, Y.: Screw-matrix method in dynamics of multibody systems. Acta Mech. Sin. 4(2), 165–174 (1988)
Lynch, K.M., Park, F.C.: Modern Robotics. Cambridge University Press, Cambridge (2017)
Maißer, P.: Analytische Dynamik von Mehrkörpersystemen. Z. Angew. Math. Mech. 68(10), 463–481 (1988)
Maisser, P.: Differential-geometric methods in multibody dynamics. Nonlinear Anal. 30(8), 5127–5133 (1997)
McCarthy, J.M.: An Introduction to Theoretical Kinematics. MIT Press, Cambridge (1990)
Mladenova, C.D.: Group theory in the problems of modeling and control of multi-body systems. J. Geom. Symmetry Phys. 8, 17–121 (2006)
Müller, A.: Representation of the kinematic topology of mechanisms for kinematic analysis. Mech. Sci. 6, 1–10 (2015)
Müller, A., Maisser, P.: Lie group formulation of kinematics and dynamics of constrained MBS and its application to analytical mechanics. Multibody Syst. Dyn. 9, 311–352 (2003)
Müller, A.: Implementation of a geometric constraint regularization for multibody system models. Arch. Mech. Eng. 61(2), 376–383 (2014)
Müller, A., Terze, Z.: The significance of the configuration space Lie group for the constraint satisfaction in numerical time integration of multibody systems. Mech. Mach. Theory 82, 173–202 (2014)
Müller, A.: A note on the motion representation and configuration update in time stepping schemes for the constrained rigid body. BIT Numer. Math. 56(3), 995–1015 (2016)
Müller, A.: 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
Müller, A.: Coordinate mappings for rigid body motions. J. Comput. Nonlinear Dyn. 12(2), 021010 (2016)
Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)
Naudet, J., Lefeber, D., Daerden, F., Terze, Z.: Forward dynamics of open-loop multibody mechanisms using an efficient recursive algorithm based on canonical momenta. Multibody Syst. Dyn. 10(1), 45–59 (2003)
Orin, D., et al.: Kinematic and kinetic analysis of open-chain linkages utilizing Newton–Euler methods. Math. Biosci. 43, 107–130 (1979)
Orin, D., Schrader, W.: Efficient computation of the Jacobian for robot manipulators. Int. J. Robot. Res. 3(4) (1984)
Park, F.C.: Computational aspects of the product-of-exponentials formula for robot kinematics. IEEE Trans. Autom. Control 39(3), 643–647 (1994)
Park, F.C., Bobrow, J.E., Ploen, S.R.: A Lie group formulation of robot dynamics. Int. J. Robot. Res. 14(6), 609–618 (1995)
Park, F.C., Kim, M.W.: Lie theory, Riemannian geometry, and the dynamics of coupled rigid bodies. Z. Angew. Math. Phys. 51, 820–834 (2000)
Ploen, S.R., Park, F.C.: A Lie group formulation of the dynamics of cooperating robot systems. Robot. Auton. Syst. 21, 279–287 (1997)
Ploen, S.R., Park, F.C.: Coordinate-invariant algorithms for robot dynamics. IEEE Trans. Robot. Autom. 15(6), 1130–1135 (1999)
Reuleaux, F.: Theoretische Kinematik: Grundzüge einer Theorie des Maschinenwesens. Vieweg, Braunschweig (1875)
Reuleaux, F.: Kinematics of Machinery. Dover, New York (1963)
Rodriguez, G.: Kalman filtering, smoothing, and recursive robot arm forward and inverse dynamics. IEEE J. Robot. Autom. RA-3(6), 624–639 (1987)
Rodriguez, G., Jain, A., Kreutz-Delgado, K.: A spatial operator algebra for manipulator modelling and control. Int. J. Robot. Res. 10(4), 371–381 (1991)
Rodriguez, G., Jain, A., Kreutz-Delgado, K.: Spatial operator algebra for multibody system dynamics. J. Astronaut. Sci. 40, 27–50 (1992)
Samuel, A.E., McAree, P.R., Hunt, K.H.: Unifying screw geometry and matrix transformations. Int. J. Robot. Res. 10(5), 454–472 (1991)
Selig, J.: Geometric Fundamentals of Robotics. Monographs in Computer Science Series. Springer, New York (2005)
Shabana, A.A.: Dynamics of Multibody Systems, 4th edn. Springer, Berlin (2013)
Sheth, P.N., Uicker, J.J.: A generalized symbolic notation for mechanisms. J. Eng. Ind. 93(1), 102–112 (1971)
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)
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)
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)
Stelzle, W., Kecskeméthy, A., Hiller, M.: A comparative study of recursive methods. Arch. Appl. Mech. 66, 9–19 (1995)
Uicker, J.J., Ravani, B., Sheth, P.N.: Matrix Methods in the Design Analysis of Mechanisms and Multibody Systems. Cambridge University Press, Cambridge (2013)
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)
Waldron, K.J.: Geometrically based manipulator rate control algorithms. Mech. Mach. Theory 17(6), 379–385 (1982)
Won, J.S., Choi, S.W., Peine, W.: Curved RCM of Surgical Robot Arm. Patent WO 2009/104853 A1, Aug. 27, 2009
Whitney, D.E.: The mathematics of coordinated control of prosthetic arms and manipulators. J. Dyn. Syst. Meas. Control 94(4), 303–309 (1972)
Yamane, K., Nakamura, Y.: Comparative study on serial and parallel forward dynamics algorithms for kinematic chains. Int. J. Robot. Res. 28, 622–629 (2009)
Acknowledgements
Open access funding provided by Johannes Kepler University Linz. The author acknowledges that this work has been partially supported by the Austrian COMET-K2 program of the Linz Center of Mechatronics (LCM).
Author information
Authors and Affiliations
Corresponding author
Additional information
Dedicated to Prof. Peter Maißer
Appendices
Appendix A: Rigid body motions and the Lie group \(\mathit{SE} ( 3 ) \)
For an introduction to screws and to the motion Lie group \(\mathit{SE} (3 ) \), the reader is referred to the text books [5, 40, 52, 67].
1.1 A.1 Finite rigid body motions as frame transformations—\(\mathit{SE} ( 3 ) \)
A frame \(\{O_{i};\vec{e}_{i,1},\vec{e}_{i,2},\vec{e}_{i,3}\}\) consists of a point \(O_{i}\in E^{3}\) (its origin) and a basis triad \(\{\vec{e}_{i,1},\vec{e}_{i,2},\vec{e}_{i,3}\}\) with \(\vec{e}_{i,k}\in{\mathbb {E}}^{3}\), in which vectors are resolved. A change of basis from \(\{\vec {e}_{i,1},\vec{e}_{i,2},\vec{e}_{i,3}\}\) to \(\{\vec{e}_{j,1},\vec {e}_{j,2},\vec{e}_{j,3}\}\) is a coordinate transformation from coordinates resolved in \(\{\vec {e}_{i,1},\vec{e}_{i,2},\vec{e}_{i,3}\}\) to coordinates resolved in \(\{ \vec{e}_{j,1},\vec{e}_{j,2},\vec{e}_{j,3}\}\). A frame transformation from \(\{O_{i};\vec{e}_{i,1},\vec{e}_{i,2},\vec {e}_{i,3}\}\) to \(\{O_{j};\vec{e}_{j,1},\vec{e}_{j,2},\vec{e}_{j,3}\}\) is a coordinate transformation together with a change of origin from \(O_{i}\) to \(O_{j}\). When a vector is resolved in a frame according to \(\vec{r}={^{i}}r_{1}\vec {e}_{i,1}+{^{i}}r_{2}\vec{e}_{i,2}+{^{i}}r_{3}\vec{e}_{i,3}\}\), its component vector is denoted by \({^{i}}\mathbf{r}= ( {^{i}}r_{1},{^{i}}r_{2},{^{i}}r_{3} ) ^{T}\in{\mathbb{R}}^{3}\). The leading superscript indicates the frame in which it is resolved.
A rigid body is kinematically represented by a body-fixed reference frame (BFR). Denote the BFR of body \(i\) by \(\mathcal{F}_{i}=\{\varOmega _{i},\vec{e}_{i,1},\vec{e}_{i,2},\vec{e}_{i,3}\}\). Its motion is thus described as the relative motion of the BFR with respect to a global inertial frame (IFR) \(\mathcal{F}_{0}=\{O,\vec{e}_{1},\vec{e}_{2},\vec{e}_{3}\}\). The location of \(\mathcal{F}_{i}\) is described by its global position vector \(\vec{r}=\overline{O\varOmega _{i}}\). When resolved in the IFR \(\mathcal{F}_{0}\), its coordinate vector is \({^{0}}\mathbf{r}_{i}\in\mathbb{R}^{3}\). The orientation is described by a rotation matrix \(\mathbf{R}_{0,i}\in \mathit{SO} ( 3 ) \) that transforms coordinates of a vector \(\mathbf{x}\) resolved in the BFR to its coordinates when resolved in the IFR according to \({^{0}}\mathbf{x}=\mathbf {R}_{0,i}{^{i}}\mathbf{x}\). In the following, the index 0 is omitted, that is, \(\mathbf{x}\) is the coordinate vector resolved in the IFR.
If \({^{i}}\mathbf{b}\in\mathbb{R}^{3}\) is the position vector of a point \(P\) of the body resolved in the BFR, then the position vector of point \(P\) measured and resolved in IFR is \(\mathbf{s}=\mathbf{r}+\mathbf {R}_{i}{^{i}}\mathbf{b}\). This transformation can be written compactly using homogenous point coordinates:
This is a frame transformation, that is, it describes the transformation due to the rotation and the displacement of the origin of the reference frame. Since this holds for any point of the rigid body, the matrix
describes the configuration of the BFR \(\mathcal{F}_{i}\) with respect to the IFR, which is referred to as the absolute configuration of \(\mathcal {F}_{i} \) (as it refers to the global IFR). For simplicity, the configuration is alternatively denoted by the pair \(C_{i}= ( \mathbf{R}_{i},\mathbf {r}_{i} ) \). \(\mathit{SE} ( 3 ) \) is the group of isometric orientation-preserving transformations of Euclidean spaces. It is commonly represented as the matrix group with elements as in (60). The inverse of the transformation (61) is
respectively \(C_{i}^{-1}= ( \mathbf{R}_{i}^{T},-\mathbf {R}_{i}^{T}\mathbf{r}_{i} ) \). Let \(C^{\prime}\) and \(C^{\prime \prime}\) be two frame transformations. The product \(C^{\prime}\cdot C^{\prime\prime }= ( \mathbf{R}^{\prime}\mathbf{R}^{\prime\prime},\mathbf {r}^{\prime }+\mathbf{R}^{\prime}\mathbf{r}^{\prime\prime} ) \), respectively \(\mathbf{C}^{\prime}\cdot\mathbf{C}^{\prime\prime}\), describes the overall frame transformation.
Now consider two bodies, that is, two RFRs \(\mathcal{F}_{i}\) and \(\mathcal{F}_{j} \), and denote their absolute configuration with \(\mathbf{C}_{i}\) and \(\mathbf{C}_{j}\), respectively. The relative configuration of body \(j\) w.r.t. body \(i\) is
with the relative rotation matrix \(\mathbf{R}_{i,j}\) and the relative displacement vector \(\mathbf{r}_{i,j}:=\mathbf{r}_{j}-\mathbf{r}_{i}\) resolved in the RFR \(\mathcal{F}_{i}\) on body \(i\). The configuration of body \(j\) is then expressed in terms of the configuration of body \(i\) and the relative configuration as \(\mathbf{C}_{j}=\mathbf{C}_{i}\mathbf{C}_{i,j}\). Analogously, \(\mathbf{C}_{j,i}=\mathbf{C}_{j}^{-1}\mathbf{C}_{i}\) is the relative configuration of body \(i\) with respect to body \(j\). Clearly, \(\mathbf{C}_{j,i}=\mathbf{C}_{i,j}^{-1}\). As a particular case, the absolute configuration of body \(i\) is \(\mathbf{C}_{i}=\mathbf{C}_{0,i}=\mathbf {C}_{0}^{-1}\mathbf{C}_{i}\) with \(\mathbf{C}_{0}=\mathbf{I}\).
Throughout the paper, an \(\mathit{SE} ( 3 ) \) matrix is always considered to represent the relative configuration of two frames (also, \(\mathbf {C}_{i}\) is the configuration of body \(i\) relative to the IFR).
Rotation matrices form the three-dimensional special orthogonal group, denoted \(\mathit{SO} ( 3 ) \). This is a Lie group, which means that for any rotation matrix, there is a unique inverse and that there is a smooth parameterization. A smooth canonical parameterization is the description in terms of axis and angle. Moreover, Euler’s theorem states that any finite rotation can be achieved by a rotation about an axis. Let \(\mathbf {e}\in{\mathbb{R}}^{3}\) be the unit vector along the rotation axis, \(\varphi\) the rotation angle, and denote by \(\boldsymbol{\xi}:=\mathbf{e}\varphi\) the “scaled rotation axis”. The corresponding rotation matrix is \(\mathbf {R} ( \varphi,\mathbf{e} ) =\exp\widetilde{\boldsymbol{\xi}}\) with
where \(\widetilde{\boldsymbol{\xi}}\in \mathit{so} ( 3 ) \) denotes the skew symmetric matrix associated with the vector \(\boldsymbol{\xi}\). This is known as the Euler–Rodrigues formula [5, 43]. The rotation matrix (64) takes a frame from its initial to its final orientation, where the rotation vector \(\mathbf{e}\) is resolved in its initial orientation. If the rotation matrix is considered to transform coordinates from different frames, \(\mathcal{F}_{i}\) and \(\mathcal{F}_{j}\), then \(\mathbf{R}_{i,j}=\exp{^{i}}\widetilde{\boldsymbol{\xi}}\), where the axis is resolved in \(\mathcal{F}_{i}\).
The important concept here is that of the exp mapping. In (64), this is the matrix exponential mapping a skew symmetric matrix to a rotation matrix. Moreover, the skew symmetric \(3\times 3\) matrices form the Lie algebra denoted \(\mathit{so} ( 3 ) \). Being a Lie algebra, it is a vector space equipped with the Lie bracket, in this case the matrix commutator \([ \boldsymbol{\widetilde{\mathbf{x}}},\boldsymbol{\widetilde{\mathbf{y}}} ] =\boldsymbol{\widetilde{\mathbf{x}}\widetilde{\mathbf{y}}-\widetilde{\mathbf {y}}\widetilde{\mathbf{x}}}\). This can be expressed \([ \widetilde{\mathbf{x}},\boldsymbol{\widetilde{\mathbf{y}}} ] =\widetilde{\mathbf{x}\times\mathbf{y}}\), which means that \(\mathit{so} ( 3 ) \) is isomorphic to the vector space \({\mathbb{R}}^{3}\) equipped with the cross product. Elements of \(\mathit{so} ( 3 ) \) can thus be represented as 3-vectors via \(\boldsymbol{\widetilde{\mathbf{x}}}\in \mathit{so} ( 3 ) \leftrightarrow\mathbf{x}\in{\mathbb{R}}^{3}\).
The frame transformations form the special Euclidean group \(\mathit{SE} ( 3 ) =\mathit{SO} ( 3 ) \ltimes\mathbb{R}^{3}\), more precisely, the group of isometric and orientation-preserving transformations of Euclidean spaces. A typical element is represented as a matrix (61). The multiplication of these matrices, respectively the transformation (60), reveals that \(\mathit{SE} ( 3 ) \) is the semidirect product of the rotation group \(\mathit{SO} ( 3 ) \) and the translation group \({\mathbb {R}}^{3}\). This may not seem important but it has consequences for the constraint satisfaction when integrating MBS models described in absolute coordinates [48, 49]. \(\mathit{SE} ( 3 ) \) is a six-dimensional Lie group, so that it possesses a smooth parameterization, and for any element, there is an inverse. Chasles’ theorem [5, 52, 67] states that any finite rigid body displacement (i.e. frame transformation) can be achieved by a screw motion, that is, a rotation about a constant axis together with a translation along this axis determined by the pitch.
Consider a body performing a screw motion. Let \({^{i}}\mathbf{e}\) be the unit vector along the screw axis, and \(\mathbf{p}\) be the position vector of an arbitrary point on that axis (Fig. 8), both resolved in the body-fixed frame \(\mathcal{F}_{i}\). The vector of unit screw coordinates corresponding to this motion is
where \(h\) is the pitch of the screw [14, 51, 52]. In classical screw theory, literature screws are denoted by the symbol “$”. The vector \(( {^{i}}\mathbf{e},{^{i}}\mathbf{p}\times{^{i}}\mathbf {e} ) ^{T}\), that is, setting \(h=0\), are the Plücker coordinates of the line along the screw axis. Geometrically, a screw is determined by the Plücker coordinates of the line along the screw axis and the pitch.
The screw motion with rotation angle \(\varphi\), taking the body from its initial configuration \(B_{i}\) to the final configuration \(B_{i}^{\ast }\), is determined by the matrix exponential \(\exp({^{i}}\widehat{\mathbf {X}}{^{i}}\varphi)\) of the matrix \({^{i}}\widehat{\mathbf{X}}{^{i}}\) defined as
The exponential mapping admits the closed-form expression
where \(\varphi\) is the rotation angle, and for pure translations, that is, infinite pitch,
where \(\varphi\) is the translation variable. The exp mapping describes the frame transformation of a body-fixed frame from its final configuration to its initial configuration due to a screw motion where the screw coordinates are represented in the initial configuration. This is applicable to general frame transformations. Let \({^{i}}\mathbf{X}{^{i}}\) be the screw coordinates associated with the relative screw motion of body \(j\) with respect to body \(i\). The configuration of the body-fixed frame \(\mathcal{F}_{j}\) relative to \(\mathcal{F}_{i}\) is \(\mathbf{C}_{i,j}=\exp({^{i}}\widehat{\mathbf {X}}{^{i}}\varphi)\), assuming that \(\mathcal{F}_{j}\) and \(\mathcal {F}_{i}\) initially overlap.
Notice the direction in which the frame transformation is indicated in Fig. 8. The arc points toward the frame in which the screw coordinates are expressed.
Matrices of the form shown in (68) obviously play a key role since they give rise to frame transformations via the exp mapping. They form the Lie algebra \(\mathit{se} ( 3 ) \). To any matrix \(\widehat{\mathbf{X}}\in \mathit{se} ( 3 ) \), there corresponds a unique vector \(\mathbf {X}=(\boldsymbol{\xi},\boldsymbol{\eta})^{T}\in{\mathbb{R}}^{6}\) via the isomorphism (68). For simplicity, also the notation \(\exp ( \mathbf{X}\varphi ) \) is used instead of \(\exp(\widehat{\mathbf{X}}\varphi)\).
Screws are geometric objects, thus frame invariant, and can be represented in any reference frame. Consider two frames \(\mathcal{F}_{1}\) and \(\mathcal{F}_{2}\) (Fig. 9), and let \({^{2}}\mathbf {X}{^{2}}= ( {^{2}}\mathbf{e},{^{2}}\mathbf{p}_{2}\times {^{2}}\mathbf{e}+{^{2}}\mathbf{e}h ) ^{T}\) be screw coordinates measured and resolved in frame \(\mathcal{F}_{2}\). That is, \({^{2}}\mathbf{e}\) is the unit vector along the axis resolved in \(\mathcal{F}_{2}\), and \({^{2}}\mathbf{p}_{2}\) is the position vector \(\overline{O_{2}P}\) of point \(P\) on the axis resolved in \(\mathcal{F}_{2}\). Let \(S_{1,2}= ( \mathbf{R}_{1,2},{^{1}}\mathbf {d}_{1,2} ) \) be the transformation from \(\mathcal{F}_{2}\) to \(\mathcal{F}_{1}\). Then the screw coordinate vector measured and resolved in \(\mathcal{F}_{1}\) is determined by \({^{1}\widehat{\mathbf{X}}^{1}}=\mathbf {S}_{1,2}{^{2}\widehat{\mathbf{X}}^{2}}\mathbf{S}_{1,2}^{-1}=\mathrm {Ad}_{\mathbf{S}_{1,2}}({^{2}\widehat{\mathbf{X}}^{2}})\), which reads in vector notation
where \({^{1}}\mathbf{p}_{1}=\mathbf{R}_{1,2}{^{2}}\mathbf {p}_{2}+{^{1}}\mathbf{d}_{1,2}\) is the position vector \(\overline {O_{1}P}\) of the point \(P\) on the screw axis measured and resolved in \(\mathcal{F}_{1}\). The transformation
with a general frame transformation \(\mathbf{C}\in \mathit{SE} ( 3 ) \) is called the adjoined transformation [40, 52, 67]. In vector notion, this is
The terminology stems from the fact that \(\mathbf{C}\in \mathit{SE} ( 3 ) \) describes a frame transformation, whereas \(\mathbf{Ad}_{\mathbf{C}}\) describes the corresponding transformation of screw coordinates that belong to \(\mathit{se} ( 3 ) \). It thus equally describes rigid body motions. It is used, for instance, in [8], where \(\mathbf{Ad}_{\mathbf {C}}\) is called the “motion tensor”, and in [10], where it is referred to as a “configuration tensor” (denoted by \(\mathbf{C}\)). If \(\mathbf {C}_{i,j}\) is the configuration of body \(j\) relative to body \(i\), then \(\mathbf{Ad}_{\mathbf{C}_{i,j}}\) transforms the coordinates of a screw represented in BFR on body \(j\) to its coordinate representation in the BFR on body \(i\).
For the product of transformations, it holds
For compactness, with slight abuse of notation, the following notation is used:
This allows for splitting the frame transformation (73) into the change of reference point followed by the change of basis as \(\mathbf {Ad}_{\mathbf{C}}=\mathbf{Ad}_{\mathbf{r}}\mathbf{Ad}_{\mathbf{R}}\).
A useful relation is that, for any \(\widehat{\mathbf{X}}\in \mathit{se} ( 3 ) \) and \(\mathbf{S}\in \mathit{SE} ( 3 ) \),
For constant \(\mathbf{X}\), the derivative of the exponential is
Notation
The coordinate representation of a screw requires (1) a reference point from which the point on the screw axis is measured and (2) a reference frame in which the vectors are resolved. The reference point is commonly the origin of a frame. These are indicated by the leading and trailing superscripts, respectively. In (71), they were identical, but, in general, \({^{i}\mathbf{X}^{j}}= ( {^{i}}\mathbf{e},{^{i}}\mathbf {p}_{j}\times{^{i}}\mathbf{e}+{^{i}}\mathbf{e}h ) ^{T}\) is the screw coordinate vector measured from the origin of \(\mathcal{F}_{j}\) and resolved in \(\mathcal {F}_{i}\). As apparent from (71), only screws measured and resolved in the same frame (\(i=j\)) are related by frame transformations. For simplifying the notation, when \(i=j\), the simplified notation \({^{i}\mathbf{X}}\) is used. The screw is then said to be represented in \(\mathcal{F}_{i}\).
1.2 A.2 Twists as instantaneous screw motions—\(\mathit{se} ( 3 )\)
The angular and translational velocities of a rigid body are summarized in the vector \(\mathbf{V}= ( \boldsymbol{\omega},\mathbf{v} ) ^{T}\), called the rigid body twist. This is a screw and can hence be written as a matrix of the form (68):
A general definition of twists requires specification of (1) the body of which the twist is measured, (2) the point at which the velocity is measured, and (3) the frame in which the velocity vectors are resolved. To this end, the following notion is used:
This is the twist of body \(i\) measured in \(\mathcal{F}_{j}\) and resolved in \(\mathcal{F}_{k}\). More precisely, \({^{k}}\boldsymbol{\omega }{_{i}}\) is the angular velocity of frame \(\mathcal{F}_{i}\) measured and resolved in \(\mathcal{F}_{k}\). Due to the translation invariance of the angular velocities, it is independent from \(\mathcal{F}_{j}\). The vector \({^{k}}\mathbf{v}{_{i}^{j}}\) is the translational velocity of the point on body \(i\) that is instantaneously traveling trough the origin of \(\mathcal{F}_{j}\) resolved in \(\mathcal{F}_{k}\).
When \(j=k\), the simplified notation \({^{k}\mathbf{V}_{i}}\) is used. A twist (and generally a screw) is said to be represented in frame \(\mathcal{F}_{k}\) if it is measured and resolved in this frame, for example, \({^{k}\mathbf{V}_{i}}\) is represented in frame \(k\). The body-fixed and spatial representation of twists are most commonly used. The attribute “body-fixed” indicates that the frame in which the velocity is measured and resolved is the body-fixed RFR, that is, \(i=j=k\). “Spatial” is used when the velocities are measured and resolved in the IFR, that is, \(j=k=0\). To further simplify the notation, the body-fixed and spatial twists of body \(i\) are denoted by \(\mathbf{V}_{i}^{\text{b}}= (\boldsymbol{\omega}_{i}^{\text{b}},\mathbf{v}_{i}^{\text{b}} ) ^{T}:={^{i}\mathbf{V}_{i}^{i}}\) and \(\mathbf{V}_{i}^{\text{s}}= ( \boldsymbol{\omega}_{i}^{\text{s}},\mathbf{v}_{i}^{\text{s}} ) ^{T}:={^{0}\mathbf{V}_{i}^{0}}\), respectively. The index 0 is omitted throughout the paper. For a body whose motion is described by \(\mathbf{C}_{i} ( t ) \) according to (61), these are defined analytically by
Therein \(\widetilde{\boldsymbol{\omega}}_{i}^{\text{b}}=\mathbf {R}_{i}^{T}\dot{\mathbf{R}}_{i}\) and \(\widetilde{\boldsymbol{\omega }}_{i}^{\text{s}}=\dot{\mathbf{R}}_{i}\mathbf{R}_{i}^{T}\) define the body-fixed and spatial angular velocities. The vector \(\mathbf{v}_{i}^{\text{b}}=\mathbf{R}_{i}^{T}\dot {\mathbf{r}}_{i}\) is the body-fixed translational velocity, that is, the velocity of the origin of \(\mathcal{F}_{i}\) measured in the IFR \(\mathcal {F}_{0}\) and resolved in \(\mathcal{F}_{i}\). The spatial translational velocity \(\mathbf{v}_{i}^{\text{s}}=\dot{\mathbf{r}}_{i}+\mathbf{r}_{i}\times \boldsymbol{\omega}_{i}^{\text{s}}\) is the velocity of the point of the body that is momentarily passing through the origin of the IFR \(\mathcal{F}_{0}\) resolved in the IFR.
Twists represented in different frames transform as screws according to (73). Let \({^{1}\mathbf{V}_{i}^{1}}= ( {^{1}}\boldsymbol{\omega }{_{i}},{^{1}}\mathbf{v}{_{i}^{1}} ) ^{T}\) be the twist of body \(i\) represented in a frame \(\mathcal{F}_{1}\). Let \(S_{21}= ( \mathbf {R}_{21},{^{2}}\mathbf{r}{_{21}} ) \) be the frame transformation from \(\mathcal{F}_{1}\) to another frame \(\mathcal{F}_{2}\). Then \({^{2}\mathbf {V}_{i}^{2}}=\mathbf{Ad}_{\mathbf{S}_{21}}{^{1}\mathbf{V}_{i}^{1}}\) is the twist of body \(i\) represented in \(\mathcal{F}_{2}\). This is \({^{2}\mathbf {V}_{i}^{2}}= ( {^{2}}\boldsymbol{\omega}{_{i}},{^{2}}\mathbf {v}{_{i}^{2}} ) ^{T}\), where \({^{2}}\mathbf {v}{_{i}^{2}}={^{2}}\mathbf{v}{_{i}^{1}}+{^{2}}\mathbf{r}{_{21}}\times {^{2}}\boldsymbol{\omega}{_{i}}\) is the translational velocity of the point of body \(i\) traveling through the origin of \(\mathcal{F}_{2}\), with \({^{2}}\mathbf{v}{_{i}^{1}}=\mathbf{R}_{21}{^{1}}\mathbf {v}{_{i}^{1}}\) and \({^{2}}\boldsymbol{\omega}{_{i}}=\mathbf {R}_{21}{^{1}}\boldsymbol{\omega}{_{i}}\). The twist is represented, that is, measured and resolved, in \(\mathcal{F}_{2}\). The vector components can be resolved in yet another frame \(\mathcal {F}_{3}\). If \(\mathbf{R}_{32}\) is the rotation matrix of this change of coordinates, then \({^{3}\mathbf{V}_{i}^{2}}=\mathbf{Ad}_{\mathbf{R}_{32}}{^{2}\mathbf {V}_{i}^{2}}\) with (75) is the twist measured in \(\mathcal{F}_{2}\) but resolved in \(\mathcal{F}_{3}\): \({{}^{3}\mathbf{V}_{i}^{2}}= ( {^{3}}\boldsymbol{\omega}{_{i}},{^{3}}\mathbf{v}{_{i}^{2}} ) ^{T}\) with \({^{3}}\boldsymbol{\omega}{_{i}}=\mathbf{R}_{32}{^{2}}\boldsymbol{\omega }_{i}\) and \({}^{3}\mathbf{v}{_{i}^{2}}=\mathbf{R}_{32}{^{2}}\mathbf {v}{_{i}^{2}}={^{3}}\mathbf{v}{_{i}^{1}}+{^{3}}\mathbf{r}{_{21}}\times {^{3}}\boldsymbol{\omega}{_{i}}\). This is indeed not a frame transformation but rather a coordinate transformation. Only if twists are measured and resolved in the same frame, like body-fixed and spatial twists, then the screw coordinate transformation is a frame transformation. In particular, \(\mathbf{V}_{i}^{\text{s}}=\mathbf {Ad}_{\mathbf{C}_{i}}\mathbf{V}_{i}^{\text{b}}\).
The relative twist of body \(j\) with respect to body \(i\), that is, the twist of \(\mathcal{F}_{i}\) represented in \(\mathcal{F}_{j}\), is readily defined as \({^{j}\widehat{{\mathbf{V}}}_{i}}=\dot{\mathbf {C}}_{j,i}\mathbf{C}_{j,i}^{-1}\). With (63) and (72), this is
This is the difference of the twists of the two bodies represented in the BFR at body \(j\).
There are yet two further forms of twist used in MBS kinematics. In the hybrid form, denoted by \(\mathbf{V}_{i}^{\text{h}}= ( \boldsymbol{\omega}_{i}^{\text{s}},\dot{\mathbf{r}}_{i} ) ^{T}={^{0}{\mathbf {V}}_{i}^{i}}\), the twist of body \(i\) is measured in the body-fixed frame \(\mathcal{F}_{i}\) but resolved in the IFR \(\mathcal{F}_{0}\). The mixed form of twists, denoted \(\mathbf{V}_{i}^{\text{m}}= ( \boldsymbol{\omega}_{i}^{\text{b}},\dot{\mathbf{r}}_{i} ) ^{T}\), uses the body-fixed angular velocity \(\boldsymbol{\omega}_{i}^{\text{b}}\) and the translational velocity \(\dot{\mathbf{r}}_{i}\). The two forms are related by
These transformations are apparently not frame transformations (which would be described by the adjoint mapping). The definition of twists are summarized in Table 4.
Remark 17
It should be remarked that also the hybrid and mixed twists can be derived analytically by left and right trivialization, as in (80), if rigid body motions are not considered to be elements of \(\mathit{SE} ( 3 ) \). To this end, the direct product group \(\mathit{SO} ( 3 ) \times{\mathbb{R}}^{3}\) is used as configuration space of a rigid body: \(C= ( \mathbf{R},\mathbf{r} ) \in \mathit{SO} ( 3 ) \times{\mathbb{R}}^{3}\). The multiplication in this group is \(C_{1}\cdot C_{2}=(\mathbf{R}_{1}\mathbf {R}_{2},\mathbf{r}_{1}+\mathbf{r}_{2})\). This is clearly not a frame transformation. The hybrid and mixed twists then are \(\mathbf{V}^{\text{m}}=C^{-1}\cdot\dot{C}=(\boldsymbol{\omega}^{\text{b}},\dot{\mathbf {r}})\) and \(\mathbf{V}^{\text{h}}=\dot{C}\cdot C^{-1}=(\boldsymbol{\omega }^{\text{s}},\dot{\mathbf{r}})\in \mathit{so} ( 3 ) \times\mathbb {R}^{3}\). It must be emphasized that the direct product group does not represent screw motions. Even though it is occasionally used to model MBS and also in Lie group integration schemes.
Appendix B: Nomenclature
- \(\mathcal{F}_{0}\) :
-
Inertial reference frame (IFR)
- \(\mathcal{F}_{i}\) :
-
Body-fixed reference frame (BFR) of body \(i\)
- \(\mathcal{J}_{i,i}\) :
-
Body-fixed joint frame (JFR) for joint \(i\) at body \(i \) joint \(i\) connects body \(i\) with its predecessor body \(i-1\)
- \(\mathcal{J}_{i-1,i}\) :
-
JFR for joint \(i\) at body \(i-1\)
- \({^{i}}\mathbf{r}\) :
-
Coordinate representation of a vector resolved in BFR on body \(i\). The index is omitted if this is the IFR: \(\mathbf{r}\equiv{^{0}}\mathbf{r}\)
- \(\mathbf{R}_{i}\) :
-
Rotation matrix from BFR \(\mathcal{F}_{i}\) at body \(i\) to IFR \(\mathcal{F}_{0}\)
- \(\mathbf{R}_{i,j}\) :
-
Rotation matrix transforming coordinates resolved in BFR \(\mathcal{F}_{j}\) to coordinates resolved in \(\mathcal{F}_{i}\)
- \(\mathbf{r}_{i}\) :
-
Position vector of origin of BFR \(\mathcal{F}_{i}\) at body \(i\) resolved in IFR \(\mathcal{F}_{0}\)
- \(\mathbf{r}_{i,j}\) :
-
Position vector from origin of BFR \(\mathcal{F}_{i}\) to origin of BFR \(\mathcal{F}_{j}\)
- \(\widetilde{\mathbf{x}}\) :
-
skew symmetric matrix associated with the vector \(\mathbf{x}\in{\mathbb{R}}^{3}\)
- \(C_{i}= ( \mathbf{R}_{i},\mathbf{r}_{i} )\) :
-
Absolute configuration of body \(i\). This is denoted in matrix form by \(\mathbf{C}_{i}\)
- \(\mathbf{C}_{i,j}=\mathbf{C}_{i}^{-1}\mathbf{C}_{j}\) :
-
Relative configuration of body \(j\) w.r.t. body \(i\)
- \({^{k}}\mathbf{v}{_{i}^{j}}\) :
-
Translational velocity of body \(i\) measured at origin of BFR \(\mathcal{F}_{j}\), resolved in BFR \(\mathcal{F}_{k}\)
- \(\mathbf{v}_{i}^{\text{b}}\equiv{^{i}}\mathbf{v}{_{i}^{i}}\) :
-
Body-fixed representation of the translational velocity of body \(i\)
- \(\mathbf{v}_{i}^{\text{s}}\equiv{^{0}}\mathbf{v}{_{i}^{0}}\) :
-
Spatial representation of the translational velocity of body \(i\)
- \({^{k}}\boldsymbol{\omega}{_{i}}\) :
-
Angular velocity of body \(i\) measured and resolved in BFR \(\mathcal{F}_{k}\)
- \(\boldsymbol{\omega}{_{i}^{\text{b}}}\equiv{^{i}}\boldsymbol{\omega}{_{i}}\) :
-
Body-fixed representation of the angular velocity of body \(i\)
- \(\boldsymbol{\omega}{_{i}^{\text{s}}}\equiv{^{0}}\boldsymbol{\omega}{_{i}}\) :
-
Spatial representation of the angular velocity of body \(i\)
- \({^{k}}\mathbf{V}{_{i}^{j}}\) :
-
Twist of (RFR of) body \(i\) measured in \(\mathcal{F}_{j}\) and resolved in \(\mathcal{F}_{k}\)
- \(\mathbf{V}_{i}^{\text{b}}\equiv{^{i}}\mathbf{V}{_{i}^{i}}\) :
-
Body-fixed representation of the twist of body \(i\)
- \(\mathbf{V}{_{i}^{\text{s}}}\equiv{^{0}}\mathbf{V}{_{i}^{0}}\) :
-
Spatial representation of the twist of body \(i\)
- \(\mathbf{V}_{i}^{\text{h}}\equiv{^{0}}\mathbf{V}{_{i}^{i}}\) :
-
Hybrid form of the twist of body \(i\)
- :
-
Vector of system twists in body-fixed representation
- :
-
Vector of system twists in spatial representation
- :
-
Vector of system twists in hybrid representation
- :
-
Vector of system twists in mixed representation
- \(\mathbf{Ad}_{\mathbf{R}}\) :
-
Screw transformation associated with \(C= ( \mathbf{R},\mathbf{0} ) \)
- \(\mathbf{Ad}_{\mathbf{r}}\) :
-
Screw transformation associated with \(C= ( \mathbf{I},\mathbf{r} ) \)
- \(\mathbf{Ad}_{\mathbf{C}_{i,j}}\) :
-
Transformation matrix transforming screw coordinates represented in \(\mathcal{F}_{j}\) to screw coordinates represented in \(\mathcal{F}_{i}\)
- \(\widehat{\mathbf{X}}\in \mathit{se} ( 3 ) \) :
-
\(4\times4\) matrix associated with the screw coordinate vectors \(\mathbf{X}\in{\mathbb{R}}^{6}\)
- \(\mathit{SE} ( 3 ) \) :
-
Special Euclidean group in three dimensions, Lie group of rigid body motions
- \(\mathit{se} ( 3 ) \) :
-
Lie algebra of \(\mathit{SE} ( 3 ) \), algebra of screws
- \(\mathbf{q}\in{\mathbb{V}}^{n}\) :
-
Joint coordinate vector
- \({\mathbb{V}}^{n}\) :
-
Configuration space
Joint screw coordinates
The introduction of joint screw coordinates requires specification of a frame in which the screw is measured and a frame where the coordinates are solved. To this end, the following notation for screw coordinates is used:
A screw is said to be represented in frame \(j\) if \(j=k\). To simplify the notation, the following short hand notation is used: \({^{j}\mathbf {X}_{i}}:={^{j}}\mathbf{X}{_{i}^{j}},\ \mathbf{X}{_{i}}:={^{0}}\mathbf {X}{_{i}}{^{0}} \).
- \({}^{i-1}\mathbf{Z}_{i}\) :
-
Constant screw coordinate vector of joint \(i\) represented in JFR \(\mathcal{J}_{i-1,i}\) at body \(i-1\), determined in the reference configuration \(\mathbf{q}=\mathbf{0}\)
- \({^{i}}\mathbf{X}_{i}\) :
-
Constant screw coordinate vector of joint \(i\) represented in BFR \(\mathcal{F}_{i}\) at body \(i\), determined in the reference configuration \(\mathbf{q}=\mathbf{0}\)
- \({^{i-1}}\bar{\mathbf{X}}_{i}\) :
-
Constant screw coordinate vector of joint \(i\) represented in BFR \(\mathcal{F}_{i-1}\) at body \(i-1\), determined in the reference configuration \(\mathbf{q}=\mathbf{0}\)
- \(\mathbf{Y}_{i}\) :
-
Constant screw coordinate vector of joint \(i\) represented in IFR \(\mathcal{F}_{0}\), determined in the reference configuration \(\mathbf{q}=\mathbf{0}\)
- \({^{0}}\mathbf{X}_{i}^{i}\) :
-
Instantaneous screw coordinate vector of joint \(i\) measured in BFR \(\mathcal{F}_{i}\) but resolved in IFR \(\mathcal{F}_{0}\)
Representations of the velocity of rigid body \(i\)
- Body-fixed twist: :
-
\(\mathbf{V}_{i}^{\text{b}}=\left ( {\scriptsize\begin{matrix}{} \boldsymbol{\omega}_{i}^{\text{b}} \cr \mathbf{v}_{i}^{\text{b}} \end{matrix}} \right ) \), with \(\widetilde{\boldsymbol{\omega}}_{i}^{\text{b}}:={^{i}}\widetilde{\boldsymbol{\omega}}{_{i}}=\mathbf{R}_{i}^{T}\dot {\mathbf{R}}_{i},\mathbf{v}_{i}^{\text{b}}:={^{i}}\mathbf {v}{_{i}^{i}}=\mathbf{R}_{i}^{T}\dot{\mathbf{r}}_{i}\)
Twist represented in BFR \(\mathcal{F}_{i}\), i.e., measured and resolved in \(\mathcal{F}_{i}\)
- Spatial twist: :
-
\(\mathbf{V}_{i}^{\text{s}}=\left ( {\scriptsize\begin{matrix}{} \boldsymbol{\omega}_{i}^{\text{s}} \cr \mathbf{v}_{i}^{\text{s}} \end{matrix}} \right ) \), with \(\widetilde{\boldsymbol{\omega}}_{i}^{\text{s}}:={^{0}\widetilde{\boldsymbol{\omega}}{_{i}}}=\dot{\mathbf {R}}_{i}\mathbf{R}_{i}^{T},\mathbf{v}_{i}^{\text{s}}:={^{0}}\mathbf {v}{_{i}^{0}}=\dot{\mathbf{r}}_{i}-\widetilde{\boldsymbol{\omega }}{_{i}^{\text{s}}}\mathbf{r}_{i}\)
Twist represented in IFR \(\mathcal{F}_{0}\), i.e., measured and resolved in \(\mathcal{F}_{0}\)
- Hybrid twist: :
-
\(\mathbf{V}_{i}^{\text{h}}=\left ( {\scriptsize\begin{matrix}{} \boldsymbol{\omega}_{i}^{\text{s}} \cr \dot{\mathbf{r}}_{i} \end{matrix}} \right ) \)
Twist measured in BFR \(\mathcal{F}_{i}\) but resolved in IFR \(\mathcal{F}_{0}\)
- Mixed twist: :
-
\(\mathbf{V}_{i}^{\text{m}}=\left ( {\scriptsize\begin{matrix}{} \boldsymbol{\omega}_{i}^{\text{b}} \cr \dot{\mathbf{r}}_{i} \end{matrix}} \right ) \)
Angular velocity is measured and resolved in BFR \(\mathcal{F}_{i}\).
Translational velocity is measured in BFR \(\mathcal{F}_{i}\) but resolved in IFR \(\mathcal{F}_{0}\).
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Müller, A. Screw and Lie group theory in multibody kinematics. Multibody Syst Dyn 43, 37–70 (2018). https://doi.org/10.1007/s11044-017-9582-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-017-9582-7