29
Geometric Fundamentals in Robotics Rigid Motions in R 3 Basilio Bona DAUIN-Politecnico di Torino July 2009 Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 1 / 29

Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

  • Upload
    trandan

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Geometric Fundamentals in RoboticsRigid Motions in R

3

Basilio Bona

DAUIN-Politecnico di Torino

July 2009

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 1 / 29

Page 2: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Introduction

Isometries are transformations that preserve distances: if g is an isometrictransformation that takes a point P and transforms in into another point

g(P), then∥

−−−→P1P2

∥=

−−−−−−−−→g(P1)g(P2)

∥.

Rigid motions in R3 are a special type of isometry applied to rigid bodies.

In other words, rigid motions act on orthogonal right-hand RF, movingtheir origin and changing their orientation (wrt to a “fixed” referenceframe), but maintaining the unit vectors length.

Moreover, the RF does not change “handedness”.

Rigid motions include rotations and translations, while isometries, inaddition to these, include also reflections, that reverse RF’s.

Reflections are not physically admissible and will not be treated hererotations have been considered elsewhere, so now we will briefly introducetranslations.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 2 / 29

Page 3: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Translations

A translation is a rigid motion that takes the origin A of a RF and moves

it to a new origin B such that−→AB = tab. If we call Ra the original RF and

Rb the new one, we define symbolically the translation as the operator

Ra(A, i, j, k) → Rb(A + tab, i, j, k) = Rb(B , i, j, k)

If a geometric point P in Rb is described by the vector−→BP = pb, the

representation of the same point in Ra is

pa = Trasl(pb, tab) = pb + tab

Then one can conclude that the translation operator is represented by thevector sum.

Composition of translations is simply the sum of its representation

Trasl(v, tab) · · ·Trasl(v, tyz) = Trasl(v, (tab + · · · + tyz))

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 3 / 29

Page 4: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

While a rotation is a linear transformation (it is represented by a matrix),a translation is not. Indeed, applying the definition of linear transformationwe see that

λ1(a + t) + λ2(b + t) = λ1a + λ2b + (λ1 + λ2)t

andλ1(a + t1) + λ2(a + t2) = (λ1 + λ2)a + λ1t1 + λ2t2

The two relations are equal only under the additional constraintλ1 + λ2 = 1; this fact characterize the invariance property of affine spaces[Gallier].

Affine spaces, barycentric coordinates, and homogeneous coordinates arestrictly connected, but this issue will be further investigated in anotherpart of the course.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 4 / 29

Page 5: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Roto-translations

We have already seen that a rotation is represented by a (orthogonal)matrix R, that transforms vectors as va = Rabvb.

We use the matrix product for rotations and the vector sum fortranslations, i.e., a vector vb in a RF Rb that is roto-translated wrt Ra, isrepresented in Ra by

va = Rabvb + tab

Figure: A roto-translation.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 5 / 29

Page 6: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

We can transform this nonlinear mapping into a linear one, embedding thespace R

n into Rn+1, using the homogeneous coordinates (see related

slides).

Given a vector v ∈ R3, its homogeneous representation (or homogeneous

coordinates) is written as v, where

v =

wv1

wv2

wv3

w

→ v =

v1/v4

v2/v4

v3/v4

usually we choose w = 1, yielding

v =

v1

v2

v3

1

→ v =

v1

v2

v3

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 6 / 29

Page 7: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Using homogeneous vector representation, the generic displacement (R, t)(also called a roto-translation) is given by the following homogeneousmatrix

H ≡ H(R, t) =

[

R t

0T 1

]

since

Hv =

[

R t

0T 1

]

[

v1

]

= Rv + t

A configuration of the system consists of the pair (R, t), and theconfiguration space of the system is the product space called SE (3)

SE (3) ={

(R, t) : t ∈ R3,R ∈ SO(3)

}

= R3 × SO(3)

SE (3) is called the Euclidean group of dimension 3.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 7 / 29

Page 8: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

A roto-translation is composed by a translation followed by a rotation wrtthe mobile RF.

Figure: A roto-translation factorization.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 8 / 29

Page 9: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

From the homogeneous matrix it is possible to compute the 6 parametersof a rigid body.

Figure: A homogeneous matrix.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 9 / 29

Page 10: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Twists

Consider the following Figure, where a) represents a rigid body thatrotates and b) a rigid body that translates around/along a unit axis u; q isa point on the axis, while p is a point of the rigid body.

Figure: a) Rotation; b) Translation.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 10 / 29

Page 11: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Assuming the first case a) i.e., that the body rotates at unit velocity

(ω = u, θ = 1), the velocity of point p is given by

