Abstract
A novel formulation for the description of spatial rigid body motion using six non-redundant, homogeneous local velocity coordinates is presented. In contrast to common practice, the formulation proposed here does not distinguish between a translational and rotational motion in the sense that only translational velocity coordinates are used to describe the spatial motion of a rigid body. We obtain these new velocity coordinates by using the body-fixed translational velocity vectors of six properly selected points on the rigid body. These vectors are projected into six local directions and thus give six scalar velocities. Importantly, the equations of motion are derived without the aid of the rotation matrix or the angular velocity vector. The position coordinates and orientation of the body are obtained using the exponential map on the special Euclidean group \(\mathit{SE}(3)\). Furthermore, we introduce the appropriate inverse tangent operator on \(\mathit{SE}(3)\) in order to be able to solve the incremental motion vector differential equation. In addition, we present a modified version of a recently introduced a fourth-order Runge–Kutta Lie-group time integration scheme such that it can be used directly in our formulation. To demonstrate the applicability of our approach, we simulate the unstable rotation of a rigid body.
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
In this paper, we present a formulation for spatial rigid body motion based on a set of non-redundant, homogeneous local (translational) velocity coordinates. The initial motivation for the present work was the investigation of local velocity coordinates of a first order H(curl)-conforming finite element proposed by Nédélec [25], which turned out to be relevant for rigid bodies as well, because the latter finite element offers six non-redundant and—regarding their physical interpretation—equivalent (= unified) displacement coordinates as degrees of freedom. Since the spatial motion of a rigid body is known, if the velocity (three translational velocity coordinates) of one of its points as well as its angular velocity (three angular velocity coordinates) are known [14], the question arises if it is possible to describe a rigid body motion using six unified local velocity coordinates, which correspond to the displacement coordinates of this first order H(curl)-conforming triangular or tetrahedral finite element and whether and how the resulting equations can be solved. Furthermore, the description of the spatial motion of a body in space on velocity level based on purely translational velocity coordinates could also be relevant for other formulations such as the absolute nodal coordinate formulation (ANCF), because no rotation parameters are used in ANCF [15]. The description of the motion of a rigid body in space with pure translational velocity coordinates could also be advantageous in model reduction methods such as the so-called generalized component mode synthesis [28]. Here, however, we will only focus on the description of rigid body motion.
Modeling mechanical systems in such a way that they can be efficiently simulated plays an important role in many areas, e.g. in real-time simulation and control [19]. The number, complexity and computational efficiency of the equations describing the system strongly depend on the choice of coordinates used to model the mechanical system [19, 36]. A common approach to describing the kinematics of a multibody system is to divide the rigid body motion into a translational motion and a rotational motion [4, 14, 26, 32], as is the case with the Newton–Euler equations, for example.
Six coordinates are at least required to define the configuration of a rigid body in space [26]. Three Cartesian coordinates usually define the origin of the body’s reference frame. In engineering applications, e.g. rotor dynamics, the body’s orientation is often characterized by three angles of rotation like Euler angles or Bryant angles [3]. However, in the case of large rotations, the representation of the body’s orientation in terms of three angles of rotation suffers from singularities [32]. Alternative representations, which provide a singularity-free description of the body’s orientation either use for example the components of a rotation matrix or Euler parameters as degrees of freedom [26].
An alternative set of coordinates has been presented by Garcia de Jalon and co-workers in the early 1980s [13]. They created and further developed the natural coordinates to describe the 2-D and 3-D motion of multibody systems [12]. The natural coordinates approach uses Cartesian coordinates of three (or more) non-aligned points to define the position of a solid in space [11]. Natural coordinates require neither angles nor any form of angle parametrization to describe the orientation of a body in space, which leads to constant inertia matrices and a simple form of the equations of motion [11]. Natural coordinates can be seen as a set of dependent parameters used to describe rotations [11]. In contrast to the coordinates used in [26], the description of the motion of a multibody system with the natural coordinates yields a unified form of the descriptive equations of motion but at the expense of the use of non-redundant position coordinates.
Another approach to describing the configuration of a rigid body is to connect the special orthogonal group \(\mathit{SO}(3)\) with the linear space \(\mathbb{R}^{3}\) either with the Cartesian product leading to \(\mathit{SO}(3)\times \mathbb{R}^{3}\) or with the semi-direct product leading to \(\mathit{SO}(3)\ltimes \mathbb{R}^{3}\) (special Euclidean group \(\mathit{SE}(3)\)) [3]. Note, both the translational velocity and the angular velocity are represented within the \(\mathit{SE}(3)\) formulation in a body fixed coordinate system. As a result, the equations of motion are differential equations on a manifold with tangent spaces parameterized by the corresponding Lie algebra [3]. These equations can be solved using matrix Lie-group time integration schemes [34].
Nédélec introduced two new families of mixed finite elements in \(\mathbb{R}^{3}\), which are conforming on the Sobolev spaces H(div) and H(curl) [25]. Those element families are commonly used to approximate solutions of Maxwell’s equations [20]. Nédélec elements are also used in solid mechanics, e.g., Pechstein and Schöberl [27] introduced the so-called’tangential-displacement normal–normal-stress’ (TDNNS) formulation for elasticity. Especially the H(curl) conforming element of lowest order, which is also called the Nédélec element of the first-kind motivates this work, due to the fact that the degrees of freedom are the average value of the tangential component of the vector field on each edge. Elements of this type are generally referred to as edge elements because the degrees of freedom are associated with the edges of the mesh at the lowest order [20]. A graphical representation of the degrees of freedom of the first order H(curl) conforming element is shown in Fig. 1. The number of degrees of freedom of the Nédélec element of the first kind is exactly the same as the minimum number of velocity coordinates required to describe the motion of a rigid body at velocity level. The idea is therefore to express a local angular velocity by two local translational velocities, whereby the translational velocities are assigned to properly selected directions similar to the degrees of freedom of the Nédélec element of the first kind. That means, the motion of a rigid body is described by using only local translational velocity coordinates. Moreover, we want to point out that these translational velocity coordinates are fully equivalent (= unified) regarding their physical interpretation, which means that no partition into translational and rotational parts is introduced. Since these translational velocity coordinates are represented in a body-fixed frame, Lie-group time integrators based on the exponential map such as e.g. the ones presented by Crouch and Grossmann [10] or Munthe-Kaas [22, 23] could be applied to obtain information about the position and orientation of a rigid body.
The authors would like to emphasize that the idea to replace a rotation by two opposed displacements (or vice versa), an angular velocity by two translational velocities, or a torque by a force couple is not new at all. However, we are not aware of any formulation of the equations of motion for a rigid body that is purely based on non-redundant translational velocities. Furthermore, we show how the resulting equations of motion can be solved numerically and how to obtain position and orientation in a stable way.
The remaining paper is organized as follows. In Sect. 2 we introduce the Lie-group formalism for rigid bodies, which is only used in the following to integrate the local unified velocity coordinates. We have avoided relying on the general theory of Lie groups in Sect. 2. Of course, a reader who is already familiar with this general theory will find no new information in this section. However, for a detailed description of the multibody kinematics and dynamics with Lie groups we would like to refer the reader to literature [3, 8]. Section 3 is devoted to the fundamentals of the rigid body formulation with non-redundant unified local velocity coordinates as well as to the derivation of the equations of motion and their generalized forces. In Sect. 4, we show the relation of the proposed formulation to the Newton–Euler equations and present a further analysis of the proposed rigid body formulation. The proper time integration of the equations of motion and the non-redundant unified local velocity coordinates is shown in Sect. 5. Lastly, the proposed formulation is validated through a numerical example in Sect. 6.
The present paper is an extension of [17] regarding a significantly improved notation and additional results of the velocity projection along the edges of a tetrahedron.
2 Lie-group framework
Since the six unified velocity coordinates are defined in a body-fixed frame, standard integrators such as the generalized-\(\alpha \) method [9] are inappropriate for obtaining (drift-free) information about the current position and orientation of a rigid body via direct numerical integration. However, Lie-group time integrators based on the exponential map such as e.g. the ones presented by Crouch and Grossmann [10], Munthe-Kaas [22, 23], Brüls and Cardona [5], Terze et al. [35] or by Arnold et al. [3] can be used in an adapted form, which is why we introduce the Lie-group representation of rigid body kinematics on the special Euclidean group \(\mathit{SE}(3)\) in this section.
In the following, capital boldface letters represent matrices and lower case boldface letters represent vectors except the local translational velocity vector and the local angular velocity vector are written in capital boldface letters according to the notation used in [3]. The horizontal line above a vector \(\bar{ \mathbf{a}}\) means that the vector is a column vector whose components are represented in a body-fixed (local) frame. The components of a vector are written in non-bold letters. If a horizontal bar is drawn above the components of a vector, this means that these are the coordinates of the vector represented in the body-fixed frame. The same convention is used for matrices and their components.
To obtain a singularity-free representation of the orientation of the rigid body with respect to a reference frame, for example either a rotation matrix,
or Euler parameters are used as degrees of freedom [14]. Rigid body transformations are represented by frame transformations, which belong to the special Euclidean group \(\mathit{SE}(3)\) [33]. The action of a rigid body transformation on a body-fixed frame describes how the body-fixed frame rotates and displaces with respect to a inertial frame [24]. Rigid body transformations are such that the position vector \(\mathbf{x}_{P}\in \mathbb{R}^{3}\) of any point \(P\) in the current configuration on the rigid body is expressed by the affine mapping
where \(\mathbf{x}\in \mathbb{R}^{3}\) represents the current position vector of a reference point, which was located at the point \(O\) in the reference configuration [33]. This is illustrated in Fig. 2. The vector \(\mathbf{y}_{P} = \mathbf{R}\bar{\mathbf{y}}_{P}\) represents the position of an arbitrary point \(P\) of the body with respect to the fixed reference frame I. Whereas the vector \(\bar{\mathbf{y}}_{P}\in \mathbb{R} ^{3}\) represents the position of the point \(P\) in the body-fixed frame. The rotation matrix \(\mathbf{R}\) maps the vector \(\bar{\mathbf{y}} _{P}\) from the body-fixed frame into the reference frame and defines the orientation of the body-fixed frame with respect to the reference frame I. A rigid body transformation (2) can conveniently be represented in matrix form using the homogeneous representation of vectors as
The set of 4 × 4-matrices, which are formed by the semi-direct product \(\mathit{SO}(3)\ltimes \mathbb{R}^{3}\),
where \(\mathbf{R}\in \mathit{SO}(3)\) and \(\mathbf{x}\in \mathbb{R} ^{3}\) forms together with the matrix product (composition operation) a matrix Lie group, which is called the special Euclidean group \(\mathit{SE}(3)\) [30]. The velocity vector \(\dot{\mathbf{x}}_{P}\in \mathbb{R}^{3}\) of any point \(P\) on the rigid body can be expressed as linear relation between \(\dot{\mathbf{H}}\) and \([\bar{\mathbf{y}}_{P}^{T} \ 1 ]^{T}\) in the form
The time derivative \(\dot{\mathbf{H}}\) reads
The 4 × 4-matrix
denotes any element of \(\mathfrak{se}(3)\), the Lie algebra of \(\mathit{SE}(3)\), which is defined by
with \(\widetilde{\overline{\boldsymbol{\Omega}}}= \mathbf{R}^{T} \dot{\mathbf{R}}\). The Lie algebra is isomorphic to a finite dimensional linear space \(\mathbb{R}^{k}\) with an invertible linear mapping
where the tilde operator \(\widetilde{ ( \bullet )}\) depend on the specific Lie-group setting [3, 7]. In the case of the Lie algebra \(\mathfrak{se}(3)\), the inverse mapping (9) maps a 4 × 4-matrix \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\in \mathfrak{se}(3)\) to a six-dimensional vector
and vice versa. In the case of Lie algebra \(\mathfrak{so}(3)\), the inverse mapping (9) maps a 3 × 3-matrix \(\widetilde{\overline{\boldsymbol{\Omega }}}\in \mathfrak{so}(3)\) to a three-dimensional vector
and vice versa. In the vector representation \(\overline{\mathbf{v}} _{\textrm{L}}\) of \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\), the sub-vector
represents the translational velocity in a body-fixed frame and the sub-vector \(\overline{\boldsymbol{\Omega }}\) represents the angular velocity vector in a body-fixed frame [3, 6]. Equation (6) is a first order differential equation on a matrix Lie group, which produces a relation between \(\mathbf{H}\) and \(\dot{\mathbf{H}}\) [18, 30]. This differential equation is not solved directly. Instead, the incremental motion vector differential equation
with \(\mathbf{q}_{0}\) being initial condition is solved with a time integration scheme for
where
While the subindex \(T\) in \(\mathbf{q}_{T}\) stands for translation, the subindex \(R\) in \(\mathbf{q}_{R}\) stands for rotation. The solution of the differential equation (6) can then be determined for each incremental time step using the matrix exponential map \(\textrm{exp}_{\mathit{SE}(3)}\) on \(\mathit{SE}(3)\)
with \(\Delta \mathbf{q}= \mathbf{q}_{t+h} - \mathbf{q}_{t}\) where \(h\) is a (usually small) step forward in time. In Eq. (13), \(\mathbf{T}_{ \mathit{SE}(3)}^{-1}\) denotes the inverse tangent operator corresponding to the exponential map on \(\mathit{SE}(3)\) shown in Eq. (17). The exponential map and the inverse tangent operator on \(\mathit{SE}(3)\) can be written in a closed form
where \(\textrm{exp}_{\mathit{SO}(3)}\) is the exponential map and \(\mathbf{T}_{\mathit{SO}(3)}\) the tangent operator on the special orthogonal group \(\mathit{SO}(3)\) [3, 6, 33], which are given by
using the Lie bracket \(\lceil ,\rceil \); see e.g. [22]. The matrices \(\widetilde{\mathbf{q}}_{R}\) and \(\widetilde{\mathbf{q}}_{T}\) are skew symmetric matrices of the form (8), which are computed from the vectors \(\mathbf{q}_{R}\) and \(\mathbf{q}_{T}\).
3 Spatial rigid body motion using non-redundant unified local velocity coordinates
In many approaches [4, 14, 32], the kinematics of the rigid body and its equations of motion are divided into a translational part and a rotational part of motion. This subdivision of motion at velocity level is common in multibody dynamics; see e.g. [3, 6, 33]. A unification of the velocity coordinates within the description of the rigid body motion could be advantageous, which is shown in the following.
3.1 Non-redundant unified local velocity coordinates
The unification of the local translational velocity coordinates \((\overline{U}_{1}, \overline{U}_{2}, \overline{U}_{3} )\) and the local angular velocity coordinates \((\overline{\varOmega }_{1}, \overline{\varOmega }_{2}, \overline{\varOmega }_{3})\) to six local velocity coordinates \((\overline{w}_{1}, \overline{w}_{2}, \overline{w}_{3}, \overline{w}_{4}, \overline{w}_{5}, \overline{w}_{6})\) is achieved, by projecting the local translational velocity coordinates of six selected points on the rigid body along six selected directions. The scalar product of the direction \(\bar{ \mathbf{b}}_{i}\) and the velocity vector \(\overline{\mathbf{v}}_{i}(\bar{ \mathbf{y}}_{i})\), see Fig. 3, which is related to the velocity vector \(\dot{\mathbf{x}}_{P}\) by the relation
generates the \(i\)th unified local velocity coordinate \(\overline{w} _{i}\in \mathbb{R,}\)
The \(i\)th local velocity vector of the \(i\)th point \(P_{i}\) is indicated by the vector \(\overline{\mathbf{v}}_{i}\in \mathbb{R}^{3}\). The local position of point \(P_{i}\) on the rigid body is marked with vector \(\bar{\mathbf{y}}_{i}\in \mathbb{R}^{3}\). The vector \(\bar{\mathbf{b}}_{i}\in \mathbb{R}^{3}\) represents the \(i\)th vector used for the projection. Therefore, the vector of unified local velocity coordinates reads
The term’unified’ emphasizes the fact that all velocity coordinates \(\overline{w}_{i}\) have the same kinematic meaning and that no distinction is made between a translational motion and a rotational motion. The general idea of the projection is depicted in Fig. 3. The vectors \(\mathbf{e}_{i}\), \(\mathbf{y}_{i}\), \(\mathbf{v}_{i}\) and \(\mathbf{y}_{i}\) represent body-fixed (physical) vectors. Whereas the vectors \(\overline{\mathbf{e}}_{i}\), \(\bar{\mathbf{b}}_{i}\), \(\overline{\mathbf{v}}_{i}\) and \(\bar{\mathbf{y}}_{i}\) are column vectors whose components are represented in a local frame.
The set of projection points \(P_{i}\) and direction vectors \(\bar{ \mathbf{b}}_{i}\) to generate the six unified velocity coordinates \(\overline{w}_{i}\) is limited by the condition that there must be a bijective mapping between the velocity coordinates \(\overline{w}_{i}\) and the vector form of \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\). In Sect. 4.2, the condition is shown which is required to achieve this bijective mapping. This restriction to the set of permitted projection points and direction vectors is necessary, as otherwise the Lie algebra \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\) cannot be clearly reconstructed from the unified local velocity coordinates. Two permitted projection examples are the projection towards the lateral surfaces of a hexahedron and towards the edges of a tetrahedron; see Fig. 4. In order to examine the description of the rigid body motion with unified local velocity coordinates more closely in the following subsection, we limit ourselves for the moment to the velocity projection along the side faces of a hexahedron with side lengths (\(2l_{1}\), \(2l _{2}\), \(2l_{3}\)) as depicted in Fig. 4a. The projection vectors \(\bar{\mathbf{b}}_{i}\) and the position vectors \(\bar{\mathbf{y}}_{i}\) read for the hexahedron as depicted in Fig. 4a,
with a quantity \(\alpha \in \mathbb{R}\) to be chosen. Note that other directions of \(\bar{\mathbf{b}}_{i}\) would be possible in the hexahedron as well. In Sect. 4.3, it will be shown that choosing \(\alpha = 1/\sqrt{2}\) is advantageous, which is employed throughout the following description.
3.1.1 Velocity field
In order to relate the velocity field \(\overline{\mathbf{v}}(\bar{ \mathbf{y}}_{p})\) to the unified velocities \(\overline{w}_{i}\), we use Eq. (24) with the quantities defined in Eqs. (26)–(31) and assume a linear interpolation of the velocity field in the rigid body. The local velocity vector \(\overline{\mathbf{v}}(\bar{ \mathbf{y}}_{p})= \begin{bmatrix} \bar{v}_{1} & \bar{v}_{2} & \bar{v}_{3} \end{bmatrix} ^{T}\) of each point \(P\) on the rigid body is thus written as
with the interpolation matrix \(\overline{\mathbf{N}}(\bar{\mathbf{y}} _{p})\). In order to determine the interpolation matrix \(\overline{ \mathbf{N}}(\bar{\mathbf{y}}_{p})\), the component \(\bar{v}_{1}\) is investigated, exemplary.
The velocity component \(\bar{v}_{1}\) is composed of three parts, which result from different forms of motion of the rigid body. Namely a translational velocity \(\bar{v}_{1}^{\mathrm{transl}}\), which occurs due to a pure translational motion along \(\mathbf{e}_{1}\), a velocity \(\bar{v}_{1}^{\mathbf{e}_{2}}\), which results from a pure rotary motion around the axis \(\mathbf{e}_{2}\), as well as a velocity \(\bar{v}_{1} ^{\mathbf{e}_{3}}\), which results from a rotational motion around the axis given by \(\mathbf{e}_{3}\); see Fig. 5. In the case of a pure translational motion, the velocity of any reference point on the rigid body reads according to Fig. 5a
The velocity component \(\bar{v}_{1}^{\mathbf{e}_{3}}\) follows from linear interpolation,
according to Fig. 5b. The negative slope in \(\bar{v}_{1}^{\mathbf{e}_{3}}\) follows from the positive sense of rotation as indicated in Fig. 5b. In the same sense the velocity component \(\bar{v}_{1}^{\mathbf{e}_{2}}\) follows from linear interpolation,
according to Fig. 6b. Summing up the terms \(\bar{v}_{1}^{\mathrm{transl}}\), \(\bar{v}_{1} ^{\mathbf{e}_{2}}\) and \(\bar{v}_{1}^{\mathbf{e}_{3}}\) results in the first line of Eq. (32)
Summing up, \(\bar{v}_{1}\) can be represented in vector notation as
in which \(\overline{\mathbf{N}}_{1}^{1\times 6}(\bar{\mathbf{y}}_{p})\) is defined in Eq. (32). Of course, these relations would also follow from basic kinematic formulas using the angular velocity vector, which is not needed here. The remaining components of \(\overline{\mathbf{N}}(\bar{\mathbf{y}}_{p})\) follow from similar considerations and read as follows:
3.2 Representation of accelerations
A unification of the kinematic description of the rigid body motion at velocity level is possible with the help of the six local velocity coordinates \(\overline{w}_{i}\) as shown in the previous section. The accelerations of the rigid body are determined based on the time derivative of the velocity field \(\overline{\mathbf{v}}(\bar{ \mathbf{y}}_{p})\). In order to do so, the velocity field \(\overline{ \mathbf{v}}\) in Eq. (32) is transformed into the inertial frame,
where \((\mathbf{e}_{1}, \mathbf{e}_{2}, \mathbf{e}_{3})\) represent the three body-fixed orthogonal basis vectors, with their (time dependent) coordinates represented in the inertial frame. The acceleration vector of any point \(P\) in the current configuration can be determined from the time derivative of Eq. (40). Therefore, the acceleration vector follows:
where \((\dot{\mathbf{e}}_{1}, \,\, \dot{\mathbf{e}}_{2}, \,\, \dot{\mathbf{e}}_{3})\) represent the time derivatives of the three body-fixed orthogonal basis vectors. Formulated in matrix-vector notation, the acceleration vector (41) takes the form
The components of the acceleration vector represented in the local frame read as follows:
where \((\overline{\mathbf{e}}_{1}, \,\, \overline{\mathbf{e}}_{2}, \, \, \overline{\mathbf{e}}_{3})\) represent the three body-fixed basis vectors, with their (time dependent) coordinates represented in the local frame and \((\overline{\dot{\mathbf{e}}}_{1}, \,\, \overline{ \dot{\mathbf{e}}}_{2}, \,\, \overline{\dot{\mathbf{e}}}_{3})\) represent the time derivatives of the three body-fixed basis vectors, with their (time dependent) coordinates represented in the local frame. In the body-fixed frame it follows that in the case of a translational motion \(\overline{\dot{\mathbf{e}}}_{i}\) vanishes. But in the case of a rotational motion it follows that \(\overline{\dot{\mathbf{e}}}_{i} \neq \mathbf{0}\). Since \(\overline{\dot{\mathbf{e}}}_{i}\) can be interpreted as difference of two velocities, Eq. (32) is used to obtain, e.g.,
The velocity term \(\overline{\mathbf{v}}(\mathbf{0})\) in Eq. (44) corresponds to a pure translational motion at \(\bar{\mathbf{y}}_{p}=\mathbf{0}_{3\times 1}\). Equation (44) can be evaluated using Eq. (32). By inserting the Cartesian basis vectors
into Eq. (44), it follows that the time derivatives of the basis vectors read
To obtain a compact vector-matrix notation of Eq. (43), the time derivatives of the basis vectors are collected in the matrixFootnote 1\(\overline{ \dot{\mathbf{E}}}\)
Inserting Eqs. (47)–(48) and Eq. (45) into Eq. (43), the acceleration vector \(\overline{\dot{\mathbf{v}}}(\bar{\mathbf{y}}_{P})\) of any point \(P\) follows as
where the matrix \(\overline{\mathbf{P}}(\bar{\mathbf{y}}_{p}, \mathbf{\overline{w}})\) is given by
and the time derivative of the unified coordinates reads
3.3 Equations of motion of a free rigid body
In this section, we determine the governing equations of motion in terms of \(\mathbf{\overline{w}}\) and \(\dot{\mathbf{\overline{w}}}\). To obtain the governing equations of motion we use the Gibbs–Appel equations [1, 16, 31]. Since we are searching for equations of motion depicted in a body-fixed frame, we have to calculate the partial derivatives of the Gibbs function \(G\) with respect to the time derivative of the velocity coordinates \(\dot{\mathbf{\overline{w}}}\) and equate the derivatives with the corresponding generalized forces \(\bar{\mathbf{Q}}\)
which are defined in the body-fixed frame. Using Eq. (50), it turns out that the Gibbs function \(G\) can be written as a sum of three integrals,
Since the vector \(\dot{\mathbf{\overline{w}}}\) does not appear in the term \(G_{3}\), the partial derivative of \(G_{3}\) with respect to \(\dot{\mathbf{\overline{w}}}\) vanishes. Therefore, we only make use of the first two terms \(G_{1}\) and \(G_{2}\), since their partial derivative with respect to \(\dot{\mathbf{\overline{w}}}\) is obviously nonzero. Therefore, \(G_{1}\) and \(G_{2}\) follow to
A further evaluation of the integrals in \(G_{1}\) and \(G_{2}\) lead us to the definition of a mass matrix \(\overline{\mathbf{M}}\) and a velocity dependent matrix \(\overline{\boldsymbol{\Gamma }}\)
Since the interpolation matrix \(\overline{\mathbf{N}}( \bar{\mathbf{y}}_{p})\) depends only on the chosen reference point \(\bar{\mathbf{y}}_{p}\), which is constant in the body-fixed frame, it follows that the mass matrix \(\overline{\mathbf{M}}\) is also constant with respect to the body-fixed frame. The partial derivatives of \(G_{1}\) and \(G_{2}\) follow to
Adding up the partial derivatives of \(G_{1}\) and \(G_{2}\), the equations of motion follow to
Note that Eqs. (62) have been obtained without the use of rotation matrices or the angular velocity vector.
3.4 Generalized forces
Corresponding to the equations of motion (62), we define generalized forces \(\overline{\mathbf{Q}}\in \mathbb{R}^{6}\), which are obtained from the principle of virtual power [29]. Since the principle of virtual power is invariant under a coordinate transformation, it is written in the local (body-fixed) representation,
For the case of a force \(\overline{\mathbf{f}}\in \mathbb{R}^{3}\) acting at a point \(P\) at the rigid body, the vector of generalized forces \(\overline{\mathbf{Q}}\) thus reads
4 Relation to rotation dependent rigid body motion
In this section we show the bijective mapping between the unified local velocity coordinates and the classical translational and angular velocity vectors. Furthermore, the relations between the equations of motion (62) and the Newton–Euler equations, as well as their respective mass matrices and inertia terms are presented.
4.1 Relation between \(\mathbf{\overline{w}}\) and \(\overline{\mathbf{v}}_{\textrm{L}}\)
In this section, a relationship between the unified local velocity coordinates \(\mathbf{\overline{w}}\) and the vector form of \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\) is derived.
It is well known that the local velocity vector of a point \(P\) on the rigid body can be computed using the basic kinematic formula
which can be rewritten in terms of \(\overline{\mathbf{v}}_{\textrm{L}}\) as follows:
By inserting Eq. (66) into Eq. (24) it follows that the \(i\)th unified velocity coordinate \(\overline{w}_{i}\) is related to \(\overline{\mathbf{v}} _{\textrm{L}}\) by
From the selection of six projection points \(P_{i}\) and direction vectors \(\bar{\mathbf{b}}_{i}\) it follows that the vector of the unified velocity coordinates \(\mathbf{\overline{w}}\) is related to \(\overline{ \mathbf{v}}_{\textrm{L}}\) via the relation
According to Eq. (68) the matrix \(\overline{ \mathbf{D}}\in \mathbb{R}^{6\times 6}\) maps \(\overline{\mathbf{v}} _{\textrm{L}}\) to the vector of the unified velocity coordinates. Therefore, the inverse of \(\overline{\mathbf{D}}\) maps the vector of the unified velocity coordinates to \(\overline{\mathbf{v}}_{\textrm{L}}\) according to
4.2 Condition for the choice of \(\bar{\mathbf{b}}_{i}\) and \(\bar{\mathbf{y}}_{i}\)
In order to obtain a valid set of unified local velocity coordinates \(\overline{w}_{i}\), the following conditions need to be fulfilled for the transformation quantities \(\bar{\mathbf{b}}_{i}\) and \(\bar{ \mathbf{y}}_{i}\):
- 1.
there is a linear mapping between the vector of unified local velocity coordinates \(\mathbf{\overline{w}}\) and the vector \(\overline{ \mathbf{v}}_{\textrm{L}}\) according to Eq. (68), and
- 2.
the matrix \(\overline{\mathbf{D}}\) of the linear mapping is a regular matrix.
4.3 Relation between \(\mathbf{\overline{w}}\) and \(\overline{\mathbf{v}}_{\textrm{L}}\) for the hexahedral case
Using the direction and position vectors selected in Eqs. (26)–(31) and setting \(l_{1}=l_{2}= l_{3}=1\), which is employed throughout the following description, the relation between \(\mathbf{\overline{w}}\) and \(\overline{\mathbf{v}}_{\textrm{L}}\) reads for the hexahedral case
where \(\overline{\mathbf{D}}\) turns out to be an orthogonal matrix, i.e. \(\overline{ \mathbf{D}}^{-1}=\overline{\mathbf{D}}^{T}\), which can be validated by direct evaluation of \(\overline{\mathbf{D}}^{T} \overline{\mathbf{D}}\). Thus, the conditions defined in Sect. 4.2 are obviously fulfilled. Finally, \(\overline{\mathbf{v}}_{\textrm{L}}\) is given in terms of \(\mathbf{\overline{w}}\), reading
Note, the geometric interpretation of \(\overline{\mathbf{D}}\) is described in the components of \(\mathbf{\overline{w}}\); see Sect. 3.1.
Looking at the determinant of the matrix \(\overline{\mathbf{D}}\) for the general hexahedron case Eqs. (26)–(31), it follows that the conditions in section Sect. 3.1 are fulfilled for each non-trivial choice of the parameter \(\alpha \) and the lengths \((l_{1},\,\ l_{2},\,\,l_{3})\), due to the fact that
If the parameter \(\alpha =1 / \sqrt{2}\) is selected, the conditions in Sect. 3.1 are fulfilled for each non-trivial choice of lengths \((l_{1},\,\ l_{2},\,\,l_{3})\), due to the fact that
4.4 Relation between \(\mathbf{\overline{w}}\) and \(\overline{\mathbf{v}}_{\textrm{L}}\) for the tetrahedral case
In this subsection we present a possible selection of direction vectors \(\bar{\mathbf{b}}_{i}\) and position vectors \(\bar{\mathbf{y}}_{i}\), the resulting matrix \(\overline{\mathbf{D}}_{\mathit{tet}}\), as well as their inverse \(\overline{\mathbf{D}}_{\mathit{tet}}^{-1}\) for the velocity projection along the edges of a tetrahedron. For simplicity we choose a tetrahedron as shown in Fig. 7. The vectors \(( \mathbf{e}_{1},\,\, \mathbf{e}_{2},\,\, \mathbf{e}_{3})\) represent the orthogonal basis as shown in Eq. (45). We select the coordinates for each node \((i, \,\, j, \,\ k)\) as \(l\mathbf{e} _{i}\) with respect to the origin given by \(S\) with \(l\) being a coefficient, which scales the size of the tetrahedral. The position and direction vectors therefore result in
with \(\alpha \) being a coefficient, which scales the direction vectors \(\bar{\mathbf{b}}_{i}\). The matrix \(\overline{\mathbf{D}}_{ \mathit{tet}}\) and its inverse \(\overline{\mathbf{D}}^{-1}_{ \mathit{tet}}\) therefore take the form
In contrast to the projection along the side surfaces of a hexahedron, the matrix \(\overline{\mathbf{D}}_{\mathit{tet}}\) is in general not orthogonal for the tetrahedral case.
Looking at the determinant of the matrix \(\overline{\mathbf{D}}_{ \mathit{tet}}\) for the tetrahedral case Eqs. (74)–(79), it follows that the conditions in section Sect. 3.1 are fulfilled for each non-trivial choice of the parameter \(\alpha \) and the length \(l\), due to the fact that
4.5 Mass matrix
In order to obtain a more suitable form of the mass matrix \(\overline{ \mathbf{M}}\), the integral in Eq. (59) is investigated in this section.
By inserting equation (71) into equation (66), it follows that the velocity field \(\overline{\mathbf{v}}(\bar{\mathbf{y}}_{p})\) can be represented as
By comparing Eq. (82) with Eq. (32), it follows that
Using Eq. (83), the mass matrix Eq. (59) is therefore obtained from
with \(\mathbf{M}\) being defined by
where the matrix \(\overline{\mathbf{J}}_{1}\) is computed by the integral,
the matrix \(\overline{\mathbf{J}}_{2}\) by the integral,
and the matrix \(\overline{\mathbf{J}}_{3}\) by the integral
From the definition of the skew symmetric matrix \(\tilde{\bar{\mathbf{y}}}_{p}\) one concludes that if the origin of the body axes is attached to the center of mass of the body, then the matrix \(\overline{\mathbf{J}}_{2}\) is the null matrix [32], which is employed throughout the further description. The mass matrix thus follows:
where the diagonal elements of the 3 × 3-matrix \(\overline{ \mathbf{J}}_{1}\) contain the rigid body’s mass \(m\) and the 3 × 3-matrix \(\overline{\mathbf{J}}_{3}\) represents the body’s inertia tensor represented in the body-fixed frame. If we use a diagonal inertia tensor
the mass matrix \(\overline{\mathbf{M}}\) exhibits in the hexahedral case using Eqs. (26)–(31) and setting \(l_{1}=l_{2}=l_{3}=1\) a simple block diagonal structure,
4.6 Quadratic velocity vector
The quadratic velocity vector \(\overline{\boldsymbol{\Gamma }}\, \mathbf{\overline{w}}\) and the integral in Eq. (60) are related to classical inertia terms in the present section.
Inserting Eqs. (83) and (51), into Eq. (60), the matrix \(\overline{ \boldsymbol{\Gamma }}\) results in
Since Eq. (94) is integrated over the volume and the matrix \(\overline{\dot{\mathbf{E}}}(\mathbf{\overline{w}})\) does not depend on the volume, we obtain
By comparing the integrals in Eq. (96) with the integrals in Eq. (84) it follows that the matrix \(\overline{\boldsymbol{\Gamma }}\) reads
with the hereby defined matrix \(\mathbf{\varPsi }\),
As described in Sect. 4.5, \(\overline{ \mathbf{J}}_{2}=\mathbf{0}_{3\times 3}\), therefore the matrix \(\overline{\boldsymbol{\Gamma }}\) is computed as
Using the diagonal inertia tensor of Eq. (92), the vector \(\overline{\boldsymbol{\Gamma }}\,\mathbf{\overline{w}}\) reads for the hexahedral case using Eqs. (26)–(31) and setting \(l_{1}=l_{2}=l_{3}=1\) as follows:
4.7 Relation to the Newton–Euler equations of motion
In this section we present the relationship between the equations of motion (62) and the Newton–Euler equations of motion.
Inserting Eq. (83) in the equation for the generalized forces Eq. (64) leads to the representation of the generalized forces as a function of the matrix \(\overline{\mathbf{D}}\)
where \(\overline{\boldsymbol{\tau }}=\widetilde{\bar{\mathbf{y}}}_{p}\overline{ \mathbf{f}}\in \mathbb{R}^{3}\) represents the torque acting on the rigid body due to the local force \(\overline{\mathbf{f}}\in \mathbb{R}^{3}\) acting at point \(P\). The local force vector \(\overline{\mathbf{f}}\) is connected to a physical force \(\mathbf{f}\in \mathbb{R}^{3}\) by
Since the mass matrix \(\overline{\mathbf{M}}\) and the velocity dependent matrix \(\overline{\boldsymbol{\Gamma }}\) can be written as matrix product as presented in Eq. (91) and Eq. (99), the equations of motion (62) can be rewritten using the matrix \(\overline{\mathbf{D}}\),
Multiplication from the left hand side with \(\overline{\mathbf{D}} ^{T}\) gives
Since \(\dot{\mathbf{\overline{w}}} =\overline{\mathbf{D}}\, \dot{\overline{\mathbf{v}}}_{L}\) and \(\mathbf{\overline{w}}=\overline{ \mathbf{D}}\,\overline{\mathbf{v}}_{\textrm{L}} \) the equations of motion can be written as
Splitting up the equations of motion (105) into a term for the translational motion and the rotational motion leads to the well known Newton–Euler equations see, e.g. the references [6, 33],
5 Time integration of the unified local velocity coordinates
In order to obtain the current position and orientation of the rigid body from the unified velocity coordinates \(\mathbf{\overline{w}}\), we need to find a proper representation of the Lie algebra \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\) and furthermore a proper representation of the inverse tangent operator \(\mathbf{T}_{ \mathit{SE}(3)}^{-1}\) with respect to \(\overline{w}\). Hereafter, a proper time integration method can be applied to the incremental motion vector differential equation (13). The solution of the incremental motion is applied to Eq. (16) to obtain the current position and orientation of the rigid body.
5.1 Lie algebra corresponding to \(\mathbf{\overline{w}}\)
Since the Lie algebra \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}\) in the kinematic differential Eq. (6) is a function of the translational velocity vector \(\overline{\mathbf{U}}\) and the angular velocity vector \(\overline{\boldsymbol{\Omega }}\), we need to find a corresponding representation of the Lie algebra with respect to the velocity coordinates \(\overline{w}_{i}\) in order to be able to apply the solution approach depicted in Eq. (16). This corresponding representation of the Lie algebra can easily be found, since the translational velocity of the reference point can be determined with respect to \(\mathbf{\overline{w}}\) using Eq. (32)
and Eq. (71),
The vector \(\overline{\boldsymbol{\Omega }}\) therefore follows in the hexahedral case:
After applying Eq. (9) to Eq. (110), it follows from comparison of \(\overline{\dot{\mathbf{E}}}\) in Eq. (49) and \(\widetilde{\overline{\boldsymbol{\Omega }}}\) that
Since the local angular velocity tensor \(\widetilde{\overline{\boldsymbol{\Omega }}}\) can be expressed with matrix \(\overline{\dot{\mathbf{E}}}\), the Lie algebra \(\widetilde{\overline{\mathbf{v}}}_{\textrm{L}}(\mathbf{\overline{w}})\) corresponding to \(\mathbf{H}\in \mathit{SE}(3)\) is given by the matrix
5.2 Inverse tangent operator
The differential equation for the incremental motion vector \(\mathbf{q}\) is computed as already shown in Eq. (13). The relationship between \(\overline{\mathbf{v}}_{\textrm{L}}\) and the vector of the unified coordinates \(\mathbf{\overline{w}}\) is established by the vectors \(\bar{\mathbf{b}}_{i}\) and the position vectors \(\bar{ \mathbf{y}}_{i}\) in the form of the inverse transformation matrix \(\overline{\mathbf{D}}^{-1}\) via the relationship \(\overline{ \mathbf{v}}_{\textrm{L}}= \overline{\mathbf{D}}^{-1} \mathbf{\overline{w}}\) as shown in Sect. 4.1. The inverse tangent operator \(\widehat{\mathbf{T}}_{\mathit{SE}(3)} ^{-1}\) matching the unified coordinates can thus be determined by matrix multiplication
As shown in Sect. 4.3 and Sect. 4.4, the matrix \(\overline{ \mathbf{D}}\) is regular in the cases we consider. Therefore, the tangent operator in Eq. (18) is decisive for the investigation of possible singularities in Eq. (114). As the problem of singularities in Eq. (18) also occurs in the Lie-group formulations reported in the literature, we use the method presented in [2] to evaluate \(\mathbf{T}_{ \mathit{SE}(3)}^{-1}\) robustly.
5.3 Integration scheme
We focus next on a numerical time integration scheme, which can be used to solve the differential equations
with \(\mathbf{q}_{0}\) being initial condition. Once a solution of Eq. (116) is obtained for a specific time step (\(j\) → \(j+1\)), the corresponding \(\mathit{SE}(3)\) group element update is obtained from the update formula
with \(\Delta \mathbf{q}_{j} = \mathbf{q}_{j+1} - \mathbf{q}_{j}\). For the purpose of numerical time integration, we adopt a recently presented fourth-order Runge–Kutta time integration scheme proposed by Terze et al. [35], such that it can be applied to our formulation. Following the notation used in [35], we define
in which \(f (\mathbf{H}, \,\mathbf{\overline{w}}, \, t )\) represents the function which provides the derivative of the unified velocity coordinates using the equations of motion (115). Starting with values at the previous step, \(\mathbf{\overline{w}}_{\textrm{i}}\), \(\Delta t_{j}\), \(\mathbf{H}_{j}\), \(\mathbf{q}_{j}\), the slope estimations are obtained by
The four coefficients \(\mathbf{K}_{1},\ldots ,\mathbf{K}_{4}\) represent the slopes within one time step (\(j\) → \(j+1\)) in the solution process of the incremental motion vector differential equation (116) and the four coefficients \(\mathbf{k} _{1},\ldots ,\mathbf{k}_{4}\) contain the slopes within one time step in the solution process of Eq. (115). The quantity \(\Delta t\) represents the time step size in the integration process. The equations
update the quantities \(\mathbf{\overline{w}}\) and \(\mathbf{H}\).
6 Numerical example
The rotation of a torque-free rigid body with an initial angular velocity vector oriented closely to its unstable axis is simulated according to [21, 35]. The inertia tensor of the rigid body with respect to the center of mass reads
All quantities are expressed in standard units. An unstable rotation about the third axis is expected, since \(\overline{J}_{11} > \overline{J}_{33} > \overline{J}_{22}\). Throughout the numerical example, the unified local velocity coordinates \(\overline{w}_{i}\) according to the hexahedral case with \(l_{1}=l_{2}=l_{3}=1\) are used. The initial local velocities are chosen according to [21, 35],
where \(\overline{\mathbf{U}}_{0}=\mathbf{0}_{1\times 3}\) represents the velocity vector at the center of mass and \(\overline{\boldsymbol{\Omega }}_{0}= [0.01\ 0\ 100] ^{T}\) represents the body’s local angular velocity vector.
Therefore, the initial values for the unified local velocity coordinates \(\overline{w}_{i}\) are set according to Eq. (70)
The initial position of the center of mass is set to \(\mathbf{x}_{0} = \mathbf{0}_{3\times 1}\) and the body’s initial orientation is given by the rotation matrix \(\mathbf{R}_{0} = \mathbf{I}_{3\times 3}\). Therefore, the initial conditions in terms of an element of \(\mathit{SE}(3)\) follow:
Since no external forces or torques are applied, the equations of motion follow from Eq. (62),
Despite the fact that no translational motion is studied in this example, we set the body’s mass \(m=1\) in Eq. (93) for the sake of completeness.
For a better understanding of the simulation results, the position of a point \(P\) given in the body-fixed frame by the vector \(\bar{ \mathbf{p}} = [\, 0 \,\,\, 0 \,\,\, 1\, ]^{T}\), is tracked during rotation. Numerical simulations are conducted in the time domain of one second. The reference solution, denoted as’quaternions’, is obtained following the approach of Terze et al. [35] based on Euler parameters and an appropriate fourth-order Runge–Kutta scheme which inherently respects the unit-length condition. Since no reference solution data from Terze et al.’s publication were available with which we can directly compare our results, the formulation of Terze et al. was implemented by ourselves. All formulations have been implemented in Matlab R2016a. Our unified local velocity coordinate formulation will be abbreviated by means of’ulvc (proposed)’ in the following figures. Since all methods converged to the same solution (up to machine precision) for a time step of \(\Delta t=10^{-5}\), results obtained with that time step can be considered as a reference.
The trajectory of \(\bar{\mathbf{p}}\), expressed in an inertial frame, is shown in the three-dimensional plot in Fig. 8, while its three components versus time are shown in Fig. 9. The position of the point \(\bar{\mathbf{p}}\) is changing between \([\, 0 \,\,\, 0 \, \,\, 1\, ]^{T}\) and \([\, 0 \,\,\, 0 \,\,\, -1\, ] ^{T}\). The components of the body’s angular velocity vector \(\overline{ \boldsymbol{\Omega }}\) are shown in Fig. 10. In order to obtain the results shown in Figs. 8–10, we used a time step size of \(\Delta t=10^{-4}\). As expected, the body’s rotation is unstable, the body flips over and continues its rotation as one can observe in Fig. 10. Figure 11 shows the deviation of the determinant of the rotation matrix from one, expressed by the formula \(\textrm{det}(\mathbf{R}) - 1\). In order to compare the formulation of Terze et al. and the formulation presented here with respect to \(\textrm{det}(\mathbf{R}) - 1\), we convert the unit quaternion computed with the formulation of Terze et al. into a rotation matrix, using Eq. (2.13) in [32] from which we calculate the determinant and use it for comparison. As depicted in Fig. 11, the proposed formulation shows a very good behavior in long term simulation as well. Finally, Fig. 12 illustrates the convergence order of the time integration scheme based on the norm of the error of the angular velocity vector \(\Vert \overline{ \boldsymbol{\Omega }}-\overline{\boldsymbol{\Omega }}_{\textrm{converged}} \Vert _{2}\) versus the integration step size \(\Delta t\), in which the reference solution is obtained with a time step \(\Delta t=10^{-5}\). Figure 13 shows the error of the determinant of the rotation matrix, \(\textrm{det}( \mathbf{R})-1\), versus the integration step size \(h\). As shown in Fig. 12 the unified local velocity coordinate formulation exhibits the same convergence and accuracy as the method proposed by Terze et al. [35], since both integration schemes are based on a fourth-order explicit Runge–Kutta method. As depicted in Fig. 13, the absolute error of the determinant of the rotation matrix is lower than \(2 \times 10^{-14}\) for both methods. The unified local velocity coordinate formulation shows a slightly better accuracy than the solution obtained with the method proposed by [35], whereas the method presented in [35] shows a slightly higher convergence rate. The better accuracy of the unified local velocity coordinate formulation compared with the one obtained with the method of Terze et al. may be explained by the fact that we use directly the exponential map on \(\mathit{SO}(3)\) to obtain the rotation matrix, whereas in the method of Terze et al. the rotation matrix is computed from unit quaternions.
7 Conclusions
Concluding, we found a formulation to describe spatial rigid body motion in terms of six non-redundant, homogeneous local velocity coordinates. This formulation is free of rotational parameters and allows the description of rigid body motion in space using purely translational velocity coordinates. The unified local velocity coordinates can be built using various projection geometries such as vectors within the faces of a hexahedron or vectors along the edges of a tetrahedron. Especially the velocity projection along the faces of a hexahedron proves to be a good choice, since in this case the transformation matrix may becomes orthogonal. We obtain equations of motion of similar structure as compared to the classic Newton–Euler equations, while not making use of the angular velocity vector or rotation matrices. The equations of motion given purely in terms of translational velocities can be integrated using Lie-group time integration schemes, since the Lie algebra can be represented w.r.t. the unified local velocity coordinates. Both the equations of motion and the incremental motion vector differential equation can be integrated directly using for example the Runge–Kutta formulas of the fourth order. The exponential map on \(\mathit{SE}(3)\) can be used to determine position and orientation of the rigid body in space for each time step. The presented formulation is numerically as accurate as existing formulations. However, the presented formulation promises to be useful in cases where all coordinates need to have an identical (unified) interpretation or when rotation matrix and angular velocity vector like to be avoided.
Notes
In Sect. 5.1, we show that for the hexahedral case \(\overline{\dot{\mathbf{E}}}= \widetilde{\overline{\boldsymbol{\Omega }}}\) is valid.
References
Amirouche, F.M.L.: Fundamentals of Multibody Dynamics. Birkhäuser, Boston (2006)
Andreas, M.: Coordinate mappings for rigid body motions. J. Comput. Nonlinear Dyn. 12(2), 10 (2017)
Arnold, M., Cardona, A., Brüls, O.: A Lie algebra approach to Lie group time integration of constrained systems. In: Betsch, P. (ed.) Structure-Preserving Integrators in Nonlinear Structural Dynamics and Flexible Multibody Dynamics, pp. 91–158. Springer, Berlin (2016)
Bauchau, O.A.: Flexible Multibody Dynamics. Springer, Berlin (2011)
Brüls, O., Cardona, A.: On the use of Lie group time integrators in multibody dynamics. J. Comput. Nonlinear Dyn. 5(3), 1–13 (2010)
Brüls, O., Arnold, M., Cardona, A.: Two Lie group formulations for dynamic multibody systems with large rotations. In: Proceedings of IDETC/MSNDC 2011, ASME 2011 International Design Engineering Technical Conferences, Washington, USA (2011)
Brüls, O., Cardona, A., Arnold, M.: Lie group generalized-\(\alpha \) time integration of constrained flexible multibody systems. Mech. Mach. Theory 48(1), 121–137 (2012)
Chevallier, D.P., Lerbet, J.: Multi-Body Kinematics and Dynamics with Lie Groups, 1st edn. (2018). ISTE Press–Elsevier
Chung, J., Hulbert, G.M.: A time integration algorithm for structural dynamics with improved numerical dissipation: the generalized-\(\alpha \) method. J. Appl. Mech. 60(2), 371 (1993)
Crouch, P.E., Grossman, R.: Numerical integration of ordinary differential equations on manifolds. J. Nonlinear Sci. 3(1), 1–33 (1993)
Garcia de Jalón, J.: Twenty-five years of natural coordinates. Multibody Syst. Dyn. 18(1), 15–33 (2007)
Garcia de Jalón, J., Bayo, E.: Kinematic and Dynamic Simulation of Multi-Body Systems. The Real-Time Challenge. Springer, New York (1994)
Garcia de Jalón, J., Serna, M.A., Viadero, F., Flaquer, J.: A simple numerical method for the kinematic analysis of spatial mechanisms. J. Mech. Des. 104(1), 78 (1982)
Geradin, M., Cardona, A.: Flexible Multibody Dynamics: A Finite Element Approach. Wiley, New York (2001)
Gerstmayr, J., Sugiyama, H., Mikkola, A.: Review on the absolute nodal coordinate formulation for large deformation analysis of multibody systems. J. Comput. Nonlinear Dyn. 8(3), 031,016 (2013)
Greenwood, D.T.: Advanced Dynamics. Cambridge University Press, Cambridge (2003)
Holzinger, S., Gerstmayr, J., Schöberl, J.: A rigid body formulation with non-redundant unified local velocity coordinates. In: The 5th Joint International Conference on Multibody System Dynamics (2018)
Iserles, A., Munthe-Kaas, H.Z., Nørsett, S.P., Zanna, A.: Lie-group methods. Acta Numer. 9, 215–365 (2000)
Léger, M., McPhee, J.: Selection of modeling coordinates for forward dynamic multibody simulations. Multibody Syst. Dyn. 18(1), 277–297 (2007)
Monk, P.: Finite Element Methods for Maxwell’s Equations. Oxford University Press, London (2003)
Müller, A.: Approximation of finite rigid body motions from velocity fields. Z. Angew. Math. Mech. 90(6), 514–521 (2010)
Munthe-Kaas, H.: Lie–Butcher theory for Runge–Kutta methods. BIT Numer. Math. 35(4), 572–587 (1995)
Munthe-Kaas, H.: Runge–Kutta methods on Lie groups. BIT Numer. Math. 38, 92–111 (1998)
Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)
Nédélec, J.C.: Mixed finite elements in R3. Numer. Math. 35(3), 315–341 (1980)
Nikravesh, P.E.: Computer-Aided Analysis of Mechanical Systems. Prentice Hall, New York (1988)
Pechstein, A., Schöberl, J.: Tangential-displacement and normal–normal-stress continuous mixed finite elements for elasticity. Math. Models Methods Appl. Sci. 21(08), 1761–1782 (2011)
Pechstein, A., Reischl, D., Gerstmayr, J.: A generalized component mode synthesis approach for flexible multibody systems with a constant mass matrix. J. Comput. Nonlinear Dyn. 8(1), 011,019 (2012)
Schiehlen, W., Eberhard, P.: Technische Dynamik, 4th edn. Springer, Berlin (2014)
Selig, J.: Geometric Fundamentals of Robotics, 2th edn. Springer, New York (2005)
Shabana, A.A.: Computational Dynamics, 3th edn. Wiley, New York (2010)
Shabana, A.A.: Dynamics of Multibody Systems, 4th edn. Cambridge University Press, Cambridge (2013)
Sonneville, V.: A geometric local frame approach for flexible multibody systems. Ph.D dissertation, Aerospace and Mechanical Engineering Department, Université de Liegè, Liège (2015)
Sonneville, V., Brüls, O.: A formulation on the special Euclidean group for dynamic analysis of multibody systems. J. Comput. Nonlinear Dyn. 9(4), 041002 (2014)
Terze, Z., Müller, A., Zlatar, D.: Singularity-free time integration of rotational quaternions using non-redundant ordinary differential equations. Multibody Syst. Dyn. 38(3), 201–225 (2016)
Yang, Y., Betsch, P.: On the choice of coordinates for computational multibody dynamics. Proc. Appl. Math. Mech. 11(1), 75–76 (2011)
Acknowledgements
Open access funding provided by University of Innsbruck and Medical University of Innsbruck. This work has been supported by the COMET-K2 Center for Symbiotic Mechatronics of the Linz Center of Mechatronics (LCM) funded by the Austrian federal government and the federal state of Upper Austria.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
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
Holzinger, S., Schöberl, J. & Gerstmayr, J. The equations of motion for a rigid body using non-redundant unified local velocity coordinates. Multibody Syst Dyn 48, 283–309 (2020). https://doi.org/10.1007/s11044-019-09700-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-019-09700-5