Homogeneous Transformation
Representation Chapter 2 of a Point in
RobotSpace
Kinematics: Position Analysis
A point P in space :
3 coordinates relative to a reference frame
^ ^ ^
P = ax i + by j + cz k
Fig. 1 Representation of a point in space
Representation of
Chapter 2 a Vector in
Robot Space
Kinematics: Position Analysis
A Vector P in space :
3 coordinates of its tail and of its head
__ ^ ^ ^
P = a x i + by j + c z k
x
__ y
P=
z
w
Fig. 2 Representation of a vector in space
Representation of a
Chapter 2 Frame at the
Origin of aRobot
Fixed-Reference
Kinematics: Position Analysis Frame
Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector
nx ox a x
F = n y o y a y
nz oz a z
Fig. 3 Representation of a frame at the origin of the reference frame
Representation of
Chapter 2 a Frame in a
Fixed Reference
Robot Kinematics: PositionFrame
Analysis
Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector
The
same as
last slide
nx ox ax Px
n oy ay Py
F= y
nz oz az Pz
0 0 0 1
Fig. 4 Representation of a frame in a frame
Homogeneous Coordinates
• 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
a11 a12 a13 b1
a21 a22 a23 b2
a31 a32 a33 b3
c1 c2 c3 sf
Representation of a2Rigid Body
Chapter
Robot Kinematics: Position Analysis
An object can be represented in space by attaching a frame
to it and representing the frame in space.
nx ox ax Px
n oy ay Py
Fobject = y
nz oz az Pz
0 0 0 1
Fig. 5 Representation of an object in space
HOMOGENEOUS
Chapter 2
TRANSFORMATION MATRICES
Robot Kinematics: Position Analysis
A transformation matrices must be in square form.
• It is much easier to calculate the inverse of square
matrices.
• To multiply two matrices, their dimensions must match.
nx ox ax Px
n oy ay Py
F= y
nz oz az Pz
0 0 0 1
Representation of
Transformations of
rigid objects
in 3D space
RepresentationChapter 2 of a Pure
Translation
Robot Kinematics: Position Analysis
A transformation is defined as making a movement in space.
• A pure translation.
• A pure rotation about an axis.
• A combination of translation or rotations.
Same
value a
identity
1 0 0 dx
0 1 0 d y
T =
0 0 1 dz
0 0 0 1
Fig. 6 Representation of an pure translation in space
Basic Rotation Matrix
– Rotation about x-axis with
1 0 0 z
Rot ( x, ) = 0 C − S
w
P
v
0 S C
px pu
p = R ( x, ) p u
y
y v x
p z pw
p x = pu
p y = pv cos − pw sin
p z = pv sin + pw cos
Basic Rotation Matrices
– Rotation about x-axis with
1 0 0
Rx , = Rot ( x, ) = 0 C − S
0 S C
– Rotation about y-axis with
C 0 S
Ry , = Rot ( y, ) = 0 1 0
− S 0 C
– Rotation about z-axis with
C − S 0
Rz , = Rot ( z, ) = S C 0
Pxyz = RPuvw 0 0 1
Properties of Rotation Matrix
Orthogonality property
Find the missing elements in F.
0.433 b 0.75 2
0.25 0.866 c 4
F =
a 0 0.5 5
0 0 0 1
Inverse of the transformation matrix
nx ox ax Px
n oy ay Py
T = y
nz oz az Pz
0 0 0 1
nx ny nz − P.n nx ny nz −( Px nx + Py n y + Pz nz )
ox oy oz − P.o ox oy oz −( Px ox + Py o y + Pz oz )
T −1 = =
ax ay az − P. a a x ay az −( Px ax + Py a y + Pz az )
0 0 0 1 0 0 0 1
2. Calculate the inverse of the following
transformation matrix.
0.5 0 0.866 3
0.866 0 −0.5 2
T =
0 1 0 5
0 0 0 1
0.5 0.866 0 −(3*0.5 + 2*0.866 + 5*0)
0 0 1 − (3*0 + 2*0 + 5*1)
T −1 =
0.866 −0.5 0 −(3*0.866 + 2*( −0.5) + 5*0)
0 0 0 1
0.5 0.866 0 −3.232
0 0 1 − 5
T −1 =
0.866 −0.5 0 −1.5998
0 0 0 1
• A point Puvw=(4,3,2)T is attached to a frame (n,o,a). The frame
rotates 60 degree about the Z axis of the reference frame. Find
the coordinates of the point relative to the reference frame after
the rotation.
p xyz = Rot ( z ,60) puvw
0.5 − 0.866 0 4 − 0.598
= 0.866 0.5 0 3 = 4.964
0 0 1 2 2
The following frame F has been moved nine units along the
x-axis and five units long the z-axis of the reference frame.
Fin the new location of the frame.
0.527 −0.574 0.628 5
0.369 0.819 0.439 3
F=
−0.766 0 0.643 8
0 0 0 1
1 0 0 9
0 1 0 0
T =
Transformation matrix 0 0 1 5
0 0 0 1
Fnew=[Link]
1 0 0 9 0.527 −0.574 0.628 5 0.527 −0.574 0.628 14
0 1 0 0 0.369 0.819 0.439 3 0.369 0.819 0.439 3
Fnew = =
0 0 1 5 −0.766 0 0.643 8 −0.766 0 0.643 13
0 0 0 1 0 0 0 1 0 0 0 1
1. Calculate the matrix representing Rot(x,45 0)-1
Rot −1 ( x, 450 ) = Rot T ( x, 450 )
1 0 0
Rot ( x, 450 ) = 0 0.707 −0.707
0 0.707 0.707
1 0 0
Rot −1 ( x, 450 ) = 0 0.707 0.707
0 −0.707 0.707
A point P(7,3,2)T is attached to a frame (n,o,a) and is
subjected to the following transformations.
i. Rotation of 900 about the z-axis
ii. Rotation of 900 about the y-axis
iii. Translation of [4,-3,7]
Find the coordinates of the point relative to the reference
frame at the end of the transformations.
Pnew = Tran(4, −3, 7) Rot(y,900 ) Rot(z,900 ) Pold
1 0 0 4 C (90) 0 S (90) 0 C (90) − S (90) 0 0 7
0 1 0 −3 0 1 0 0 S (90) C (90) 0 0 3
Pnew =
0 0 1 7 − S (90) 0 C (90) 0 0 0 1 0 2
0 0 0 1 0 0 0 1 0 0 0 1 1
Solution:
• Coordinates of the new point
6
4
10
1
A point P(7,3,2)T is attached to a frame (n,o,a) and is
subjected to the same transformations as previous one but
in different order as given below.
i. Rotation of 900 about the z-axis
ii. Translation of [4,-3,7]
iii. Rotation of 900 about the y-axis
Find the coordinates of the point relative to the reference
frame at the end of the transformations.
Pnew = Rot(y,900 )Tran(4, −3, 7) Rot(z,900 ) Pold
C (90) 0 S (90) 0 1 0 0 4 C (90) − S (90) 0 0 7
0 1 0 0 0 1 0 −3 S (90) C (90) 0 0 3
Pnew =
− S (90) 0 C (90) 0 0 0 1 7 0 0 1 0 2
0 0 0 1 0 0 0 1 0 0 0 1 1
Solution:
• Coordinates of the new point
9
4
−1
1
Inference: The order is important
Transformation about rotating frame
A point P(7,3,2)T is attached to a frame (n,o,a) and is subjected
to the following transformations.
i. Rotation of 900 about the o-axis
ii. Rotation of 900 about the a-axis
iii. Translation of 3 units along n-axis
Find the coordinates of the point relative to the reference frame
at the end of the transformations.
Pnew = Rot(o,900 ) Rot(a,900 )Tran(3, 0, 0) Pold
C (90) 0 S (90) 0 C (90) − S (90) 0 0 1 0 0 3 7
0 1 0 0 S (90) C (90) 0 0 0 1 0 0 3
Pnew =
− S (90) 0 C (90) 0 0 0 1 0 0 0 1 0 2
0 0 0 1 0 0 0 1 0 0 0 1 1
2
10
Pnew =
3
1
Transformation about both fixed and moving axes
• A frame B was rotated about the x-axis 900; it
was then translated about the current a-axis 3
units before being rotated about the z axis by
900. Finally, it was translated by o-axis 5 units.
(a) write the equation describing the motions
(b) Find the final location of a point P(1,5,4)
attached to the frame relative to the reference
frame.
T=Rot(z,90)Rot(x,90)Trans(0,0,3)Trans(0,5,0)
Solution:
• T=Rot(z,90)Rot(x,90)Trans(0,0,3)Trans(0,5,0)
7
Pnew = 1
10
Properties of Rotation Matrix
• The rotational matrix is a orthogonal matrix and
its determinant is equal to 1.
• Rotation matrix is always invertible.
Determine the new locations of the frame P=[2 3 1]T for the
following transformations and comment on the results.
(i) Rot(X,-900)
(ii) Rot-1(X,900)
Solution: Pnew=[2 1 -3]T
Similarly,
Multiplication of two Transformation Matrices
Consecutive transformations
Consecutive transformations about the same axis