6. Representing Rotation

Similar documents
Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Mechanics lecture 7 Moment of a force, torque, equilibrium of a body

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Vector has a magnitude and a direction. Scalar has a magnitude

Metrics on SO(3) and Inverse Kinematics

Vector Math Computer Graphics Scott D. Anderson

Kinematics of Robots. Alba Perez Gracia

Let s first see how precession works in quantitative detail. The system is illustrated below: ...

Unified Lecture # 4 Vectors

APPLIED MATHEMATICS ADVANCED LEVEL

Rotation: Moment of Inertia and Torque

Geometric Transformations

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

Solving Simultaneous Equations and Matrices

Chapter 17. Orthogonal Matrices and Symmetries of Space

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Figure 1.1 Vector A and Vector F

Rotation Matrices and Homogeneous Transformations

THEORETICAL MECHANICS

(Most of the material presented in this chapter is taken from Thornton and Marion, Chap. 7)

ME 115(b): Solution to Homework #1

Essential Mathematics for Computer Graphics fast

Structural Axial, Shear and Bending Moments

Introduction to Engineering Analysis - ENGR1100 Course Description and Syllabus Monday / Thursday Sections. Fall '15.

FRICTION, WORK, AND THE INCLINED PLANE

Lecture L6 - Intrinsic Coordinates

521493S Computer Graphics. Exercise 2 & course schedule change

Torque Analyses of a Sliding Ladder

Chapter 11 Equilibrium

State of Stress at Point

Elasticity Theory Basics

Linear Algebra Notes for Marsden and Tromba Vector Calculus

On Motion of Robot End-Effector using the Curvature Theory of Timelike Ruled Surfaces with Timelike Directrix

Section 1.1. Introduction to R n

Kinematical Animation

Lecture L22-2D Rigid Body Dynamics: Work and Energy

Physics 1A Lecture 10C

Continuous Groups, Lie Groups, and Lie Algebras

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Chapter 10 Rotational Motion. Copyright 2009 Pearson Education, Inc.

Isaac Newton s ( ) Laws of Motion

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

Lecture 2: Homogeneous Coordinates, Lines and Conics

LS.6 Solution Matrices

Vector Algebra II: Scalar and Vector Products

Physics 41 HW Set 1 Chapter 15

Lecture 07: Work and Kinetic Energy. Physics 2210 Fall Semester 2014

x1 x 2 x 3 y 1 y 2 y 3 x 1 y 2 x 2 y 1 0.

Basic CAD/CAM. CHAPTER 5: Geometric Transformation

[1] Diagonal factorization

Kyu-Jung Kim Mechanical Engineering Department, California State Polytechnic University, Pomona, U.S.A.

Chapter 9 Unitary Groups and SU(N)

2 Session Two - Complex Numbers and Vectors

Geometry for Computer Graphics

Rigid body dynamics using Euler s equations, Runge-Kutta and quaternions.

FURTHER VECTORS (MEI)

CBE 6333, R. Levicky 1 Differential Balance Equations

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Center of Gravity. We touched on this briefly in chapter 7! x 2

Path Tracking for a Miniature Robot

ACTUATOR DESIGN FOR ARC WELDING ROBOT

Lectures notes on orthogonal matrices (with exercises) Linear Algebra II - Spring 2004 by D. Klain

Displacement (x) Velocity (v) Acceleration (a) x = f(t) differentiate v = dx Acceleration Velocity (v) Displacement x

Vectors VECTOR PRODUCT. Graham S McDonald. A Tutorial Module for learning about the vector product of two vectors. Table of contents Begin Tutorial

Lecture L5 - Other Coordinate Systems

Cross product and determinants (Sect. 12.4) Two main ways to introduce the cross product

Interactive Computer Graphics

The elements used in commercial codes can be classified in two basic categories:

VELOCITY, ACCELERATION, FORCE

Inner product. Definition of inner product

Analysis of Stresses and Strains

Physics Midterm Review Packet January 2010

11. Rotation Translational Motion: Rotational Motion:

F Matrix Calculus F 1

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

A vector is a directed line segment used to represent a vector quantity.

Force on Moving Charges in a Magnetic Field

Vectors 2. The METRIC Project, Imperial College. Imperial College of Science Technology and Medicine, 1996.

