Download if g is an isometric transformation that takes a point P an

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Matrix (mathematics) wikipedia , lookup

Jordan normal form wikipedia , lookup

Euclidean vector wikipedia , lookup

Vector space wikipedia , lookup

Laplace–Runge–Lenz vector wikipedia , lookup

Eigenvalues and eigenvectors wikipedia , lookup

Perron–Frobenius theorem wikipedia , lookup

Non-negative matrix factorization wikipedia , lookup

Singular-value decomposition wikipedia , lookup

Gaussian elimination wikipedia , lookup

Rotation matrix wikipedia , lookup

Covariance and contravariance of vectors wikipedia , lookup

Cayley–Hamilton theorem wikipedia , lookup

Orthogonal matrix wikipedia , lookup

Matrix multiplication wikipedia , lookup

Matrix calculus wikipedia , lookup

Four-vector wikipedia , lookup

Transcript
Introduction
Isometries are transformations that preserve distances: if g is an
isometric
that
−−
transformation
−→ −−−−−−−→
takes a point P and transforms in into another point g(P ), then P1 P2 = 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, moving their origin and changing their orientation
(wrt to a “fixed” reference frame), but maintaining the unit vectors length.
Moreover, the RF does not change “handedness”.
Rigid motions include rotations and translations, while isometries, in addition to these,
include also reflections, that reverse RF’s.
Reflections are not physically admissible and will not be treated here rotations have been
considered elsewhere, so now we will briefly introduce translations.
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 = t ab . 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 + t ab , i , j , k ) = Rb (B, i , j , k )
−−→
If a geometric point P in Rb is described by the vector BP = p b , the representation of the
same point in Ra is
p a = Trasl(p b , t ab ) = p b + t ab
Then one can conclude that the translation operator is represented by the vector sum.
Composition of translations is simply the sum of its representation
Trasl(v , t ab ) · · · Trasl(v , t yz ) = Trasl(v , (t ab + · · · + t yz ))
While a rotation is a linear transformation (it is represented by a matrix), a translation is not.
Indeed, applying the definition of linear transformation we see that
λ1 (a + t) + λ2 (b + t) = λ1 a + λ2 b + (λ1 + λ2 )t
and
λ1 (a + t 1 ) + λ2 (a + t 2 ) = (λ1 + λ2 )a + λ1 t 1 + λ2 t 2
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 are strictly connected,
but this issue will be further investigated in another part of the course.
Roto-translations
We have already seen that a rotation is represented by a (orthogonal) matrix R, that transforms
vectors as v a = R ab v b .
We use the matrix product for rotations and the vector sum for translations, i.e., a vector v b
in a RF Rb that is roto-translated wrt Ra , is represented in Ra by
v a = R ab v b + t ab
We can transform this nonlinear mapping into a linear one, embedding the space Rn into Rn+1 ,
using the homogeneous coordinates (see related slides).
Given a vector v ∈ R3 , its homogeneous representation (or homogeneous coordinates) is written
as ṽ , where


"
#
wv1
ṽ1 /ṽ4
wv2 
ṽ = 
→ v = ṽ2 /ṽ4
wv3 
ṽ3 /ṽ4
w
Figure 1: A roto-translation.
usually we choose w = 1, yielding
 
" #
v1
v1
v2 
ṽ =   → v = v2
v3
v3
1
Using homogeneous vector representation, the generic displacement (R, t) (also called a rototranslation) is given by the following homogeneous matrix
H ≡ H (R, t) =
since
H ṽ =
"
R
0T
"
R
t
0T
1
#
# v
= Rv + t
1 1
t
A configuration of the system consists of the pair (R, t), and the configuration 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.
A roto-translation is composed by a translation followed by a rotation wrt the mobile RF.
Figure 2: A roto-translation factorization.
From the homogeneous matrix it is possible to compute the 6 parameters of a rigid body.
Twists
2
Figure 3: A homogeneous matrix.
Figure 4: a) Rotation; b) Translation.
Consider the following Figure, where a) represents a rigid body that rotates and b) a rigid
body that translates around/along a unit axis u; q is a point on the axis, while p is a point of
the rigid body.
Assuming the first case a) i.e., that the body rotates at unit velocity (ω = u , θ̇ = 1), the
velocity of point p is given by
ṗ(t) = ω × (p(t) − q ) = ω × p(t) − ω × q
that can be expressed in homogeneous coordinates, defining a new matrix T , called twist, as
S (ω) −ω × q
T =
0T
0
since
 
