23.10.2014 Views

New metrics for rigid body motion interpolation - helix

New metrics for rigid body motion interpolation - helix

New metrics for rigid body motion interpolation - helix

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>New</strong> <strong>metrics</strong> <strong>for</strong> <strong>rigid</strong> <strong>body</strong> <strong>motion</strong> <strong>interpolation</strong><br />

Calin Belta and Vijay Kumar <br />

fcalin j kumarg@grip.cis.upenn.edu<br />

General Robotics, Automation, Sensing and Perception (GRASP) Laboratory<br />

University of Pennsylvania, Philadelphia, PA, USA<br />

Abstract<br />

This paper develops a method <strong>for</strong> generating smooth trajectories <strong>for</strong> a moving <strong>rigid</strong> <strong>body</strong> with<br />

specified conditions at end and intermediate points. It is well known that SE(3), the set of all <strong>rigid</strong><br />

<strong>body</strong> translations and orientations, is a non Euclidean space. In general, the problem of determining<br />

trajectories that are optimal with respect to some meaningful metric does not have an analytical<br />

solution. Thus it is difficult to develop efficient solutions <strong>for</strong> real time applications in computer<br />

graphics and robotics.<br />

Given two points on SE(3), there is a natural trajectory between the two points that is biinvariant<br />

or invariant with respect to the choice of coordinate systems. This trajectory is the wellknown<br />

screw <strong>motion</strong> [1]. In an earlier paper, we showed that the screw <strong>motion</strong> minimizes an indefinite<br />

metric [21]. However, there is no clear interpretation of optimality <strong>for</strong> a trajectory that<br />

minimizes an indefinite metric.<br />

In this paper, we consider SE(n) to be a submanifold (and a subgroup) of GL(n +1; IR).<br />

Our method involves two key steps: (1) the generation of optimal trajectories in GL(n +1; IR);<br />

and (2) the projection of the trajectories from GL(n +1; IR) to SE(n). The overall procedure is<br />

invariant with respect to both the local coordinates on the manifold and the choice of the inertial<br />

frame. The benefits of the method are two-fold. First, it is possible to apply any of the variety<br />

3401 Walnut St., Philadelphia, PA 19104-6228, Tel:(215) 898-5814


of well-known, efficient techniques to generate optimal curves on GL(n; IR) [7, 8]. Second, the<br />

method yields solutions <strong>for</strong> general choices of Riemannian <strong>metrics</strong> on SE(3). For example, we<br />

can incorporate the dynamics of arbitrary <strong>rigid</strong> bodies, or the added-mass effects in the dynamics of<br />

bodies submerged in fluids [13].<br />

We first define a metric in the ambient space, GL(n +1; IR), one that induces an appropriate<br />

metric on SE(n). We define a suitable projection operator and establish its invariance with respect<br />

to changes in coordinates. The fact that the standard metric in GL(n; IR) induces the bi-invariant<br />

metric on SO(n) falls out of our analysis. The projection operator allows us to project the optimal<br />

curves onto SE(n) to yield <strong>motion</strong>s that are near optimal. Finally, we present results that illustrate<br />

the near optimality of the projected curves.<br />

1 Introduction<br />

We address the problem of finding a smooth <strong>motion</strong> that interpolates between two given positions<br />

and orientations. This problem finds applications in robotics and computer graphics. The problem<br />

is well understood in Euclidean spaces [7, 11], but it is not clear how these techniques can be<br />

generalized to curved spaces. There are two main issues that need to be addressed, particularly on<br />

non-Euclidean spaces. It is desirable that the computational scheme be independent of the description<br />

of the space and invariant with respect to the choice of the coordinate systems used to describe<br />

the <strong>motion</strong>. Secondly, the smoothness properties and the optimality of the trajectories need to be<br />

considered.<br />

Shoemake [18] proposed a scheme <strong>for</strong> interpolating rotations with Bezier curves based on the<br />

spherical analog of the de Casteljau algorithm. This idea was extended by Ge and Ravani [10] and<br />

Park and Ravani [17] to spatial <strong>motion</strong>s. The focus in these articles is on the generalization of the<br />

notion of <strong>interpolation</strong> from the Euclidean space to a curved space.<br />

Another class of methods is based on the representation of Bezier curves with Bernstein polynomials.<br />

Ge and Ravani [9] used the dual unit quaternion representation of SE(3) and subsequently<br />

applied Euclidean methods to interpolate in this space. Jütler [12] <strong>for</strong>mulated a more general version<br />

of the polynomial <strong>interpolation</strong> by using dual (instead of dual unit) quaternions to represent<br />

SE(3). In such a representation, an element of SE(3) corresponds to a whole equivalence class<br />

of dual quaternions. Park and Kang [16] derived a rational interpolating scheme <strong>for</strong> the group of<br />

2


otations SO(3) by representing the group with Cayley parameters and using Euclidean methods in<br />

this parameter space. The advantage of these methods is that they produce rational curves.<br />

It is worth noting that all these works (with the exception of [17]) use a particular coordinate<br />

representation of the group. In contrast, Noakes et al. [15] derived the necessary conditions <strong>for</strong> cubic<br />

splines on general manifolds without using a coordinate chart. These results are extended in [5]<br />

to the dynamic <strong>interpolation</strong> problem. Necessary conditions <strong>for</strong> higher-order splines are derived in<br />

Camarinha et al. [3]. A coordinate free <strong>for</strong>mulation of the variational approach was used to generate<br />

shortest paths and minimum acceleration and jerk trajectories on SO(3) and SE(3) in [20]. However,<br />

analytical solutions are available only in the simplest of cases, and the procedure <strong>for</strong> solving<br />

optimal <strong>motion</strong>s, in general, is computationally intensive. If optimality is sacrificed, it is possible<br />

to generate bi-invariant trajectories <strong>for</strong> <strong>interpolation</strong> and approximation using the exponential map<br />

on the Lie Algebra [19]. While the solutions are of closed-<strong>for</strong>m, the resulting trajectories have no<br />

optimality properties.<br />

In this paper, we build on the results from [20, 19] to generate smooth curves <strong>for</strong> general Riemannian<br />

<strong>metrics</strong>. We pursue a geometric approach and require that our results be invariant with<br />

respect to the choice of reference frames and independent of the parameterization of the manifold.<br />

First, we focus our attention to SO(n) and then extend the results to SE(n). The bi-ivariant metric<br />

on SO(n) [4] and the left invariant metric proposed by Park and Brockett (1994) are particular cases<br />

of our general treatment. Also, this paper generalizes the results presented in [2].<br />