6. Vectors Scott Surgent (surgent@asu.edu)

Synthesis of Constrained nr Planar Robots to Reach Five Task Positions

28 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE. v x. u y v z u z v y u y u z. v y v z

Lecture L30-3D Rigid Body Dynamics: Tops and Gyroscopes

Differentiation of vectors

Vector surface area Differentials in an OCS

Computing Euler angles from a rotation matrix

Vector Algebra. Addition: (A + B) + C = A + (B + C) (associative) Subtraction: A B = A + (-B)

Dynamics of Rotational Motion

Lecture 3: Coordinate Systems and Transformations

Mathematics I, II and III (9465, 9470, and 9475)

Unit 3 (Review of) Language of Stress/Strain Analysis

Linear Programming. March 14, 2014

Review A: Vector Analysis

Bachelor Degree in Business Administration Academic year 2015/16

Review of Vector Analysis in Cartesian Coordinates

α = u v. In other words, Orthogonal Projection

Copyright 2011 Casa Software Ltd. Centre of Mass

Eðlisfræði 2, vor 2007

Transcription:

6. Representing Rotation Mechanics of Manipulation Matt Mason matt.mason@cs.cmu.edu http://www.cs.cmu.edu/~mason Carnegie Mellon Lecture 6. Mechanics of Manipulation p.1

Lecture 6. Representing Rotation. Chapter 1 Manipulation 1 1.1 Case 1: Manipulation by a human 1 1.2 Case 2: An automated assembly system 3 1.3 Issues in manipulation 5 1.4 A taxonomy of manipulation techniques 7 1.5 Bibliographic notes 8 Exercises 8 Chapter 2 Kinematics 11 2.1 Preliminaries 11 2.2 Planar kinematics 15 2.3 Spherical kinematics 20 2.4 Spatial kinematics 22 2.5 Kinematic constraint 25 2.6 Kinematic mechanisms 34 2.7 Bibliographic notes 36 Exercises 37 Chapter 3 Kinematic Representation 41 3.1 Representation of spatial rotations 41 3.2 Representation of spatial displacements 58 3.3 Kinematic constraints 68 3.4 Bibliographic notes 72 Exercises 72 Chapter 4 Kinematic Manipulation 77 4.1 Path planning 77 4.2 Path planning for nonholonomic systems 84 4.3 Kinematic models of contact 86 4.4 Bibliographic notes 88 Exercises 88 Chapter 5 Rigid Body Statics 93 5.1 Forces acting on rigid bodies 93 5.2 Polyhedral convex cones 99 5.3 Contact wrenches and wrench cones 102 5.4 Cones in velocity twist space 104 5.5 The oriented plane 105 5.6 Instantaneous centers and Reuleaux s method 109 5.7 Line of force; moment labeling 110 5.8 Force dual 112 5.9 Summary 117 5.10 Bibliographic notes 117 Exercises 118 Chapter 6 Friction 121 6.1 Coulomb s Law 121 6.2 Single degree-of-freedom problems 123 6.3 Planar single contact problems 126 6.4 Graphical representation of friction cones 127 6.5 Static equilibrium problems 128 6.6 Planar sliding 130 6.7 Bibliographic notes 139 Exercises 139 Chapter 7 Quasistatic Manipulation 143 7.1 Grasping and fixturing 143 7.2 Pushing 147 7.3 Stable pushing 153 7.4 Parts orienting 162 7.5 Assembly 168 7.6 Bibliographic notes 173 Exercises 175 Chapter 8 Dynamics 181 8.1 Newton s laws 181 8.2 A particle in three dimensions 181 8.3 Moment of force; moment of momentum 183 8.4 Dynamics of a system of particles 184 8.5 Rigid body dynamics 186 8.6 The angular inertia matrix 189 8.7 Motion of a freely rotating body 195 8.8 Planar single contact problems 197 8.9 Graphical methods for the plane 203 8.10 Planar multiple-contact problems 205 8.11 Bibliographic notes 207 Exercises 208 Chapter 9 Impact 211 9.1 A particle 211 9.2 Rigid body impact 217 9.3 Bibliographic notes 223 Exercises 223 Chapter 10 Dynamic Manipulation 225 10.1 Quasidynamic manipulation 225 10.2 Brie y dynamic manipulation 229 10.3 Continuously dynamic manipulation 230 10.4 Bibliographic notes 232 Exercises 235 Appendix A Infinity 237 Lecture 6. Mechanics of Manipulation p.2

