
ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 1 / 30 Outline Mathematics of Rigid Body Transformation • Rotation Matrix and SO(3) • Euler Angles and Euler-Like Parameterizations • Exponential Coordinate of SO(3) • Quaternion Representation of Rotation • Outline Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 2 / 30 Rigid Body Transformation Object (Body) in R3: a collection of points, represented by a subset O R3 • ⊂ Transformation of a body: A single mapping g : O 3 which maps the • R coordinates of points in the body from their initial to! final configurations. Transformation on points induce an action on vectors in a natural way. Given • a transformation g : O R3, define ! g^(v) g(q) g(p); where v = q p , − − - Note: g^ has a different domain than g Rigid Body Transformation Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 30 Rigid Body Transformation Rigid Body Transformation: A mapping g : R3 R3 is called a rigid body • transformation if it satisfies the following two properties! 3 1. Length preserved: g(q) g(p) = q p , for all p; q R k − k k − k 2 3 2. Cross product is preserved: g^(v w) =g ^(v) g^(w), for all v; w R . × × 2 Implications: • - Inner product is preserved: T T 3 g^(v) g^(w) = v w; for all v; w R 2 - Angles between vectors are preserved - Orthogonal vectors are transformed to orthogonal vectors - Right-handed coordinate frames are transformed to right-handed coordinate frames Rigid Body Transformation Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 4 / 30 Outline Mathematics of Rigid Body Transformation • Rotation Matrix and SO(3) • Euler Angles and Euler-Like Parameterizations • Exponential Coordinate of SO(3) • Quaternion Representation of Rotation • Rotation Matrix and SO(3) Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 5 / 30 Representation of Orientation 68 3.2. Rotations and Angular Velocities ˆxb ˆzb ˆy ˆzs b p ˆys ˆxs Basic Reference Frames:Figure 3.6: Mathematical description of position and orientation. • - Fixed (or Space)representation Frame of rotations: s is provided= ^xs by; ^y thes; exponential^zs coordinates, which define an axis of rotationf andg thef angle rotatedg about that axis. We leave other popular representations of orientations (the three-parameter Euler an- - Body Framegles: andb the=roll–pitch–yaw^xb; ^yb; ^zb angles, the Cayley–Rodrigues parameters, andf thegunitf quaternions, whichg use four variables subject to one constraint) to Appendix B. Let xsb, ysb andWez thensb examinebe the the six-parametercoordinate exponential of ^xb coordinates; ^yb; ^zb forin the frame config- s • uration of a rigid body that arise from integrating a six-dimensional twist con- f g sisting of the body’s angular and linear velocities. This representation follows from the Chasles–Mozzi theorem which states that every rigid-body displace- ment can be obtained by a finite rotation and translation about a fixed screw axis. We conclude with a discussion of forces and moments. Rather than treat these as separate three-dimensional quantities, we merge the moment and force vectors into a six-dimensional wrench. The twist and wrench, and rules for manipulating them, form the basis for the kinematic and dynamic analyses in subsequent chapters. Rotation Matrix and SO3.2(3) Rotations andLecture Angular 3 (ECE5463 Velocities Sp18) Wei Zhang(OSU) 6 / 30 3.2.1 Rotation Matrices We argued earlier that, of the nine entries in the rotation matrix R, only three can be chosen independently. We begin by expressing a set of six explicit con- straints on the entries of R. Recall that the three columns of R correspond to May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org Rotation Matrix Let R = x y z • sb sb sb sb Rsb constructed above is called a rotation matrix. We know: • T - RsbRsb = I - det(Rsb) = 1 Rotation Matrix and SO(3) Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 30 Special Orthogonal Group Special Orthogonal Group: Space of Rotation Matrices in n is defined as • R n×n T SO(n) = R R : RR = I; det(R) = 1 f 2 g SO(n) is a group. We are primarily interested in SO(3) and SO(2), rotation • groups of R3 and R2, respectively. Group is a set G, together with an operation , satisfying the following • group axioms: • - Closure: a G; b G a b G 2 2 ) • 2 - Associativity: (a b) c = a (b c); a; b; c G • • • • 8 2 - Identity element: e G such that e a = a, for all a G. 9 2 • 2 - Inverse element: For each a G, there is a b G such that a b = b a = e, 2 2 • • where e is the identity element. Rotation Matrix and SO(3) Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 8 / 30 Use of Rotation Matrix Representing an orientation: R = x y z • ab ab ab ab Changing the reference frame: • - pa = Rabpb - Rac = RabRbc Rotating a vector or a frame: • - Theorem (Euler):Any orientation R SO(3) is equivalent to a rotation about a 3 2 fixed axis !^ R through an angle θ [0; 2π) 2 2 R = Rot(^!; θ) Rotation Matrix and SO(3) Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 9 / 30 Pre-multiplication vs. Post-multiplication Given R SO(3), we can always find !^ and θ such that R = Rot(^!; θ). • 2 Premultiplying by R yields a rotation about an axis !^ considered in the fixed • frame; Postmultiplying by R yields a rotation about !^ considered in the body frame • Chapter 3. Rigid-Body Motions 75 ˆz ˆz ˆy 90◦ ˆx ˆy ˆx R =Rot(ˆz, 90◦) ˆzs ˆxb 90◦ ˆzs ˆxb Rsb = RRsb ˆy b fixed frame ˆyb b { } rotation ˆzb b s { } { } ˆxs ˆy s ˆzb 90◦ ˆxb ˆzb Rsb = RsbR b body frame { } rotation ˆzb ˆyb Figure 3.9: (Top) The rotation operator R = Rot(ˆz, 90◦) gives the orientation of the right-hand frame in the left-hand frame. (Bottom) On the left are shown a fixed frame s and a body frame b , which can be expressed as Rsb. The quantity RRsb { } { } rotates b by 90◦ about the fixed-frame axis ˆzs to b0 . The quantity RsbR rotates { } { } b by 90◦ about the body-frame axis ˆzb to b00 . Rotation{ } Matrix and SO(3) { } Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 10 / 30 frame after a rotation by θ aboutω ˆb =ω ˆ (the rotation axisω ˆ is considered to be in the body frame b ), representations of these new frames can be calculated as { } R = rotate by R in s frame (R ) = RR (3.23) sb0 { } sb sb R = rotate by R in b frame (R ) = R R. (3.24) sb00 { } sb sb In other words, premultiplying by R = Rot(ˆω, θ) yields a rotation about an axisω ˆ considered to be in the fixed frame, and postmultiplying by R yields a rotation aboutω ˆ considered as being in the body frame. Rotation by R in the s frame and in the b frame is illustrated in Fig- ure 3.9. { } { } To rotate a vector v, note that there is only one frame involved, the frame May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org Coordinate System for SO(3) How to parameterize the elements in SO(3)? • The definition of SO(3) corresponds to implicit representation: • 3×3 T R R ; RR = I; det(R) = 1 2 . - 6 independent equations with 9 unknowns - Dimension of SO(3) is 3. Rotation Matrix and SO(3) Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 11 / 30 Outline Mathematics of Rigid Body Transformation • Rotation Matrix and SO(3) • Euler Angles and Euler-Like Parameterizations • Exponential Coordinate of SO(3) • Quaternion Representation of Rotation • Euler Angles Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 30 Euler Angle Representation of RotationPARAMETERIZATIONS OF ROTATIONS 47 z0, za za zb zb, z1 φ ψ y1 ya ya, yb yb y0 θ x0 xa xa xb xb x1 (1)(2) (3) Euler angle representation: • Fig. 2.11 Euler angle representation. - Start with b coincident with s degrees-of-freedomf g and thus atf mostg three quantities are required to specify its orientation. This can be easily seen by examining the constraints that govern - Rotate b about ^zb by an angle α, then rotate about the (new) ^yb axis by β, thef matricesg in SO(3): and then rotate about the (new) ^zb axis by γ. This yields a net orientation R (α; β; γ) parameterized by the ZYZr2 angles= 1,(α; j β;1 γ,)2, 3 (2.25) sb ij ∈ { } i X r1ir1j + r2ir2j + r3ir3j = 0, i = j (2.26) - Rsb(α; β; γ) = Rz(α)Ry(β)Rz(γ) 6 Equation (2.25) follows from the fact the the columns of a rotation matrix are unit vectors, and Equation (2.26) follows from the fact that columns of a rotation matrix are mutually orthogonal. Together, these constraints define six independent equations with nine unknowns, which implies that there are three Euler Angles Lecture 3 (ECE5463 Sp18) Wei Zhang(OSU) 13 / 30 free variables. In this section we derive three ways in which an arbitrary rotation can be represented using only three independent quantities: the Euler Angle repre- sentation, the roll-pitch-yaw representation, and the axis/angle representa- tion. 2.5.1 Euler Angles A common method of specifying a rotation matrix in terms of three independent quantities is to use the so-called Euler Angles.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages30 Page
-
File Size-