In order to model an open serial-chain robot arm kinematically, we need not only to represent a 6 d.o.f. rigid motion inCartesian spacefor the purpose of task/path description, but also to determine a complete transformation along the entire serial-chain robot body in joint space for the purpose of joint values determination. During the 1950’s, Denavit and Hartenberg had independently developed a wonderful procedure to uniquely determine all the joint parameters plus variables for an open serial-chain robotic manipulator.
Today, almost everyone recognizes that the D-H procedure is the best ap- proach to uniquely modeling robotic kinematics, which is commonly called theD-H Convention[1, 2, 4].
Based on the D-H Convention, each joint and its host link possess in total four independent parameters: a joint angle θ, a joint offset d, a link twist angleα, and a link lengtha. Only one of them is selected as a joint variable.
The detailed definitions are shown in Figure 4.1 and can be procedurized as follows:
1. First, determine a base coordinate frame for the robot and let the z0- axis of the base be the axis for the first joint rotation if it is revolute, or translation if it is prismatic;
2. Then, assignzi−1axis for thei-th joint as its rotation (or translation) axis for eachi= 2,ã ã ã, nif the total number of robotic joints isn;
3. After all the n z-axes are assigned along the robot body, determine the xi axis for each i = 1,ã ã ã, n, which must be the common normal vector betweenzi−1 andzi and must also be attached on both the twozi−1and zi axes;
4. After all thex-axes are so determined, then
a. The joint angle θi is defined exactly to rotate link i about zi−1 and evaluated fromxi−1 toxi by looking into thezi−1 axis;
b. The joint off-setdi is defined as a distance alongzi−1from xi−1to xi;
z i-2
z i-1
z i
z i+1
x i-1
x i
x i+1 θi-1
θi
θi+1
θi+2
a i-1
a i
a i+1
d i
d i+1
Fig. 4.1 Definition of the Denavit-Hartenberg (D-H) Convention
c. The link twist angleαi is defined as an angle about xi from zi−1 to zi by looking into thexi axis; and
d. The link lengthai is defined as a distance alongxi fromzi−1 tozi. Through the above procedure, each link of the robot is guaranteed to have one and only one coordinate frame attached on it forever, no matter where the link moves. Namely, frame i is fixed on link i as the reference frame of link i, and this will also be the key important and convenient reference frame to determine all the dynamic parameters of the link, such as the mass center and the moments of inertia, in the subsequent dynamic modeling.
Then-joint robot consists ofnlinks in total and therefore hasn+ 1 frames assigned, including frame 0 on the base and from frame 1 through frame n with then-th frame as the robotic hand or the end-effector frame. The above procedure of the D-H Convention allows us to determine theziandxiaxes for each frame, and the correspondingyi axis can be determined automatically by the Right-Hand Rule.
Let us now look at a 6-joint robot arm as an example to illustrate how to follow the procedure and further to determine a so-called D-H Table for the robot. This robot arm, called a Stanford-Type robot, has a spherical structure over the first three links, i.e., the first three joints: Waist, Shoul- der and Elbow are revolute, revolute and prismatic (RRP), respectively, as shown in Figure 4.2. Following the D-H Convention, one can determine with- out difficulty all the six frames as well as the four kinematic parameters for each link/joint. The D-H table can accordingly be created and is given in Table 4.1.
Table 4.1 The D-H table for a Stanford-type robot
Joint Angle Joint Offset Twist Angle Link Lengthcosαsinα
θi di αi ai cαi sαi
θ1 d1 900 0 0 1
θ2 0 900 0 0 1
θ3= 0 d3 0 0 1 0
θ4 0 −900 0 0 −1
θ5 0 900 0 0 1
θ6 d6 0 0 1 0
X0
Y0
Z0 Z1
Z2
Z3
Z4
Z5,6
X1
X2
X3 X4
X5
X6
d1
d3 d6
θ1
θ2
θ4
θ5
θ6 α1
α2
α4
α5
O
Fig. 4.2 A 6-joint Stanford-type robot arm
Since each set of the four parameters in the D-H table represents the corre- sponding coordinate frame position and orientation referred to the previous adjacent frame, and each of the joint anglesθi and offsetsdi is about/along thezi−1axis and each of the twist anglesαiand link lengthsaiis about/along the xi axis, we can readily find a homogeneous transformation to describe such an adjacent one-step relationship between frame i−1 and frame i as follows:
Aii−1=
⎛
⎜⎝
ci −si 0 0 si ci 0 0
0 0 1 di
0 0 0 1
⎞
⎟⎠
⎛
⎜⎝
1 0 0 ai
0 cαi −sαi 0 0 sαi cαi 0
0 0 0 1
⎞
⎟⎠, (4.1)
where once againci = cosθi, si = sinθi, andcαi = cosαi and sαi = sinαi
as a traditional short notation in robotics community.
As a result, by substituting the parameters/variables from the D-H table for the Stanford-Type robot into (4.1), we obtain all theOne-Step Homo- geneous Transformationsfor the robot.
A10=
⎛
⎜⎝
c1 0 s1 0 s1 0 −c1 0
0 1 0 d1
0 0 0 1
⎞
⎟⎠, A21=
⎛
⎜⎝
c2 0 s2 0 s2 0 −c2 0
0 1 0 0
0 0 0 1
⎞
⎟⎠,
A32=
⎛
⎜⎝
1 0 0 0
0 1 0 0
0 0 1 d3
0 0 0 1
⎞
⎟⎠, A43=
⎛
⎜⎝
c4 0 −s4 0 s4 0 c4 0
0 −1 0 0
0 0 0 1
⎞
⎟⎠,
A54=
⎛
⎜⎝
c5 0 s5 0 s5 0 −c5 0
0 1 0 0
0 0 0 1
⎞
⎟⎠, A65=
⎛
⎜⎝
c6 −s6 0 0 s6 c6 0 0
0 0 1 d6
0 0 0 1
⎞
⎟⎠. (4.2)
Then, we may further determine the homogeneous transformation between framei and framej, and in particular, the robotic hand frame (#6) homo- geneous transformation with respect to the base (#0):
A60=A10A21A32A43A54A65. (4.3) The above successive transformation establishes a foundation of robotic kinematics. The right-hand side of (4.3) is clearly a function of all the six joint positions (variables) of the robot in q= (θ1 θ2 d3 θ4 θ5 θ6)T. Let the hand frame that is represented byA60=F4×4(q) match with a given desired task frame H0task with respect to the base. Then, theinverse kinematics, or I-K, is to solve all the trigonometric equations involved in the following 4 by 4 matrix equation to find all the joint valuesθ1 throughθ6, includingd3: A60=F4×4(q) =H0task. (4.4) Conversely, if all the joint positions inqare given, substituting them into A60 to determine the task frameH0task is called theforward kinematics, or F-K.
Indeed, to solve each trigonometric equation involved in (4.4) is often diffi- cult and tedious, and in some cases of 6-joint industrial robotic manipulators, they may not always have a closed form of the I-K solution. However, each
robotic manipulator is required to derive its symbolical inverse kinematic so- lution to be programmed into its controller, but only needs to doonce, and it will then be used forever in all future applications. On the other hand, a number of internal functions, such as fsolve(ã ã ã) or fmincon(ã ã ã) with con- straints or fgoalattain(ã ã ã) carrying objective functions in MATLABT M, can directly be called to solve the I-K numerically in a real-time fashion for a robot without need of a symbolical I-K algorithm. This will bring a lot of conveniences to robotic simulation studies performed in MATLABT M.