We first show that a left (right) invariant metric on SO(n) or SE(n , 1 is inherited from<br />

the higher dimensional space GL(n; IR) equipped with the appropriate metric. Next, a projection<br />

operator is defined and subsequently used to project optimal curves from the ambient space onto<br />

SO(n) or SE(n , 1. Several examples are presented to illustrate the merits of the method and to<br />

show that it yields near-optimal results, especially when the excursion of the trajectories is “small”.<br />

In certain cases, we are also able to establish quantitative results that measure the closeness of the<br />

generated trajectory to the optimal trajectory.<br />

3


2 Background<br />

2.1 The Lie groups SO(3) and SE(3)<br />

Let GL(n; IR) denote the general linear group of dimension n. As a manifold, GL(n; IR) can be<br />

regarded as an open subset of IR n2 . Moreover, matrix multiplication and inversion are both smooth<br />

operations, which make GL(n; IR) a Lie group. The special orthogonal group is a subgroup of the<br />

general linear group, defined as<br />

SO(n) =<br />

n<br />

o<br />

R 2 GL(n; IR) : RR T = I; detR =1<br />

SO(n) is referred to as the rotation group on IR n . SE(n) =SO(n) IR n is the special Euclidean<br />

group, and is the set of all displacements in IR n . Special consideration will be given to SO(3) and<br />

SE(3).<br />

Consider a <strong>rigid</strong> <strong>body</strong> moving in free space. Assume any inertial reference frame F fixed<br />

in space and a frame M fixed to the <strong>body</strong> at point O 0 as shown in Figure 1. At each instance,<br />

the configuration (position and orientation) of the <strong>rigid</strong> <strong>body</strong> can be described by a homogeneous<br />

trans<strong>for</strong>mation matrix, A, corresponding to the displacement from frame F to frame M. SE(3) is<br />

the set of all <strong>rigid</strong> <strong>body</strong> trans<strong>for</strong>mations in three-dimensions:<br />

SE(3) =<br />

8<br />

<<br />

: A j A = 2<br />

4 R d<br />

0 1<br />

d 2 IR 3 ;R T R = I;det(R) =1<br />

3<br />

5 ;R2 IR 33 ;<br />

SE(3) is a closed subset of GL(4; IR), and, there<strong>for</strong>e, a Lie group.<br />

On any Lie group the tangent space at the group identity has the structure of a Lie algebra. The<br />

Lie algebras of SO(3) and SE(3), denoted by so(3) and se(3) respectively, are given by:<br />

n<br />

o<br />

so(3) = ^! 2 IR 33 ; ^! T = ,^! :<br />

se(3) =<br />

82<br />

<<br />

:<br />

4 ^! v<br />

0 0<br />

3<br />

5 j ^! 2 IR 33 ;v 2 IR 3 ; ^! T = ,^!<br />

; :<br />

A 3 3 skew-symmetric matrix ^! can be uniquely identified with a vector ! 2 IR 3 so that <strong>for</strong> an<br />

arbitrary vector x 2 IR 3 , ^!x = ! x, where is the vector cross product operation in IR 3 . Each<br />

4<br />

o<br />

:<br />

9<br />

=


{F}<br />

z<br />

z’<br />

{M}<br />

t<br />

x’ 3<br />

{M} z’<br />

y’<br />

t 2 y’<br />

x’<br />

t 1<br />

x’<br />

{M}<br />

y’<br />

z’<br />

y<br />

x<br />

Figure 1: The inertial (fixed) frame and the moving frame attached to the <strong>rigid</strong> <strong>body</strong><br />

element S 2 se(3) can be thus identified with a vector pair f!; vg. Givenacurve<br />

A(t) :[,a; a] ! SE(3); A(t) =<br />

2<br />

4<br />

R(t) d(t)<br />

0 1<br />

3<br />

5<br />

an element S(t) of the Lie algebra se(3) can be associated to the tangent vector A(t) _ at an arbitrary<br />

point t by:<br />

S(t) =A ,1 (t) _ A(t) =<br />

2<br />

4 ^!(t) RT d_<br />

0 0<br />

3<br />

5 : (1)<br />

where ^!(t) =R T _R is the corresponding element from so(3).<br />

A curve on SE(3) physically represents a <strong>motion</strong> of the <strong>rigid</strong> <strong>body</strong>. If f!(t);v(t)g is the vector<br />

pair corresponding to S(t), then! physically corresponds to the angular velocity of the <strong>rigid</strong> <strong>body</strong><br />

while v is the linear velocity of the origin O 0 of the frame M, both expressed in the frame M. In<br />

kinematics, elements of this <strong>for</strong>m are called twists and se(3) thus corresponds to the space of twists.<br />

The twist S(t) computed from Equation (1) does not depend on the choice of the inertial frame F .<br />

For this reason, S(t) is called the left invariant representation of the tangent vector A. _ Alternatively,<br />

the tangent vector A _ can be identified with a right invariant twist (invariant with respect to the choice<br />

of the <strong>body</strong>-fixed frame M).<br />

Since so(3) is a vector space, any element can be expressed as a 3 1 vector of components<br />

5


corresponding to a chosen basis. The standard basis <strong>for</strong> so(3) is:<br />

2 3<br />

3<br />

0 0 0<br />

0 0 1<br />

6<br />

7<br />

6<br />

7<br />

L o 1 = 0 0 ,1<br />

0 0 0<br />

6<br />

4<br />

2<br />

7<br />

5 Lo 2 = 6<br />

4<br />

0 1 0<br />

,1 0 0<br />

2<br />

7<br />

5 Lo 3 = 6<br />

4<br />

0 ,1 0<br />

1 0 0<br />

0 0 0<br />

3<br />

7<br />

5<br />

(2)<br />

L o, 1 Lo and 2 Lo 3<br />

represent instantaneous rotations about the Cartesian axes x, y and z, respectively.<br />

The components of a ^! 2 se(3) in this basis are given precisely by the angular velocity vector !.<br />

The standard basis <strong>for</strong> se(3) is:<br />

2<br />

3<br />

2<br />

L 1 = 4 Lo 1<br />

0<br />

5 L2 = 4 Lo 2<br />

0<br />

5 L3 = 4 Lo 3<br />

0<br />

0 0<br />

0 0<br />

0 0<br />

L 4 =<br />

2<br />

4 0 e 1<br />

0 0<br />

3<br />

5 L 5 =<br />

2<br />

4 0 e 2<br />

0 0<br />

3<br />

3<br />

5 L 4 =<br />

2<br />

2<br />

4 0 e 3<br />

0 0<br />

3<br />

5<br />

3<br />

5<br />

(3)<br />

where<br />

e 1 =<br />

h<br />

1 0 0<br />

i T<br />

; e2 =<br />

h<br />

0 1 0<br />

i T<br />

; e3 =<br />

h<br />

0 0 1<br />

i T<br />

The twists L 4 , L 5 and L 6 represent instantaneous translations along the Cartesian axes x, y and<br />

z, respectively. The components of a twist S 2 se(3) in this basis are given precisely by the velocity<br />

vector pair, f!; vg.<br />

2.2 Left invariant vector fields<br />

A differentiable vector field is a smooth assignment of a tangent vector to each element of the<br />

manifold. At each point, a vector field defines a unique integral curve to which it is tangent [6].<br />

Formally, a vector field X is a (derivation) operator which, given a differentiable function, returns<br />

its derivative (another function) along the integral curves of X. Using the definition of a tangent<br />

(differential) map between two manifolds, it is straight<strong>for</strong>ward to prove that the action of the tangent<br />

map of the left translation with A on SE(3) at some point is simply multiplication from the left with<br />

A, at any point on the manifold.<br />

An example of a differentiable vector field, X, onSE(3) is obtained by left translation of an<br />

element S 2 se(3). The value of the vector field X at an arbitrary point A 2 SE(3) is given by:<br />

X(A) = S(A) =AS: (4)<br />

6


A vector field generated by Equation (4) is called a left invariant vector field and we use the notation<br />

S to indicate that the vector field was obtained by left translating the Lie algebra element S. Right<br />

invariant vector fields can be defined analogously. In general, a vector field need not be left or right<br />

invariant. By construction, the space of left invariant vector fields is isomorphic to the Lie algebra<br />

se(3).<br />

Since the vectors L 1 ;L 2 ;:::;L 6 are a basis <strong>for</strong> the Lie algebra se(3), the vectors L 1 (A);:::;<br />

L 6 (A) <strong>for</strong>m a basis of the tangent space at any point A 2 SE(3). There<strong>for</strong>e, any vector field X can<br />

be expressed as<br />

X =<br />

6X<br />

i=1<br />

X i L i ; (5)<br />

where the coefficients X i vary over the manifold. If the coefficients are constants, then X is left<br />

invariant. By defining:<br />

! =[X 1 ;X 2 ;X 3 ] T ; v =[X 4 ;X 5 ;X 6 ] T ;<br />

we can associate a vector pair of functions f!; vg to an arbitrary vector field X. If a curve A(t)<br />

describes a <strong>motion</strong> of the <strong>rigid</strong> <strong>body</strong> and V = dA is the vector field tangent to A(t), the vector<br />

dt<br />

pair f!; vg associated with V corresponds to the instantaneous twist (screw axis) <strong>for</strong> the <strong>motion</strong>. In<br />

general, the twist f!; vg changes with time.<br />

2.3 Exponential map and exponential coordinates<br />

For every S 2 se(3),letA S : IR ! SE(3) denote the integral curve of the left invariant vector field<br />

X S passing through I at t =0.Thatis,A S (0) = I and d dt A S(t) =X S (A S (t)). It follows that (see<br />

DoCarmo pg.80) A S (s + t) =A S (t)A S (s) which means that A S (t) is a one-parameter subgroup<br />

of SE(3). The function exp : se(3) ! SE(3) defined by exp(S) =A S (1) is called the exponential<br />

map of the Lie algebra se(3) into SE(3). It is easy to show [14] that the exponential map takes the<br />

line tS 2 se(3); t 2 IR into a one-parameter subgroup of SE(3), i.e.<br />

exp(tS) =A S (t): (6)<br />

Using Equation (1) we can show that the exponential map agrees with the usual exponentiation of<br />

the matrices in IR 44 :<br />

exp(tS) =<br />

1X<br />

k=0<br />

t k S k<br />

; (7)<br />

k!<br />

7


where S denotes the matrix representation of the twist S. The sum of this series can be computed<br />

explicitly and the resulting expression, when restricted to SO(3), is known as Rodrigues’ <strong>for</strong>mula.<br />

The <strong>for</strong>mula <strong>for</strong> the sum in SE(3) is derived in [14].<br />

2.4 Riemannian <strong>metrics</strong> on Lie groups<br />

If a smoothly varying, positive definite, bilinear, symmetric <strong>for</strong>m is defined on the tangent<br />

space at each point on the manifold, such a <strong>for</strong>m is called a Riemannian metric and the manifold is<br />

Riemannian [6]. If the <strong>for</strong>m is non-degenerate but indefinite, the metric is called semi-Riemannian.<br />

On a n dimensional manifold, the metric is locally characterized by a n n matrix of C 1 functions<br />

g ij = where X i are basis vector fields 1 . Note that the entries g ij at each point on the<br />

manifold are functions of the local coordinates at that point. If the basis vector fields can be defined<br />

globally, then the matrix [g ij ] completely defines the metric.<br />

On SE(3) (on any Lie group), an inner product on the Lie algebra can be extended to a Riemannian<br />

metric over the manifold using left (or right) translation. To see this, consider the inner<br />

product of two elements S 1 ;S 2 2 se(3) defined by<br />

j I = s T Ws 1 2; (8)<br />

where s 1 and s 2 are the 6 1 vectors of components of S 1 and S 2 with respect to some basis<br />

and W is a positive definite matrix. If V 1 and V 2 are tangent vectors at an arbitrary group element<br />

A 2 SE(3), the inner product j A<br />

in the tangent space T A SE(3) can be defined by:<br />

j A = : (9)<br />

I<br />

The metric obtained in such a way is said to be left invariant [6] since left translation by any element<br />

A is an isometry.<br />

<br />

3 Riemannian metric on SO(n) and SE(n)<br />

In this section we will show that there is a simple way of defining a left (or right) invariant metric<br />

in SO(n) (or SE(n , 1) by introducing an appropriate constant metric in GL(n; IR). Defining a<br />

1 The basis vector fields need not be the coordinate basis; we only require that they are smooth.<br />

8


metric (i.e. the kinetic energy) at the Lie algebra so(n) (or se(n , 1) and extending it through left<br />

(right) translations will be equivalent to inheriting the appropriate metric from the ambient space.<br />

3.1 A metric in the ambient space<br />

Let W be a symmetric positive definite n n matrix. For any A 2 GL(n; IR) and any X; Y 2<br />

T A GL(n; IR), define<br />

W;A = Tr(X T YW)=Tr(WX T Y )=Tr(YWX T ) (10)<br />

where the first subscript stands <strong>for</strong> the chosen matrix weight and the second denotes the point at<br />

which the <strong>for</strong>m is defined. By definition, <strong>for</strong>m (10) is the same at all points in GL(n; IR). Whythe<br />

second subscript then? This will become useful when studying the invariance of the above <strong>for</strong>m. It<br />

is clear that <strong>for</strong>m (10) is quadratic in the entries of X and Y .Letx; y 2 IR n2 be the column vectors<br />

obtained by abutting the transposed lines from X and Y . Then,<br />

W;A = x T Wy; <br />

where<br />

W = blockdiagonal(W T ;W T ;:::;W T ); W 2 IR n2 n 2 :<br />

It is easy to see that W is symmetric and positive definite if and only if W is symmetric and positive<br />

definite. There<strong>for</strong>e, (10) is a metric when W is symmetric and positive definite. Some interesting<br />

results are in order.<br />

Proposition 3.1<br />

Metric (10) defined on GL(n; IR) is left invariant when restricted to SO(n).<br />

Metric (10) restricted to SO(n) is bi-invariant if W = I; > 0, I is the n n identity<br />

matrix.<br />

Proof: Let any A; B 2 GL(n; IR) and any X; Y 2 T A GL(n; RR). Then, we have<br />

W;A = Tr(X T YW); W;BA = Tr(X T B T BY W)<br />

from which we conclude that the metric is invariant under left translations with elements B 2<br />

SO(n). When restricted to SO(n), (i.e A 2 SO(n)), the metric becomes left invariant. Biinvariance<br />

is right invariance when the metric is left invariant. Note that<br />

W;A = Tr(YWX T ); W;AB = Tr(YBWB T X T )<br />

9


So, right invariance is guaranteed under the condition that BWB T = W , or equivalently, W commutes<br />

with all the elements B 2 SO(n), which is equivalent to W = I.<br />

Remark 3.2 If right invariance on SO(n) is desired, we can define<br />

2<br />

> W;A = Tr(XY T W )=Tr(Y T WX)=Tr(WXY T )<br />

Metric will be right invariant on SO(n) <strong>for</strong> W symmetric and positive definite and biinvariant<br />

if W = I. The proof is similar to that <strong>for</strong> metric and is omitted.<br />

3.2 The induced metric on SO(3)<br />

Even though the following derivation can be done in the general case of a n(n , 1)=2-dimensional<br />

manifold SO(n) in the ambient n 2 -dimensional manifold GL(n; IR), we will restrict to the case<br />

n = 3 <strong>for</strong> practical purposes. Some general results will be presented and proved <strong>for</strong> the general<br />

case though. Let R be an arbitrary element from SO(3). LetX; Y be two vectors from T R SO(3)<br />

and R x (t);R y (t) the corresponding local flows so that<br />

X = R _ x (0); Y = R _ y (0); R x (0) = R y (0) = R:<br />

The metric inherited from GL(3; IR) can be written as:<br />

W;R = Tr( _ R T x (0) _ R y (0)W )=Tr( _ R T x (0)RRT _R y (0)W )=Tr(^! T x ^! yW )<br />

where ^! x = R x (0) T _R x (0) and ^! y = R y (0) T _R y (0) are the corresponding twists from the Lie<br />

algebra so(3). If we write the above relation using the vector <strong>for</strong>m of the twists, some elementary<br />

algebra leads to:<br />

W;R = ! x T G! y (11)<br />

where<br />

G = Tr(W )I 3 , W (12)<br />

is the matrix of the metric on SO(3) as defined by (8). A different equivalent way of arriving at<br />

the expression of G would be defining the metric in so(3) (i.e. at identity of SO(3)) asbeingthe<br />

one inherited from T I GL(3; IR): g ij = Tr(L o i T L o j W ); i; j = 1; 2; 3 (Lo 1 ;Lo 2 ;Lo 3<br />

is the basis in<br />

10


so(3)). Left translating this metric throughout the manifold is equivalent to inheriting the metric at<br />

each 3-dimensional tangent space of SO(3) from the corresponding 9-dimensional tangent space of<br />

GL(3; IR).<br />

Proposition 3.3<br />

G is symmetric if and only if W is symmetric.<br />

If W is positive definite, then G is positive definite.<br />

If G is positive definite, then W is positive definite if and only the eigenvalues of G are the<br />

lengths of the sides of a triangle.<br />

Proof: The first part follows immediately from (12). For the second part, note that the eigenvalues<br />

of G are given by<br />

i (G) =<br />

X<br />

j (W ) , i (W )=<br />

X<br />

j<br />

j6=i<br />

Because W is positive definite, it follows that i (W ) > 0 which implies i (G) > 0, i.e. Gis<br />

positive definite. For the third part, we start from the equivalent <strong>for</strong>m of (12)<br />

W = 1 Tr(G)I 3 , G<br />

2<br />

j W<br />

which implies<br />

and the claim is proved.<br />

i (W )= 1 2<br />

X<br />

j<br />

j (G) , i (G)<br />

Remark 3.4 In the particular case when W = I; > 0, from (12), we have G =2I, whichis<br />

the standard bi-invariant metric on SO(3). This is consistent with the second assertion in Proposition<br />

3.1. For =1, metric (10) will induce the well known Frobenius norm on GL(3; IR).<br />

3.3 The induced metric in SE(3)<br />

Similarly, we can get a left invariant metric on SE(n , 1) by inheriting the metric <br />

W given<br />

~<br />

by (10) from GL(n; IR). For practical purposes, we will assume the following <strong>for</strong>m <strong>for</strong> the n n<br />

matrix of the metric in (10):<br />

~W =<br />

2<br />

4 W 0<br />

0 w<br />

3<br />

5 (13)<br />

11


where W is a n , 1 n , 1 symmetric and positive definite matrix and w is a positive scalar. It<br />

follows that W ~ is symmetric and positive definite, and, there<strong>for</strong>e, gives a Riemmanian metric. To<br />

derive the induced metric in SE(3) we follow the same procedure as in section 3.2 <strong>for</strong> the particular<br />

case n =4.<br />

Let A be an arbitrary element from SO(3). Let X; Y be two vectors from T A SE(3) and<br />

A x (t);A y (t) the corresponding local flows so that<br />

Let<br />

X =<br />

_ A x (0); Y = _ A y (0); A x (0) = A y (0) = A:<br />

A i (t) =<br />

and the corresponding twists at time 0:<br />

2<br />

4 R i(t) d i (t)<br />

0 1<br />

S i = A ,1<br />

i (0) A _ i (0) =<br />

2<br />

4 ^! i v i<br />

0 0<br />

The metric inherited from GL(4; IR) can be written as:<br />

3<br />

5 ; i 2fx; yg<br />

3<br />

5 ; i 2fx; yg<br />

~ W;A = Tr( _ A T x (0) _ A y (0) ~ W )=Tr(S T x A T AS y ~ W =<br />

Now using the orthogonality of the rotational part of A and the special <strong>for</strong>m of the twist matrices,<br />

straight<strong>for</strong>ward calculations lead to<br />

~ W;A = Tr(ST x S y ~ W )=Tr(^! T x ^! yW )+v T x v y w<br />

Some comments on the notation are in order. The symbol W <strong>for</strong> the upper right part of W ~ is<br />

in accordance with the 3 3 matrix of the metric in GL(3; IR) used to define the metric in SO(3).<br />

Keeping the notation from section 3.2, if G is the matrix of the induced metric in SO(3), then<br />

2 3 2 3<br />

h i<br />

<br />

W;A ~ = ! x T vx<br />

T G ~ 4 ! y<br />

5 ; G ~ = 4 G 0 5 (14)<br />

v y 0 wI 3<br />

and G is given by (12).<br />

Remark 3.5 Similar to section 3.2, some tedious calculations show that we can provide SE(3) with<br />

the same metric (14) by inheriting the metric from the ambient space at se(3) (~g ij = Tr(L T i L j W ~ ); i; j =<br />

1;:::;6 and left translating it throughout the manifold. There<strong>for</strong>e, the metric Tr(X T Y ~ W ) from<br />

GL(4; IR) becomes left invariant when restricted to SE(3).<br />

12


Remark 3.6 If W is symmetric and positive definite, then G given by (12) is symmetric and positive<br />

definite and, provided that w>0, G ~ is symmetric and positive definite.<br />

4 Projection on SO(n)<br />

We can use the norm induced by the metric (10) to define the distance between elements in GL(3; IR).<br />

Using this distance, <strong>for</strong> a given A 2 GL(3; IR), wedefinethe projection of A on SO(3) as being<br />

the closest R 2 SO(3) with respect to metric (10).<br />

The solution of the projection problem is derived <strong>for</strong> the general case of GL(n; IR) and is based<br />

on the following lemma:<br />

Lemma 4.1 Let A 2 GL(n; IR) and U; ;V its singular value decomposition. Then R = UV T is<br />

the solution to the maximization problem<br />

max Tr(A T R):<br />

R2SO(n)<br />

Proof: Let =diagf 1 ;:::; n g, C = R T U and consider columnwise partitions <strong>for</strong> V and C<br />

V =[v 1 ;:::;v n ]; C =[c 1 ;:::;c n ]<br />

Then, we have:<br />

Tr(A T R)=Tr(V U T R)=Tr(V C T )=<br />

=<br />

nX<br />

= Tr(<br />

nX<br />

i=1<br />

i v i c T i )<br />

i v T i c i<br />

X<br />

n<br />

i Tr(v i c T i )=<br />

i=1 i=1<br />

Now C and V are both orthogonal, and then kc i k = kv i k = 1 On the other, by Cauchy-<br />

Schwartz, (vi T c i) 2 kv i k 2 kc i k 2 = 1 and the equality holds <strong>for</strong> v i = c i ,orV = C. There<strong>for</strong>e,<br />

P ni=1<br />

i is an upper bound <strong>for</strong> Tr(A T R) which is attained <strong>for</strong> R = UV T .<br />

The following proposition is the main result of this section:<br />

Proposition 4.2 Let A 2 GL(n; IR) and U; ;V the singular value decomposition of AW (i.e<br />

AW = U V T ). Then the projection of A on SO(n) with respect to the elliptic metric (10) is given<br />

by R = UV T .<br />

13


Proof: The problem to be solved is a minimization problem:<br />

We have<br />

min kA , Rk 2 W<br />

R2SO(n)<br />

kA , Rk 2 W = W = Tr[(A , R) T (A , R)W ]=<br />

= Tr(A T AW , A T RW , R T AW + R T RW )<br />

where the second subscript of the metric has been dropped. Note that Tr(R T AW )=Tr(WA T R =<br />

Tr(A T RW ) and the quantities A T AW and R T RW = W are constant and there<strong>for</strong>e does not affect<br />

the optimization. There<strong>for</strong>e, the problem to be solved becomes:<br />

max Tr(WA T R)<br />

R2SO(n)<br />

With AW = U V T , the solution is given by Lemma 4.1 and the claim is proved.<br />

Remark 4.3 It is easy to see that the minimum value of the W-distance in Proposition 4.2 is given<br />

by Tr(W ,1 V 2 V T P )+Tr(W ) , 2Tr(). For the particular case when W = I 3 , the minimum<br />

n<br />

distance becomes ( i=1 i , 1) 2 , which is the common way of describing how ”far” is a matrix<br />

from being orthogonal.<br />

The question we might ask is what happens with the solution to the projection problem when<br />

the manifold GL(n; IR) is acted upon by the group SO(n). The answer is given in the following<br />

proposition:<br />

Proposition 4.4 The solution to the projection problem described above is left invariant under actions<br />

of elements from SO(n). IfW = I 3 , the solution is bi-invariant.<br />

Proof: Let A 2 GL(n; IR), AW = U V T and the corresponding projection R 2 SO(n), R =<br />

UV T . Let any L 2 SO(n) and A = LA. ThenanSVD<strong>for</strong>AW can be found from the SVD <strong>for</strong><br />

AW in the <strong>for</strong>m A =(LU )V T . Then, by Proposition 4.2, the projection of A is R = LUV T =<br />

LR, which proves left invariance. Similarly, right invariance would imply that W commutes with<br />

arbitrary elements from SO(n), which leads to W = I.<br />

14


Remark 4.5 For the case W = I, it is worthwhile to note that other projection methods do not<br />

exhibit bi-invariance. For instance, it is customary to find the projection R 2 SO(n) by applying a<br />

Gram-Schmidt procedure (QR decomposition). In this case it is easy to see that the solution is left<br />

invariant, but in general it is not right invariant.<br />

4.1 Projection on SE(n)<br />

Similarly to the previous section, if a metric of the <strong>for</strong>m (10) is defined in GL(n; IR) with the matrix<br />

of the metric given by (13), we can find the corresponding projection on SE(n , 1):<br />

Proposition 4.6 Let B 2 GL(n; IR) with the following block partition<br />

B =<br />

2 3<br />

4 B 1 B 2<br />

5 ;B1 2 IR (n,1)(n,1) ;<br />

B 3 B 4<br />

B 2 2 IR (n,1)1 ;B 3 2 IR 1(n,1) ;B 4 2 IR<br />

and U; ;V the singular value decomposition of B 1 W . Then the projection of B on SE(n , 1) is<br />

given by<br />

Proof: Let<br />

A =<br />

A =<br />

2<br />

4 R d<br />

2<br />

4 UV T B 2<br />

0 1<br />

0 1<br />

The problem to be solved can be <strong>for</strong>mulated as follows:<br />

3<br />

5 2 SE(n , 1)<br />

3<br />

5 ; R 2 SO(n , 1); d2 IR<br />

n,1<br />

We have:<br />

min<br />

A2SE(n,1)<br />

kB , Ak 2~ W<br />

kB , Ak 2~ W = Tr[(B , A)T (B , A) ~ W ]=<br />

= Tr(B T B ~ W ) , 2Tr(B T A ~ W )+Tr(A T A ~ W )<br />

The quantity B T B ~ W is not involved in the optimization. There<strong>for</strong>e, the problem becomes<br />

min [,2Tr(B T A W ~ )+Tr(A T A W ~ )]<br />

A2SE(n,1)<br />

15


The observation that<br />

Tr(A T A ~ W )=Tr(W )+(d T d +1)w;<br />

Tr(B T A ~ W )=Tr(B T 1 RW +(B T 2 d + B 4 )w<br />

separates the initial problem into two subproblems:<br />

and<br />

(a)<br />

max Tr(B T 1 RW )= max Tr(WB T 1 R)<br />

R2SO(n,1)<br />

R2SO(n,1)<br />

(b)<br />

h i<br />

min ,2B T<br />

d2IR n,1 2 d + d T d<br />

From lemma 4.1, the solution to subproblem (a) is R = UV T . For the second subproblem, let<br />

f : IR n,1 ! IR; f (x) =,2B T 2 x + xT x<br />

The critical points of the scalar function f are given by<br />

rf (x) =,2B 2 +2x =0 ) x = B 2<br />

and the Hessian r 2 f (x) =2I is always positive definite. There<strong>for</strong>e, the solution is d = B 2 which<br />

concludes the proof.<br />

Similarly to SO(n), invariance properties are exhibited by the projection on SE(n):<br />

Proposition 4.7 The solution to the projection problem on SE(n,1) is left invariant under actions<br />

of elements from SO(n , 1).<br />

Proof: Let<br />

B =<br />

2 3<br />

4 B 1 B 2<br />

5 2 GL(n; IR); B1 W = U V T<br />

B 3 B 4<br />

A =<br />

2<br />

4 UV T B 2<br />

0 1<br />

3<br />

5<br />

be a solution pair <strong>for</strong> the projection problem. Let<br />

Le =<br />

2<br />

4 R d<br />

0 1<br />

3<br />

5<br />

16


e an arbitrary element from SE(n , 1). Under left actions of Le, the pair becomes<br />

LeB =<br />

2<br />

B 3 B 4<br />

4 RB 1 + dB 3 RB 2 + dB 4<br />

3<br />

5 ;<br />

LeA =<br />

2<br />

4 RUV T RB 2 + d<br />

0 1<br />

from which it is easy to see that a necessary condition <strong>for</strong> left invariance (i.e L e A is the projection<br />

of L e B)isdB 4 = d; 8B 4 2 IR which implies d =0. Conversely, it is easy to see that the problem<br />

is left invariant under actions of Le with d =0.<br />

3<br />

5<br />

Remark 4.8 If we let B 4 =1and B 3 =0in the above proof of left invariance, it is straight<strong>for</strong>ward<br />

to see that if the projection problem is restricted to the subset<br />

B =<br />

2<br />

4 B 1 B 2<br />

0 1<br />

3<br />

5 2 GL(n; IR)<br />

then it becomes left invariant under all actions of SE(n , 1).<br />

Remark 4.9 In the special case when W = I n,1 (i.e. the bi-invariant metric on SO(n,1)), “left<br />

invariant” in the above proposition becomes “bi-invariant”. See [2] <strong>for</strong> a more detailed treatment.<br />

5 Generating smooth curves on SO(3)<br />

Based on the results we proved so far, a procedure <strong>for</strong> generating near optimal curves on SO(3)<br />

follows: generate the curve in the ambient space and project it on the rotation group. Due to the fact<br />

that the metric we defined in GL(3; IR) is the same at all points, the corresponding Christoffel symbols<br />

are all zero. Consequently, the optimal curves in the ambient space assume simple analytical<br />

<strong>for</strong>ms (i.e goedesics - straight lines, minimum acceleration curves - cubic polinomial curves, minimum<br />

jerk curves - fifth order polynomial curves, all parameterized by time). The resulting curve in<br />

GL(3; IR) is linear in the boundary conditions, and there<strong>for</strong>e left and right invariant. Recall that the<br />

projection procedure is left invariant in the general case and bi-invariant in the particular case of a<br />

canonical metric, and so is the overall procedure.<br />

17


5.1 Geodesics on SO(3) with the Euclidean metric<br />

The problem we approach is generating a geodesic R(t) between given end positions R 1 = R(0)<br />

and R 2 = R(1) on SO(3). Assume the metric in the ambient space GL(3; IR) is the canonical<br />

metric W = I, which gives the bi-invariant metric G = 2I on SO(3). Without loss of generality,<br />

we will assume R 1 = I. Indeed, a geodesic between two arbitrary positions R 1 and R 2 is<br />

the geodesic between I and R ,1 R 1 2 left translated by R 1 . Exponential coordinates 1 ; 2 ; 3 are<br />

considered as local parameterization of SO(3). IfR 2 = e^! 0<br />

, then the geodesic is the exponential<br />

mapping of the uni<strong>for</strong>mly parameterized segment passing through 0 and ! 0 ((t) =! 0 t) from the<br />

exponential coordinates:<br />

R(t) =e^(t) = e^! 0t<br />

The geodesic in the ambient space satisfying the given boundary conditions on SO(3) is<br />

A(t) =I +(R 2 , I)t; t 2 [0; 1]<br />

We derive an analytical expression <strong>for</strong> the projection of an arbitrarily parameterized line in the<br />

ambient space GL(3; IR) onto SO(3), which will answer the following three questions.<br />

Does the projection of a geodesic from GL(3; IR) follow the same path as the true geodesic<br />

on SO(3)? If the answer is yes, then the following question makes sense:<br />

Do the above two curves have the same parameterization? If the answer is no,<br />

Can we find an appropriate parameterization of the line in the ambient space so that the<br />

projection will be identical to the true geodesic on SO(3)?<br />

Proposition 5.1 is the key result of this section.<br />

Proposition 5.1 Let A(t) =I +(R 2 , I)f (t); t 2 [0; 1] be a line in GL(3:IR) with R 2 = e^! 0<br />

2<br />

SO(3) (f continuous, f (0) = 0; f(1) = 1). Then the projection of this line R ? (t) onto SO(3) is<br />

the exponential mapping of a segment drawn between the origin and ! 0 in exponential coordinates<br />

parameterized by (t):<br />

A(t) =U (t)(t)V T (t) ) R ? (t) =U (t)V T (t) =e^! 0(t)<br />

(t) = 1<br />

k! 0 k atan2(1 , f (t) +f (t) cos k! 0k;f(t) sin k! 0 k) (16)<br />

(15)<br />

18


The proof is rather involved and can be found in the Appendix.<br />

Note that the obtained parameterization (t) satisfies the boundary conditions (0) = 0, (1) =<br />

1<br />

As a particular case of Proposition 5.1 <strong>for</strong> f (t) =t, we have the following corollary answering<br />

the first two questions at the beginning of this section:<br />

Corollary 5.2 The true geodesic on SO(3) and the projected geodesic from GL(3; IR) with ends<br />

on SO(3) follow the same path on SO(3) but with different parameterizations. The projected curve<br />

is the exponential mapping of the same segment from the exponential coordinates<br />

R ? (t) =e^! 0(t)<br />

with the following parameterization<br />

(t) = 1<br />

k! 0 k atan2(1 , t + t cos k! 0k;tsin k! 0 k)<br />

The derivative of the function (t) is given by<br />

d<br />

dt (t) = sin k! 0k<br />

k! 0 ks(t)<br />

where s(t) is given by (24) in the Appendix. Plots of the function (t) and its derivative are given<br />

below <strong>for</strong> t 2 [0; 1] and the magnitude of the displacement on the manifold k! 0 k2(0;).<br />

(a)<br />

(b)<br />

1<br />

0.75<br />

0.5<br />

0.25<br />

0<br />

1<br />

Displacement<br />

2<br />

3<br />

0<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

Time<br />

0.2<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

1<br />

Displacement<br />

2<br />

3<br />

0<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

Time<br />

0.2<br />

Figure 2: (a) Function (t); (b) The derivative d dt (t).<br />

19


The conclusion is that even though the line in GL(3; IR) is followed at constant velocity, the<br />

projected curve on the manifold has low speed at the begining, attains its maximum in the middle,<br />

and slows down as approaching the end point. The larger the displacement k! 0 k, the larger the<br />

discrepancy in speeds. Also note that the middle of the line is projected into the middle of the true<br />

geodesic because (0:5) = 0:5 (i.e the functions t and (t) are equal at t = 0:5). This result has<br />

been stated without proof in [18] in the context of unit quaternions as local parameters of SO(3)<br />

(viewed as the unit sphere S 3 in the projective space IRP 3 ).<br />

To answer the third question, we need to find a parameterization f (t) (f (0) = 0, f (1)=1)of<br />

the line in GL(3; IR) with ends on SO(3), which gives uni<strong>for</strong>m parameterization t of the projected<br />

curve in exponential coordinates. The solution of the following equation in f<br />

atan2(1 , f (t) +f (t) cos k! 0 k;f(t) sin k! 0 k = t<br />

is of the <strong>for</strong>m<br />

sin(k! 0 kt)<br />

f (t) =<br />

sin(k! 0 k(1 , t)) + sin(k! 0 kt)<br />

The answer to the third question is stated in the following<br />

Corollary 5.3 The true geodesic on SO(3) starting at I and ending at R 2 = e^! 0<br />

is the projection<br />

of the following line from the ambient space GL(3; IR):<br />

A(t) =I +(R 2 , I)f (t); t 2 [0; 1]; f (t) =<br />

sin(k! 0 kt)<br />

sin(k! 0 k(1 , t)) + sin(k! 0 kt)<br />

Illustrative plots of f (t) and its derivative are given below <strong>for</strong> t 2 [0; 1] and different values of<br />

the displacement k! 0 k2(0;).<br />

As expected, to get a uni<strong>for</strong>m speed on SO(3), the line in GL(3; IR) should be followed at high<br />

speed at the beginning, slow down in the middle, and accelerating again near the end point.<br />

Remark 5.4 The result in Corollary 5.3 is similar to the <strong>for</strong>mula <strong>for</strong> spherical linear <strong>interpolation</strong><br />

in terms of quaternions Slerp, suggested by Glenn Davis and alluded to by Shoemake in [18].<br />

5.2 Minimum acceleration curves on SO(3) with the Euclidean metric<br />

First we will summarize the computation of optimal trajectories described in [20]. We will then<br />

generate the near optimal trajectories by the projection method.<br />

20


(a)<br />

(b)<br />

1<br />

0.75<br />

0.5<br />

0.25<br />

0<br />

1<br />

Displacement<br />

2<br />

3<br />

0<br />

0.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

Time<br />

1.5<br />

1<br />

0.5<br />

0<br />

1<br />

Displacement<br />

2<br />

3<br />

0<br />

0.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

Time<br />

Figure 3: (a) Function f (t); (b) The derivative d dt f (t).<br />

The necessary conditions <strong>for</strong> the curves that minimize the square of the L 2 norm of the acceleration<br />

are found by considering the first variation of the acceleration functional<br />

Z b<br />

L a = < r V V;r V V > dt; (17)<br />

a<br />

where V (t) = dR(t) , r is the affine connection compatible with a suitable Riemmanian metric, and<br />

dt<br />

R(t) is a curve on the manifold. The initial and final points as well as the initial and final velocities<br />

<strong>for</strong> the <strong>motion</strong> are prescribed.<br />

The following result is stated and proved in [20]:<br />

Proposition 5.5 Let R(t) be a curve between two prescribed points on SO(3) with canonical metric<br />

that has prescribed initial and final velocities. If ! is the vector from so(3) corresponding to<br />

V = dR,<br />

the curve minimizes the cost function L dt a derived from the canonical metric only if the<br />

following equation hold:<br />

where () (n) denotes the n th derivative of ().<br />

! (3) + ! ! =0 (18)<br />

The above equation can be integrated to obtain<br />

! (2) + ! _! = constant (19)<br />

21


However, this equation cannot be further integrated analytically <strong>for</strong> arbitrary boundary conditions.<br />

In the special case when the initial and final velocities are tangential to the geodesic passing through<br />

the same points, the solution can be found by reparameterizing the geodesic [20]. In the general<br />

case, one must solve equation (18) numerically. A local parameterization of SO(3) should be<br />

chosen and three first order differential equations will augment the system. The most convenient<br />

local coordinates 2 are the exponential coordinates. Eventually, one ends up with solving a system<br />

of 12 first order nonlinear coupled differential equations with 6 boundary conditions at each end.<br />

_(t) = !(t) (20)<br />

! (3) + ! ! = 0 (21)<br />

A solution can be found using iterative procedures such as the shooting method or the relaxation<br />

method. The latter has been chosen in this paper.<br />

A more attractive and much simpler approach is the projection method described above. The<br />

main idea is to relax the problem to GL(3; IR), while keeping the proper boundary conditions on<br />

SO(3) with the corresponding velocities. Minimum acceleration curves are found in GL(3; IR) and<br />

eventually projected back onto SO(3).<br />

In what follows, the time interval will be t 2 [0; 1] and the boundary conditions R(0), R(1),<br />

_R(0), _R(1) are assumed to be specified. The minimum acceleration curve in GL(3; IR) with a<br />

constant metric is a cubic given by<br />

R(t) =R 0 + R 1 t + R 2 t 2 + R 3 t 3 ;<br />

where R 0 ;R 1 ;R 2 ;R 3 2 GL(3; IR) are<br />

R 0 = R(0); R 1 = _ R(0);<br />

R 2 = ,3R(0) + 3R(1) , 2 R(0) _ , R(1); _<br />

R 3 =2R(0) , 2R(1) + R(0) _ + R(1): _<br />

Now the curve on SO(3) is obtained by projecting R(t) onto SO(3).<br />

2 All coordinate charts exhibit singularities. A solution to avoiding singularities could be using quaternions, which on<br />

the other hand would imply a further augmentation of the state space.<br />

22


1.6<br />

1.4<br />

1.2<br />

True<br />

Projection<br />

True<br />

Projection<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

1<br />

2<br />

0.8<br />

0.8<br />

1.5<br />

0.6<br />

0.6<br />

1<br />

1.4<br />

0.4<br />

1.2<br />

0.5<br />

0.4<br />

0.2<br />

1<br />

0<br />

0<br />

0.2<br />

1.5<br />

0<br />

0.8<br />

0<br />

0.8<br />

0.2<br />

0.6<br />

−0.5<br />

1<br />

0.6<br />

0.4<br />

0.4<br />

0.5<br />

0.4<br />

0.6<br />

0.2 σ<br />

0.2<br />

2<br />

σ 2<br />

0 0<br />

σ 0.8 0<br />

1<br />

σ 1<br />

a) b) c)<br />

σ 3<br />

σ 3<br />

σ 3<br />

0<br />

0.5<br />

σ 1<br />

1 0<br />

True<br />

Projection<br />

0.5<br />

σ 2<br />

1<br />

1.5<br />

Figure 4: Minimum accleration curves on SO(3) with canonical metric: (a) Velocity boundary<br />

conditions along the geodesic; (b) End velocity perturbed by e 1 ; and (c) End velocity perturbed by<br />

5e 1 .<br />

The following examples present comparisons between the minimum acceleration curves generated<br />

using the projection method and the curves obtained directly on SO(3) by solving equations<br />

(18) using the relaxation method. All the generated curves are drawn in exponential local coordinates.<br />

In Figure 4 we used the following position boundary conditions<br />

(0) =<br />

h<br />

0 0 0<br />

i T<br />

; (1) =<br />

h<br />

The initial velocity is the one corresponding to the geodesic passing through the two positions:<br />

! 0 =<br />

h<br />

<br />

6<br />

Cases (a), (b) and (c) differ by the velocity at the end point. Figure 4 (a) corresponds to a final<br />

velocity ! 1 = ! 0 , there<strong>for</strong>e we get a minimum acceleration curve <strong>for</strong> which the end velocities are<br />

along the velocity of the corresponding geodesic, leading to a geodesic parameterized by a cubic of<br />

time [20]. The final velocity is ! 1 = ! 0 + e 1 in case (b) and ! 1 = ! 0 +5e 1 in case (c), where<br />

e 1 = [100] T .<br />

As seen in Figure 4 (a), the paths of the projected and the optimal curves are the same, the<br />

parameterizations are slightly different though, as expected. In cases (b) and (c), although the<br />

deviation of the final velocity from being homogeneous is large, the curves are close. Note that the<br />

boundary conditions are rigorously satisfied.<br />

23<br />

<br />

3<br />

<br />

2<br />

i T<br />

<br />

6<br />

<br />

3<br />

<br />

2<br />

i T


5.3 Geodesics on SO(3) with a general metric<br />

The differential equations to be satisfied by the geodesics on SO(3) equipped with metric G are<br />

derived in [20]:<br />

_(t) = !(t) (22)<br />

G _!(t) = !(t) (G!(t)) (23)<br />

If W is the corresponding constant metric in the ambient GL(3; IR), then our method implies<br />

the projection of the geodesic from GL(3; IR)<br />

A(t) =R 0 +(R 1 , R 0 )t; t 2 [0; 1]<br />

onto SO(3)<br />

A(t)W = U V T ; R(t) =U (t)V T<br />

An illustrative example is shown in Figure 5, where end positions in exponential coordinates are<br />

the same as in the previous section:<br />

(0) =<br />

h<br />

0 0 0<br />

i T<br />

; (1) =<br />

h<br />

<br />

6<br />

<br />

3<br />

<br />

2<br />

i T<br />

Cases (a), (b) and (c) differ by the <strong>for</strong>m of the matrix G. The metric is Euclidean in case (a) and<br />

non-Euclidean in cases (b) and (c).<br />

6 Conclusion<br />

This paper develops a method <strong>for</strong> generating smooth trajectories <strong>for</strong> a moving <strong>rigid</strong> <strong>body</strong> with<br />

specified conditions on intermediate points or at the end points. Our method involves two key steps:<br />

(1) the generation of optimal trajectories in GL(n +1; IR); and (2) the projection of the trajectories<br />

from GL(n +1; IR) to SE(n). The overall procedure is invariant with respect to both the local<br />

coordinates on the manifold and the choice of the inertial frame. The benefits of the method are twofold.<br />

First, it is possible to apply any of the variety of well-known, efficient techniques to generate<br />

optimal curves on GL(n; IR) [7, 8]. Second, the method yields solutions <strong>for</strong> general choices of<br />

Riemannian <strong>metrics</strong> on SE(3). For example, we can incorporate the dynamics of arbitrary <strong>rigid</strong><br />

24


1.6<br />

1.6<br />

1.6<br />

1.4<br />

1.2<br />

True<br />

Projection<br />

1.4<br />

1.2<br />

True<br />

Projection<br />

1.4<br />

1.2<br />

True<br />

Projection<br />

1<br />

1<br />

1<br />

σ 3<br />

0.8<br />

σ 3<br />

0.8<br />

σ 3<br />

0.8<br />

0.6<br />

0.6<br />

0.6<br />

0.4<br />

0.4<br />

0.4<br />

0.2<br />

0.2<br />

0.2<br />

0<br />

1.5<br />

0<br />

1.5<br />

0<br />

1.5<br />

1<br />

0.6<br />

0.8<br />

1<br />

0.6<br />

0.8<br />

1<br />

0.4<br />

0.6<br />

0.5<br />

0.4<br />

0.5<br />

0.4<br />

0.2<br />

0.2<br />

σ 2<br />

0 0<br />

σ<br />

σ 2<br />

0 0<br />

1<br />

σ 1<br />

a) b) c)<br />

σ 2<br />

0.5<br />

0<br />

−0.2<br />

0<br />

σ 1<br />

0.2<br />

Figure 5: Geodesics <strong>for</strong> different <strong>metrics</strong> on SO(3): (a) G = diagf3; 3; 3g; (b) G =<br />

diagf3; 10; 10g; and(c)G = diagf10; 10; 3g.<br />

bodies, or the added-mass effects in the dynamics of bodies submerged in fluids [13]. While the<br />

numerical results in this paper are limited to trajectories on SO(3), the computations in SE(3) are<br />

a straight<strong>for</strong>ward extension.<br />

Appendix<br />

Proof of Proposition 5.1 We need to find the SVD decomposition of A(t) =I +(R 2 , I)f (t) =<br />

U (t)(t)V T ,whereR 2 = e^! 0<br />

and f (t) is a continous function defined on [0; 1] satisfying f (0) = 0,<br />

f (1) = 1. We start from<br />

A T (t)A(t) =I , f (t)(1 , f (t))M; M =2I , R 2 , R T 2<br />

The eigenstructure of the constant and symmetric matrix M will completely determine the SVD<br />

of A(t). Because M is symmetric and real, its eigenvalues will be real and the corresponding<br />

eigenspaces orthogonal. Let i ;v i be an eigenvalue-eigenvector pair of M. Then, we have:<br />

Mv i = i v i<br />

) A T (t)A(t) =(1, f (t)(1 , f (t)) i )v i<br />