Outline. Generalities Axis-angle Rodrigues s formula Rotation matrices Euler angles Lecture 6. Mechanics of Manipulation p.3

Why representing rotations is hard. Rotations do not commute. The topology of spatial rotations does not permit a smooth embedding in Euclidean three space. Lecture 6. Mechanics of Manipulation p.4

Choices More than three numbers Rotation matrices Unit quaternions. (aka Euler parameters) Many-to-one Axis times angle (matrix exponential) Unsmooth and many-to-one Euler angles Unsmooth and many-to-one and more than three numbers Axis-angle Lecture 6. Mechanics of Manipulation p.5

Axis-angle Recall Euler s theorem: every spatial rotation leaves a line of fixed points: the rotation axis. Let O, ˆn, θ, be... Let rot(ˆn, θ) be the corresponding rotation. Many to one: rot( ˆn, θ) = rot(ˆn, θ) rot(ˆn, θ + 2kπ) = rot(ˆn, θ), for any integer k. When θ = 0, the rotation axis is indeterminate, giving an infinityto-one mapping. n Lecture 6. Mechanics of Manipulation p.6

Representation What do we want from a representation? For a start: Rotate points; Rodrigues s formula Compose rotations; Using axis-angle? Ugh. (Convert to other representations.) Lecture 6. Mechanics of Manipulation p.7

Rodrigues s formula Others derive Rodrigues s formula using rotation matrices, missing the geometrical aspects. n n x n Given point x, decompose into components parallel and perpendicular to the rotation axis x = ˆn(ˆn x) ˆn (ˆn x) n n x n x x x Only x is affected by the rotation, yielding Rodrigues s formula: O x = ˆn(ˆn x)+sin θ (ˆn x) cos θ ˆn (ˆn x) A common variation: x = x+(sin θ) ˆn x+(1 cos θ) ˆn (ˆn x) Lecture 6. Mechanics of Manipulation p.8

Rotation matrices Choose O on rotation axis. Choose frame (û 1, û 2, û 3 ). Let (û 1, û 2, û 3) be the image of that frame. Write the û i vectors in û i coordinates, and collect them in a matrix: û 1 = a 11 a 21 = û 1 û 1 û 2 û 1 û 2 = a 31 a 12 a 22 = û 3 û 1 û 1 û 2 û 2 û 2 û 3 = a 32 a 13 a 23 = û 3 û 2 û 1 û 3 û 2 û 3 a 33 û 3 û 3 Lecture 6. Mechanics of Manipulation p.9

So many numbers A rotation matrix has nine numbers, but spatial rotations have only three degrees of freedom, leaving six excess numbers... There are six constraints that hold among the nine numbers. û 1 = û 2 = û 3 = 1 û 3 = û 1 û 2 i.e. the û i are unit vectors forming a right-handed coordinate system. Such matrices are called orthonormal or rotation matrices. Lecture 6. Mechanics of Manipulation p.10

Rotating a point Let (x 1, x 2, x 3 ) be coordinates of x in frame (û 1, û 2, û 3 ). Then x is given by the same coordinates taken in the (û 1, û 2, û 3) frame: x =x 1 û 1 + x 2 û 2 + x 3 û 3 =x 1 Aû 1 + x 2 Aû 2 + x 3 Aû 3 =A(x 1 û 1 + x 2 û 2 + x 3 û 3 ) =Ax So rotating a point is implemented by ordinary matrix multiplication. Lecture 6. Mechanics of Manipulation p.11

Rotating a point Let A and B be coordinate frames. Notation: x a point x A x a geometrical vector, directed from an origin O to the point x or, a vector of three numbers, representing x in an unspecified frame a vector of three numbers, representing x in the A frame Let B AR be the rotation matrix that rotates frame B to frame A. Then (see previous slide) B AR represents the rotation of the point x: B x = B AR B x Note presuperscripts all match. Both points, and xform, must be written in same coordinate frame. Lecture 6. Mechanics of Manipulation p.12

