DH Parameters PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 122
At a glance
Powered by AI
The document discusses different types of robot joints, degrees of freedom, links and the Denavit-Hartenberg parameters which are used to derive the kinematics model of a robotic arm.

Revolute, prismatic and spherical joints are discussed. Revolute joints have 1 DOF, prismatic joints have linear 1 DOF and spherical joints have 3 DOF.

The Denavit-Hartenberg parameters include: link length (a), link twist (α), joint angle (θ) and distance from Z(i-1) to Z(i) along X(i) (d). These parameters define the relationship between two neighboring joint axes.

D H Parameters

To derive Kinematics Model of the


Robotic Arm

Prof. Y D Patel
A D Patel Institute of Technology
Mechanical Engineering Department
Objective:
To drive a method to compute the
position and orientation of the
manipulator’s end-effector relative to the
base of the manipulator as a function of
the joint variables.
Degrees of Freedom
The degrees of freedom of a rigid body is defined as
the number of independent movements it has.
The number of :
• Independent position
variables needed to locate all
parts of the mechanism,
• Different ways in which a
robot arm can move,
• Joints
DOF of a Rigid Body

In a plane

In space
Degrees of Freedom
3 position
3D Space = 6 DOF
3 orientation
In robotics:
DOF = number of independently driven joints
positioning accuracy
As DOF computational complexity
cost
flexibility
power transmission is
more difficult
Robot Links and Joints
A manipulator may be thought of as a set of
bodies (links) connected in a chain by joints.

In open kinematics chains (i.e. Industrial


Manipulators):

{No of D.O.F. = No of Joints}


Lower Pair
The connection between a pair of bodies
when the relative motion is characterized
by two surfaces sliding over one another
The Six Possible Lower Pair Joints
Higher Pair
A higher pair joint is one which contact
occurs only at isolated points or along a
line segments
Robot Joints

Revolute Joint
1 DOF ( Variable - q)

Spherical Joint Prismatic Joint


3 DOF ( Variables - q 1, q 2, q 3) 1 DOF (linear) (Variables - d)
Robot Specifications
Number of axes
Major axes, (1-3) =>
position the wrist
Minor axes, (4-6) => orient
the tool
Redundant, (7-n) =>
reaching around obstacles,
avoiding undesirable
configuration
An Example - The PUMA 560

2
3

1 4

The PUMA 560 has SIX revolute joints.


A revolute joint has ONE degree of freedom There are two more joints on the
end-effector (the gripper)
( 1 DOF) that is defined by its angle.
Note on Joints
Without loss of generality, we will consider
only manipulators which have joints with a
single degree of freedom.
A joint having n degrees of freedom can
be modeled as n joints of one degree of
freedom connected with n-1 links of zero
length.
Link
A link is considered as a rigid body which
defines the relationship between two z n+1
neighboring joint axes of a manipulator. z n
zn
an q n+1
x n+1
qn xn
xn
Link n
Joint n+1
Joint n
The Kinematics Function of a Link
The kinematics
function of a link is to
maintain a fixed
relationship between
the two joint axes it
supports.
This relationship can
be described with
two parameters: the
link length a, the link
twist a
Link Length
Is measured along a line which is mutually
perpendicular to both joint axes.
The mutually perpendicular always exists
and is unique except when both joint axes
are parallel.
Link twist
Project both axes i-1 and i onto the plane
whose normal is the mutually perpendicular
line, and measure the angle between them
Right-hand sense
Link Length and Twist Axis i

Axis i-1

ai-1
Joint Parameters
A joint axis is established at the connection of two links.
This joint will have two normals connected to it one
for each of the links.

The relative position of two links is called link offset dn


whish is the distance between the links (the
displacement, along the joint axes between the links).

The joint angle qn between the normals is measured in


a plane normal to the joint axis.
Link and Joint Parameters
Axis i

Axis i-1

qi di

ai-1
Link and Joint Parameters
4 parameters are associated with each link. You
can align the two axis using these parameters.

Link parameters:
a0 the length of the link.
an the twist angle between the joint axes.

