You are on page 1of 17

Denavit-Hartenberg Convention

Denavit-Hartenberg Convention
Number the joints from 1 to n starting with the base and ending with
the end-effector.
Establish the base coordinate system. Establish a right-handed
orthonormal coordinate system at the supporting base
with axis lying along the axis of motion of joint 1.
Establish joint axis. Align the Z
i
with the axis of motion (rotary or
sliding) of joint i+1.
Establish the origin of the ith coordinate system. Locate the origin of
the ith coordinate at the intersection of the Z
i
& Z
i-1
or at the
intersection of common normal between the Z
i
& Z
i-1
axes and the Z
i

axis.
Establish X
i
axis. Establish or along the
common normal between the Z
i-1
& Z
i
axes when they are parallel.
Establish Y
i
axis. Assign to complete the
right-handed coordinate system.
Find the link and joint parameters
) , , (
0 0 0
Z Y X
i i i i i
Z Z Z Z X =
1 1
/ ) (
i i i i i
X Z X Z Y + = / ) (
0
Z
Example I
3 Revolute Joints
a
0
a
1
Z
0
X
0
Y
0
Z
3
X
2
Y
1
X
1
Y
2
d
2
Z
1
X
3
3
O
2
O
1
O
0
O
Joint 1
Joint 2
Joint 3
Link 1 Link 2
Link Coordinate Frames
Assign Link Coordinate Frames:
To describe the geometry of robot motion, we assign a Cartesian
coordinate frame (O
i
, X
i
,Y
i
,Z
i
) to each link, as follows:
establish a right-handed orthonormal coordinate frame O
0
at
the supporting base with Z
0
lying along joint 1 motion axis.
the Z
i
axis is directed along the axis of motion of joint (i + 1),
that is, link (i + 1) rotates about or translates along Z
i
;
Link 1 Link 2
a
0
a
1
Z
0
X
0
Y
0
Z
3
X
2
Y
1
X
1
Y
2
d
2
Z
1
X
3
3
O
2
O
1
O
0
O
Joint 1
Joint 2
Joint 3
Link Coordinate Frames
Locate the origin of the ith coordinate at the intersection
of the Z
i
& Z
i-1
or at the intersection of common normal
between the Z
i
& Z
i-1
axes and the Z
i
axis.
the X
i
axis lies along the common normal from the Z
i-1

axis to the Z
i
axis , (if Z
i-1
is
parallel to Z
i
, then X
i
is specified arbitrarily, subject only
to X
i
being perpendicular to Z
i
);

i i i i i
Z Z Z Z X =
1 1
/ ) (
a
0
a
1
Z
0
X
0
Y
0
Z
3
X
2
Y
1
X
1
Y
2
d
2
Z
1
X
3
3
O
2
O
1
O
0
O
Joint 1
Joint 2
Joint 3
Link Coordinate Frames
Assign to complete the right-
handed coordinate system.
The hand coordinate frame is specified by the geometry
of the end-effector. Normally, establish Z
n
along the
direction of Z
n-1
axis and pointing away from the robot;
establish X
n
such that it is normal to both Z
n-1
and Z
n

axes. Assign Y
n
to complete the right-handed coordinate
system.

i i i i i
X Z X Z Y + = / ) (
n
O
a
0
a
1
Z
0
X
0
Y
0
Z
3
X
2
Y
1
X
1
Y
2
d
2
Z
1
X
3
3
O
2
O
1
O
0
O
Joint 1
Joint 2
Joint 3
Link and Joint Parameters
Joint angle : the angle of rotation from the X
i-1
axis to
the X
i
axis about the Z
i-1
axis. It is the joint variable if joint i
is rotary.

Joint distance : the distance from the origin of the (i-1)
coordinate system to the intersection of the Z
i-1
axis and
the X
i
axis along the Z
i-1
axis. It is the joint variable if joint i
is prismatic.

Link length : the distance from the intersection of the Z
i-1

axis and the X
i
axis to the origin of the ith coordinate
system along the X
i
axis.

Link twist angle : the angle of rotation from the Z
i-1
axis
to the Z
i
axis about the X
i
axis.

i
u
i
d
i
a
i
o
Example I
Joint i
o
i
a
i
d
i

u
i
1 0 a
0
0
u
0

2 -90 a
1
0
u
1

3 0 0 d
2

u
2


D-H Link Parameter Table
: rotation angle from X
i-1

to X
i
about Z
i-1

i
u
: distance from origin of (i-1) coordinate to intersection of Z
i-1
& X
i
along Z
i-1

: distance from intersection of Z
i-1
& X
i

to origin of i coordinate along X
i

i
d
: rotation angle from Z
i-1
to Z
i
about X
i

i
a
i
o
a
0
a
1
Z
0
X
0
Y
0
Z
3
X
2
Y
1
X
1
Y
2
d
2
Z
1
X
3
3
O
2
O
1
O
0
O
Joint 1
Joint 2
Joint 3
Example II: PUMA 260
i i i i i
Z Z Z Z X =
1 1
/ ) (
i i i i i
X Z X Z Y + = / ) (
1
u
2
u
3
u
4
u
5
u
6
u
0
Z
1
Z
2
Z
3
Z
4
Z
5
Z
1
O
2
O
3
O
5
O
4
O
6
O
1
X
1
Y
2
X
2
Y
3
X
3
Y
4
X
4
Y
5
X
5
Y
6
X
6
Y
6
Z
1. Number the joints
2. Establish base frame
3. Establish joint axis Zi
4. Locate origin, (intersect.
of Zi & Zi-1) OR (intersect
of common normal & Zi )
5. Establish Xi,Yi
PUMA 260
t
Link Parameters
1
u
2
u
3
u
4
u
5
u
6
u
0
Z
1
Z
2
Z
3
Z
4
Z
5
Z
1
O
2
O
3
O
5
O
4
O
6
O
1
X
1
Y
2
X
2
Y
3
X
3
Y
4
X
4
Y
5
X
5
Y
6
X
6
Y
6
Z
: angle from Z
i-1
to Z
i
about X
i

: distance from intersection
of Z
i-1
& X
i
to Oi along X
i

Joint distance : distance from Oi-1 to intersection of Z
i-1
& X
i
along Z
i-1

: angle from X
i-1

to X
i
about Z
i-1

i
u
i
o
i
a
i
d
t 0 0 6
0 0 90 5
8 0 -90 4
0
0 90 3
8 0 2
13 0 -90 1
J
i
u
1
u
4
u
2
u
3
u
6
u
5
u
i
o
i
a
i
d
-l
Transformation between i-1 and i
Four successive elementary transformations
are required to relate the i-th coordinate frame
to the (i-1)-th coordinate frame:
Rotate about the Z
i-1
axis an angle of u
i
to align the
X
i-1
axis with the X
i
axis.
Translate along the Z
i-1
axis a distance of d
i
, to bring
X
i-1
and X
i
axes into coincidence.
Translate along the X
i
axis a distance of a
i
to bring
the two origins O
i-1
and O
i
as well as the X axis into
coincidence.
Rotate about the X
i
axis an angle of
i
( in the right-
handed sense), to bring the two coordinates into
coincidence.
Transformation between i-1 and i
D-H transformation matrix for adjacent coordinate
frames, i and i-1.
The position and orientation of the i-th frame coordinate
can be expressed in the (i-1)th frame by the following
homogeneous transformation matrix:



(
(
(
(

=

1 0 0 0
0
) , ( ) , ( ) , ( ) , (
1 1 1
i i i
i i i i i i i
i i i i i i i
i i i i i i i i
i
i
d C S
S a C S C C S
C a S S S C C
x R a x T z R d z T T
o o
u u o u o u
u u o u o u
o u
Source coordinate
Reference
Coordinate
Kinematic Equations
Forward Kinematics
Given joint variables
End-effector position & orientation
Homogeneous matrix
specifies the location of the ith coordinate frame w.r.t.
the base coordinate system
chain product of successive coordinate transformation
matrices of
(

=
(

=
=

1 0 0 0 1 0
0 0 0
1
2
1
1
0 0
n n n
n
n
n
P a s n P R
T T T T
) , , (
2 1 n
q q q q =
) , , , , , ( u | z y x Y=
i
i
T
1
n
T
0
Orientation
matrix
Position
vector
Kinematics Equations
Other representations
reference from, tool frame


Yaw-Pitch-Roll representation for orientation
tool
n
n
ref
tool
ref
H T B T
0
0
=
u | , , , x y z
R R R T=
(
(
(
(


=
1 0 0 0
0 1 0 0
0 0
0 0
| |
| |
C S
S C
(
(
(
(

1 0 0 0
0 0
0 0 1 0
0 0
u u
u u
C S
S C
(
(
(
(

1 0 0 0
0 0
0 0
0 0 0 1


C S
S C
Solving forward kinematics
Forward kinematics

(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(

u
|
u
u
u
u
u
u
z
y
x
p
p
p
6
5
4
3
2
1
(
(
(
(

=
1 0 0 0
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
T
Transformation Matrix
Solving forward kinematics
Yaw-Pitch-Roll representation for orientation
(
(
(
(

+
+
=
1 0 0 0
0
z
y
x
n
p C C S C S
p S C C S S C C S S S C S
p S S C S C C S S S C C C
T
u u u
| u | | u | u |
| u | | u | 0 |
(
(
(
(

=
1 0 0 0
0
z z z z
y y y y
x x x x
n
p a s n
p a s n
p a s n
T
) ( sin
1
z
n =

u
)
cos
( cos
1
u

z
a

=
)
cos
( cos
1
u
|
x
n

=
Problem? Solution is inconsistent and ill-conditioned!!
atan2(y,x)
x
y

+ s s
s s
+ s s
+ + s s
= =
y and x for
y and x for
y and x for
y and x for
x y a




0 90
90 180
180 90
90 0
) , ( 2 tan
u
u
u
u
u

You might also like