ṗ1
S (ω) −ω × q p
ṗ2 
˙
=
p̃
=
T
p̃
=
ṗ 
1
0T
0
3
0
If we set v = −ω × q , we can write
T =
S (ω) v
0T
0
3
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
ṗ(t) = v
Here the twist matrix is
O v
T = T
0
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
S (ω) v
T =
⊂ se(3) ∈ R4×4
0T
0
(v , ω) are called the twist coordinates of T , and are indicated also as V = [v
Considering the spatial twist coordinates and the body twist coordinates
T
T
V sab = [v sab ω sab ]
V bab = v bab ω bab
T
ω] .
the following adjoint transformation can be defined
s b v ab
v ab
=
A
ω sab
ωbab
where A is a 6 × 6 matrix given as
Rab
O
S (t ab )R ab
Rab
and t ab is the translation between the two RF’s.
As so(3) is the infinitesimal generator of SO(3), the twist T (3) is the infinitesimal 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 of translation
Case 1): (ω = 0)
"
#
I vθ
Tθ
e = T
0
1
Case 2): (ω = u 6= 0,)
eT θ =
"
#
eS (uθ)
t̄
0T
1
where
t̄ = (I − eS (uθ) )(ω × v ) + ωω T v θ
is a translation (integral of a linear velocity).
The transformation g = eT θ is different from the exponential of the skew-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 a mapping 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 rigid body.
We conclude saying that every rigid displacement can be represented as the exponential of
some twist, i.e., given a g = (R, t) there exists T ∈ (3) and θ ∈ R1 such that g = eT θ . The proof
is constructive and will be omitted.
4
Summary table
so(3)
0
S (ω) = ω3
−ω2
SO(3)
R(u, θ) = eS (ω) = eS (u)θ =
se(3)
−ω3
0
ω1
"
T =
"
S (ω)
v
0T
SE(3) H = e
Tθ
ω = θu;
=
1
"
ω2
−ω1
0
#
∞ 1
P
S k (u )θ
k!
k=0
#
eS (u)θ
t̄
0T
1
v = vu ;
#
t̄ = (I − eS (u )θ )(ω × v ) + ωω T v θ
Screws
The notion of screw is introduced here only for completeness, but will not be detailed.
Screws are useful as a geometrical descriptions of twists and wrenches (yet to be defined)
that provide a characterization of the power exchanged when the robot is in contact with the
environment, as in the case of robotic manipulation.
The Chasles/Mozzi theorem says that the most general rigid body displacement can be reduced
to a translation along a line followed (or preceded) by a rotation about that line.
Because this displacement is reminiscent of the displacement of a screw, it is 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 a generic homogeneous
transformation
"
#
" ′
#
R t
R t′
′
H = T
→H = T
; R′ = Rot(k , θ); t ′ = [0 0 t]
0
1
0
1
Figure 5: The geometry of a screw.
5
Wrenches
A wrench is a vector F ∈ R6 defined as
F =
f
τ
where f ia a force vector and τ is a torque vector. Similarly to a twist that is described by a
screw, also a wrench may be described by a screw.
Indeed a theorem dual to Mozzi/Chasles theorem exists, called Poinsot’s theorem that assert
that every wrench is equivalent to a force and torque applied along the same axis.
The dot product between twists and wrenches gives the instantaneous power associated to a
motion of a rigid body by an applied force. A wrench F is said to be reciprocal to a twist V if
F ·V =0
A note on complex, double and dual numbers
Reference
Kantor and Solodovnikov, Hypercomplex Numbers: An Elementary Introduction to Algebras. Springer
1989.
Planar rotations are often represented using the complex number algebra, since it is well known
that a unit complex number
2
r = r1T + jr2 = ejθ ,
krk = r12 + r22 = 1
act as a “rotator” in the plane, i.e., taking a generic complex number c = x + jy, that represents
T
the point (or vector) c = [x y] , the complex product rc produces a new vector c′ with the same
norm, but rotated counterclockwise by an angle equal to the rotator phase θ.
c = kck ejα
→ c′ = rc = kck ej(α+θ)
One particularly elegant representation interprets each complex number as a 2 × 2 matrix with
real entries which stretches and rotates the points of the plane. Every such matrix has the form
a −b
c −s
→
→ r = cos θ + j sin θ
b a
s c
hence
So we can associate
a
b
−b
1
=a
a
0
1→
1
0
0
0
+b
1
1
0
1
j→
0
1
−1
0
−1
0
where the 2 × 2 matrix representing j is a +π/2 rotation in the plane.
Generalized imaginary unit
Without entering into details, we can state that if we take two numbers a + bj and c + dj and
their product
ac + adj + bcj + bdj2
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-complex numbers)
Unlike complex numbers, dual and double numbers do not, in general, admit division.
6
Figure 6: Complex numbers as 2 × 2 matrices.
Dual numbers
Every dual number has the form
with ε2 = 0
z = a + εb
with a and b uniquely determined real numbers.
Using matrices, ε can be represented by the matrix
a b
z=
0 a
0 1
and z by the matrix
0 0
The sum and product of dual numbers are computed with ordinary matrix addition and matrix
multiplication; both operations are commutative and associative. This procedure is analogous to
matrix representation of complex numbers.
Geometrically a unit dual number (a2 + b2 = 1) is a planar shear transformation.
Double numbers
Double numbers aka split-complex numbers (or hyperbolic numbers) are a number system
where numbers have the form
z = a + Jb J2 = 1
The use of split-complex numbers dates back to 1848 when James Cockle named them “Tessarines”.
William Clifford pointed out the inadequacy of simple algebraic entities, like scalars and vectors,
to represent important mechanical quantities and behaviours.
Vectors well describe directed entities not associated to a particular position, like translations
and couples. Nevertheless, there are mechnical quantities where position is important, as a rotational velocity of a rigid body around a definite axis, or a force on a rigid body, acting along a
particular line of action.
Clifford introduced the term rotor to quantities that have magnitude, direction and a position
constrained to lie along an axis.
William Clifford used double numbers to represent sums of spins. Clifford introduced the use
of double numbers as coefficients in a quaternion algebra now called split-biquaternions.
He called its elements motors, a term in parallel with the “rotor” action of an ordinary complex
number taken from the circle group. Extending the analogy, functions of a motor variable contrast
to functions of an ordinary complex variable.
In the XX-century the double numbers became common to describe the Lorentz boosts of
special relativity, in a spacetime plane, because a velocity change between frames of reference is
essentially the action of a hyperbolic versor in a space of mixed signature.
7
Figure 7: Unit complex, dual and double numbers multiplication.
References
[Gallier] J. Gallier, Geometric methods and applications. Springer, 2001.
8