Joint parameters:
qn the angle between the links.
dn the distance between the links
Link Connection Description:
For Revolute Joints: a, a, and d.
are all fixed, then “qi” is the.
Joint Variable.

For Prismatic Joints: a, a, and q.


are all fixed, then “di” is the.
Joint Variable.

These four parameters: (Link-Length ai-1), (Link-Twist ai-1(, (Link-Offset di),


(Joint-Angle qi) are known as the Denavit-Hartenberg Link Parameters.
Links Numbering Convention

Base of the arm: Link-0 Link 2


2
1st moving link: Link-1 3 Link 3
.
. Link 1
1
.
.
. Link 0
. 0
Last moving link Link-n

A 3-DOF Manipulator Arm


First and Last Links in the Chain
a0= an=0.0

a0= an=0.0

If joint 1 is revolute: d0= 0 and q1 is arbitrary

If joint 1 is prismatic: d0= arbitrary and q1 = 0


Affixing Frames to Links
In order to describe the location of each link
relative to its neighbors we define a frame
attached to each link.

The Z axis is coincident with the joint axis i.


The origin of frame is located where ai
perpendicular intersects the joint i axis.
The X axis points along ai( from i to i+1).
If ai = 0 (i.E. The axes intersect) then Xi is
perpendicular to axes i and i+1.
The Y axis is formed by right hand rule.
Affixing Frames to Links
Joint n
Joint n-1 Link n

Joint n+1
Link n-1

zn
zn+1
zn-1 xn
yn-1
dn an
an-1 yn an xn+1

xn-1 yn+1
Affixing Frames to Links
Note: assign link frames so as to cause as many link
parameters as possible to become zero!

The reference vector z of a link-frame is always on a joint


axis.
The parameter di is algebraic and may be negative. It is
constant if joint i is revolute and variable when joint i is
prismatic.
The parameter ai is always constant and positive.
a i is always chosen positive with the smallest possible
magnitude.
The Kinematics Model
The robot can now be kinematically modeled by
using the link transforms ie:
0
nT  T1T2T3 Ti Tn
Where
0 T is the pose of the end-effector relative to
n
base;
Ti is the link transform for the ith joint;
and
n is the number of links.
The Denavit-Hartenberg (D-H)
Representation

In the robotics literature, the Denavit-


Hartenberg (D-H) representation has been
used, almost universally, to derive the
kinematic description of robotic
manipulators.
The Denavit-Hartenberg (D-H)
Representation

The appeal of the D-H representation lies in


its algorithmic approach.
The method begins with a systematic
approach to assigning and labeling an
orthonormal (x,y,z) coordinate system to
each robot joint. It is then possible to relate
one joint to the next and ultimately to
assemble a complete representation of a
robot's geometry.
The Link Parameters
ai = the distance from zi to zi+1.
measured along xi.

ai = the angle between zi and zi+1.


measured about xi.

di = the distance from xi-1 to xi.


measured along z i.

qi = the angle between xi-1 to xi.


measured about z i
Denavit-Hartenberg
Parameters
Axis i

Axis i-1 qi

di

ai-1
General Transformation Between
Two Bodies
In D-H convention, a general transformation
between two bodies is defined as the product
of four basic transformations:

A rotation about the initial z axis by q,


A translation along the initial z axis by d,
A translation along the new x axis by a, and.
A rotation about the new x axis by a.
A General Transformation in D-H
Convention
D-H transformation for adjacent coordinate
frames:
i 1
T i
 Tz ,q Tz ,d Tx,aTx,a I 44
cq i  sq i 0 0 1 0 0 0  1 0 0 ai  1 0 0 0
 sq cq i 0 0 0 1 0 0  0 1 0 0  0 ca i  sa i 0
Ti i 1   i
0 0 1 0  0 0 1 d i  0 0 1 0  0 sa i ca i 0
    
0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1
cq i  sq i ca i sq i sa i ai cq i 
 sq cq i ca i  cq i sa i ai sq i 
Ti i 1   i
0 sa i ca i di 
 
0 0 0 1 
Denavit-Hartenberg Convention

D1. Establish the base coordinate system. Establish a right-handed


orthonormal coordinate system ( X 0 , Y0 , Z 0 ) at the supporting base
with Z 0 axis lying along the axis of motion of joint 1.
D2. Initialize and loop Steps D3 to D6 for I=1,2,….n-1
D3. Establish joint axis. Align the Zi with the axis of motion (rotary
or sliding) of joint i+1.
 D4. Establish the origin of the ith coordinate system. Locate the
origin of the ith coordinate at the intersection of the Zi & Zi-1 or at
the intersection of common normal between the Zi & Zi-1 axes and
the Zi axis.
 D5. Establish Xi axis. Establish X i  (Zi1  Zi ) / Zi 1  Zi or along
the common normal between the Zi-1 & Zi axes when they are
parallel.
 D6. Establish Yi axis. Assign Yi  (Zi  X i ) / Zi  X i to complete
the right-handed coordinate system.
Denavit-Hartenberg Convention
D7. Establish the hand coordinate system
D8. Find the link and joint parameters : d,a,a,q

D-H transformation for adjacent coordinate


frames: i 1
T i
 Tz ,q Tz ,d Tx,aTx,a I 44
cq i  sq i ca i sq i sa i ai cq i 
 sq cq i ca i  cq i sa i ai sq i 
Ti i 1   i
0 sa i ca i di 
 
0 0 0 1 
Example (1): 2-DOF robot
Link Frame Assignments
DH Parameters

# α a d θ

1 0 L1 0 θ1

2 0 L2 0 θ2

 zi to be the axis of actuation for joint i + 1. Thus, z0 is the axis of actuation for
joint 1, z1 is the axis of actuation for joint 2, etc.
Example (1):
c1  s1 0 l1c1   c2  s2 0 l 2 c2 
s c1 0 l1s1  s c2 0 l2 s2 
0
T   1
. 1
T   2
.
1
0 0 1 0
2
0 0 1 0 
   
0 0 0 1 0 0 0 1 
Example (1):
c12  s12 0 l1c1  l2 c12 
s c12 0 l1s1  l2 s12 
B
T  0
T   12
W 2
0 0 1 0 
 
0 0 0 1 
Example (2): Y2

Z0 Z1
3 Revolute Joints

X2 d1

X0 X1
Y0 Y1
Denavit-Hartenberg Link
a0 a1 Parameter Table

i a(i-1) a(i-1) di qi
Notice that the table has two uses:
1) To describe the robot with its 0 0 0 0 q0
variables and parameters.
2) To describe some state of the 1 0 a0 0 q1
robot by having a numerical values
for the variables. 2 -90 a1 d1 q2
Example (2):
Z3
Z0 Z1
Joint 3
Y0 O3 X3
Y1