So, theoretically, the desired SVD decomposition is determined at this moment:<br />

The matrix V (t) can be chosen constant of the <strong>for</strong>m V = [v 1 v 2 v 3 ] where v 1 ;v 2 ;v 3 are<br />

orthonormal eigenvectors of M;<br />

25


The singular values are given by s 2 i (t) =1, f (t)(1 , f (t)) i (it will be shown shortly that<br />

the right hand side of this equality is always positive)<br />

The time-dependence of the projection will be contained in<br />

U (t) =[u 1 (t) u 2 (t) u 3 (t)]; u i (t) = A(t)v i<br />

s i<br />

; i =1; 2; 3<br />

Using the Rodrigues <strong>for</strong>mula <strong>for</strong> R 2 = e^! 0<br />

, it is easy to see that<br />

M = , 1 , cos k! 0k<br />

k! 0 k 2 (^! 2 0 +^!2T 0 )<br />

from which it follows that the eigenvalues of M are given by<br />

(M )=f0; 2(1 , cos k! 0 k); 2(1 , cos k! 0 k)g<br />

and a set of three orthonormal eigenvectors by<br />

8<br />

2 3<br />

,! >< ! 0<br />

k!<br />

>:<br />

0 k ; 1<br />

3<br />

q<br />

6<br />