p(t) = ω × (p(t) − q) = ω × p(t) − ω × q

that can be expressed in homogeneous coordinates, defining a new matrixT, called twist, as

T =

[

S(ω) −ω × q

0T 0

]

since

p1

p2

p3

0

= ˙p = Tp =

[

S(ω) −ω × q

0T 0

] [

p1

]

If we set v = −ω × q, we can write

T =

[

S(ω) v

0T 0

]

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 11 / 29

Page 12: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Assuming the second case b) i.e., that the body translates at unit velocity(v = u, v = 1), the velocity of point p is given by

p(t) = v

Here the twist matrix is

T =

[

O v

0T 0

]

In analogy with the definition of so(3), we define

se(3) :={

(v,S(ω)) : v ∈ R3; S(ω) ∈ so(3)

}

and, in homogeneous coordinates, the twist T is

T =

[

S(ω) v

0T 0

]

⊂ se(3) ∈ R4×4

(v,ω) are called the twist coordinates of T, and are indicated also as

V =[

v ω

]T.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 12 / 29

Page 13: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Considering the spatial twist coordinates and the body twist coordinates

Vsab =

[

vsab ω

sab

]TVb

ab =[

vbab ω

bab

]T

the following adjoint transformation can be defined

[

vsab

ωsab

]

= A

[

vbab

ωbab

]

where A is a 6 × 6 matrix given as

[

Rab S(tab)Rab

O Rab

]

and tab is the translation between the two RF’s.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 13 / 29

Page 14: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

As so(3) is the infinitesimal generator of SO(3), the twist T(3) is theinfinitesimal generator of the (special) Euclidean group SE (3).

Given a twist T ∈ se(3), and θ ∈ R1, the exponential of T is an element of

SE (3), i.e.,

eTθ ∈ SE (3)

where θ is the total amount of rotation and/or the total amount oftranslation

Case 1): (ω = 0)

eTθ =

[

I vθ

0T 1

]

Case 2): (ω = u 6= 0,)

eTθ =

[

eS(uθ) t

0T 1

]

wheret = (I − eS(uθ))(ω × v) + ωω

Tvθ

is a translation (integral of a linear velocity).

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 14 / 29

Page 15: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

The transformation g = eTθ is different from the exponential of theskew-symmetric matrix S, R(u, θ) = eS(u)θ since it shall be interpreted,not as a transformation mapping from one RF to another, but rather as amapping from the initial homogeneous coordinates p(0) to the final ones(expressed in the same inertial RF)

p(θ) = eTθp(0)

where θ is normalized time, since we assumed unit velocities.

Thus the exponential map for a twist gives the relative motion of a rigidbody.

We conclude saying that every rigid displacement can be represented as theexponential of some twist, i.e., given a g = (R, t) there exists T ∈ (3) andθ ∈ R

1 such that g = eTθ. The proof is constructive and will be omitted.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 15 / 29

Page 16: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Summary table

so(3) S(ω) =

0 −ω3 ω2

ω3 0 −ω1

−ω2 ω1 0

SO(3) R(u, θ) = eS(ω) = eS(u)θ =∞∑

k=0

1

k!Sk(u)θ

se(3) T =

[

S(ω) v

0T 1

]

SE (3) H = eTθ =

[

eS(u)θ t

0T 1

]

ω = θu; v = vu; t = (I − eS(u)θ)(ω × v) + ωωTvθ

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 16 / 29

Page 17: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Screws

The notion of screw is introduced here only for completeness, but will notbe detailed.

Screws are useful as a geometrical descriptions of twists and wrenches(yet to be defined) that provide a characterization of the power exchangedwhen the robot is in contact with the environment, as in the case ofrobotic manipulation.

The Chasles/Mozzi theorem says that the most general rigid bodydisplacement can be reduced to a translation along a line followed (orpreceded) by a rotation about that line.

Because this displacement is reminiscent of the displacement of a screw, itis called a screw displacement, and the line or axis is called the screw axis.

The proof is omitted, but it derives from a suitable factorization of ageneric homogeneous transformation

H =

[

R t

0T 1

]

→ H′ =

[

R′ t′

0T 1

]

; R′ = Rot(k, θ); t′ =[

0 0 t]

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 17 / 29

Page 18: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Figure: The geometry of a screw.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 18 / 29

Page 19: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Wrenches

A wrench is a vector F ∈ R6 defined as

F =

[

]

where f ia a force vector and τ is a torque vector. Similarly to a twist thatis described by a screw, also a wrench may be described by a screw.

