ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion

ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us