0<br />

!<br />

4<br />

7<br />

5 ; 1<br />

q<br />

2<br />

3 + !2 1<br />

! 2 2<br />

! !2 1 +(!2 3 + !2 1 )2 + ! 2 3 !2 2<br />

1<br />

2<br />

6<br />

4<br />

3<br />

,! 2 ! 1<br />

! 2 3 + 7 !2 1<br />

5<br />

,! 3 ! 2<br />

9<br />

>=<br />

>;<br />

where ! 0 =[! 1 ! 2 ! 3 ] T . With the eigenstructure of M determined, we write<br />

q<br />

(t) =diagf1;s(t);s(t)g; s(t) = 2(1 , cos k! 0 k)f 2 (t) , 2(1 , cos k! 0 k)f (t) +1 (24)<br />

where the binomial under the square root is always positive because it is positive at zero and 1 ,<br />

cos k! 0 k2(0; 2) gives a negative discriminant. Some straight<strong>for</strong>ward but rather tedious calculation<br />

leads to:<br />

U (t)V T = I + ^! 0<br />

k! 0 k 2(t) +(1, 1 (t)) + ^!2 0<br />

k! 0 k 2<br />

where<br />

1 (t) = 1 , f (t) +f (t) cos k! 0k<br />

; f 2 (t) = (t) sin k! 0k<br />