Indeed a theorem dual to Mozzi/Chasles theorem exists, called Poinsot’stheorem that assert that every wrench is equivalent to a force and torqueapplied along the same axis.

The dot product between twists and wrenches gives the instantaneouspower associated to a motion of a rigid body by an applied force. Awrench F is said to be reciprocal to a twist V if

F · V = 0

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 19 / 29

Page 20: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

A note on complex, double and dual numbers

Reference

Kantor and Solodovnikov, Hypercomplex Numbers: An ElementaryIntroduction to Algebras. Springer 1989.

Planar rotations are often represented using the complex number algebra,since it is well known that a unit complex number

r = rT1 + jr2 = ejθ, ‖r‖2 = r2

1 + r22 = 1

act as a “rotator” in the plane, i.e., taking a generic complex number

c = x + jy , that represents the point (or vector) c =[

x y]T

, the complexproduct rc produces a new vector c ′ with the same norm, but rotatedcounterclockwise by an angle equal to the rotator phase θ.

c = ‖c‖ ejα → c ′ = rc = ‖c‖ ej(α+θ)

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 20 / 29

Page 21: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

One particularly elegant representation interprets each complex number asa 2 × 2 matrix with real entries which stretches and rotates the points ofthe plane. Every such matrix has the form

[

a −bb a

]

[

c −ss c

]

→ r = cos θ + j sin θ

hence[

a −bb a

]

= a

[

1 00 1

]

+ b

[

0 −11 0

]

So we can associate

1 →

[

1 00 1

]

j →

[

0 −11 0

]

where the 2 × 2 matrix representing j is a +π/2 rotation in the plane.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 21 / 29

Page 22: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Figure: Complex numbers as 2 × 2 matrices.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 22 / 29

Page 23: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Generalized imaginary unit

Without entering into details, we can state that if we take two numbersa + bj and c + d j and their product

ac + ad j + bc j + bd j2

and try to generalize the value of j2, only three number systems emerge

1 numbers a + bj, with j2 = −1 (the complex numbers)

2 numbers a + bj, with j2 = 0 (the so-called dual numbers)

3 numbers a + bj, with j2 = 1 (the so-called double or split-complexnumbers)

Unlike complex numbers, dual and double numbers do not, in general,admit division.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 23 / 29

Page 24: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Dual numbers

Every dual number has the form

z = a + εb with ε2 = 0

with a and b uniquely determined real numbers.

Using matrices, ε can be represented by the matrix

[

0 10 0

]

and z by the

matrix

z =

[

a b0 a

]

The sum and product of dual numbers are computed with ordinary matrixaddition and matrix multiplication; both operations are commutative andassociative. This procedure is analogous to matrix representation ofcomplex numbers.

Geometrically a unit dual number (a2 + b2 = 1) is a planar sheartransformation.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 24 / 29

Page 25: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Double numbers

Double numbers aka split-complex numbers (or hyperbolic numbers) are anumber system where numbers have the form

z = a + Jb J2 = 1

The use of split-complex numbers dates back to 1848 when James Cocklenamed them “Tessarines”.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 25 / 29

Page 26: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

William Clifford pointed out the inadequacy of simple algebraic entities,like scalars and vectors, to represent important mechanical quantities andbehaviours.

Vectors well describe directed entities not associated to a particularposition, like translations and couples. Nevertheless, there are mechnicalquantities where position is important, as a rotational velocity of a rigidbody around a definite axis, or a force on a rigid body, acting along aparticular line of action.

Clifford introduced the term rotor to quantities that have magnitude,direction and a position constrained to lie along an axis.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 26 / 29

Page 27: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

William Clifford used double numbers to represent sums of spins. Cliffordintroduced the use of double numbers as coefficients in a quaternionalgebra now called split-biquaternions.

He called its elements motors, a term in parallel with the “rotor” action ofan ordinary complex number taken from the circle group. Extending theanalogy, functions of a motor variable contrast to functions of an ordinarycomplex variable.

In the XX-century the double numbers became common to describe theLorentz boosts of special relativity, in a spacetime plane, because avelocity change between frames of reference is essentially the action of ahyperbolic versor in a space of mixed signature.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 27 / 29

Page 28: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

Figure: Unit complex, dual and double numbers multiplication.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 28 / 29

Page 29: Geometric Fundamentals in Robotics Rigid Motions in R3 · Geometric Fundamentals in Robotics Rigid Motions in R3 ... Indeed a theorem dual to Mozzi/Chasles theorem ... Geometric Fundamentals

References

[Gallier] J. Gallier, Geometric methods and applications. Springer, 2001.

Basilio Bona (DAUIN-Politecnico di Torino) Rigid motions July 2009 29 / 29