Coordinate transform There is another use for B A R: A x and B x represent the same point, in frames A and B resp. To transform from A to B: B x = B AR A x For coord xform, matrix subscript and vector superscript cancel. Rotation from B to A is the same as coordinate transform from A to B. Lecture 6. Mechanics of Manipulation p.13

Example rotation matrix B AR = = ( B x A B y A B z A ) 1 0 0 0 0 1 0 1 0 How to remember what B A R does? Pick a coordinate axis and see. The x axis isn t very interesting, so try y: 1 0 0 0 0 1 0 1 = 0 0 0 1 0 0 1 Lecture 6. Mechanics of Manipulation p.14

Nice things about rotation matrices Composition of rotations: {R 1 ; R 2 } = R 2 R 1. ({x; y} means do x then do y.) Inverse of rotation matrix is its transpose B A R 1 = A B R = B A RT. Coordinate xform of a rotation matrix: B R = B AR A R A BR Lecture 6. Mechanics of Manipulation p.15

Converting rot(ˆn, θ) to R Ugly way: define frame with ẑ aligned with ˆn, use coordinate xform of previous slide. Keen way: Rodrigues s formula! x = x + (sin θ) ˆn x + (1 cos θ) ˆn (ˆn x) Define cross product matrix N: N = 0 n 3 n 2 n 3 0 n 1 n 2 n 1 0 so that Nx = ˆn x Lecture 6. Mechanics of Manipulation p.16

... using Rodrigues s formula... Substituting the cross product matrix N into Rodrigues s formula: x = x + (sin θ)nx + (1 cos θ)n 2 x Factoring out x R = I + (sin θ)n + (1 cos θ)n 2 That s it! Rodrigues s formula in matrix form. If you want to you could expand it: n 2 1 + (1 n 2 1)cθ n 1 n 2 (1 cθ) n 3 sθ n 1 n 3 (1 cθ) + n 2 sθ n 1 n 2 (1 cθ) + n 3 sθ n 2 2 + (1 n 2 2)cθ n 2 n 3 (1 cθ) n 1 sθ n 1 n 3 (1 cθ) n 2 sθ n 2 n 3 (1 cθ) + n 1 sθ n 2 3 + (1 n 2 3)cθ where cθ = cos θ and sθ = sin θ. Ugly. Lecture 6. Mechanics of Manipulation p.17

Rodrigues s formula for differential rotations Consider Rodrigues s formula for a differential rotation rot(ˆn, dθ). so x =(I + sin dθn + (1 cos dθ)n 2 )x =(I + dθn)x dx =Nx dθ =ˆn x dθ It follows easily that differential rotations are vectors: you can scale them and add them up. We adopt the convention of representing angular velocity by the unit vector ˆn times the angular velocity. Lecture 6. Mechanics of Manipulation p.18

Converting from R to rot(ˆn, θ)... Problem: ˆn isn t defined for θ = 0. We will do it indirectly. Convert R to a unit quaternion (next lecture), then to axis-angle. Lecture 6. Mechanics of Manipulation p.19

Euler angles Three numbers to describe spatial rotations. ZY Z convention: (α, β, γ) rot(γ, ẑ ) rot(β, ŷ ) rot(α, ẑ) z z y Can we represent an arbitrary rotation? Rotate α about ẑ until ŷ ẑ ; Rotate β about ŷ until ẑ ẑ ; Rotate γ about ẑ until ŷ = ŷ. Note two choices for ŷ...... except sometimes infinite choices. x Lecture 6. Mechanics of Manipulation p.20 x y

From (α, β, γ) to R Expand rot(α, ẑ) rot(β, ŷ) rot(γ, ẑ) (Why is that the right order?) cα sα 0 sα cα 0 cβ 0 sβ 0 1 0 cγ sγ 0 sγ cγ 0 0 0 1 sβ 0 cβ 0 0 1 cα cβ cγ sα sγ cα cβ sγ sα cγ cα sβ = sα cβ cγ + cα sγ sα cβ sγ + cα cγ sα sβ sβ cγ sβ sγ cβ (1) Lecture 6. Mechanics of Manipulation p.21