s(t)<br />

s(t)<br />

We will restrict our discussion to k! 0 k 2 (0;) (in accordance to the exponential coordinates)<br />

which will give 2 (t) > 0. Note that 2 1 (t) +2 2<br />

(t) = 1, so it is appropriate to define a function<br />

(t) 2 (0; 1) so that<br />

1 (t) = cos(k! 0 k(t)); 2 (t) = sin(k! 0 k(t))<br />

26


By use of the Rodrigues <strong>for</strong>mula again,<br />

U (t)V T = e^! 0(t)<br />

so the projected line is the exponential mapping of a segment between the origin and ! 0 in exponential<br />

coordinates. The parameterization of the segment is given by<br />

(t) = 1<br />

k! 0 k atan2(1 , f (t) +f (t) cos k! 0k;f(t) sin k! 0 k)<br />

References<br />

[1] R. S. Ball. The theory of screws. Hodges & Foster, Dublin, 1876.<br />

[2] C. Belta and V. Kumar. An efficient geometric approach to <strong>rigid</strong> <strong>body</strong> <strong>motion</strong> <strong>interpolation</strong>.<br />

In ASME 2000 Design Engineering Technical Conferences, Baltimore, MD, 2000.<br />

[3] M. Camarinha, F. Silva Leite, and P. Crouch. Splines of class c k on non-Euclidean spaces.<br />

