Professional Documents
Culture Documents
I NTRODUCTION
Forward Kinematics: to determine where the robot hand is? (if all
joint variables are known)
Inverse Kinematics: to calculate what each joint variable is? (If we
desire that the hand be located at a particular point)
R OBOTS AS MECHANISM
Figure 1: (a) A 1 DOF closed-loop four-bar mechanism (b) A closed-loop mechanism (c) An
opened-loop mechanism
M ATRIX REPRESENTATION
⊲ Representation of a Point P in
Space.
◮ A point P in space: 3
coordinates relative to a
reference frame
◮ P = ax î + by ĵ + cz k̂
M ATRIX REPRESENTATION
⊲ Representation of a Vector in
Space.
◮ A Vector ~P in space: 3
coordinates of its tail and
its head.
◮ ~P = ax î + by ĵ + cz k̂
x
~P = y
◮
z
Figure 3: Representation of a vector in
w space
where w is normalizing factor
M ATRIX REPRESENTATION
◮ A frame is constructed by
3 unit vectors which are
mutually perpendicular to
each other.
◮ Therefore, to describe a
frame, we need 3 vectors Figure 4: Representation of a frame in
which are concatenated to space
form a matrix.
M ATRIX REPRESENTATION
M ATRIX REPRESENTATION
⊲Representation of a Frame in a
Fixed Reference Frame
◮ To describe a frame in
space with respect to
another fixed frame, we
would need two
information:
• orientation information
• translation (how far is its
Figure 6: Representation of a frame
origin with respect to the with reference to a fixed frame
fixed frame origin?)
M ATRIX REPRESENTATION
⊲Representation of a Frame in a
Fixed Reference Frame
nx ox ax px
n oy ay py
◮ T = y
nz oz az pz
0 0 0 1
Figure 7: Representation of a frame
with reference to a fixed frame
M ATRIX REPRESENTATION
P URE T RANSLATION
a
z
Frame{B}
Frame{A} AP
B
o
x n
y
P URE T RANSLATION
A
PB (3)
The superscript indicates the reference Frame(in this case
Frame A) to which we infer Frame B (subscript B) to be
described to. Equation (3) indicates that position of Frame B
relative to Frame A in space. This can be described by a 3 × 1
vector,
Px
A
PB = Py (4)
Pz
P URE T RANSLATION
⊲ Vectors must be tagged with information identifying which coordinate system they are
defined within.
P URE T RANSLATION
P URE T RANSLATION
Suppose a frame (say Frame B) is to be translated by the amount
described in transformation matrix in Equation (5) relative to Frame
A (the reference frame), then we write,
A A~ A~
1 0 0 dx ~xB11 xB12 xB13 Px
dy A A~ A~
~xB21
0 1 0 xB22 xB23 Py
Fnew = Ttrans × Fold =
0 0 1 dz A~xB31 A~
xB32 A~
xB33 Pz
0 0 0 1 0 0 0 1
A~ A~ A~
xB11 xB12 xB13 Px + dx
A~
xB21 A~
xB22 A~
xB23 Py + dy
=
A~ A~ A~
(6)
xB31 xB32 xB33 Pz + dz
0 0 0 1
Fn ew = Trans(dx , dy , dz ) × Fo ld (7)
Let us now look at how we can describe the orientation of a body in space. ֒→
P URE R OTATION
⊲ In order to describe orientation of a body, we will attach a coordinate system to the body
and then give a description of this coordinate system relative to reference system.
zB A z
One way to describe the
body-attached coordinate system, θ
say {B}, is to write the unit vectors yB
x A θ
its principal axes (xyz- axis) in yA
terms of coordinate system {A}. θ
xB
Let us look at Figure 10 for pure
rotation case. Figure 10: Frame B is rotated with respect to
another frame, Frame A
P URE R OTATION
◮ ŶB θ {B}
yB
◮ ẐB xA θ
{A} yA
Then, write them in terms of θ
coordinate system {A} will yield, xB
◮ A X̂B Figure 11: The orientation of Frame B with
respect to Frame A
◮ A ŶB
◮ A ẐB
R OTATION MATRIX
⊲Recalled that we can stack the vectors to form a matrix.
zB zA
θ {B}
⊲ A RB = [A~xB A~yB A~zB ] (9) yB
~xB · ~xA ~yB · ~xA
~zB · ~xA xA θ
{A} yA
= ~xB · ~yA ~yB · ~yA ~zB · ~yA θ
~xB · ~zA ~yB · ~zA ~zB · ~zA xB
Figure 12: Frame B is rotated
with respect to another frame, Frame
A
R OTATION M ATRIX
⊲Recalled that two vectors will have its angle between them defined by the dot product.
~x · ~y = |x||y|cosθ (10)
~y
• Suppose that ~x and ~y is a unit
vector then, their magnitude, i.e. θ
|x|or|y| will be 1. Therefore, the dot ~x
product of two unit vectors will be
cosθ where θ is the angle between
these two unit vectors. Figure 13: The dot product of
vector ~x and vector ~y
R OTATION M ATRIX
Since, the dot product of two unit vectors yield the cosine angle
between them, the components of rotation matrices are often referred
to as direction cosines. Another special relationship we can observe is
that, B T
XA
A A A A B T
BR = [ XB YB ZB ] = YA (11)
B T
ZA
Hence, BA R, represents the description of frame {A} relative to {B} by
its transpose.
B A T
A R =B R (12)
R OTATION M ATRIX
yA
{A}
xB
θ
yB
{B} θ
xA
Try yourself: Calculate rotation matrix of frame B relative to frame A about
⊠⊲
x-axis and y-axis using the same concept illustrated here.
△
B
P
yA
{A}
Given, xB
θ
yB
0.0
B
P = 2.0 (16) θ
0.0 {B} xA
Here, A B
B R acts as a mapping which is used to describe P relative to frame
A
{A}, P. It is to note that vector P is not changed in space. Instead, we
compute a new description of the vector relative to another frame.