d1
Joint 0
O0 X0 O1 X1 O2 X2 Y3
Joint 1 Joint 2
Y2

a0 a1
Link ai ai di qi
1 0 a0 0 q0

2 -90 a1 0 q1

3 0 0 d1 q2
Example cosθ 0  sinθ 0 0 a0 cos q 0 
 0 a0 sin q 0 
1  sinθ 0 cosθ 0
T 0
 0 0 1 0 
 
 0 0 0 1 
Joint i ai ai di qi
cosθ1 0  sin q1 a1 cos q1 
1 0 a0 0 q0  cos q1 a1 sin q1 
2  sinθ1 0
T 1
 0 1 0 0 
2 -90 a1 0 q1  
 0 0 0 1 
3 0 0 d1 q2

 cosθ 2 sinθ 2 0 0
 
sinq 2 cosq 2 0 0
T 23 
 0 0 1 d1 
 
 0 0 0 1 
Example (2)

Cq i  Ca i Sq i Sa i Sq i ai Cq i 
 Sq Ca i Cq i  Sa i Cq i ai Sq i 
Ti i 1  i
 0 Sa i Ca i di 
 
 0 0 0 1 

T03  (T 01)(T 21)(T 23)


DH Example (3): “academic manipulator”
3 revolute joints
joint 1 Shown in home position
R
Link 2

Link 1 Link 3

joint 2 joint 3
L1 L2
DH Example: “academic manipulator”

Z0 Z0 and Z1 are not co-planar


q1 Z1 and Z2 are parallel

q2 q3
Z1 Z2

