Denavit –
Hartenberg
Rule
DH Parameter Summary
DENAVIT-HARTENBERG REPRESENTATION
Chapter 2
Symbol Terminologies :
Robot Kinematics: Position Analysis
⊙ : A rotation angle between two links, about the z-axis (revolute).
⊙ d : The distance (offset) on the z-axis, between links (prismatic).
⊙ a : The length of each common normal (Joint offset).
⊙ : The “twist” angle between two successive z-axes (Joint twist)
(revolute)
Only and d are joint variables.
Links between
revolute joints
Type 3 Link
Joint n+1
xn
Link n
ln=0
dn=0
Joint n
xn-1
n-1
Type 4
Joint n+1
Link
Link n
ln=0
Part of dn=0
dn-1
Joint n
n
xn
xn-1 yn-1 Origins coincide
Links between
prismatic
joints
Example II: PUMA 260
1. Number the joints
2. Establish base frame
1 2 3. Establish joint axis Zi
Y1 Z1
X1 4. Locate origin, (intersect.
O1 3 of Zi & Zi-1) OR (intersect
of common normal & Zi )
Z2 Z6
5. Establish Xi,Yi
Y3O2 Z5 Z4
O3 X Y6 X i (Zi 1 Zi ) / Zi 1 Zi
Y2 2
O6
6
5 Yi (Zi X i ) / Zi X i
Z0
X3 Y5
t
O5 X5 X6
O4 Z 3
Y4
X4 4
PUMA 260
d a
Link1 13 1 0 90
(Waist)
Link2 0 2 8 0
(Shoulder)
Link3 -l 3 0 90
(Elbow)
Link4 8 4 0 90
Link5 0 5 0 90
Link6 t 6 0 0
Axis Assignment
• zi−1 and zi – not coplanar
– xi - unique line from zi-1 to zi , perpendicular to both
– oi - Where xi intersects zi
• zi−1 and zi – intersect
– oi – intersection of zi-1 and zi
– xi - Orthogonal to the plane defined by zi−1 and zi
• zi−1 and zi – parallel
– ∞ common normals!
– Free to choose oi - Anywhere along zi
– xi – Arbitrary:
xi : Choose common normal of previous joint
i
xi - Normal through oi-1oi - Point of intersection
i i
of xi with zi
DH Frame setup - Summary
Example
Adept One Robot
Example: PUMA 560
• Frames and link parameters:
Direct & Inverse Kinematics 40
Example: PUMA 560
• Frames and link parameters:
αi-1 ai-1 di θi
1 0 0 0 θ1
2 -90º 0 0 θ2
3 0 a2 d3 θ3
4 -90º a3 d4 θ4
5 90º 0 0 θ5
6 -90º 0 0 θ6
Direct & Inverse Kinematics 41
Variations of DH Rule
• According to the conventional Denavit-Hartenberg (D-H) notation
(Denavit, J. and Hartenberg, "A Kinematic Notation for Lower-Pair
Mechanisms Based on Matrices," J. of Applied Mechanics, June,
1955, pp. 215-221.), only four parameters (a, d, θ, α) are necessary
to define a frame in space (or joint axis) relative to a reference
frame:
• a = minimum distance between line L (the z axis of next frame) and
z axis (mutually orthogonal line between line L and z axis)
• d = distance along z axis from z origin to minimum distance
intersection point
• θ = angle between x-z plane and plane containing z axis and
minimum distance line
• α = angle between z axis and L
• The Denavit-Hartenberg parametric
description of lines can be extended to
represent frame coordinates for a kinematic
chain of revolute and translational joints.
• Consider the figure below.
• Note that there are several forms of these
parameters being applied to the forward and
inverse kinematics of serial mechanisms
• Each link i has an inward joint i and an outward joint i +1.
• The coordinate system is established beginning at joint 1, the input
joint, and numbering outward.
• For a revolute robot the coordinate z axis for each link lies colinear
with the axis of rotation.
• The x axis is established by the miminum distance line between the
current z axis and the z axis of the inner joint.
• a is the minimum distance between the two consecutive z axes.
• The axes are numbered such that the i -1 axes are associated with
the ith joint of the ith link ( and thus describes the displacement of
the previous link).
• The set of axes established for a PUMA robot is shown as follows.
• Using the D-H representation, the four
parameters are described as
• θi = joint angle of xi axis relative to xi-1 axis with
defined according to RH rule about zi-1 axis.
• di = distance from the origin of the i-1 axes to the
intersection of the zi-1 axis with the xi axis and
measured along the zi-1 axis.
• ai = minimum distance between zi-1 and zi.
• αi = offset angle of zi axis relative to zi-1 axis
measured about the xi axis using RH rule.
• ai = minimum distance between joint i axis (zi)
and joint i-1 axis (zi-1)
• di = distance from minimum distance line (xi-1
axis) to origin of ith joint frame measured
along zi axis.
• αi = angle between zi and zi-1 measured about
previous joint frame xi-1 axis.
• θi = angle about zi joint axis which rotates xi-1
to xi axis in right hand sense.
Conventional
Revised
• θi = joint angle of xi axis
relative to xi-1 axis with • ai = minimum distance
defined according to RH between joint i axis (zi) and
rule about zi-1 axis. joint i-1 axis (zi-1)
• di = distance from the
origin of the i-1 axes to the • di = distance from minimum
intersection of the zi-1 axis distance line (xi-1 axis) to
with the xi axis and origin of ith joint frame
measured along the zi-1 measured along zi axis.
axis.
• ai = minimum distance
• αi = angle between zi and zi-
between zi-1 and zi. 1 measured previous joint
• αi = offset angle of zi axis frame xi-1 axis.
relative to zi-1 axis • θi = angle about zi joint axis
measured about the xi axis which rotates xi-1 to xi axis
using RH rule.
in right hand sense. about
PROBLEMS
with DH
DEGENERACY AND DEXTERITY
Degeneracy : The robot looses a degree of freedom
and thus cannot perform as desired.
٭When the robot’s joints reach their physical limits,
and as a result, cannot move any further.
٭In the middle point of its workspace if the z-axes
of two similar joints becomes collinear.
Dexterity : The volume of points where one can
position the robot as desired, but not
orientate it.
Fig. 2.31 An example of a robot in a
degenerate position.
THE FUNDAMENTAL PROBLEM WITH D-H
REPRESENTATION
Defect of D-H presentation : D-H cannot represent any motion about
the y-axis, because all motions are about the x- and z-axis.
TABLE 2.3 THE PARAMETERS TABLE FOR THE
STANFORD ARM
# d a
1 1 0 0 -90
2 2 d1 0 90
3 0 d1 0 0
4 4 0 0 -90
5 5 0 0 90
Fig. 2.31 The frames of the
6 6 0 0 0
Stanford Arm.
Example: PUMA 560
• PUMA 560 is a 6 DOFs industrial robot with
all rotational joints (6R mechanism)
Direct & Inverse Kinematics 62
Example: PUMA 560
• PUMA 560 is a 6 DOFs industrial robot with
all rotational joints (6R mechanism)
Direct & Inverse Kinematics 63
Example: PUMA 560
• Frame {0} and Frame {1} coincides when
θ1=0.
• The joint axes Z4, Z5 and Z6 (wrist’s joints) intersect
at a common point.
• Z4, Z5 and Z6 are mutually orthogonal.
Direct & Inverse Kinematics 64
Example: PUMA 560
• Frames and link parameters:
Direct & Inverse Kinematics 65
Example: PUMA 560
• Frames and link parameters:
Direct & Inverse Kinematics 66
Example: PUMA 560
• Frames and link parameters:
αi-1 ai-1 di θi
1 0 0 0 θ1
2 -90º 0 0 θ2
3 0 a2 d3 θ3
4 -90º a3 d4 θ4
5 90º 0 0 θ5
6 -90º 0 0 θ6
Direct & Inverse Kinematics 67
Example: PUMA 560
• Link transformations:
c1 s1 0 0 c 4 s 4 0 a3
0
T s1 c1 0 0 3
T 0 0 1 d4
1
0 0 1 0
4
s 4 c 4 0 0
0 0 0 1 0 0 0 1
c 2 s 2 0 0 c5 s5 0 0
0 0 1 0 0 0 1 0
1
T 4
T
2
s 2 c 2 0 0
5
s5 c5 0 0
0 0 0 1 0 0 0 1
c3 s3 0 a2 c 6 s 6 0 0
2
T s3 c3 0 0 5
T 0 0 1 0
3
0 0 1 d3
6
s 6 c 6 0 0
0 0 0 1 0 0 0 1
Direct & Inverse Kinematics 68
Example: PUMA 560
• The kinematics equations of the PUMA 560:
0
6 T 10 T 12 T 32 T 34 T 54 T 56 T r11 c1[c23 (c5c6 s4 s5 ) s23 s5c5 ] s1 (s4c5c6 c4 s6 ),
r11 r12 r13 p X r21 s1[c23 (c4c5c6 s4 s6 ) s23 s5c6 ] c1 ( s4c5c6 c4 s6 ),
r31 s23 (c4c5c6 s4 s6 ) s23 s5c6 ,
r r r p
21 22 23 Y
r31 r32 r33 pZ r12 c1[c23 (c4c5c6 s4c6 ) s23 s5c6 ] s1 (c4c6 s4c5 s6 ),
0 0 0 1 r22 s1[c23 (c4c5 s6 s4c6 ) s23 s5 s6 ] c1 (c4c6 s4c5 s6 ),
With : r32 s23 (c4c5 s6 s4c6 ) c23 s5 s6 ,
p X c1[a2c2 a3c23 d 4 s23 ] d3 s1 , r13 c1 (c23c4 s5 s23c5 ) s1s4 s5 ,
pY s1[a2c2 a3c23 d 4 s23 ] d3c1 , r23 s1 (c23c4 s5 s23c5 ) c1s4 s5 ,
pZ a3 s23 a2 s2 d 4c23 , r33 s23c4 s5 s23c5 .
Direct & Inverse Kinematics 69