Professional Documents
Culture Documents
Fluid Mechanics
Fluid Mechanics
Fluid Mechanics
Saha
Tata McGraw-Hill Publishing Company Limited, New Delhi, 2008
Chapter 5
Transformations
For the purpose of controlling a robot, it is necessary to know the relationships between
the joints motion (input) and the end-effector motions (output), because the joint motions
control the end-effector movements. Thus, the study of kinematics is important, where
transformations between the coordinate frames attached to different robot links of the
robot need to be performed
Z
(a) Geometrical form
(b) Representations
Figure 5.1 A revolute joint
(b)Representations
Figure 5.2 A prismatic joint
(b) Representations
Figure 5.3 A helical joint
(b) Representations
Figure 5.4 A cylindrical joint
(b) Representation
Figure 5.5 A spherical joint
3
(b) Representation
Symbol
Revolute
Prismatic
Geometric form
and
Representations
DOF
Common
Surface
Fig. 5.1
Cylinder
Fig. 5.2
Prism
Helical
Fig. 5.3
Screw
Cylindrical
Fig. 5.4
Cylinder
Spherical
Fig. 5.5
Sphere
Planar
Fig. 5.6
Plane
Table 5.1 summerizes the basic lower pair joints, where all the joints have surface contact
between the interconnecting links. Another commonly used lower pair joint in robotics is
the two-DOF 'universal joint,' as shown in Fig. 5.7. This is the combination of two
intersecting revolute joints. Examples of higher pair joints in robots are 'gears' and 'cams
with roller followers,' where they make line contacts.
#2
#1
#3
#2
#3
#1
Base, #0
Figure 5.8 A four-bar mechanism
2
5
4
1
6
r:
p:
ci :
c:
ni :
n:
The DOF of the whole system, n, is then determined from the total DOF associated with
all the moving links minus the total number of constraints imposed by all the joints, i.e.,
n = s (r 1) c,
where c c i
. . . (5.1)
i =1
Note that 1 in eq. (5.1) corresponds to the fixed link of the system which has zero-DOF.
Moreover, for the coupled links, the sum of the number of constraints imposed by each
joint, ci, and the relative degree of freedom permitted by that joint, ni, is equal to the
6
i=1
i =1
i =1
c = c i = (s n i ) = s p n i
. . . (5.2)
Upon substitution of eq. (5.2) into eq. (5.1), one obtains the DOF, n, as
p
n = s(r p 1) + n i
. . . (5.3)
. . . (5.4)
. . . (5.5)
. . . (5.6)
The planar five-bar mechanism has two DOF, which is often used as a robot manipulator
also.
#2
#3
#1
#4
#2
#4
#5
#1
Figure 5.11 A double parallelogram mechanism
Example 5.4 A Double Parallelogram Mechanism
Figure 5.11 shows a double parallelogram mechanism, where s = 3, r = 5 (including the
fixed base), p = 6. Then, eq. (5.3), gives
n = 3 (5 6 1) + 6 1 = 0
. . . (5.7)
which interprets the system as a structure with zero DOF. This is not true, as the
mechanism is known to have one-DOF. Actually, the link 5 has length equal to that of
link 2. Hence, link 5 is kinematically redundant and can be removed without destroying
the basic kinematic chain and subsequently the input-output behaviour of the mechanism.
In general, if the Grubler-Kutzbach criterion, eq. (5.3), yields n > 0, the
mechanism has n-DOF. If the criterion yields n = 0, it is a structure with zero DOF, and if
n < 0, the system is a statically indeterminate structure with redundant constraints.
Exceptions, however, occur as the one shown in Fig. 5.11 does not obey the GrublerKutzback criterion. For such systems, different mobility criterion, e.g., Loop mobility
criterion, as described by Tsai (1999), etc. can be employed to determine their DOF.
p
x
py
p
z
. . . (5.8)
where subscript F stands for the reference frame where the vector, p, is represented.
The subscripts, x, y and z, represent the projections of the position vector, p, onto the
coordinate axes of the fixed reference frame, namely, along X, Y and Z, respectively.
Vector p can alternatively be expressed as
p = p x x + py y + pz z
. . . (5.9)
where x, y and z denote the unit vectors along the axes, X, Y and Z of frame F,
respectively, as indicated in Fig. 5.12. Their representations in frame F, namely [x]F, [y]F
and [z]F, are as follows :
1
0
0
[ x ] F 0 , [ y ] F 1 , and [ z ] F 0
0
1
0
. . . (5.10)
pz Z
W
P
pw
z
w
x
px
X
O
u
v
y
pv
Moving frame, M
py
pu
Y
Fixed frame, F
U
Figure 5.12 Spatial description
Substituting eq. (5.10) into eq. (5.9), it can be shown that the expression of vector p in
frame F, i.e., [p]F, is same as that of given in eq. (5.8). Note that if vector p is represented
in another fixed frame different from frame F then the vector, p, will have different
components along the new coordinate axes even though the actual position of point P has
not changed. Thus, a vector will normally be written without mentioning any frame, e.g.,
as done in eq. (5.9) which, in contrast to eqs. (5.8) and (5.10), is termed as frame
invariant representation, i.e., independent of the choice of any particular reference frame.
It is, however, important to note that when a numerical problem is solved one must
choose a suitable coordinate frame.
Example 5.5 Position of a point in the fixed frame
If coordinates of a point P in the fixed coordinate frame are, px = 3, py = 4, and pz = 5,
then the position vector, p, from eq. (5.8) can be given by
[
p]
3
4
5
(i)
(ii)
Each one has its own limitations. If necessary, one may switch from one to other
representation during a robots motion control to avoid former's limitations. Here, the
above two will be presented which are sufficient to understand the underlying concepts
and their limitations. Anybody interested in other representations may refer to the books
by Tsai (1999) or Angeles (2003).
(i) Direction Cosine Representation
To describe the orientation or rotation of a rigid body, consider the motion of a moving
frame M with respect to a fixed frame F, with one point fixed, say, the origin of the fixed
frame, O, as shown in Fig. 5.12. Let u, v and w denote the three unit vectors pointing
along the coordinates axes, U, V and W of the moving frame M, respectively, similar to
the unit vectors, x, y, and z, along X, Y and Z of the fixed frame F, respectively. Since
each of the unit vectors, u, v or w, denotes the position of a point at a unit distance from
the origin on the axes of frame M, they are expressed using their projections on the X, Y,
Z axes of the frame F as
u = ux x + uy y + uz z
. . . (5.11a)
v = vx x + vy y + vz z
. . . (5.11b)
w = wx x + wy y + w z z
. . . (5.11c)
where ux, uy and uz are the components of the unit vector, u, along X, Y and Z axes,
respectively. Similarly vx, vy, vz, and wx, wy, wz are defined for the unit vectors, v and w,
respectively. Now, point P of the rigid body, as shown in Fig. 5.12 and given by eq. (5.8),
is expressed in the moving frame, M, as
p = puu + pvv + pww
. . . (5.12)
where pu, pv, and pw are the components of the vector, p, along U, V, W axes of the
moving frame, M. Upon substitution of eqs. (5.11a-c) into eq. (5.12) yields
p = (puux + pvvx + pwwx)x + (puuy + pvvy + pwwy)y + (puuz + pvvz + pwwz)z
. . . (5.13)
Comparing the right hand sides of eqs. (5.8) and (5.13), the following identities are
obtained:
px = uxpu + vxpv + wxpw
. . . (5.14a)
. . . (5.14b)
. . . (5.14c)
[p]F = Q [p]M
. . . (5.15)
where [p]F and [p]M are the representations of the 3-dimensional vector, p, in frames F
and M, respectively, and Q is the 3 3 rotation or orientation matrix transforming the
representation of vector p from frame M to F. They are given as follows:
11
x x x
x
u
[ p ] F p , [ p ] M p v , and Q u v w = u T y v T y w T y
y
T
y y
y
T
T
p w
u z v z w z
u z v z w z
p z
. . . (5.16)
Note the columns of matrix Q. They are nothing but the components of the orthogonal
(meaning 90o to each other) unit vectors, u, v, and w in the fixed frame F, which must
satisfy the following six orthogonal conditions:
uTu = vTv = wTw = 1, and uTv(vTu) = uTw(wTu) = vTw(wTv) = 0
. . . (5.17)
Moreover, for the three orthogonal vectors, u, v and w, the following hold true:
u v = w, v w = u,
and
wu=v
. . . (5.18)
Hence, the 3 3 'rotation matrix,' Q, denoting the orientation of the moving frame, M,
with respect to the fixed frame, F, is called 'orthogonal.' It satisfies the following
properties due to eq. (5.17):
QTQ = QQT = 1 ; where det (Q) = 1,
and Q1 = QT
. . . (5.19)
1 being the 3 3 identity matrix. Moreover, if one is interested to find the rotation
description of the frame, F, with respect to frame M denoted by Q, it can be derived
similarly. It can be shown that Q = QT.
Also note from eq. (5.16), that the (1,1) element of Q is the cosine of the
angle between the vectors u and x, i.e., uTx. The same holds true with other elements of
Q. Hence, this rotation matrix is known as the 'Direction Cosine Representation' of the
rotation matrix. Such representation requires nine parameters, namely, the elements of the
3 3 matrix, Q. However, not all the nine parameters are independent as they must
satisfy the six conditions of eq. (5.17). Thus, only three parameters are independent and
should be sufficient to define the three-DOF rotational motion. It is, however, difficult to
choose the set of three independent parameters. This is the drawback of the Direction
Cosine Representation.
Example 5.6 Elementary Rotations
Suppose that a reference frame M coincides with the fixed frame F. Now, frame M is
rotated by an angle about the axis Z, as shown in Fig. 5.13(a). The unit vectors of the
new frame M can be described in terms of their components in the reference frame, F, as
12
Frame, F
Frame, M
P
py
U
p
pu
pv
Frame, F
px
(b) Coordinate transformation
Y
P
py
p
py
py
P
p
Frame, F
px
px
Rotated
Frame, F
px
. . . (5.20)
13
C
S
0
0
0
1
C
0
. . . (5.21)
In a similar manner, it can be shown that the rotations of angle about axis Y, and by an
angle about axis X are, respectively, given by
C
Q Y 0
S
0
1
0
S
0 ,
C
and
1
0
0
0
C
S
0
S
C
. . . (5.22)
The above matrices in eqs. (5.21) and (5.22) are called the 'elementary rotations' and are
useful to describe any arbitrary rotation while the angles with respect to the coordinate
axes are known.
Example 5.7 Properties of Elementary Rotation Matrices
From eqs. (5.21) and (5.22), matrix multiplication of, say, QzT and Qz results the
following:
Q Tz Q z
C
= S
0
S
C
0
0 C
0 S
1 0
S
C
0
0 1
0 = 0
1 0
0
1
0
0
0
1
Using the definition of determinant given in Appendix A, it can be easily calculated that
det(Qz)=1. Hence, Qz satisfies both the properties of a rotation matrix. Similarly, the
other two matrices can be shown to have the properties of a rotation matrix as well.
Example 5.8 Coordinate Transformation
Consider two coordinate frames with a common origin. One of them is rotated by an
angle about the axis Z. Let [p]F and [p]M be the vector representations of point P in
frames F and M, respectively, as shown in Fig. 5.13(b). On the basis of simple geometry,
the relationships between the coordinates of point P in the two coordinate frames are
given by
px = pu C pv S
. . . (5.23)
py = pu S + pv C
. . . (5.24)
pz = pw
. . . (5.25)
where px, py, pz , and pu, pv, pw are the three coordinates of point P along the axes of
frames F and M, respectively. It is easy to recognize from eqs. (5.23) to (5.25) that the
vector [p]F [px, py, pz]T is nothing but
[p]F =QZ [p]M
. . . (5.26)
where [p]M [pu, pv, pw]T and QZ is given by eq. (5.21). Matrix QZ not only represents
the orientation of the frame, M, with respect to the fixed frame, F, as in Fig. 5.13(a), but
14
. . . (5.27)
py = px S + py C
. . . (5.28)
pz = pz
. . . (5.29)
which can be obtained by rotating the fixed frame, F, with which vector p is attached by
an angle counter clockwise about the Z-axis so that vector p reaches p, as indicated in
Fig. 5.13(c). Equations (5.27)-(5.29) can be written in compact form as
[p]F = QZ [p]F
. . . (5.30)
15
Z, Z
Z, Z
Z
Frame, A
Frame, A
Y, Y
Y
Frame, F
Frame, B
Z, W
Frame, M
V
Frame, B
U
X
(c) Rotation about new Z-axis, i.e., Z-axis
Figure 5.14 The ZYZ Euler angles
Rotate the fixed frame, F, by the angle, , about axis Z, as indicated in Fig.
5.14(a). This rotation is described by the rotation matrix QZ, as derived in eq.
(5.21), i.e.,
16
0
0
1
C
0
(5.31a)
Rotate the current frame A by an angle about its Y axis, Fig. 5.14(b). This
rotation is denoted by QY and described by the rotation matrix, QY of eq. (5.22),
i.e.,
Q Y'
C
0
S
0
1
0
S
0
C
(5.31b)
Rotate the current frame B by angle about its Z axis, Fig. 5.14(c). This rotation
is denoted by QZ and described by the rotation matrix, QZ of eq. (5.21), i.e.,
C
Q Z' ' S
0
S
C
0
0
0
1
(5.31c)
Q = QZQYQZ
whose elements are computed below:
C C C S S C C S S C
Q S C C + C S S C S + C C
SC
S S
C S
S S
C
. . . (5.31e)
The drawback of the minimal Euler angles representation, eq. (5.31e), is that it
sometimes fails in finding the solution of an inverse problem, i.e., for a given rotation
matrix find the equivalent Euler rotation angles. For example, if Q is given as follows:
q 11
Q q 21
q 31
q 12
q 22
q 32
q 13
q 23
q 33
(5.32a)
then the angle, , can be obtained from the comparison of (1,3) and (2,3) elements of Q
given by in eqs. (5.31e) and (5.32b), i.e.,
= atan2(
q
23 , 13 )
S
S
//
. . .X
(5.32b)
where atan2(y,x) is the two-argument function that yields one unique solution for the
angle. The solution of eq. (5.32b) exists provided S 0, i.e., when 0 or n, for
n = 1, 2, . . . An important aspect of the rotation representation, either direction cosine or
Euler angle or any other, is that unlike vectors it is non-commutative, i.e., the order of
rotations are important in deriving the correct rotation matrix. As illustrated in Fig.
5.15(a-c), the rotation of a box about Z and current Y axes is different from the rotation
about Y and current Z axes, as shown in Fig. 5.16(a-c). In order to show it
mathematically, the resultant matrix for the rotations about Z and Y-axes, denoted by QZY,
can be given by
17
0
1
1
0
0
0
0
1
. . . (5.33a)
C 90 o
0
S 90 o
0
1
0
S 90 o 0
0 = 0
C 90 o 1
C 90 o
1
0 ; Q Z S 90 o
0
0
0
1
0
S 90 o
C 90 o
0
0 0
0 = 1
1 0
1
0
0
0
0
1
(5.33b)
Note the order of multiplication in eq. (5.33a) is reverse to that of eq. (5.31d). This is due
to the fact that the rotations in eq. (5.31d) are with respect to the current frames, whereas
in eq. (5.33a) they are with respect to the fixed frame. The result of eq. (5.33a) can be
verified from Fig. 5.15(c) using the concept of direction cosine representation of a
rotation matrix explained earlier. Similarly, the resultant rotation matrix for the rortations
about Y and Z-axes, denoted by QYZ, can be obtained as
QYZ = QZQY =
0
0
1
0
0
0
1
0
. . . (5.33c)
W
B
C
V
B
C
A
V
Y
D
X
(a)
Y
Z
(b)
X
(c)
Figure 5.15 Successive rotation of a box about Z and Y-axes
18
C
A
Y
D
X
(a)
(b)
V
D
V
B
U
(c)
X
Figure 5.16 Successive rotation of a box about Y and Z-axes
Comparing eqs. (5.33a) and (5.33c), it is obvious that the two sequences of rotations are
different. However, the same is not true for the vector representation of a point P with
respect to O, one can either add vector b to a or a to b, as in Fig. 5.17. Both additions will
result the same vector p.
P
Z
b
a
O
X
Figure 5.17 Addition of two vectors
19
OM
o
Y
F
X
Figure 5.18 Two coordinate frames
. . . (5.35)
Equation (5.35) represents the 'coordinate transformation,' of point P of the rigid body
from moving frame M to the fixed frame, F, while both translation and rotation are
involved.
5.3.1 Homogeneous transformation
The coordinate transformation given by eq. (5.35), can be rearranged as
20
Q
= 0 T
[o ] F
1
[ p ] M
1
. . . (5.36)
where 0 [0, 0, 0]T is the three-dimensional vector of zeros. Equation (5.36) is written in
a compact form as
. . . (5.37)
[ p ] F = T [ p ] M
where [ p ] F and [ p ] M are the four-dimensional vectors obtained by putting one at the
bottom of the original three-dimensional vectors, [p]F and [p]M, respectively, as the
fourth element, whereas the 4 4 matrix, T, is called 'homogeneous transformation
matrix.' Equation (5.37) is simple in a sense that the transformation of a vector, which
includes both translation and rotation from frame M to F, is done by just multiplying one
4 4 matrix, instead of a matrix multiplication
Why Homogenous?
and vector addition, as in eq. (5.35). However,
from the view of computational complexity, i.e.,
Matrix T of eq. (5.36) takes care of
the numbers of multiplications/divisions and
both the translation and rotation of
additions/subtractions required in a computer
the frame attached to the body with
program, eq. (5.35) is economical compared to
respect to the fixed frame.
eq. (5.36) or (5.37), as some unnecessary
multiplications and additions with 1s and 0s will
be performed. It is pointed out here that, for the homogeneous transformation matrix, T,
the orthogonality property does not hold good, i.e.,
TTT 1
or
T1 TT
. . . (5.38)
[o ] F
. . . (5.39)
Z, W
Z
W
M
V
M
30
F
2
U
X
30
X
F
(a)
U
(b)
21
X
F
(c)
0
1
0
0
0
0
1
0
0
2
1
. . . (5.40)
S 30 o
T
0
S 30 o
C 30 o
0
0
0
0
1
0
0
2
0
1
=
2
0
0
1
2
3
2
0
0
0
0
0
. . . (5.41)
T Tt T r
. . . (5.42)
22
S 30 o
T
0
S 30 o
C 30 o
0
0
0
0
1
0
2
2
1
1
=
2
0
0
1
2
3
2
0
0
0
. . . (5.43)
S 30 o
C 30
0
0
2
1
. . . (5.44a)
where Tt and Tr are corresponding to the pure translation and pure rotation, respectively, i.e.,
1
Tt= 0
0
0
1
0
0
0
0
1
0
0
2 and Tr=
1
C 30 o
o
S 30
0
S 30 o
C 30 o
0
0
0
0
1
0
0
0
(5.44b)
Note that the order of multiplications in eq. (5.44a), which is similar to eq. (5.33a) or (5.33c), as
the motions are specified with respect to the fixed frame, F, instead of the current frames.
Z
2
30
-1
p1
p2
Y
X
Figure 5.20 Transfer of a point
Example 5.14 Product of two Homogeneous Transformations
Assume that TA and TB are given by
23
S 30 o
TA =
0
S 30 o
C 30
0
C 45 o
2
1 , and
S 45 o
TB =
0
0
1
0
0
0
1
S 45 o
0
1
C 45
0
0
1
0
. . . (5.45)
which are graphically represented in Fig. 5.21. Note that each of the transformations, TA
or TB, is a product of two elementary transformations representing translation and
rotation with respect to the current frames. For example, matrix TA can be written as,
TA = TAtTAr
(5.46a)
wehre the 4 4 homogeneous transformation matrices, TAt and TAr, are associated
with the translation and rotation from the fixed frame, F, to frame A, respectively, i.e.,
T At
1
0
=
0
0
1
0
0
0
0
1
0
C 30 o
2
1
S 30 o
, and T Ar =
0
0
1
0
S 30 o
C 30
0
0
0
1
0
0
0
(5.46b)
YB
Y
YA
XA
1
1
45
30
XB
X
F
(a) Transformations with respect to current frames
YB
YA
XA
Y
1
1
45
30
F
XB
1
X
(5.47a)
2 2
3 1
T =
2
2
3 1
2 2
3 +1
2 2
0
0
1
0
3+ 3
2
3+ 3
2
0
(5.47b)
Note that if the same transformations are performed with respect to the fixed frame, F, as
shown in Fig. 5.21(b), the order of multiplications has to be reversed, i.e.,
(5.48a)
T = [TB]F[TA]F
where [TA]F and [TB]F are also obtained from the reverse order multiplications of the
translations and rotations, e.g., [TA]F = [TAr]F[TAt]F --- TAr and TAr being the 4 4
matrices given in eq. (5.46b). Matrices [TA]F, [TB]F and T are given as follows:
[T A ] F
o
C 30
= S 30 o
3 +1
2 2
3 1
T =
2 2
S 30 o
C 30 o
0
0
1
0
3 1
2 2
3 +1
2 2
0
0
0
0
1
0
1
C 45 o
2
3
S 45 o
, [TB ] F =
1+
2
0
0
0
S 45 o
C 45 o
0
0
0
0
1
0
6 + 2 3 1
2 +2+ 3
0
0
(5.48b)
(5.48c)
Comparing eqs. (5.47b) and (5.47c) only the coordinates of the origin of frame B are
different, as clear from Figs. 5.21(a-b).
Example 5.15 Verification of eq. (5.48c) using MATLAB
In order to verify the equation, the following commands are used:
> tam=[cos(pi/6),-sin(pi/6),0,sqrt(3)-1/2; sin(pi/6),cos(pi/6),0,1+sqrt(3)/2;0,0,1,0;0,0,0,1];
> tbm=[cos(pi/4),sin(pi/4),0,sqrt(2);-sin(pi/4),cos(pi/4),0,0;0,0,1,0;0,0,0,1];
> tm=tam*tbm
tm =
0.9659 0.2588
0 2.4568
-0.2588 0.9659
0 2.5731
0
0 1.0000
0
0
0
0 1.0000
25
4
3
#3
i
#i
#2
2
i+1
n
#1
1
#n
Fixed Base
End-effector
Figure 5.22 Serial manipulator
(a)
(b)
A coordinate system Xi, Yi, Zi is attached to the end of the link i 1 not to
the link i! for i = 1, . . . n+1.
(c)
Choose axis Zi along the axis of joint i, whose positive direction can be taken
towards either direction of the axis.
(d)
Locate the origin, Oi, at the intersection of axis Zi with the common normal to
Zi 1 and Zi. Also, locate Oi on Zi at the intersection of the common normal to
Zi and Zi + 1.
(e)
(f)
Note that the above conventions do not give a unique definition of the link frames in the
following cases:
For frame 1 that is attached to the fixed base, i.e., link 0, only the direction
of axes Z1 is specified. Then O1 and X1 can be chosen arbitarily.
27
Link i
Link i-1
Joint i+1
i
ai
Oi
ai-1
i Oi+1
Xi
bi
Oi
Xi, Xi,
Xi+1
Xi
Joint i
Link i
Joint i-1
Link i-1
i
i-1 Oi
ai-1
ai
Oi+1
i
bi
Oi
For the last frame n + 1 the foregoing convention do not apply since there is
no link n + 1. Thus, frame n + 1 can be arbitrarily chosen.
When two consecutive axes are parallel, the common normal between them
is not uniquely defined.
When joint i is prismatic, only the direction of axis Zi is determined, whereas the location
of Oi is arbitrary.
In all such cases, the indeterminacy can be exploited to simplify the procedure. For
instance, the axes of frame n + 1 can be made parallel to those of frame n. Once the link
frames have been established, the position and orientation of frame i with respect to
frame i 1 are completely specified by four parameters known as the Denavit and
Hartenberg (DH) parameters. Hence, these frames are also referred as DH frames. The
four DH parameters are defined as follows:
(a)
bi (Joint offset)
Length of the intersections of the common normals on the joint axis Zi, i.e., Oi
and Oi. It is the relative position of links i 1 and i. This is measured as the
distance between Xi and Xi + 1 along Zi.
(b)
i (Joint angle)
(c)
Length between the Oi and Oi +1. This is measured as the distance between
the common normals to axes Zi and Zi + 1 along Xi + 1.
(d)
i (Twist angle)
Angle between the orthogonal projections of joint axes, Zi and Zi+1 onto a
plane normal to the common normal. This is measured as the angle between
the axes, Zi and Zi + 1, about axis Xi + 1 to be taken positive when rotation is
made counter clockwise.
Note that the above four parameters are defined sequentially as one moves from link i 1
to link i + 1 though link i. Moreover, the first two parameters, namely, bi and i, define
the relative position of links i 1 and i, whereas the last two, ai and i, describe the size
and shape of link i that are always constant. Parameters, bi and i, are, however, variable
depending on the type of joints in use. In particular,
i is variable if joint i is revolute; and
bi is variable if joint i is prismatic.
29
a3 #3
Y4
Y3
Y2
Y2
X3
a2 #2
2 X2
#1
#0
a1
1 X
1
bi
ai
1 (JV)
a1
2 (JV)
a2
3 (JV)
a3
30
X3
, Z3
1
bi
ai
1 (JV)
/2
b2 (JV)
X3
a2
31
bi
ai
b2 (JV)
-/2
/2
2 (JV)
a2
O4
X1, X2
Y1
X4
b2
O2, O2
#1
Y4
b3
#2
X3
O3
Z2 , Y 3
#0
32
bi
ai
1 (JV)
/2
b2
2 (JV)
/2
b3 (JV)
1
0
0
1
0
0
0
0
bi
0
0
1
0
. . . (5.49a)
T = S i
0
S i
Ci
0
0
0
0
1
0
0
0
0
. . . (5.49b)
(c) Translate the frame, i, by ai along axis Xi ( Xi + 1). This brings the origin of frame
i, Oi ( Oi), into coincidence with Oi + 1. The corresponding transformation
matrix is
1
Ta = 0
0
0
1
0
0
0
0
1
0
ai
0
0
. . . (5.49c)
T = 0
0
Ci
S i
S i
0
Ci
0
0
0
0
. . . (5.49d)
The resulting coordinate transformation between the frames connected with bodies i and
i 1, namely, Ti, is then obtained by post-multiplying the above four elementary
transformations, as done in eq. (5.31d), i.e.,
Ti = TbTTaT
. . . (5.50a)
The expression, Ti, can also be read as the transformation matrix of the frame attached to
body i, i.e., frame i + 1, represented in the frame attached to body i 1, i.e., frame i.
Substituting the matrix expressions from eqs. (5.49a-d) to eq. (5.50a), the following
expression is obtained:
Ti =
C i
S
i
0
S i C i
CiCi
S i S i
C i S i
S i
Ci
aiC i
a i S i
bi
. . . (5.50b)
Notice that the transformation matrix from frame i to frame i + 1 is a function of only the
ith joint variable, i.e., i for a revolute joint, and bi for a prismatic joint, because other
three DH parameters are constant.
Example 5.20 Homogeneous Transformation of the Three-link Planar Arm
Referring to Fig. 5.24 and the DH parameters given in Table 5.2, the homogenous
transformation matrices, Ti, can be derived from eq. (5.50b) as
Ti =
C i
S
i
0
S i
Ci
aiCi
a i S i
0
, for i=1,2,3
. . . (5.51)
T1 =
C 1
S
1
0
S1
C1
0
0
0
, and T2 =
1
0
0
0
b2
. . . (5.52)
34
1
0
0
0
b1
, and T2 =
C 2
S
2
0
S 2
C 2
a2C 2
a 2 S 2
0
. . . (5.53)
T1 =
C 1
S
1
0
S 1
C 1
0
0
0
, T2 =
C 2
S
2
0
S 2
C2
0
0
b2
, T3 =
1
0
0
0
b3
. . . (5.54)
cos(thi)*ai]
sin(thi)*ai]
bi]
1]
where command syms are used to define the symbolic variables, bi, thi, ai, and
ali, for the DH parameters, bi, i, ai, and i, respectively. Moreover, the notations,
tbm, tthm, tam, and talm are used to represent the matrices, Tb, T, Ta, and T,
given by eqs. (5.49a-d), respectively. Finally, the resultant matrix, Ti, denoted as tim in
MATLAB environment, is evaluated above, which matches with eq. (5.50b).
5.5 Summary
In this chapter, first the rigid body pose or configuration is defined. Their representations
are presented. Homogeneous transformation matrix is also defined which takes care of
both translation and rotation of a coordinate frame with respect to another one. In the
35
Exercises
5.1 Prove the following :
a. det (Q) = 1
(5.55a)
b. Q1 = QT
(5.55b)
c. Q = QT
(5.55c)
C 30 o S 30 o
= S 30 o C 30 o
0
0
0 ,
1
and
C 45 o S 45 o
Q B = S 45 o C 45 o
0
0
0
1
. . . (5.56)
37
Z3, Z4
Z2
Z1
b3
b1
a1
a2
b4
38
2 Z2
Z1
Z3
X1, X2
a2
4
X3,
Z4
a3
X4
Z1, X3, X4
2
X1, X2
O1, O2, O3
3
Z3, Z4
39