IMA J. Math. Control In<strong>for</strong>m., 12(4):399–410, 1995.<br />

[4] J. Cheeger and D. G. Ebin. Comparison Theorems in Riemannian Geometry. North-Holland<br />

Publishing Company, Amsterdam, 1975.<br />

[5] P. Crouch and F. Silva Leite. The dynamic <strong>interpolation</strong> problem: on Riemannian manifolds,<br />

Lie groups, and symmetric spaces. J. Dynam. Control Systems, 1(2):177–202, 1995.<br />

[6] M.P.doCarmo.Riemannian geometry. Birkhauser, Boston, 1992.<br />

[7] G. E. Farin. Curves and surfaces <strong>for</strong> computer aided geometric design : a practical guide.<br />

Academic Press, Boston, 3 edition, 1992.<br />

[8] J. Gallier. Curves and Surfaces in Geometric Modeling - Theory and Algorithms. Morgan<br />

Kaufmann Publishers, San Francisco, CA, 2000.<br />

[9] Q. J. Ge and B. Ravani. Computer aided geometric design of <strong>motion</strong> interpolants. ASME<br />

Journal of Mechanical Design, 116:756–762, 1994.<br />

27


[10] Q. J. Ge and B. Ravani. Geometric construction of Bezier <strong>motion</strong>s. ASME Journal of Mechanical<br />

