Sunteți pe pagina 1din 24

Robot Kinematics

•Spatial Descriptions and


Transformations
•Introduction to Motion
Objectives of the Lecture
• Learn to represent position and orientation
• Be able to transform between coordinate
systems.
• Use frames and homogeneous coordinates
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
Coordinate System in Robotics
Three Problems with CS
• Given 2 CS’s, how do we express one as a
function of the other?
• Given a point in one CS, what are the
point’s coordinates on a second CS?
• Apply an operation on a vector
Description of a Position
a coordinate system
• point = position vector
{A}
ZA
AP  px 
A 
P  py 
YA  
 pz 
XA
Description of an Orientation
Often a point is not enough:
need orientation
z0 {A} • In the example, a
y0 description of {B} with
y1
respect to {A} suffices to
give orientation
 • Orientation = System of
x1
Coordinates
x0 • Directions of {B}: XB, YB
z1 {B} and ZB
• In {A} coord. system:
AX , AY and AZ
B B B
From {A} to {B}
cos Z   Z A  X B
{A}

XB

cos X   X A  X B aZ

aX aY cosY   YA  X B

X A  X B 
X B   YA  X B 
We conclude: A

 Z A  X B 
Rotation Matrix
• Stack three unit vectors to form Rotation Matrix
A
• B R describes {B} with respect to {A}

A
B R 
A
A
Xˆ B YˆB
A A
Zˆ B 
• Each vector in R can be written as dot product
B
of pair of unit vectors: cosine matrix
A
• Rows of B R : unit vectors of {A} with respect to
{B}
A 1
• What is B R ? What is det( BA R )?
• Position + orientation = Frame
Description of a Frame
• Frame: set of four
vectors giving position +
z0 orientation
{A}
• Description of a frame:
y0 position + rotation matrix
y1
• Ex.:


{B}  
A
B R, APBORG 
x1
• position: frame with
x0 identity as rotation
z1 {B}
• orientation: frame with
zero position
Mapping: from frame 2 frame
{B}
Translated Frames ZB
AP
{A}
ZA BP

YB
AP
BORG XB
YA
XA
• If {A} has same orientation as {B}, then {B}
differs from {A} in a translation: APBORG
AP = BP + AP
BORG
• Mapping: change of description from one frame to
another. The vector APBORG defines the mapping.
Rotated Frames
ZA BP B
P  px X B  p yYB  pz Z B
A
P  px A X B  p y AYB  pz AZ B

 px 
A
P  A
XB A
YB A

Z B  p y 
YA
 p z 
A
P BAR BP

XA Description of Rotation = Rotation Matrix


Rotated Frame (cont.)
• The previous expression can be written as
A
P R P
A
B
B

• The rotation mapping changes the


description of a point from one coordinate
system to another
• The point does not change! only its
description
Example (2D rotation)
YA

y0


x0 XA

x1  x0 cos  y0 sin 
y1   x0 sin   y0 cos
General Frame Mapping
A
P  BAR BP  APBORG

BP
AP
XB
ZA ZB
Replace by the more appealing
AP equation:
BORG
YB
YA
 A P  BA R A
PBORG   B P
{A}    
XA  1  0 0 0 1  1 

A “1” added here A row added here


Homogeneous Coords
• Homogeneous coordinates: embed 3D
vectors into 4D by adding a “1”
• More generally, the transformation matrix T
has the form:
 Rot. Matrix Trans. Vector 
T  
 Perspect. Trans. Scaling Factor 
Operators: Translation, Rotation
and General Transformation
• Translation Operator:

P1 Q
P2

A
P2  P1  Q
A A

ˆ  
 TRANS ( Q, | Q |) P1
A A
Translation Operator
• Translation Operator:
• Only one coordinate frame, point moves
• Equivalent to mapping point to a 2nd frame
• Point Forward = Frame Backwards

• How does TRANS look in homogeneous


coordinates?
Operators (cont.)
• Rotational Operator

Rotation around axis: K AP


1


AP
2
Rotation Operator

• Rotational Operator
The rotation matrix can be seen as rotational
operator
• Takes AP1 and 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
If {C} is known relative to {B}, and {B} is
known relative to {A}. We want to
transform P from {C} to {A}:
B
P  CT P
B C

 AP  CAT CP
A
P  ABT BP
From here define
A
CT  ABT CBT

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

S-ar putea să vă placă și