Zi is axis of actuation for joint i+1


DH Example: “academic manipulator”
Z0 and Z1 are not co-planar:
Z0 x0 is the common normal

q1
x1 x2 x3
x0

q2 q3
Z1 Z2 Z3
DH Example: “academic manipulator”
Z0 and Z1 are not co-planar:
Z0 x0 is the common normal

q1
x1 x2 x3
x0

q2 q3
Z1 Z2 Z3

Z1 and Z2 are parallel :


x1 is selected as the common
normal that lies along the
center of the link
DH Example: “academic manipulator”
Z0 and Z1 are not co-planar:
x0 is the common normal
Z0

q1
x1 x2 x3
x0

q2 q3
Z1 Z2 Z3

Z2 and Z3 are parallel :


x2 is selected as the common
normal that lies along the
center of the link
DH Example: “academic manipulator”
Shown with joints in non-zero
positions
Z0 x3
z3
q2 q3
x2
x1
q1 Z2
x0
Z1

Observe that frame i moves with


link i
DH Example: “academic manipulator”

R
Z0
L1 L2
x1 x2 x3
a1 x0

Z1 Z2 Z3

Link lengths given


a1 = 90o (rotate by 90o around x0 to
align Z0 and Z1)
DH Example: “academic manipulator”
Build table
Z0 R
L1 L2
q1
x1 x2 x3
a1 x0

q2 q3
Z1 Z2 Z3

Link a a d q
1 90o R 0 q1
2 0 L1 0 q2
3 0 L2 0 q3
DH Example: “academic manipulator”

Link a a d q
1 90o R 0 q1
2 0 L1 0 q2
3 0 L2 0 q3
DH Example: “academic manipulator”
DH Example: “academic manipulator”
z0 x3
z3
q2 q3
x2
x1
q1 z2
x0
z1
x1 axis expressed y1 axis expressed z1 axis expressed
wrt {0} wrt {0} wrt {0}

Origin of {1}
w.r.t. {0}
DH Example: “academic manipulator”
z0 x3
z3
q2 q3
x2
x1
q1 z2
x0
z1
x2 axis expressed y2 axis expressed z2 axis expressed
wrt {1} wrt {1} wrt {1}

Origin of {2}
w.r.t. {1}
DH Example: “academic manipulator”
z0 x3
z3
q2 q3
x2
x1
q1 z2
x0
z1
x3 axis expressed y3 axis expressed z3 axis expressed
wrt {2} wrt {2} wrt {2}

Origin of {3}
w.r.t. {2}
DH Example: “academic manipulator”

where
Example (4):SCARA Robot

DH Parameters

# α a d θ

1 0 a1 0 θ1

2 π a2 0 θ2

0
3 0 0 d3

θ3
4 0 0 d4
Example (4): SCARA Robot

The location of the sliding axis Z2 is arbitrary, since it is a


free vector. For simplicity, we make it coincident with Z3 .
thus a2 and d2 are arbitrarily set.
The placement of O3 and X3 along Z3 is arbitrary, since
Z2 and Z3 are coincident. Once we choose O3, however,
then the joint displacement d3 is defined.
We have also placed the end link frame in a convenient
manner, with the Z4 axis coincident with the Z3 axis and
the origin O4 displaced down into the gripper by d4.
Example (5): Puma 560
Example: Puma 560

Joint i qi ai ai(mm) di(mm)


1 q1 0 0 0
2 q2 -90 0 d2
3 q3 0 a2 d3
4 q4 90 a3 d4
5 q5 -90 0 0
6 q6 0 0 0
Forearm of a PUMA

d4
x4
x3
a3 z4
y3 x6
x5
y5 z6

Spherical joint
Wrist Configurations
Wrist assembly is attached to end-of-arm
End effector is attached to wrist assembly
Function of wrist assembly is to orient end effector
 Body-and-arm determines global position of end

effector
Two or three degrees of freedom:
 Roll

 Pitch

 Yaw

Notation :RRT
Example: Puma 560
Different Configuration
Link Coordinate Parameters
PUMA 560 robot arm link coordinate parameters

Joint i qi ai ai(mm) di(mm)