Design, 116:749–755, 1994.<br />

[11] J. Hoschek and D. Lasser. Fundamentals of Computer Aided Geometric Design. AK Peters,<br />

1993.<br />

[12] B. Jütler. Visualization of moving objects using dual quaternion curves. Computers and<br />

graphics, 18(3):315–326, 1994.<br />

[13] N. E. Leonard. Stability of a bottom-heavy underwater vehicle. Automatica, 33(3):331–346,<br />

1997.<br />

[14] R. M. Murray, Z. Li, and S. S. Sastry. A Mathematical Introduction to Robotic Manipulation.<br />

CRC Press, 1994.<br />

[15] L. Noakes, G. Heinzinger, and B. Paden. Cubic splines on curved spaces. IMAJ.ofMath.<br />

Control & In<strong>for</strong>mation, 6:465–473, 1989.<br />

[16] F. C. Park and I. G. Kang. Cubic <strong>interpolation</strong> on the rotation group using Cayley parameters.<br />

In Proceedings of the ASME 24th Biennial Mechanisms Conference, Irvine, CA, 1996.<br />

[17] F. C. Park and B. Ravani. Bezier curves on Riemannian manifolds and Lie groups with kinematics<br />

applications. ASME Journal of Mechanical Design, 117(1):36–40, 1995.<br />

[18] K. Shoemake. Animating rotation with quaternion curves. ACM Siggraph, 19(3):245–254,<br />

1985.<br />

[19] M. Žefran and V. Kumar. Interpolation schemes <strong>for</strong> <strong>rigid</strong> <strong>body</strong> <strong>motion</strong>s. Computer-Aided<br />

Design, 30(3), 1998.<br />

[20] M. Žefran, V. Kumar, and C. Croke. On the generation of smooth three-dimensional <strong>rigid</strong><br />

<strong>body</strong> <strong>motion</strong>s. IEEE Transactions on Robotics and Automation, 14(4):579–589, 1995.<br />

[21] M. Žefran, V. Kumar, and C. Croke. Choice of Riemannian <strong>metrics</strong> <strong>for</strong> <strong>rigid</strong> <strong>body</strong> kinematics.<br />

In Proceedings of the ASME 24th Biennial Mechanisms Conference, Irvine, CA, 1996.<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!