D-H Problems PDF
D-H Problems PDF
D-H Problems PDF
Reference: Chapter 3, Robot Modeling and Control by Spong, Hutchinson and Vidyasgar, Wiley, 2006.
Ci
Si
=
0
0
Si Ci
Ci Ci
Si
0
Si Si
Ci Si
Ci
0
ai Ci
ai Si
di
1
(1)
(2)
We will see that this choice of parameters is not unique. However, this is a standard way of specifying the relation of
each coordinate frame to the next one in a serial kinematic chain.
that
...
...
...
...
Using this table, we can just plug into the transform matrix for each link of the robot, and multiply them together. Note
the joint variable is either for revolute joints or d for prismatic joints.
Figure 2: D-H frames for 3 link elbow manipulator. Note: manipulator is pictured after rotation (1 , 2 , 3 ) = (90, 0, 0)
Figure 2 shows a 3-link elbow manipulator. Assume link lengths of a2 and a3 for links 2 and 3, and that the link 1
offset is d1 :
Joint
1
2
3
C1
S1
0
A1 =
0
0
T30
0 S1
0 C1
1
0
0
0
1
2
3
C2
0
S2
0
1
; A2 =
0
d1
1
0
C1 C2 C3 C1 S2 S3
S1 C2 C3 S1 S2 S3
0 1 2
= A1 A2 A3 =
S2 C3 + C2 S3
0
d
d1
0
0
S2
C2
0
0
a
0
a2
a3
0
0
1
0
90
0
0
a2 C2
C3
S3
0
2
; A3 =
0
0
1
0
C1 C2 S3 C1 S2 S3
S1 C2 S3 S1 S2 C3
S2 S3 + C2 C3
0
3
S1
C1
0
0
S3
C3
0
0
0 a3 C3
0
0
1
0
0
1
C1 C2 a3 + C1 a2
S1 C2 a3 + S1 a2
S2 a3 + d1
1
(3)
(4)
T30 =
0
1
0
0
0
0
1
0
1
0
0 a2 + a3
0
d1
0
1
(5)
This shows the end effector location as (0,a2 + a3 ,d1 ) as shown in the figure. Note also the directions
of the axes in the final end-effector frame are equal to the column vectors of T30 .
C1
S1
0
A1 =
0
0
S1
C1
0
0
T30
0 0
1 0 0
0 0 1
0 0
1
; A2 =
0 1 0
1 d1
0 1
0 0 0
C1
S1
= A01 A12 A23 =
0
0
0
0
1
0
0
1
0
0
2
; A3 =
0
d2
1
0
S1
C1
0
0
0
1
0
0
S1 d3
C1 d3
d1 + d2
1
0
0
1
0
0
0
d3
1
(6)
(7)
Note: d1 could be zero, in which case the origin of link 1 would be the same as link 2s origin.
Example: Let 1 = 90, d1 = 0, d2 = 3 and d3 = 5. Then substituting into the transform matrix, we can see the
manipulator endpoint (last column of matrix) is at (5, 0, 3).
C4
S4
A34 =
0
0
T63
0 S4
0
C4
1
0
0
0
0
C5
0
; A4 = S5
5
0
0
1
0
0
S5
0 C5
1
0
0
0
C4 C5 C6 S4 S6
S4 C5 C6 + C4 S6
3 4 5
= A4 A5 A6 =
S5 C6
0
0
C6
0
; A5 = S6
6
0
0
1
0
C4 C5 S6 S4 C6
S4 C5 S6 + C4 C6
S5 S6
0
C4 S5
S4 S5
C5
0
S6
C6
0
0
0
0
1
0
C4 S5 d6
S4 S5 d6
C5 d6
1
0
0
d6
1
(8)
(9)
You can append the 2 matrices T30 T63 to get the final matrix 0 T6 of the cylindrical manipulator with the spherical
wrist. This mechanism has 6 DOF and 6 joint variables: 1 , d2 , d3 , 4 , 5 , 6 .
Z5
6
Y5
d6
5
X5
Z4
Z3
X4
4
Sphericalwristframes,4=5= 90
Y3
X3
Sphericalwristframes,4=5=0
zeroposition
1
2
3
d
0
0
0
a
a1
a2
a3
-90
0
0
Substituting these values into the D-H frame transformation matrices we get (note: C23 = Cos(2 + 3 ), same for
S23 .
C1
S1
0
A1 =
0
0
C1 C2
S1 C2
0
A2 =
S2
0
0 S1
0
C1
1
0
0
0
C1 S2
S1 S2
C2
0
a1 C1
C2
S2
a 1 S1
1
;A =
2
0
0
1
0
S1
C1
0
0
S2
C2
0
0
0 a2 C2
C3
S3
0 a 2 S2
2
;A =
3
0
1
0
0
1
0
C1 C23
C1 C2 a2 + C1 a1
S1 C23
S1 C2 a2 + S1 a1
0
; A3 =
S23
S2 a2
0
1
C1 S23
S1 S23
C23
0
S1
C1
0
0
S3
C3
0
0
0
0
1
0
a3 C3
a 3 S3
0
1
(10)
C1 C23 a3 + C1 C2 a2 + C1 a1
S1 C23 a3 + S1 C2 a2 + S1 a1
a3 S23 S2 a2
1
(11)
0 0 1
0
1 0
0 a1 + a3
A03 =
0 1 0
a2
0 0
0
1
(12)
1
0
3
d
0
q2
0
a
a1
0
a3
180
90
0
Substituting these values into the D-H frame transformation matrices we get:
C1
S1
A01 =
0
0
S1
C1
0
0
C1
S1
A02 =
0
0
1
0 a1 C1
0 a 1 S1
; A12 = 0
0
1
0
0
1
0
0 S1
0
C1
1
0
0
0
0 0
0
C3
0 1 0
; A23 = S3
1 0 q2
0
0 0
1
a1 C1
C1 C3
a 1 S1
; A0 = S1 C3
3
S3
q2
1
0
C1 S3
S1 S3
C3
0
S1
C1
0
0
S3
C3
0
0
0
0
1
0
a3 C3
a 3 S3
0
1
C1 C3 a3 + C1 a1
S1 C3 a3 + S1 a1
a3 S3 q2
1
(13)
(14)
if 1 = 90 and 3 = 0 and q2 = 5:
0 0 1
0
1 0
0 a1 + a3
A03 =
0 1 0
5
0 0
0
1
(15)