* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download if g is an isometric transformation that takes a point P an
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
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