Professional Documents
Culture Documents
d
(A) (B) (C)
Figure 4.1: (A) Rotary joint. (B) Prismatic joint. (C) Hooke joint. Prismatic or sliding joint: The linear displacement d along the joint axis z describes the displacement (Figure 4.1(B)).
c John M. Hollerbach, September 2004
Hooke joint: This is a two degree-of-freedom rotary joint described by two rotation angles, e.g., yaw and pitch (Figure 4.1(C)). Thus a Hooke joint is represented by two consecute rotary joints with intersecting rotation axes. Spherical joint: Three joint angles about three rotation axes are required to describe this displacement. A spherical joint can be represented by three consecutive rotary joints with intersecting rotation axes. There are many ways to congure 3 such rotary joints. The human shoulder and wrist are spherical joints (Figure 4.2(A)). Most robot wrists are spherical joints with one of two arrangements:
(A)
(B)
(C)
Figure 4.2: (A) Spherical joint. (B) Roll-pitch-roll and (C) roll-pitch-yaw equivalents. roll-pitch-roll wrist. In their zero postions, the rst and third rotation axes are parallel and the second axis is perpendicular to them. Hence the rst and third axes may be considered to generate roll motions, while the second generates a pitch motion (Figure 4.2(B)). A disadvantage is that the wrist singularity is located in the pointing direction. An advantage is that motors can be separated into the forearm, wrist, and hand. roll-pitch-yaw wrist. In their zero positions, the rotation axes are at right angles and may be considered to be described by roll-pitch-yaw angles (Figure 4.2(C)). A disadvantage of this wrist is that motors would seem to have to be coincident. An advantage is that the wrist singularity (a degeneracy of alignment of two axes) is at right angles to the pointing direction. Planar pair: A planar pair is any combination of 3 rotary and prismatic joints that generate motions of the plane; e.g., x-y translations and planar rotation (Figure 4.3(B)). Two common planar pair combinations are: RRR planar pair. This is a planar pair constructed of three consecutive rotary joints, whose axes are all parallel (Figure 4.3). A planar 3-link manipulator is the equivalent result. RPR planar pair. A rotary joint is followed by a prismatic joint, which is followed by a rotary joint. All three axes are parallel.
(A)
(B)
(A)
(B)
Figure 4.4: (A) The elbow robot with 6 degrees of freedom. (B) The planar pair robot with six degrees of freedom. Planar pair robot: Another common 6-DOF kinematic arrangement is to incorporate a planar pair as joints 2-4. The wrist joints 5-6 vary, and Figure 4.4(B) shows one possibility. Cartesian robot: The rst three degrees of freedom are a regional structure comprised of prismatic joints with mutually perpendicular axes. The wrist is typically roll-pitch-roll. An example is the IBM RS-1 robot. Kinematics of Cartesian robots are particularly simple, because the wrist position is simply controlled by setting the x, y, z coordinates of the prismatic joints.
Anthropomorphic robot: Not counting shoulder shrug, the human arm has 7 DOFs: a spherical shoulder joint, a rotary elbow joint, and a spherical wrist joint (Figure 4.5(A)). Commercial robots that have a similar structure include the Sarcos Dextrous Arm, which is then said to be anthropomorphic. One realization of this structure is a roll-pitch-roll shoulder joint, a rotary elbow joint, and a roll-pitch-roll wrist (Figure 4.5(B)).
(A)
(B)
Figure 4.5: (A) Human arm kinematics. (B) Equivalent 7-DOF anthropomorphic robot arm. SCARA robot: This 4-DOF robot is primarily meant for stacking operations (essentially planar motion with height control). A commercial example is the Adept-One robot. Two rotary joints form a horizontal two-link planar manipulator. A prismatic joint whose axis is parallel to the rst two follows. Finally, a rotary joint follows whose axis is coincident with that of the prismatic joint.
k z0
z0
O0 x0
(A)
y0
x0
O0
(B)
y0
Figure 4.6: (A) A rotary joint axis is a line vector, with direction k and displacement c from O0 . (B) A prismatic joint axis is a free vector with direction k, whose location relative to O0 is arbitrary. line is arbitrary; hence a rotary axis is an example of a sliding vector. We need 4 numbers to locate a line in space. The vectors k and c contain together 6 numbers; however, There is one constraint because k is a unit vector (||k|| = 1), and There is another constraint because c is normal to k (c k = 0). Thus 6 numbers minus 2 constraints means that there are exactly 4 independent numbers required to locate a rotation axis.
z i-1 di z i-2
Lin k i1 ai-1
x i-1 xi
Oi-1 Joint i
z i-1
z i-1
ai xi , ni zi xi zi
ai ni
(A)
(B)
Figure 4.8: Comparison between ni and xi when (A) they are equal or (B) oppositely directed. yi = zi xi completes the coordinate system. Some points should be emphasized about these coordinate systems. The coordinate system for link i is located at the distal end of link i. The coordinate system at joint i is the i 1 coordinate system.
Next, four parameters (the so-called DH parameters) are dened that relate neighboring coordinate systems resulting from above. i is the skew angle from zi1 to zi , measured about xi . Note that cos i = zi1 zi di is the distance from xi1 to xi , as measured along zi1 . Note that di can be negative. ai is the distance from zi1 to zi measured along xi . Note that ai is always positive because of the denition of xi . i is the angle from xi1 to xi , measured about zi1 . For a rotary joint, i varies and is called the joint angle. For a prismatic joint, di varies and is called the joint displacement.
z i-1
z i-1
ai i zi xi , ni xi zi
- ai i ni
(A)
(B)
Figure 4.9: The coordinate axis xi can be chosen to point from zi1 to zi (A), as in the strict DH denition, or vice versa (B). The DH parameters in (B) are the negative of those in (A). For convenience, one can relax the strict DH denition for the direction of xi (Figure 4.9(A)), so that it points from zi to zi1 (Figure 4.9(B)), and still obtain a valid parameterization. The resulting DH parameter ai in Figure 4.9(B) is the negative of that in Figure 4.9(A); its denition as the (directed) distance from zi1 to zi along xi still holds. In addition, the skew angle i in Figure 4.9(B) is the negative of that in Figure 4.9(A); its denition as the (directed) angle from zi1 to zi also still holds. The reason that one might want to ip the direction of xi is to set a more convenient reference conguration of the manipulator when the joint angles are all zero.
z i-1
zi-1
i zi
x i ,ni
xi zi
ni
(A)
(B)
Figure 4.10: For intersecting joint axes, the coordinate axis xi can be made either in the same direction as ni (A) or oppositely directed (B). The DH parameters in (B) are the negative of those in (A).
z i-1 zi z i-1 ai O i ai Oi-1 i xi-1 Oi xi xi-1 Oi-1 xi Oi+1 x i+1 zi z i+1
(A)
(B)
Figure 4.11: For parallel joint axes, common choices for xi are either to intersect xi1 (A) or xi+1 (B). 1. Choose the xi that intersects xi1 , i.e., the proximal origin Oi1 determines xi (Figure 4.11(A)). Then di = 0. This choice is recommended by [5]. 2. Choose the xi that intersects xi+1 , i.e., the distal origin Oi+1 determines xi (Figure 4.11(B)). Then di+1 = 0. This choice is recommended by [4]. We adopt the rst convention, Figure 4.11(A), here. For kinematic calibration, we have to abandon the DH parameters for parallel joint axes because slight misalignments cause the common normal to vary wildly. A parameterization called the Hayati coordinates is used in that case, but is outside the scope of this course.
z i-2
O i-1 ,Oi-2 di
Figure 4.12: Prismatic joint i and associated frame i 1 is located at origin Oi2 .
x1
Figure 4.13: Location of robot base frame 0 relative to environmental frame -1. Suppose there is an environmental reference frame that has been previously established, represented as -1 for mathematical convenience; hence the origin is O1 and the axes are x1 , y1 , and z1 (Figure 4.13). For example, this environmental frame may represent the coordinate system of a stereo vision system. x0 is now determined by the common normal between z1 and z0 . Hence 1 and d1 are determined. New DH parameters 0 , d0 , a0 and 0 are now required to relate frame 0 to frame -1. Note that the establishment of the relationship between the environmental frame and the rst manipulator frame required 6 parameters to be specied. This is not surprising, as we know we require six numbers to arbitrarily locate a frame.
10
n+1 dn+1
x n+1 xn
On xn xn
Figure 4.14: Locating an intermediate frame n between the measured end-link frame n + 1.
11
y6 O6 z6 x6 x5 d6 z5
Elbow O z4 z
3 5
Figure 4.15: End frame offset from an RPR wrist along the z5 axis.
Table 4.1: (A) A spatial 2-DOF rotary manipulator. (B) The i column is usually omitted for an all-rotary manipulator.
Ti = Trans(di
i1
(4.2)
12
d2 z1
O2
x2
a1
z0 O0 x0
d1 O0
z0
O 1 z1 x0
x1
d1 O0 z0
a1 O 1
x1
x0
(A)
(B)
(C)
Figure 4.16: Construction of the spatial 2-DOF rotary manipulator by successive placements of coordinate systems. Rot(Rz (i )) Find the direction of xi . If a joint i is rotary, then xi equals xi1 in the zero-angle position. If all joints are rotary, then all xi axes are parallel and point in the same direction. In case of a prismatic joint i, the xi and xi1 axes will have a xed relation to each other dened by the constant value of i ; they only point in the same direction if it happens that i = 0. Trans(ai i xi ) Index ai units in the xi direction to nd origin Oi . Rot(Rx (i )) Rotate zi1 by i to nd zi . This procedure is illustrated for the manipulator of Table 4.1, 1. For this all-rotary manipulator, axes x0 , x1 , and x2 all point in the same direction. Origin O1 is located by indexing up z0 by length d1 and to the right by length a1 (Figure 4.16(B)). Axis z1 is oriented to point into the page since 1 = /2. 2. Origin O2 is placed d2 units along the extension of the z1 axis, since a2 = 0. Since 2 = /2, the z2 axis points upwards.
13
2. Origin O2 is coincident with origin O1 since both a2 and d2 are zero. Axis x2 points in the same direction as axis x1 since joint 2 is rotary. Axis z2 points into the page since 2 = /2. 3. Origin O3 is located d3 units along the extension of z2 . Axis x3 points in the same direction as axis x2 since 3 = 0. Finally, axis z3 points up since 3 = /2. The reason for not setting the prismatic variables d1 and d3 in the zero-angle or reference position is shown in Figure 4.17(B). When the prismatic variables are set to zero, the coordinate systems have collapsed together and one cant tell anything about the structure.
z3 z1 z2 O 1 O2
* d1
O3
* d3
x3
x1 x2 z0 x0
(A)
z 0 z1 z2 z3
O0
O 0 O 1 O 2 O 3
(B)
x0 x1 x2 x3
Figure 4.17: (A) The 3-DOF cylindrical manipulator. (B) The manipulator when the prismatic variables are zero.
14
z2
a2 x1 2
a1 O 0 z0
Joint 1
O1 z1 x0
i ai di i i 1 a1 0 0 1 2 a2 0 0 2
Figure 4.18: DH parameterization of two-link planar manipulator. Axes are located at the distal ends of each link. By locating link 2 coordinates at the end, we avoid another transformation to locate the endpoint. We made x2 the approach vector in this special case. Joint i is located at coordinate origin i 1. The zero position of this manipulator is with the arm straight out to the right.
O2
d2
x2
i ai di i i 1 0 0 /2 2 0 /2 0
z2 z 1 y0 d2
x0 x 1 z0 O0 O1
(B) (C)
(A)
Figure 4.19: (A) A polar manipulator. (B) Coordinate system placement and zero-angle position. (C) DH parameters. The rst coordinate system is placed as for the two-link planar manipulator, with the z0 axis pointing out of the page and x0 pointing to the right (Figure 4.19(B)). The prismatic axis z1 intersects z0 , so the origin O1 is at the same location as O0 . The prismatic axis is at right angles to the rotary axis, and in the
15
zero-angle position has to be such that the x1 axis is coincident with x0 . Choosing 1 = /2 would cause the z1 axis to point down, while choosing 1 = /2 causes z1 to point up as in the gure. The latter should be chosen if the preference is for the axis to point up in the zero-angle position. A reason might be that the polar arm is sitting on a table, and a zero-angle position with the axis pointing down would cause the arm to go through the table. Lastly, the link 2 coordinate system has been chosen with z2 pointing out of the page in order to be consistent with the direction of z0 . This choice yields x2 pointing to the right, a xed joint angle 2 = 0, and a skew angle 2 = /2. The joint variable d2 is shown with a positive non-zero length to separate origin O2 from O0 . The nal DH parameters are summarized in the table in Figure 4.19(C). Astericks have been placed for 1 and d2 to show they are the joint variables.
z 5 z6
6 z5 z6
x4 x5 x6
x6
6 x 5 x4 4
O 4 O 5 O6 z4 d4 x3 z3
z4 5
z3 4 x3
i 4 5 6
ai 0 0 0
di i d4 /2 0 /2 0 0
i 4 5 6
O3
(A)
(B)
Figure 4.20: (A) Spherical joint in zero position. (B) Spherical joint after displacements in all angles. The last frame 6, which will be interpreted as the end link, has been chosen conveniently so that z5 and z6 are coincident. Axis z6 can be considered as pointing along the gripper, i.e., the approach vector a (4.23). We have chosen x5 = z5 z4 and 5 = /2 because when 5 = 0 we wish the hand to point straight up from the forearm. The alternative would have the hand fold back into the forearm, which while kinematically possible is not physically possible.
16
z3
a2 O 1 z1 d1 x0 z0 x1 z2 O 2 O 3 x 2 x3
i 1 2 3 ai 0 a2 0 di i d1 /2 0 0 0 /2 i 1 2 3
O0
Figure 4.21: First three joints of the elbow robot. made so that in the zero position, the elbow points up rather than down. There is no reason to do this, other than for convenience in thinking where the manipulator is when all joints are zero.
17
z0 O0 x0
z1 O1 x1 a2 O 2 d3 O 3 z2 d4 O 4 z 3 z4
Figure 4.22: The SCARA robot.
a1
x2
i 1 2 3 4 ai a1 a2 0 0 di i 0 0 0 d3 0 d4 0 i 1 2 0 4
x3 x4
axis by i : ci si 0 ci si ci si si 1 0 0 i1 Ri = Rz (i )Rx (i ) = si ci 0 0 ci si = si ci ci ci si 0 si ci 0 0 1 0 si ci (4.3) The translational component referenced to axes i 1 is: ci ai ci 0 i1 di1,i = di i1 zi1 + ai i1 xi = di i1 zi1 + ai i1 Ri i xi = di 0 + ai si = ai si 0 di 1 (4.4) Hence the homogeneous transformation i1 Ti from frame i to frame i 1 is:
i1
Ti =
i1 R i
i1 d i1,i
0T
ci si ci si si ai ci si ci ci ci si ai si 0 si ci di 0 0 0 1
(4.5)
Tj = i Ti+1
i+1
Ti+2
j 2
T j 1
j 1
Tj ,
i<j
(4.6)
For efciency reasons during computer implementation, it is usually best to decompose the coordinate transformations into separate rotations and translations.
i
Rj
Ri+1
j
i+1
Ri+2
k 1
j 2
Rj 1
j 1
Rj
(4.7) (4.8)
dij =
k =i+1
Rk1
dk1,k
18
o a n z n+1
yn+1
11111111111 00000000000 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111
x n+1
Figure 4.23: Approach a, orientation o, and normal n axes in the tip of a screwdriver. where we dene i Ri = I, the identity matrix. An alternative is to write the translation vectors in terms of their components, which is often preferable in practice:
j i
dij =
k =i+1
dk i Rk1
k 1
zk1 + ak i Rk k xk
(4.9)
Tn = 0 T1 1 T2
n1
Tn
(4.10)
Rn =
R1 1 R2
n
n1
Rn zk1 + ak 0 Rk k xk
(4.11) (4.12)
d0n =
k =1
dk 0 Rk1
k 1
is computed recursively.
If additional frames are added at the beginning or end, for example the frame 1 as in Figure 4.13 or n + 1 in Figure 4.14, the forward kinematics computation is extended to include them.
19
xed frame in the end effector. For example, Figure 4.23 shows a gripper holding a screwdriver. It is natural to plan in terms of a coordinate system xed in the tip of the blade. Coordinate system n + 1 is xed in the gripper as constructed previously, and another coordinate system with axes x = n, y = o, and z = a is located at the blade tip. This special nomenclature corresponds to a as the approach vector, o as the orientation vector, and n as the normal vector. The forward kinematics for the robot holding the object is
0
Ttool = 0 Tn+1
n+1
Ttool
Once an object is rigidly grasped, then n+1 Ttool is constant. For practical purposes, the object can be considered to comprise part of the last link. The transform n Tn+1 is also constant. The two constant transforms can be grouped together:
n
Ttool =
Tn+1
n+1
Ttool
(4.13)
The constant transformation n Ttool is referred to as the tool transform. Even if an additional frame n + 1 is not dened and an object frame is related directly to frame n, the composite transformation (4.13) is still referred to as the tool transform. It represents the frame operated on by joint n.
20
z i i
zi
x i =x i" i xi
i Oi-1
Figure 4.24: Hayati parameterization. represent the two rotational transformations between zi1 and zi . The single prime ( ) coordinate system is related to the double prime coordinates by rotation about xi = xi by i : zi = Rx (i )zi , yi = Rx (i )yi (4.14)
Finally, zi and xi are related to zi and xi by rotation about yi = yi by i : zi = Ry (i )zi , xi = Ry (i )xi (4.15)
In the gure, xi would lie below the plane, as is indicated by the dotted line. The angle from xi1 to xi about zi1 is i , while the distance from Oi1 to Oi along xi is ai . The four parameters i , i , i , and ai are the Hayati parameters. Although the denitions of i , i , and ai are not the same as for the DH parameters, the same symbols are used because their denitions are in the same spirit. The Hayati parameter i replaces di as the fourth parameter. The rotational transformation from i to i 1 is:
i1
Ri = Rz (i )Rx (i )Ry (i )
(4.16)
di1,i = ai
i1
xi
1 ci = ai Rz (i ) 0 = ai si 0 0
(4.17)
The subsequent coordinate system i + 1 is then dened with respect to this coordinate system i. This next coordinate system may involve DH parameters, or Hayati parameters again. The Hayati parameters themselves have a problem for nearly perpendicular joint axes: the intersection of the xi1 /yi1 plane with zi is poorly dened. For calibration purposes, one therefore chooses the DH parameters for nearly perpendicular axes and the Hayati parameters for nearly parallel axes. For in between cases, one can choose a value such as i = 30 degrees as the cutoff. Once calibration has been performed, one may then transform from Hayati parameters to DH parameters and thereafter use only DH parameters for kinematic transformations. The relation between the two may be derived straightforwardly. Alternatively, one can keep the Hayati parameters and employ the appropriate rotational and translational transformations (4.16) and (4.17).
21
zi
zi
1
Link i
i-1
z i-1
x i-1 ai-1
Ri = Rx (i1 )Rz (i )
i1
i1
di1,i = di
zi + ai1
i1
xi1
i1
xi1
xi1
An advantage of Craigs convention is the proximal placement of the origin for a link. Also the rotation i is about zi and the joint number is the same as the coordinate number, which seem more natural. Torque exerted about joint i is also at the same place as at link is coordinate system, to which inertial parameters such as center of mass are likely to be referenced. A disadvantage is that the transform mixes i 1 and i parameters. As an example, a set of Craig parameters is developed for the rst three joints of the elbow robot (Figure 4.21) in Figure 4.26. The axes of rotation are now z1 , z2 , and z3 . A coordinate system 0, xed in the ground, has to be added as a reference for coordinate system 1. This has been done by by making z0 parallel
22
z1
ai
0 0 1 0 2 a2
di i i 0 d1 /2 0 0 0
x1 x2 z2 d1 00 01 02 z0 x0 a2 z3 03
x3
Figure 4.26: Craig parameters developed for the rst three joints of the elbow robot. to and coincident with z1 , and placing O0 a distance d1 from O1 . The arbitrary choices by this placement of coordinate system 0 are thus d1 , 0 = 0 (parallel axes), and a0 = 0 (coincident axes). Parameters d0 and 0 are undened. For the last link, parameters a3 and 3 are undened. Both Craigs convention and the standard DH convention are equally valid. The choice of one over the other is merely a matter of taste or habit.
Bibliography
[1] Craig, J.J., Introduction to Robotics: Mechanics and Control. Reading, Mass.: Addison-Wesley, 1986. [2] Hayati, S.A., and Mirmirani, M., Improving the absolute positioning accuracy of robot manipulators, J. Robotic Systems, vol. 2, pp. 397-413, 1985. [3] Hollerbach, J.M., and Wampler, C.W., The calibration index and taxonomy of kinematic calibration methods, Intl. J. Robotics Research, 15 no. 6, 1996. [4] Paul, R.P., Robot Manipulators: Mathematics, Programming, and Control. Cambridge, Mass.: MIT Press, 1981. [5] Spong, M.W., and Vidyasagar, M., Robot Dynamics and Control. N.Y.: John Wiley & Sons, 1989.
23