Unit 5
Unit 5
5.1 INTRODUCTION
For a robot to perform a specific task, the location and orientation of the end-effector, i.e.
its configuration, relative to the base should be established first. This is essential for the
position problem. When the above relations associated with the position analysis are
differentiated once and twice then the problems of velocity and acceleration analyses
arise subsequently, which are required for smooth motion control of the end-effector and
the dynamic analysis of the robot. Since the configuration of the end-effector is
determined by six ‘Cartesian variables’, which are controlled by the robot’s joint
motions, it is necessary to find the relations between the two sets.
Objectives
After studying this unit, you should be able to
• understand the kinematic constraints of a robotic system,
• determine the end-effector’s configuration, and
• find the control signals for the joints.
where si ≡ sin θi and ci ≡ cos θi. The solution for the forward kinematic
position analysis of the manipulator is given by, T = T1 T2 T3, where T, i.e.
(T)1 represents the end-effector’s configuration with respect to the base
frame. The 4 × 4 matrix, T, is derived as
where s12 ≡ sin θ12; c12 ≡ cos θ12, s123 ≡ sin θ123; c123 ≡ cos θ123; θ12 ≡ θ1 + θ2
and θ123 ≡ θ12 + θ3---θi , for i = 1,2,3, being the joint angle shown in
Figure 4.15.
Example 5.2
An Anthropmorphic Articulated Arm
The DH parameters of the anthropomorphic articulated arm shown in
Figure 4.17, and are obtained in SAQ 4 of Unit 4. Those are shown in
Table 4.3. It has three degree of freedom. The three homogeneous
transformation matrices are obtained as
⎡ c1 0 − s1 0⎤ ⎡ ci − si 0 a i ci ⎤
⎢ 0 0 ⎥⎥ and Ti = ⎢s 0 a i s i ⎥⎥ for i = 2, 3
T1 = ⎢ s 1 c1 ⎢ i ci . . . (5.5a)
⎢0 −1 0 0⎥ ⎢0 0 1 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1 ⎦
⎡c1 0 s1 0⎤ ⎡c 2 0 − s2 0⎤
⎢s 0 − c1 0⎥⎥ ⎢s 0 c2 0⎥⎥
T1 = ⎢ 1 ; T2 = ⎢ 2
⎢0 1 0 0⎥ ⎢0 −1 0 0⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦
⎡ c3 − s3 0 0⎤
⎢s c3 0 0 ⎥⎥
and T3 = ⎢ 3 . . . (5.6a)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
Example 5.4
An Anthropomorphic Articulated Arm with Spherical Wrist
An anthropomorphic articulated arm with spherical wrist is shown in
Figure 5.2, whose DH parameters are listed in Table 5.1. It is basically the
arm and the wrist of SAQ 4 in Unit 4 put together. It has six degrees of
freedom (DOF). The configuration of the end-effector is obtained as
T = T1 . . . T6. The final expression of the orientation matrix, Q, and the
position vector, p, i.e., the components of the 4 × 4 matrix, T, are given as
where
q11 ≡ c1 A + s1 B; q12 ≡ c1 A'− s1 B' ; q13 ≡ −c1 A' '− s1 B' ' ;
q 21 ≡ s1 A − c1 B; q 22 ≡ s1 A'+c1 B' ; q 23 ≡ − s1 A' '+c1 B' ' ;
q31 ≡ − s 23 C − c 23 D; q 32 ≡ s 23 C '+ c 23 D' ; q 33 ≡ s 23 c4 s 5 − c 23 c5
A ≡ c 23 C − s 23 D; B ≡ s 4 c5 c6 + c4 s6 ; C ≡ c4 c5 c6 − s 4 s6 ; D ≡ s 5 c6
A' ≡ −c 23 C '+ s 23 D' ; B' ≡ s 4 c5 s6 − c4 c6 ; C ' ≡ c4 c5 s6 + s 4 c6 ; D' ≡ s 5 s6
A' ' ≡ c 23 c4 s5 + s 23 c5 ; B' ' ≡ s 4 s 5
p1 = a 2 c1c 2 − b4 c1 s 23 + b6 q13
and p 2 = a 2 s1c 2 − b4 s1 s 23 + b6 q 23
p3 = −a 2 s 2 − b4 c 23 + b6 q33
34
Kinematic Analysis
w x2 + w 2y − a12 − a 22
c2 = . . . (5.10)
2 a1 a 2
s 2 = ± 1 − c 22 . . . (5.11)
where the positive and negative signs correspond to the elbow-up and
elbow-down postures. Hence, the angle, θ2, can be computed as
θ2 = a tan 2 (s2, c2) . . . (5.12)
where ‘atan2’ function, instead of ‘atan’, is used to avoid quadrant
ambiguity. For example, atan (s2/c2) and atan (-s2/-c2) will give the same
angle value, whereas atan2 (s2, c2) and atan2 (-s2, -c2) will provide with the
36 actual answers, i.e. the latter value is equal to the former value plus π.
Kinematic Analysis
Having determined θ2, the angle θ1 can be found as follows : Expanding
Eqs. (5.8d-e), yields an algebraic system of two equations in two unknowns,
s1 and c1, whose solutions are obtained by multiplying Eq. (5.8d) with a2s2
and Eq. (5.8e) with (a1 + a2c2). Subtracting the former expression from the
latter one leads to
( a1 + a 2 c 2 ) w y − a 2 s 2 w x
s1 = . . . (5.13)
Δ
( a1 + a 2 c 2 ) w x − a 2 s 2 w y
c1 = . . . (5.14)
Δ
where Δ ≡ a21 + a22 + 2 a1 a2 c2 = w2x + w2y . In analogy to Eq. (5.12), the
solution for θ1 is obtained as
θ1 = atan 2 (s1, c1) . . . (5.15)
Finally, the angle, θ3, is found from Eq. (5.8a) as
θ 3 = φ + θ1 − θ 2 . . . (5.16)
Geometric Solution
As above, note that the orientation angle is given by Eq. (5.8a), and the
coordinates of the origin of Frame 3 (Figure 5.3) are computed using
Eqs. (5.8d-e). The application of the cosine theorem to the angle formed by
the links, a1, a2, and the segment connecting the points, W and O, gives
w2x + w2y = a21 + a22 − 2 a1 a2 cos (π − θ2) . . . (5.17)
The two admissible configurations of the triangle are shown in Figure 5.3.
Observing cos (π − θ2) = − cos θ2 leads to Eq. (5.9). Now, for the existence
of the triangle, it must satisfy
w x2 + w 2y ≤ a1 + a 2 . . . (5.18)
If this condition is not satisfied the given point is outside the reachable arm
workspace. When a solution exists, it is given by
θ2 = cos−1 (c2) . . . (5.19)
It is pointed out here that the elbow-up posture is obtained for θ2 = (π, 0),
while the elbow-down posture is obtained for θ2 = (0, π). To find θ1,
consider the angles, α and β in Figure 5.3. Notice that the determination of
α depends on the sign of wx and wy. Then, it is necessary to compute α as
α = atan 2 (wy, wx) . . . (5.20)
cos β w x2 + w 2y = a1 + a 2 c 2 . . . (5.21)
37
Kinematics and Dynamics and resorting to the expression for c2 given above in Eq. (5.10) leads to
of Robots
w x2 + w 2y + a12 − a 22
β = cos − 1 . . . (5.22)
2 a1 w x2 + w 2y
θ1 = α ± β . . . (5.23)
where the positive sign holds for θ2 < 0 and the negative sign for θ2 > 0.
Finally, θ3 is computed from Eq. (5.16).
An Articulated Arm
Consider the articulated arm shown in Figure 4.17. It is desired to find the joint
variables θ1, θ2, and θ3 corresponding to a given end-effector position pw. Notice
that the direct kinematics for pw, is expressed by Eq. (5.5b). From the particular
geometry it is
θ1 = a tan 2 ( p y , px ) . . . (5.24a)
where,
px ≡ a (a2 c2 + a3 c23 )
and p y ≡ s1 ( a2 c2 + a3 c23 )
θ1 = π + a tan 2 ( p y , px ) . . . (5.24b)
on condition that θ2 be modified into π − θ2. Once θ2, is known, the resulting
structure is planar with regard to the variables θ2 and θ3. Hence, the previous
solution for the positioning of the wrist of a 3-link planar manipulator can be used,
which yields
θ3 = a tan 2 ( s3 , c3 ) . . . (5.25)
in which
(a 2 + a3 c3 )p z − a 2 s 3 p x + p y
2 2
s2 ≡ ;
px + p y + pz
2 2 2
(a 2 + a 3 c3 ) p x + p y + a3 s 3 p z
2 2
c2 ≡
px + py + pz
2 2 2
It can be recognized that there are four solutions exist for the articulated arm
according to the values of θ1, θ2, and θ3. Figure 5.4 depicts two of the solutions,
whereas the other two are those which are obtained by rotating the last two links
180o about Z1, followed by the rotation about Z2 so as to reach W.
38
Kinematic Analysis
θ2 = a tan 2 ( q13
2
+ q23
2
, q33 ) . . . (5.28b)
θ2 = a tan 2 (− q13
2
+ q23
2
, q33 ) . . . (5.28e)
ω ≡ [0 0 α&]T
Comment: Done 16/2/07
that expresses the angular velocity of the frame about axis Z.
5.3.1 Link Velocities
Consider a link, i, of a manipulator. According to the Danavit-Hartemberg (DH)
convention presented in Sub-section 4.4.2, link i connects joints i and i + 1, and frame i is
attached to link i − 1 and has origin along joint axis i, while frame i + 1 has origin along
joint i + 1 axis, as shown in Figure 5.5.
Let oi and oi – 1 be the position vectors of the origins of the links i and i – 1, i.e. Oi, and
Oi – 1, respectively. Let ai – 1 denotes the position of the origin of link i with respect to the
origin of link i – 1, as indicated in Figure 5.5. According to the vector summation rules,
one can write
oi = oi −1 + ai −1 . . . (5.39a)
41
Kinematics and Dynamics
of Robots
Differentiating the above expression, velocity of the origin of link i, namely, o&i is
obtained as
o&i = o&i −1 + a&i −1 . . . (5.39b)
Since oi and oi – 1 are the position vectors of points on links i and i − 1, respectively,
Eq. (5.39b) gives the expression of the linear velocity of link i as a function of the
velocities of link i − 1 and the angular velocity of link i – 1, ωi – 1. For the angular
velocity expression of link i, ωi, it can be obtain as
ωi = ωi −1 + ωi , i −1 . . . (5.40)
where ωi − 1 is the angular velocity of link i − 1, and ωi, i − 1 is the relative angular velocity
of link i with respect to link i − 1. Note that Eqs. (5.39a-b) attain different expressions
depending on the type of joint i, i.e. revolute or prismatic.
Revolute Joint
Since a revolute joint provides angular motion to a link with respect to its previous
one, the joint angle θi is variable. If ei denotes the unit vector parallel to the axis of
revolute joint then ωi , i −1 = θ&i ei . Hence, ωi of Eq. (5.40) can be written as
ωi = ωi −1 + θ&i ei . . . (5.41a)
ω1 = θ&1 e1 . . . (5.44b)
.
.
.
Comment: No e subscript for omega.
ω = ωn = ωn −1 + θ&n en = θ&1 e1 + θ&2 e2 + . . . + θ&n en . . . (5.44d) See correction.
and 1 = o&
o& 0 =0 . . . (5.45a)
o&2 = o&
1 + ω1 × a&
1 = θ1 e1 × a12
& . . . (5.45b)
.
.
.
where, ai , e = ai + . . . + an , is the vector joining the origin of link i to the origin of link,
n + 1 or the point on the end-effector, as shown in Figure 5.2 for i = 1, 2. From
Eqs. (5.44d) and (5.45d), the Jacobian matrix, J, as introduced in Eq. (5.30), is extracted
as
⎡ e1 e2 ... en ⎤
J =⎢
e1 × a2e . . . e1 × an e ⎥⎦
. . . (5.46)
⎣e1 × a1e
From Eq. (5.46), the ith column of matrix J, denoted as ji, can be written as
⎡ ei ⎤
ji = ⎢ ⎥ , if Joint i is revolute . . . (5.47a)
⎣ei × ai e ⎦
However, if the ith joint is prismatic then Eq. (5.47a) is modified as
⎡ 0 ⎤
ji = ⎢ ⎥ , if Joint i is prismatic . . . (5.47b)
⎣ei × ai e ⎦ 43
Kinematics and Dynamics Example 5.6
of Robots
Planar Two-link Arm
Since there are two revolute joints which can be used only for positioning of
the end-effector, the top block row of Eq. (5.46) corresponding to the
orientation of the end-effector is not relevant. Hence, the Jacobian for the
two link planar arm can be expressed as
J = [e1 × a1e e2 × a2 e ] . . . (5.48a)
where, e1 ≡ e2 ≡ e3 ≡ [0 0 1]T ,
⎡− a s − a 2 s12 − a 2 s12 ⎤
J =⎢ 1 1
a 2 c12 ⎥⎦
. . . (5.48b)
⎣ a1c1 + a 2 c12
SAQ 1
(a) Find the Jacobian for a three-link planar manipulator shown in Figure 5.3.
(b) Find the Jacobian matrix for the articulated arm shown in Figure 4.17.
⎡ e1 e2 e3 ⎤
J ≡⎢
e3 × a3 e ⎥⎦
. . . (5.51)
⎣e1 × a1e e2 × a 2 e
where, e1 ≡ e2 ≡ e3 ≡ [0 0 1]T
Moreover,
in which
s23 ≡ sin (θ1 + θ2 + θ3 ); c123 ≡ cos (θ1 + θ2 + θ3 ); s12 ≡ sin (θ1 + θ 2 );
Once the elements of the vectors ei and aie, for i = 1, 2, 3, are substituted in
Eq. (5.51) there will be three non-zero rows which are relevant, namely,
⎡ 1 1 1 ⎤
J = ⎢⎢ − a1 s1 − a2 s12 − a3 s123 − a2 s12 − a3 s123 − a3 s123 ⎥⎥ . . . (5.52)
⎢⎣ − a1 c1 + a2 c12 + a3 c123 a2 c12 + a3 s123 a3 c123 ⎥⎦
The above three rows refer to the component of the angular velocity about
Z1-axis, and the two components of the linear velocity along axes X1, Y1,
respectively.
(b) Using Eq. (5.46) the Jacobian matrix for the articulated arm can be derived
where the vector elements are obtained with the help of transformation
matrices in Example 5.2, i.e.
45
Kinematics and Dynamics ⎡0⎤ ⎡ − s1 ⎤
of Robots [ e1 ]1 ≡ ⎢⎢ 0 ⎥⎥ ; [ e 2 ]1 ≡ [ e 3 ]1 ≡ ⎢⎢ c1 ⎥⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 0 ⎥⎦
where (.)1 denotes the vector ‘0’ represented in the fixed frame, 1.
The 6 × 3 Jacobian matrix is then given by
Comme
⎡ 0 − s1 − s1 ⎤ ut
⎢ 0 c1 c1 ⎥⎥
minus
⎢ sign to
⎢ 1 0 0 ⎥ a_3c_2
J =⎢ ⎥ . . . (5.53) 3 will
⎢ − s1 (a2 c2 + a3 c23 ) − c1 (a2 s2 + a3 s23 ) − a3 c1 s23 ⎥
be
(bottom
⎢ c1 ( a2 c2 + a3 c23 ) − s1 (a2 s2 + a3 s23 ) − a1 s1 s23 ⎥ right
⎢ ⎥ element
⎣⎢ 0 − (a2 c2 + a3 c23 ) a3 c23 ⎦⎥ )
46
Kinematic Analysis
FURTHER READING
Angeles, J. (2003), Fundamental of Robotic Mechanical Systems :Theory, Methods, and
Algorithms, Spring-Verlag, New York, 2nd Edition.
Tsai, L. (1999), Robot Analysis : The Mechanics of Serial and Parallel Manipulators,
John Wiley and Sons, New York.
Yoshikawa, T. (1990), Foundation of Robotics, The MIT Press, Massachusetts.
47