European Congress on Computational Methods in Applied Sciences and Engineering ECCOMAS 2004 P. Neittaanm¨ aki, T. Rossi, S. Korotov, E. O˜ nate, J. P´ eriaux, and D. Kn¨ orzer (eds.) Jyv¨ askyl¨ a, 24–28 July 2004
A COMPREHENSIVE VIEW OF ROTATION PARAMETRIZATION Lorenzo Trainelli and Alessandro Croce Department of Aerospace Engineering, Politecnico di Milano Via La Masa, 34 – I-20156 Milano, Italy e-mail:
[email protected],
[email protected], web page: http://www.aero.polimi.it/∼trainell
Key words: Finite rotations, rotation parameters, orthogonal group, euclidean group, rigid motion, screw motion. Abstract. This work addresses the parametrization of rotation and its subsequent generalization to the case of general rigid motion, involving coupled translation and rotation. A classification into two general classes is adopted: ‘vectorial’ and ‘non-vectorial’ parametrizations. Virtually all known minimal parametrizations of rotation ( i.e. those based on a 3-scalar parameter set) which can be directly derived from Euler’s fundamental theorem fall within the first class. The vectorial parametrizations feature a common structure which allows to sistematically devise new techniques. Given the formal analogy between pure rotational motion and general rigid motion, both vectorial and non-vectorial techniques generalize to yield non-conventional parametrizations which intrinsically preserve the intimate coupling of translation and rotation in a rigid displacement. This in turn impacts considerably on numerical procedures, and in particular reveals crucial in the development of discretization algorithms endowed with special geometric integration properties.
1
Lorenzo Trainelli and Alessandro Croce
1
INTRODUCTION
This work is concerned with the parameterization of the motion of systems characterized by an independent rotation field along with the customary (linear) displacement field. The basic ingredient is therefore the representation of rigid motion, a classical topic in mechanics, which considerably impacts on a number of application fields such as structural dynamics, robotics, aircraft and spacecraft attitude dynamics and navigation, graphics, and so on. A number of approaches have been developed to deal with rotational motion in the past. A possible classification distinguishes these approchaches between two broad classes: those which feature a set of parameters that enjoys a vectorial character (in relation to the Euclidean geometry of 3-D space), and those for which a vectorial interpretation is not possible. Starting with rotation, among the first class we find the exponential map of rotation, the Gibbs-Rodrigues parameters, the Wiener-Milenkovic parameters (conformal rotation vector), and other techniques. Among the second class we basically find Eulerian angles and Euler-Rodrigues parameters (unit quaternions). Recently, a generalization has been carried out to encompass all the vectorial parameterizations into a single formulation, Ref. [1]. This, as well as the non-vectorial parameterizations, can be extended to the case of coupled translational-rotational motion, i.e. general rigid motion, in a straightforward way. In fact, the fundamental analogy of rotational motion and arbitrary rigid motion has been recognized by several researchers at different times in history up to recent years (see e.g. Refs. [2, 3, 4, 5, 6]). This justifies a non-conventional approach to the parameterization of rigid motion as an alternative to the classical one where the translational and rotational components are parameterized independently from each other (typically, adopting cartesian coordinates for translation along with any suitable parameterization of rotation). In the addressed non-conventional approach (Refs. [6, 7]), the parameterization is applied to the configuration quantities as a whole, resulting in the possibility of preserving the intrinsic coupling between translation and rotation. This in turns may be used to obtain geometric integration characteristics at the discretization level, i.e. in the preservation of fundamental qualitative properties of the exact solution, such as frame-indifference and preservation of invariants (see e.g. Refs. [8, 9, 10, 11, 12, 13, 14, 15]). Aiming to contribute to a deeper and wider perception of the subject, we offer a comprehensive, albeit synthetic, presentation of both the non-vectorial and vectorial parameterizations of rotation and rigid motion based on very recent results as well as on classical concepts that have not yet penetrated the scientific community at large. 2
REPRESENTATION OF MOTION
Concerning notation, we denote the Euclidean 3-D point space by E 3 , and its associated vector space (the underlying translation space) by E3 . Given a vector u ∈ E3 , the skewsymmetric tensor (u×) is the operator that performs the cross product, i.e. (u×) v = 2
Lorenzo Trainelli and Alessandro Croce
u × v, ∀v ∈ E3 . The inverse isomorphism is denoted by axial, so that u = axial(u×). The real field is denoted by R and set of natural numbers by N. 2.1
Rotation
Let us start by looking at pure rotational motion. This is a particular case of rigid motion when a material point maintains a fixed placement at all times. In fact, Euler’s fundamental theorem on rotations states: “any rigid motion leaving a point fixed may be represented by a planar rotation about a suitable axis passing through that point”. Denoting by o ∈ E 3 the fixed placement (i.e. the center of the motion), any point x ∈ E 3 is displaced into point x0 by a map R as x0 = R(x) = o + R (x − o),
(1)
where the quantity R is a linear transformation of E3 termed the rotation tensor. In particular, tensor R belongs to the special orthogonal group SO(E3 ), also known as the rotation group. This essentially means that R−1 = RT (orthogonality) and det (R) = 1 (‘specialty’, i.e. positive unit determinant). The eigenvalues of R are given by λ1,2 (R) = exp(±i ϕ) and λ3 (R) = 1. The eigenvectors corresponding to the the complex conjugate pair span the plane normal to the axis of rotation, while those corresponding to the positive unit value are parallel to the axis of rotation. Therefore, the axis of rotation is the locus of all points which are left unchanged by the displacement: denoting the unit vector of the axis as e, we have R e = e. By Euler’s theorem, any rotation R is fully defined by the pair (ϕ, e), where ϕ ∈ [0, 2 π] is the angle of rotation about the axis with respect to the initial configuration. Since 2 scalar parameters are needed to represent a unit vector in E3 , Euler’s theorem implies that a generic rotation tensor can be described with no less than 3 scalar parameters (1 for the rotation angle and 2 for the axis), i.e. the dimension of the manifold of the rotation group SO(E3 ). Any description of rotation employing a set made by 3 scalar parameters is termed minimal, while it is referred as m-redundant when the set employs (3 + m) parameters. In the latter case, m scalar constraints must be enforced to ensure that the parameter set indeed corresponds to an element of SO(E3 ). The well known Euler-Rodrigues’ formula provides an explicit expression of the rotation tensor R in terms of (ϕ, e): R = R(ϕ, e) := I + (sin ϕ) e × +(1 − cos ϕ) e×2 .
(2)
By the above equation it is trivial to see the rotation corresponding to (−ϕ, e) is equivalent to that corresponding to (ϕ, −e) and is represented by tensor R−1 = RT . If we consider R as a funcion of time t, from the orthogonality property descends that the time derivative of tensor R can be expressed by means of two vectors defined as ˙ In other words, we have ω := axial(R˙ R−1 ) and ω := axial(R−1 R). R˙ = ω × R = R ω × . 3
(3)
Lorenzo Trainelli and Alessandro Croce
In applied mechanics, vectors ω and ω are often dubbed as the spatial angular velocity and its material version. Note that ω = R ω. The velocity of x0 is then given by x˙ 0 = ω × (x0 − o).
(4)
With the help of eq. 2, explicit expressions for ω and ω in terms of (ϕ, e) and their time derivatives are obtained as ¡ ¢ ˙ (5) ω = ϕ˙ e + sin ϕ I + (1 − cos ϕ) e × e, ¡ ¢ ˙ ω = ϕ˙ e + sin ϕ I − (1 − cos ϕ) e × e. (6)
Euler’s theorem intrinsically provides a 1-redundant parametrization of rotation through the pair (ϕ, e), which amounts to four scalar parameters related by the constraint kek = 1. 2.2
Rigid motion
Let us turn now to arbitrary rigid motion, including coupled rotation and translation. Mozzi-Chasles’ fundamental theorem on rigid motion states: “any rigid motion may be represented by a planar rotation about a suitable axis, followed by a uniform translation along that same axis”. Denoting as a ∈ E 3 an arbitrary placement along the axis, termed the screw axis and identified by its unit vector e, any point x ∈ E 3 is displaced into point x0 by a map D as x0 = D(x) = a + R (x − a) + τ e, (7) where R = R(ϕ, e) is the rotation tensor and τ is the magnitude of the translation along the screw axis. Map D belongs to the group of proper conguences SE(E3 ), also known as the euclidean group. Eq. 7 corresponds to the screw representation of this map. By Mozzi-Chasles’ theorem, any rigid displacement D is fully defined by the set (ϕ, e, τ, a). Note that the inverse transformation D−1 is defined by (−ϕ, e, −τ, a) or (ϕ, −e, −τ, a). Also, since 2 scalar parameters are needed to represent the position of a point along a given line, Mozzi-Chasles’ theorem entails that a generic rigid displacement can be described with no less than 6 scalar parameters (3 for the rotation, 2 for the position of a, and 1 for the scalar translation), i.e. the dimension of the manifold of the euclidean group SE(E3 ). As for rotation, any description of motion employing 6 parameters is termed minimal, while it is referred as redundant when employing more than 6 parameters. An alternative way to represent map D is the base pole representation. This consists in assuming an arbitrary placement o, fixed at all times, as the center of rotation. In this case, we have x0 = D(x) = o + R (x − o) + t, (8) where t is the translation vector. Clearly, t = τ e + (I − R) (a − o). In the base pole representation, D is fully defined by the pair (R, t), still amounting to 6 scalar parameters. 4
Lorenzo Trainelli and Alessandro Croce
From eq. 8, a meaningful expression for the velocity of x0 is obtained as x˙ 0 = ω × (x0 − o) + v,
(9)
where v := t˙ + t × ω is the base pole velocity. Note that this quantity, corresponding to the velocity of the material point that passes through position o, is independent of x. Considering the pair w := (v, ω), termed the spatial generalized velocity, as the quantity that characterizes the istantaneous motion leads to a natural representation of map ˙ and D. In fact, defining the material version of v as v := R−1 (v + ω × t) = R−1 t, consequently the material version of w as v := (v, ω), we have w = D w,
(10)
where D is termed the displacement tensor. Its action can be represented in several ways: for example, adopting a 4-D or 6-D matrix representations, or resorting to dual vectors. In the following, we assume the latter approach, representing the spatial and material generalized velocities as w := ω + ² v,
w := ω + ² v
(11)
The displacement tensor is then represented by the dual tensor
Remarkably, we get
D = R + ² t × R = (I + ² t×) R.
(12)
˙ = w × D = D w×, D
(13)
in full analogy with eq. 3. A comprehensive treatment of rigid displacement and its representation in base pole form can be found in Refs. [6, 7], although equivalently cast in terms of 4-D and 6-D real tensors instead of 3-D dual tensors. We are now in position to extend eq. 2 to the case of general rigid motion. As a first step we define the base pole moment m of the screw axis as m := (a − o) × e.
(14)
This unique vector allows to characterize the screw axis in terms of both position and direction, so that (m, e) conveys the same information as (a, e), where a can be arbitrarily chosen along the screw axis. The set formed by the scalar components of (m, e) with respect to a chosen base are known as the Pl¨ ucker coordinates of the screw axis. These 6 parameters are related by 2 scalar constraints, i.e. kek = 1 and (m · e) = 0. Note that t = τ e + (sin ϕ I + (1 − cos ϕ) (e×)) m and t · e = τ . Second, we arrange (τ, ϕ) and (m, e) into two dual quantities: the screw magnitude Φ and the screw axis vector h, defined as Φ := ϕ + ² τ,
h := e + ² m. 5
(15)
Lorenzo Trainelli and Alessandro Croce
Note that Φ is independent of the base pole and that khk = 1. By the above definitions, it can be easily shown that D = R(Φ, h) := I + (sin Φ) h × +(1 − cos Φ) h×2 .
(16)
We term the above result the generalized Euler-Rodrigues formula. With the help of eq. 16, explicit expressions for w and w in terms of (Φ, h) and their time derivatives are obtained as ¡ ¢ ˙ w = Φ˙ h + sin Φ I + (1 − cos Φ) h × h, (17) ¡ ¢ ˙ w = Φ˙ h + sin Φ I − (1 − cos Φ) h × h. (18)
From the formulæ above, it clearly appears the formal analogy between rotation and rigid motion, a feature that can be rigorously justified resorting to differential geometry. Furthermore, as seen with the case of Euler’s theorem for rotation, Mozzi-Chasles’ theorem intrinsically provides a 2-redundant parametrization of rigid motion through the pair (Φ, h), which amounts to eight scalar parameters related by the constraint khk = 1. 3
VECTORIAL PARAMETRIZATIONS
The non-minimal parameterization of rotation provided by Euler’s theorem can be seen as the source of an entire class of minimal techniques, labeled as ‘vectorial’ parametrizations. These are immediately extended to rigid motion based on Mozzi-Chasles’ theorem and the generalized Euler-Rodrigues formula. 3.1
Exponential parametrization
By way of introduction, we look to the first natural development, i.e. that based on the exponential map: R = exp(ϕ×), (19) where ϕ := ϕ e is simply termed the rotation vector and the exponential map is given by the standard formula ∞ X Ak . (20) exp(A) := k! k=0 Note that, while Euler-Rodrigues formula fails whenever ϕ = 0, since e is then undetermined, eq. 19 suffers no limitations, yielding R = I when ϕ = 0. In the exponential parametrization the spatial and material angular velocities have the remarkable expressions ˙ ˙ ω = dexp(ϕ×) ϕ, ω = dexp(−ϕ×) ϕ, (21) where dexp(A) :=
∞ X k=0
6
Ak (k + 1)!
(22)
Lorenzo Trainelli and Alessandro Croce
is the associated differential map to the exponential map. We remark that the important properties exp(A) = dexp(A) dexp(−A)−1 = dexp(−A)−1 dexp(A), exp(A) = I + A dexp(A) = I + dexp(A) A
(23) (24)
hold for the exponential map and its associated differential map. The exponential parameterization of rotation is a well established technique (see e.g. Refs. [16, 17]). The case of general rigid motion is readily accomodated. In fact, we get D = exp(ν×),
(25)
where ν := Φ h is termed the displacement vector, and ˙ w = dexp(ν×) ν,
˙ w = dexp(−ν×) ν.
(26)
The exponential parameterization of motion is detailed in Ref. [5, 6]. 3.2
Generic vectorial parametrization
The vectorial parameterization of rotation and rigid motion is a general class of techniques based on a minimal set of parameters of vectorial nature. This means that these parameters correspond to the scalar components of frame-indifferent vectors, and therefore follow the standard rules of transformation when subjected to a change of framing. In the case of pure rotational motion, the parameters consist of the rotation parameter vector p := p e, where e is the unit vector of the rotation axis while the scalar map p : [0, 2π) → R is termed the generating function of the parameterization. The generating function must be an odd function of the rotation angle with the limit behavior p(ϕ) = κ, ϕ→0 ϕ lim
(27)
where κ is a constant termed the normalization factor of the parameterization. The vectorial parameterization map of rotation rot(p×) is readily obtained by using eq. 2 as ¡ ¢ R = rot(p×) = I + 2 γ I + (νp) × (νp)×, (28) γ, ν, depending evenly on ϕ, are defined as γ(ϕ) := cos (ϕ/2),
ν(ϕ) :=
sin (ϕ/2) . p(ϕ)
(29)
Note that eq. 28 deliberately highlights the role of vector (νp), in view of the description of the composition of subsequent rotations, a very important issue in applications. In fact, the rotation parameter vector pC of the composed rotation tensor RC = RB RA is found 7
Lorenzo Trainelli and Alessandro Croce
in terms of the rotation parameter vectors pA , pB , of the component rotations through the following formulæ: γC = γA γB − (νB pB ) · (νA pA ), νC pC = γA (νB pB ) + γB (νA pA ) + (νB pB ) × (νA pA ).
(30)
As with the exponential map, it is possible to introduce an associated differential map drot(p×) relating the derivative of the rotation parameter vector with the angular velocities: ˙ ˙ ω = drot(p×) p, ω = drot(−p×) p. (31) This map is defined by H := drot(p×) = µ I + 2 ν
µ
¶ ´ 1 ³ µ − γ (νp)× (νp) × . I+ (νp)2 2 ν
(32)
where the coefficient µ, again depending evenly on ϕ, is defined as µ(ϕ) :=
1 p0 (ϕ)
,
(33)
with p0 := dp/dϕ. Note that det(H) = 2 µ ν 2 , so that H is singular at the values of ϕ that annihilate µ or ν, while for ϕ = 0 we get H = (1/κ) I. In full analogy with the exponential parametrization, the associated differential map satisfies the important properties rot(p×) = drot(p×) drot(−p×)−1 = drot(−p×)−1 drot(p×), rot(p×) = I + p × drot(p×) = I + drot(p×) p×,
(34) (35)
∀p ∈ E3 . The preceding results are extended to the case of complete rigid motion as follows. The parameters now consist of the screw parameter vector q := P h, where h is the screw axis vector while the screw parameter magnitude P is defined as P (Φ) := p(ϕ) + ² σ(τ, ϕ),
(36)
being p is the generating function of the underlying vectorial parameterization of rotation and σ the parameter translation defined as σ := τ /µ. Note that σ(τ, 0) = κ τ . The vectorial parameterization map of motion is given by exactly the same map discussed for the case of rotation. In fact, from eq. 16, we get D = rot(q×) = I + 2 (Γ + (N q)×) (N q)×,
(37)
where the dual scalar coefficients Γ, N are defined as Γ(Φ) := cos (Φ/2),
N(Φ) := 2 8
sin (Φ/2) . P (Φ)
(38)
Lorenzo Trainelli and Alessandro Croce
The composition of rigid displacements is easily accomodated by ΓC = ΓA ΓB −
1 (NB qB ) · (NA qA ), 4
NC qC = ΓA (NB qB ) + ΓB (NA qA ) +
(39) 1 Â (NA qA ), (NB qB )% 2
(40)
which, if DC = DB DA , allow to retrieve the screw parameter vector qC corresponding to DC in terms of qA , qB corresponding to DA , DB , respectively. Also, ˙ ˙ w = drot(q×) q, w = drot(−q×) q, (41) with Θ := drot(q×) = M I + 2 N
µ
1 I+ (N P )2
µ
¶ ¶ M − Γ (N q)× (N q) × . 2N
(42)
where the coefficient M is defined as M(Φ) := µ(ϕ) (1 + ² σ µ0 (ϕ)),
(43)
where µ0 := dµ/dϕ. Note that det(Θ) = det(H)2 , so that Θ is singular at the values of ϕ that annihilate µ or 2 ν, while for ϕ = 0 we get Θ = (1/κ) I. 3.3
Sine and tangent families
As seen before, the vectorial parametrizations of rotation and motion are specified through the single generating function p(ϕ). Among all possible choices, we address two important subclasses: the sine family and the tangent family. The sine family features generating functions of the form p(ϕ) = m κ sin (ϕ/m),
(44)
where m ∈ N. The corresponding expressions for µ in terms of ϕ and p are given by µ(ϕ) =
1 1 m =p . κ cos (ϕ/m) m2 κ2 − p2
(45)
Specific parametrizations known in the literature that fall into this subclass include • the linear parametrization, where m = 1; • the reduced Euler-Rodrigues parametrization , where m = 2. The m = 4 member was first derived in Ref. [1]. This particular choice implies some advantages since, combined with suitable rescaling procedures, it allows to describe rotations for arbitrary values of ϕ. 9
Lorenzo Trainelli and Alessandro Croce
The tangent family features generating functions of the form p(ϕ) = m κ tan (ϕ/m),
(46)
where m ∈ N. The corresponding expressions for µ in terms of ϕ and p are given by µ(ϕ) =
1 m2 κ cos2 (ϕ/m) = 2 2 . κ m κ + p2
(47)
Specific parametrizations known in the literature that fall into this subclass include • the Cayley/Gibbs/Rodrigues parametrization, where m = 2 (in this case the vectorial parametrization map coincides with the Cayley transform); • the Wiener/Milenkovic parametrization , where m = 4. The m = 6 and m = 8 members were introduced in Ref. [18]. Note that the above comments regarding known parametrization techniques refer only to the rotation case. In fact, to the authors’ knowledge, the only techniques that fall into the vectorial parametrization of motion documented in the literatre before the publication of Ref. [7] were the exponential parametrization, Refs. [5, 6], and Cayley’s parametrization, Ref. [6]. As apparent, however, any choice for p(ϕ) implies a specific parametrization of rotation and a consequent parametrization of motion. In particular, new parametrizations can be designed at will to match given requirements as shown in Ref. [1] in the case p(ϕ) = p 3 6(ϕ − sin ϕ) which yields a constant value for det (H). 4
NON-VECTORIAL PARAMETRIZATION
All parametrization techniques that do not fall into the class of vectorial parametrizations discussed above are labeled as ‘non-vectorial’ parametrizations. In this case, the parameter set does not behave vectorially when subjected to a change of framing. With respect to rotation, among all possible approaches, the major role by far in computational mechanics and other application fields is played by two techniques: • the quaternion parametrization; • the Eulerian angles. 4.1
Quaternion parametrization
The quaternion parameterization of rotation, also known as Euler-Rodrigues’ parameterization, Ref. [17], is a popular technique featuring a set of parameters (k0 , k), consisting in a scalar k0 and a vector k ∈ E3 defined as k0 = cos (ϕ/2),
k = sin (ϕ/2) e 10
(48)
Lorenzo Trainelli and Alessandro Croce
which can be arranged as scalar components of a quaternion k, i.e. a four component array defined as ¸ · k0 (49) k := k that, besides standard linear algebra operations in R × E3 , supports the well-known composition rule · ¸ kA 0 kB 0 − kA · kB kB ◦ kA = . (50) kA 0 kB + kB 0 kA − kA × kB We recall that the conjugate quaternion k ∗ corresponds to the set (k0 , −k) and the quaternion norm is given by |k| := kk ◦ k ∗ k = (k02 + k 2 ). The parameter set (k0 , k) is 1-redundant since from eqs. 48 we get (k02 + k 2 ) = 1 where k := kkk. This implies that k has unit norm. Tensor R can be expressed in terms of (ko , k) as R = I + 2 (k0 I + k×) k×,
(51)
as can be easily derived from eq. 28. However, we proceed to derive the parametrization map for R consistently with the quaternion setup. In order to do this, we introduce the left multiplication operator Ml and the right multiplication operator Mr as · · ¸ ¸ k0 −kT k0 −kT Ml (k) = , Mr (k) = . (52) k k0 I + (k×) k k0 I − (k×) These linear operators allow to express quaternion composition, eq. 50, as a standard matrix-vector multiplication as k B ◦ k A = Ml (k B ) k A = Mr (k A ) k B .
(53)
These operators clearly commute and, when their argument is a unit quaternion, they are orthogonal: Ml (k) Ml (k)T = Mr (k) Mr (k)T = I, ∀k : |k| = 1. We define the quaternion parameterization map Q as Q(k) := Ml (k) Mr (k)T = Mr (k)T Ml (k).
(54)
This implies that Q(k) =
·
1 0T 0 R
¸
∗
and Q(k ) =
·
1 0T 0 R−1
¸
.
(55)
The action of a rotation tensor R on a vector r to produce r 0 = R r can be expressed in a remarkably simple form as a quaternion composition: r0 = Q(k) r = k ◦ r ◦ k ∗ , 11
(56)
Lorenzo Trainelli and Alessandro Croce
where r, r0 are quaternions corresponding to (0, r) and (0, r 0 ), respectively. Also, particularly elegant formulæ hold for rotation composition: if RC = RB RA , the quaternion k C is found in terms of k A , k B simply by quaternion composition, kC = kB ◦ kA.
(57)
Two differential maps Hl and Hr can be associated to the quaternion parameterization map Q to relate the derivative of the quaternion with the angular velocities. In fact, by introducing the quaternions ¸ · · ¸ ω0 ω0 , ω= ω= , (58) ω ω ˙ we have whose scalar part is defined as ω0 := 2 (k0 k˙ 0 + k · k), ˙ ω = Hr (k) k,
˙ ω = Hl (k) k,
(59)
Hl (k) = 2 Ml (k)T = 2 Ml (k ∗ ).
(60)
where Hr (k) = 2 Mr (k)T = 2 Mr (k ∗ ),
Note that being ω0 = d(k02 + k 2 )/dt, it is identically null, while ˙ ω = 2 (k0 k˙ − k˙ 0 k − k × k).
˙ ω = 2 (k0 k˙ − k˙ 0 k + k × k),
(61)
Also, the associated differential maps satisfy the following properties: Q(k) = Hr (k) Hl (k)−1 = Hr (k)−1 Hl (k) = Hl (k ∗ ) Hr (k ∗ )−1 = Hl (k ∗ )−1 Hr (k ∗ ), Q(k) = I + k × Hr (k) = I + Hr (k) k×, Q(k ∗ ) = I − k × Hl (k) = I − Hl (k) k×,
(62) (63) (64)
where k× represents the extension of the standard 3-D cross product to the space R4 as · ¸ 0 0T k× := . (65) 0 k× From the discussion presented, a close analogy between the vectorial parametrization class and the quaternion parametrization should be apparent, taking also into account the identities k0 = γ and k = ν p. In fact, the quaternion parametrization can be seen as the 1-redundant version of the reduced Euler-Rodrigues parametrization, i.e. the sine family technique for m = 2. The absence of transcendental functions and singularities in the formulæ related to the quaternion parametrization has been an important reason for adopting this technique in 12
Lorenzo Trainelli and Alessandro Croce
the past, especially in the context of aircraft and spacecraft attitude determination and control, in spite of the redundancy implied by the unit norm constraint. The extension of Euler-Rodrigues parameters to rigid motion was carried out in Ref. [2]. Although very elegant, it does not seem to have been widely used to date. In the following, we briefly draw out the main results for this case in the framework adopted for rotation and resorting again to the dual format. For the quaternion parameterization of rigid motion we consider a set of dual parameters (g0 , g) defined as g0 = cos (Φ/2) = k0 + ² f0 ,
g = sin (Φ/2) h = k + ² f ,
(66)
where
τ τ sin(ϕ/2), f = sin(φ/2) m + cos(φ/2) e. (67) 2 2 Parameters (g0 , g) can be arranged as scalar components of a dual quaternion g = k + ² f where f is the real quaternion corresponding to (f0 , f ). The parameter set (g0 , g) is 2-redundant since they are related by the normality condition for k and the condition f0 k0 + f · k = 0 which descends from (m · e) = 0. This entails a global normality condition (g02 + g 2 ) = 1, which implies that g has unit norm. Form here on, all results derived in the case of rotation are routinely extended to rigid motion. Therefore, tensor D reads f0 = −
D = I + 2 (g0 I + g×) g×,
(68)
in terms of (g0 , g), and can be consistently derived through the quaternion parametrization map yielding · · ¸ ¸ 1 0T 1 0T ∗ Q(g) = and Q(g ) = . (69) 0 D 0 D −1 The action of a displacement tensor D on a dual vector b to produce b0 = D b is still expressed as a quaternion composition: b0 = Q(g) b = g ◦ b ◦ g ∗ ,
(70)
where b, b0 are dual quaternions corresponding to (0, b) and (0, b0 ), respectively. Composition of rigid displacements DC = DB DA translates into dual quaternion composition as gC = gB ◦ gA. (71) The derivative of the dual quaternion relates to the generalized velocities as w = Hr (g) g, ˙
w = Hl (g) g, ˙
(72)
˙ where w and w correspond to (w0 , w) and (w0 , w), respectively, being w0 := 2 (g0 g˙ 0 +g· g), 2 2 we have Note that being w0 = d(g0 + g )/dt, it is identically null, while ˙ w = 2 (g0 g˙ − g˙ 0 g + g × g),
˙ w = 2 (g0 g˙ − g˙ 0 g − g × g). 13
(73)
Lorenzo Trainelli and Alessandro Croce
4.2
Eulerian angle parametrizations
The parameterization of rotation through Euler angles is probably the most commonly employed in both education and engineering applications. As it is well known, Euler angles refer to a particular sequence of 3 partial rotations about specific axes of an orthogonal triad. This sequence can be chosen in a finite set including 12 possible choices, Ref. [17]. We refer to this class as Eulerian angle parametrizations, including those known as Cardan angles, Bryant angles, Tait angles, etc. Eulerian angles form a minimal set of parameters that cannot be interpreted as components of a frame-indifferent vector. In the following, we concentrate on classical Euler angles (φ, θ, ψ), where the sequence is given by a first rotation by the precession angle ψ about the local z-axis, followed by a rotation by the nutation angle θ about the local x-axis, and concluded with a final rotation by the proper rotation angle φ again about the local z-axis: R = R(φ, j3 ) R(θ, jn ) R(ψ, i3 ),
(74)
where {i}k=1,2,3 represent the unit vectors of the original triad, {j}k=1,2,3 represent the unit vectors of the rotated triad (i.e. jk = R ik ), and jn := R(ψ, i3 ) i1 is the unit vector of the line termed the nodal line. Using the properties of the cross product in eq. 2, it is possible to prove that formula 74 can be equivalently written as R = R(ψ, i3 ) R(θ, i1 ) R(φ, i3 ),
(75)
where partial rotations about absolute axes are featured, in a reversed sequence. In terms of the Euler angles derivatives, the spatial and material angular velocities are given by ω = φ˙ i3 + θ˙ en + ψ˙ i3 , (76) ω = φ˙ j3 + θ˙ jn + ψ˙ i3 , where en := R(−φ, i3 ) i1 and i3 := R(−θ, en ) i3 . These can be rewritten as ˙ ˙ φ φ ˙ ω = E(φ, θ, ψ) ω = E(φ, θ, ψ) θ˙ , θ , ψ˙ ψ˙ introducing the associated differential maps E and E = RT E defined as £ £ ¤ ¤ E(φ, θ, ψ) = j3 , jn , i3 , E(φ, θ, ψ) = i3 , en , i3 .
(77)
(78)
By extending this technique to complete rigid motion, as done in Ref. [2], we obtain a minimal set of 6 scalar parameters that, again, cannot be interpreted as components of an objective dual vector. The structure of the formulæ is completely preserved, so that now a general rigid motion is decomposed into a squence of 3 screw motions (i.e. rotations about and translations along the same axes). 14
Lorenzo Trainelli and Alessandro Croce
In particular, the Euler sequence reads ˆ j3 ) R(θ, ˆ jn ) R(ψ, ˆ i3 ), D = R(φ,
(79)
where the dual angles are defined as φˆ = φ + ² a, θˆ = θ + ² b, ψˆ = ψ + ² c, being a, b and c the scalar translations along the axes i3 , jn and j3 , respectively. Again, we can revert to absolute axes by ˆ i3 ) R(θ, ˆ i1 ) R(φ, ˆ i3 ). D = R(ψ, (80) The spatial and material generalized velocities are given by ˙ ˆ φ ˙ w = E(φ, θ, ψ) θˆ w = E(φ, θ, ψ) , ˙ ψˆ 5
˙ ˆ φ ˙ θˆ . ˙ ˆ ψ
(81)
CONCLUDING REMARKS
In this work we tried to offer a coherent, unified setting for the analysis of virtually all parameterizations of rotation employed in computational mechanics and various other engineering application fields. Among these parameterizations, we discussed the vectorial parametrization of rotation, a novel approach that encompasses many known and lessknown techniques documented in the litarature. Within the vectorial parametrization framework it is possible to devise new parameterizations at will, given that all formulæ depend only on the choiche of a scalar-valued function. Also, we provided the generalization of the parametrizations of rotation to the case of arbitrary rigid motion, involving coupled translation and rotation, based on the formal analogy between the two cases. This analogy is best captured resorting to the base pole representation of motion, and can be exploited in a number of ways, including the adoption of the dual number format, as done presently. We briefly review this generalization for non-vectorial parametrizations (unit quaternions and Eulerian angles), already presented in Ref. [2], and derive it for the vectorial parametrization class as a fresh contribution. Both the parametrization of motion as a process that intrinsically preserves the coupling of rotation and translation, and the correspondence between parametrizations of rotation and of rigid motions somehow have not penetrated, to date, the scientific community at large. At least, in general they have not formed the base for practical methodologies geared towards engineering applications. Therefore, this work aims to contribute to an enhanced awareness of the practical applications of theoretical developments concerning the extension to rigid motion of well known results derived for rotation.
15
Lorenzo Trainelli and Alessandro Croce
REFERENCES [1] O.A. Bauchau and L. Trainelli. The vectorial parametrization of rotation. Nonlinear Dynamics, 32, 71–92, 2003. [2] O. Bottema and B. Roth. Theoretical kinematics. Dover Pub., Inc., 1979. [3] R.S. Ball. The theory of screws. A geometrical study of the kinematics, equilibrium, and small oscillations of a rigid body. Trans. Royal Irish Acad., 25, 157–215, 1995. [4] J. Angeles. The application of dual algebra to kinematic analysis. in Computational Methods in Mechanical Systems, Springer, 1998. [5] R.M. Murray, Z. Li and S.S. Sastry. A Mathematical Introduction to Robotic Manipulation CRC Press, 1994. [6] M. Borri, L. Trainelli and C.L. Bottasso. On the representation and parameterization of motion. Multibody System Dynamics, 4, 129–193, 2000. [7] L. Trainelli. The vectorial parameterization of rotation and motion. Politecnico di Milano, Dept. of Aerospace Engineering, Scientific Report DIA-SR 02-18, 2002. [8] M. Borri, C.L. Bottasso and L. Trainelli. Integration of Elastic Multibody Systems by Invariant Conserving/Dissipating Algorithms – Part I : Formulation. Comp. Meth. Appl. Mech. Engnrg., 190, 3669–3699, 2001. [9] C.L. Bottasso, M. Borri and L. Trainelli. Integration of Elastic Multibody Systems by Invariant Conserving/Dissipating Algorithms – Part II : Numerical Schemes and Applications. Comp. Meth. Appl. Mech. Engnrg., 190, 3701-3733, 2001. [10] M. Borri, C.L. Bottasso and L. Trainelli. A Novel Momentum-Preserving/EnergyDecaying Algorithm for Finite-Element Multibody Procedures. Comp. Ass. Mech. Engnrg. Sci., 9, 315–340, 2002. [11] C.L. Bottasso, M. Borri and L. Trainelli. Geometric Invariance. Comp. Mech., 29, 163–169, 2002. [12] O.A.Bauchau, C.L. Bottasso and L. Trainelli. Robust Integration Schemes for Flexible Multibody Systems. Comp. Meth. Appl. Mech. Engnrg., 192, 395–420, 2003. [13] M. Borri, C.L. Bottasso and L. Trainelli. An Invariant-Preserving Approach to Robust Finite-Element Multibody Simulation. ZAMM, 83, 663–676, 2003. [14] T. Merlini and M. Morandini. The helicoidal modeling in computational finite elasticity. Part I: Variational formulation. Int. J. Sol. Struct., accepted for publication.
16
Lorenzo Trainelli and Alessandro Croce
[15] T. Merlini and M. Morandini. The helicoidal modeling in computational finite elasticity. Part II: Multiplicative interpolation. Int. J. Sol. Struct., accepted for publication. [16] J. Argyris. An excursion into large rotations. Comp. Meth. Appl. Mech. Engrg. 32, 85–155, 1982. [17] M.D. Shuster. A survey of attitude representations. J. Astr. Sci. 41, 439–517, 1993. [18] P. Tsiotras, J.L. Junkins and H. Schaub. Higher-Order Cayley Transforms with Applications to Attitude Representation. J. Guid. Contr. Dyn., 20, 528–534, 1997. A
DUAL NUMBER ALGEBRA A dual number d is defined as d = a + ²b
(82)
where a, b ∈ R while ² is such that ²2 = 0 while ² 6= 0. The ‘components’ a and b are termed the primal part and the dual part of the dual number, respectively. Given the property of the dual unit ², the product of two dual numbers is given by dA dB = aA aB + ² (aA bB + bA aB ),
(83)
where dA = aA + ² bA and dB = aB + ² bB . Note that the following formulæ hold: cos Φ = cos φ − ² τ sin φ,
sin Φ = sin φ + ² τ cos φ,
(84)
for a dual angle Φ = φ + ² τ . The preceding expressions are easily justified by recurring to the general definition of trigonometric functions in terms of exponential functions. Dual vectors and tensors are defined in the same way, so that, for example, the binary vector operations of scalar and cross product read dA · dB = aA · aB + ² (aA · bB + aB · bA ), dA × dB = aA × aB + ² (aA × bB + aB × bA ),
(85)
where dA = aA + ² bA and dB = aB + ² bB . Much in the same way, a dual tensor D = A + ² B acting on a dual vector d = a + ² b yields D d = A a + ² (A b + B a).
(86)
These simple applications of the theory of dual numbers suffice for the needs of the present work. Further details can be found, e.g. in Refs. [2, 4].
17