220 likes | 264 Views
Learn to represent position and orientation, transform between coordinate systems, and use frames and homogeneous coordinates.
E N D
Objectives of the Lecture • Learn to represent position and orientation • Be able to transform between coordinate systems. • Use frames and homogeneous coordinates Reference: Craig, “Introduction to Robotics,” Chapter 2. Handout: Chapter 1 Almost any introductory book to robotics
Introduction • Robot manipulation implies movement in space • Coordinate systems are required for describing position/movement • Objective: describe rigid body motion • Starting point: there is a universe/ inertial/ stationary coordinate system, to which any other coordinate system can be referred
a coordinate system {A} ZA AP XA Representation of a Position • point = position vector ZB BP YA XB
z0 {A} y0 y1 x1 x0 z1 {B} Description of an Orientation Often a point is not enough: need orientation • In the example, a description of {B} with respect to {A} suffices to give orientation • Orientation = System of Coordinates • Directions of {B}: XB, YB & ZB • In {A} coord. system: AXB, AYB and AZB
{A} XB aZ aY aX YA XA From {B} to {A} We conclude:
Rotation Matrix • Stack three unit vectors to form Rotation Matrix • describes {B} with respect to {A}: • Each vector in can be written as dot product of pair of unit vectors: cosine matrix • Rows of : unit vectors of {A} with respect to {B} • What is ? What is det? • Combination of position and orientation is called “pose” • To describe pose we need a frame
z0 {A} y0 y1 x1 x0 z1 {B} Description of a Frame • Frame: set of four vectors giving position + orientation • Description of a frame: position + rotation matrix • Ex.: • position: frame with identity as rotation • orientation: frame with zero position
{B} ZB AP {A} ZA BP YB APBORG XB YA XA Mapping: from frame 2 frame Translated Frames • If {A} has same orientation as {B}, then {B} differs from {A} in a translation: APBORG AP = BP + APBORG • Mapping: change of description from one frame to another. The vector APBORG defines the mapping.
ZA BP ZB YB YA XA XB Rotated Frames Description of Rotation = Rotation Matrix
Rotated Frame (cont.) • The previous expression can be written as • The rotation mapping changes the description of a point from one coordinate system to another • The point does not change! only its description
YA y0 YB XB x1 y1 x0 XA Example (2D rotation)
BP AP XB ZA ZB APBORG YB YA XA General Frame Mapping Replace by the more appealing equation: {A} A row added here A “1” added here
Homogeneous Coords • Homogeneous coordinates: embedding of 3D vectors into 4D by adding a “1” as the fourth entry • Allows to write a general transformation in linear form: • More generally, the transformation matrix T has the form: … but we will use only the simple form above in this course
Operators: Translation, Rotation and General Transformation • Translation Operator:
Translation Operator • Translation Operator: • Only one coordinate frame, points are mapped • Equivalent to mapping point to a second frame • Point Forward = Frame Backwards • How does TRANS look in homogeneous coordinates? -Q
Operators (cont.) • Rotational Operator Rotation around axis: AP1 AP2
Rotation Operator • Rotational Operator The rotation matrix can be seen as rotational operator • Takes AP1and rotates it to AP2=R AP1 • AP2=ROT(K, q)(AP2) • Write ROT for a rotation around K
Operators (Cont.) • Transformation Operators • A transformation mapping can be viewed as a transformation operator: map a point to any other in the same frame • Transform that rotates by R and translates by Q is the same a transforming the frame by R & Q
Compound Transformation Suppose {C} is known relative to {B}, and {B} is known relative to {A}. Problem: transform P from {C} to {A}: Write down the compound in homog. coords
Inverse Transform Write down the inverse transform in HC’s
More on Rotations • We saw that a rotation can be represented by a rotation matrix • Matrix has 9 variables and 6+ constraints (which?) • Rotations are far from intuitive: they do not commute! • Rotation matrix can be parameterized in different manners: • Roll, pitch and yaw angles • Euler Angles • Others