1 q1 -90 0 0
2 q2 0 431.8 149.09
3 q3 90 -20.32 0
4 q4 -90 0 433.07
5 q5 90 0 0
6 q6 0 0 56.25
Example: Puma 560
Example: Puma 560
DH Example: “academic manipulator” –
alternate end-effector frame

Zi is axis of actuation for joint i+1


Z0 Z0 and Z1 are not co-planar
q1 Z1 and Z2 are parallel

q3 Pick this z3
Z1 q2 Z2
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
y2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Would need
to rotate
about y2
here!
DH Example: “academic manipulator” –
alternate end-effector frame

Zi is axis of actuation for joint i+1


Z0 Z0 and Z1 are not co-planar
q1 Z1 and Z2 are parallel

q3 Pick this z3
Z1 q2 Z2
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
y2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Would need
to rotate
about y2
here!
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
x’2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1
Solution: Add
“offset” to rotation
about z2
(q +90o )
DH Example: “academic manipulator” –
alternate end-effector frame
Z0
x’2
L2 x3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Now can
rotate about
x’ to align z2
and z3
DH Example: “academic manipulator” –
alternate end-effector frame
Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
e - L2
DH Example: “academic manipulator” –
alternate end-effector frame
x3
Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0

q2 q3
Z1 Z2

Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
DH Example: “academic manipulator” –
alternate end-effector frame x 3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame

Zi is axis of actuation for joint i+1


Z0 Z0 and Z1 are not co-planar
q1 Z1 and Z2 are parallel

q3 Pick this z3
Z1 q2 Z2
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
y2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Would need
to rotate
about y2
here!
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
x’2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1
Solution: Add
“offset” to rotation
about z2
(q +90o )
DH Example: “academic manipulator” –
alternate end-effector frame
Z0
x’2
L2 x3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Now can
rotate about
x’ to align z2
and z3
DH Example: “academic manipulator” –
alternate end-effector frame
Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
e - L2
DH Example: “academic manipulator” –
alternate end-effector frame
x3
Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0

q2 q3
Z1 Z2

Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame

Z0
x’2
q1
x1 x2
a1 x0
Z3
q2 q3
Z1
Solution: Add
“offset” to rotation
about z2
(q +90o )
DH Example: “academic manipulator” –
alternate end-effector frame
Z0
x’2
L2 x3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
Now can
rotate about
x’ to align z2
and z3
DH Example: “academic manipulator” –
alternate end-effector frame
Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
e - L2
DH Example: “academic manipulator” –
alternate end-effector frame
x3
Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0

q2 q3
Z1 Z2

Link Var q d a a
1 q1 q1 0 90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
DH Example: “academic manipulator” –
alternate end-effector frame
x3

Z0 R
x’2
L1 L2 Z3
q1
x1 x2
a1 x0
Z3
q2 q3
Z1 Z2
The Tool Transform
A robot will be frequently picking up objects or tools.
Standard practice is to to add an extra homogeneous
transformation that relates the frame of the object or
tool to a fixed frame in the end-effector.
Kinematic Calibration
How one knows the DH parameters?
Certainly when robots are built, there are design
specifications. Yet due to manufacturing tolerances,
these nominal parameters will not be exact.
The process of kinematic calibration determines
these nominal parameters experimentally.
Kinematic calibration is typically accomplished
with an external metrology system, although
alternatives that do not require a metrology system
exist.
Example Problem:
You are have a three link arm that starts out aligned in the x-axis.
Each link has lengths l1, l2, l3, respectively. You tell the first one to move by 1
, and so on as the diagram suggests. Find the Homogeneous matrix to get the
position of the yellow dot in the X0Y0 frame.
Y3

3

Y2 2 X3 3
2 X2

H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 )

Y0 i.e. Rotating by 1 will put you in the X1Y1 frame.


1
Translate in the along the X1 axis by l1.
Rotating by 2 will put you in the X2Y2 frame.
1
X0
and so on until you are in the X3Y3 frame.

The position of the yellow dot relative to the X3Y3 frame is


(l1, 0). Multiplying H by that position vector will give you the
coordinates of the yellow point relative the the X0Y0 frame.
Relative Pose between 2 links