From R to (α, β, γ) the ugly way Case 1: r 33 = 1, β = π. α γ is indeterminate. R = cos(α + γ) sin(α + γ) 0 sin(α + γ) cos(α + γ) 0 0 0 1 Case 2: r 33 = 1, β = π. α + γ is indeterminate. R = cos(α γ) sin(α γ) 0 sin(α γ) cos(α γ) 0 0 0 1 For generic case: solve 3rd column for β. (Sign is free choice.) Solve third column for α and third row for γ.... but there are numerical issues... Lecture 6. Mechanics of Manipulation p.22

From R to (α, β, γ) the clean way Let Then σ = α + γ δ = α γ r 22 + r 11 = cos σ(1 + cos β) r 22 r 11 = cos δ(1 cos β) r 21 + r 12 = sin δ(1 cos β) r 21 r 12 = sin σ(1 + cos β) (No special cases for cos β = ±1?) Solve for σ and δ, then for α and γ, then finally β = tan 1 Lecture 6. (r 13 cos α + r 23 sin α, r 33 ) Mechanics of Manipulation p.23

Next: Quaternions. Chapter 1 Manipulation 1 1.1 Case 1: Manipulation by a human 1 1.2 Case 2: An automated assembly system 3 1.3 Issues in manipulation 5 1.4 A taxonomy of manipulation techniques 7 1.5 Bibliographic notes 8 Exercises 8 Chapter 2 Kinematics 11 2.1 Preliminaries 11 2.2 Planar kinematics 15 2.3 Spherical kinematics 20 2.4 Spatial kinematics 22 2.5 Kinematic constraint 25 2.6 Kinematic mechanisms 34 2.7 Bibliographic notes 36 Exercises 37 Chapter 3 Kinematic Representation 41 3.1 Representation of spatial rotations 41 3.2 Representation of spatial displacements 58 3.3 Kinematic constraints 68 3.4 Bibliographic notes 72 Exercises 72 Chapter 4 Kinematic Manipulation 77 4.1 Path planning 77 4.2 Path planning for nonholonomic systems 84 4.3 Kinematic models of contact 86 4.4 Bibliographic notes 88 Exercises 88 Chapter 5 Rigid Body Statics 93 5.1 Forces acting on rigid bodies 93 5.2 Polyhedral convex cones 99 5.3 Contact wrenches and wrench cones 102 5.4 Cones in velocity twist space 104 5.5 The oriented plane 105 5.6 Instantaneous centers and Reuleaux s method 109 5.7 Line of force; moment labeling 110 5.8 Force dual 112 5.9 Summary 117 5.10 Bibliographic notes 117 Exercises 118 Chapter 6 Friction 121 6.1 Coulomb s Law 121 6.2 Single degree-of-freedom problems 123 6.3 Planar single contact problems 126 6.4 Graphical representation of friction cones 127 6.5 Static equilibrium problems 128 6.6 Planar sliding 130 6.7 Bibliographic notes 139 Exercises 139 Chapter 7 Quasistatic Manipulation 143 7.1 Grasping and fixturing 143 7.2 Pushing 147 7.3 Stable pushing 153 7.4 Parts orienting 162 7.5 Assembly 168 7.6 Bibliographic notes 173 Exercises 175 Chapter 8 Dynamics 181 8.1 Newton s laws 181 8.2 A particle in three dimensions 181 8.3 Moment of force; moment of momentum 183 8.4 Dynamics of a system of particles 184 8.5 Rigid body dynamics 186 8.6 The angular inertia matrix 189 8.7 Motion of a freely rotating body 195 8.8 Planar single contact problems 197 8.9 Graphical methods for the plane 203 8.10 Planar multiple-contact problems 205 8.11 Bibliographic notes 207 Exercises 208 Chapter 9 Impact 211 9.1 A particle 211 9.2 Rigid body impact 217 9.3 Bibliographic notes 223 Exercises 223 Chapter 10 Dynamic Manipulation 225 10.1 Quasidynamic manipulation 225 10.2 Brie y dynamic manipulation 229 10.3 Continuously dynamic manipulation 230 10.4 Bibliographic notes 232 Exercises 235 Appendix A Infinity 237 Lecture 6. Mechanics of Manipulation p.24