i-1
Visual Approach - “A way to visualize
the link parameter a(i-1) is to imagine
an expanding cylinder whose axis is the
Z(i-1) axis - when the cylinder just
touches the joint axis i the radius of the
cylinder is equal to a(i-1).”
(Manipulator Kinematics)
DH convention: Assign Z axes
Use actuation as a guide
 Prismatic – joint slides along zi
 Revolute – joint rotates around zi
Establish base frame {0}:
 Nearly arbitrary

Start at base and assign frames 1,…,N


 Pick x-axis and origin
 y-axis chosen to form a right hand system
DH convention: Assign Z axes
Use actuation as a guide
 Prismatic – joint slides along zi
 Revolute – joint rotates around zi
Establish base frame {0}:
 Nearly arbitrary

Start at base and assign frames 1,…,N


 Pick x-axis and origin
 y-axis chosen to form a right hand system
Robot Base
Often base is “given”
or some fixed point on
the work-table is used.
z0 is along joint axis 1
Original:
 any point on z0 for
origin
Modified DH:
 {0} is defined to be
completely co-incident
with the reference
system {1}, when the
variable joint
parameter, d1 or q1 , is
DH convention: Assign X axes
Start at base and assign frames 1,…,N
 Pick x-axis and origin
 y-axis chosen to form a right hand system
Consider 3 cases for zi-1 and zi:
 Not-coplanar
 Parallel
 Intersect
DH convention: x axis
• zi-1 and zi are not-coplanar
• Common normal to axes is the “link” axis
• Intersection with zi is origin

Usually, xi
points from
frame i-1 to i
zi-1 Xi
zi
DH convention: x axis
• zi and zi-1 are parallel
• Infinitely many common normals
• Pick one to be the “link” axis
• Choose normal that passes through origin of
frame {i-1} pointing toward zi
• Origin is intersection of xi with zi
Xi

zi-1 zi
DH convention: x axis
zi
If joint axes zi-1 and zi
intersect, xi is normal to
the plane containing the
axes
xi = (zi-1  zi )

zi-1
link i
Xi
DH convention: Origin non-coplanar Z
Origin of frame {i} is placed at intersection of joint
axis and link axis

zi

xi
DH convention: y axis
• Yi is chosen to make a right hand frame

Zi
xi points Yi
from frame
i-1 to i xi
DH convention: Origin parallel Z
• zi and zi-1 are parallel
• Origin is intersection of xi with zi

zi-1 zi

xi
DH convention: x axis - parallel Z
• zi and zi-1 are parallel
• Origin is intersection of xi with zi
• Yi is chosen to make a right hand frame

zi-1 yi
zi

xi
DH convention: origin
If joint axes intersect, the
origin of frame {i} is
usually placed at
intersection of the joint
axes

zi

zi-1
link i
xi
DH convention: y axis
Yi is chosen to make a
right hand frame

zi

zi-1 yi
link i
xi
Next Course
Inverse Kinematics
Summary: Robot Forward
Kinematics Analysis
1. Identify robot dimensions and understand its geometry.
2. Number Links and Joints.
Base = Link 0
1st Joint = Joint 1
3. Identify Joint Axes, type and direction of positive motions.
4. Draw Common Normals (CNs) and find their intersections
with joint axes. Define two points:
AN = intersection of Axis N with CN to Axis N+1
BN = intersection of Axis N with CN to Axis N-1
5. Assign Link Frames.
Origin of Frame N is at AN
ZN points along Axis N.
XN points along CN to BN+1.
YN completes a right handed coordinate system.
Q:What if there is no CN because the axes intersect?
A:Then choose XN to be normal to ZN and ZN+1.
Q:What if there is no unique CN because ZN and ZN+1 are parallel
A:Then choose one. Typically, you can simplify subsequent
analysis by choosing a CN which intersects BN.
6. Derive the Denavit Hartenburg Parameters
with respect to
the link parameters for each link.
= distance from AN to BN+1
= distance from ZN to ZN+1 along XN
= “link length”
= angle between Axis N and Axis N+1 about
CN
= angle between ZN and ZN+1 about XN
= “link twist”

You might also like