of 57
8/4/2019 Ferrier_kinematics3
1/57
Kinematics Frame Assignment using
Denavit-Hartenberg Convention
Professor Nicola Ferrier
ME Room 2246, [email protected]
8/4/2019 Ferrier_kinematics3
2/57
8/4/2019 Ferrier_kinematics3
3/57
Coordinate Transformations
Goal
Base
Supply
End-effector
Table
8/4/2019 Ferrier_kinematics3
4/57
Coordinate Transformations
Robot forward
kinematic model
8/4/2019 Ferrier_kinematics3
5/57
Motion is composition of elementarymotions for each link
Base
End-effector
Manipulator Forward Kinematics
8/4/2019 Ferrier_kinematics3
6/57
Relative Pose between 2 links
i-1
i
8/4/2019 Ferrier_kinematics3
7/57
Relative Pose between 2 links
Frames can be chosen arbitrarily
Denavit-Hartenberg convention is usedto assign frames described in 3.2.2of Spong, Hutchinson, Vidyasagar Text
Iterative process (start at base, assign
frames for each link from base to end-effector)
8/4/2019 Ferrier_kinematics3
8/57
DH Frame assignment
Frame {i} moves with link i when joint i is actuated
Zi axis is along joint axis i+1
Zi is axis of actuation for joint i+1
Link i
Zi-1
Zi
Link i+1Link i-1
8/4/2019 Ferrier_kinematics3
9/57
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
8/4/2019 Ferrier_kinematics3
10/57
Robot Base
Often base is given orsome 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-incidentwith the referencesystem {1}, when the
variable joint parameter,d1 or q1 , is zero.
8/4/2019 Ferrier_kinematics3
11/57
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
8/4/2019 Ferrier_kinematics3
12/57
DH convention: x axis
zi-1 and zi are not-coplanar
Common normal to axes is the link axis
Intersection with zi is origin
Xizi-1
zi
Usually, xipoints fromframe i-1 to i
8/4/2019 Ferrier_kinematics3
13/57
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 x
iwith z
i
Xi
zi-1 zi
8/4/2019 Ferrier_kinematics3
14/57
DH convention: x axis
If joint axes zi-1
and ziintersect, xi is normal to
the plane containing theaxes
link i
Xi
xi= (z
i-1 z
i)
zi-1
zi
8/4/2019 Ferrier_kinematics3
15/57
DH convention: Origin non-coplanar Z
Origin of frame {i} is placed at intersection of jointaxis and link axis
xi
zi
8/4/2019 Ferrier_kinematics3
16/57
DH convention: y axis
Yi is chosen to make a right hand frame
xi
Zixi pointsfrom framei-1 to i
Yi
8/4/2019 Ferrier_kinematics3
17/57
DH convention: Origin parallel Z
zi and zi-1 are parallel
Origin is intersection of xi with zi
xi
zizi-1
8/4/2019 Ferrier_kinematics3
18/57
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
xi
ziyizi-1
8/4/2019 Ferrier_kinematics3
19/57
DH convention: origin
link i
xi
zi-1
zi
If joint axes intersect, theorigin of frame {i} isusually placed at
intersection of the jointaxes
8/4/2019 Ferrier_kinematics3
20/57
DH convention: y axis
link i
xi
zi-1
zi
Yi is chosen to make aright hand frame
yi
8/4/2019 Ferrier_kinematics3
21/57
End-Effector Frame Frame to which
the gripper is
attached Sometimes {n} isused
denoted by {e} (or{n+1} in many
texts) Often simple
translation along Xnaxis
Z4
Ze
Xe
8/4/2019 Ferrier_kinematics3
22/57
End-Effector Frame Frame to which
the gripper isattached denoted by {e} (or
{n+1} in manytexts)
Often simpletranslation along Xn
axis Often:
Origin betweengrippers
Z points outward
(approach) Y points along
pinch direction(sliding)
X points normal
Z4
ze
xe
ye
k
8/4/2019 Ferrier_kinematics3
23/57
Link Parameters
ai+1
Zi-1Zi
Zi+1
Zi
ai+1
ai
ai
Link i
i
8/4/2019 Ferrier_kinematics3
24/57
Joint Parameters
qi+1
di
di+1
qi
qi
O i i l DH
8/4/2019 Ferrier_kinematics3
25/57
-1
Original DH
Frame is placed at
distal end of link
xi screw motionzi-1 screw motion
DH F d P t
8/4/2019 Ferrier_kinematics3
26/57
DH Frames and Parameters
R b t R l t J i t DH
8/4/2019 Ferrier_kinematics3
27/57
Robot Revolute Joint DH
P i ti J i t DH
8/4/2019 Ferrier_kinematics3
28/57
Prismatic Joint DH
Li k T f ti
8/4/2019 Ferrier_kinematics3
29/57
Link Transformations
Described by 4 parameters:
ai : twist
ai : link length
di : joint offset
qi : joint angle
Joint variable is di or qi Build Table with values for each link:
Link Var q d a a
1 q1 q1 090o
L12 d2 0 d2 0 0
Li k T f ti
8/4/2019 Ferrier_kinematics3
30/57
Link Transformations
Described by 4 parameters:
ai : twist
ai : link length
di : joint offset
qi : joint angle
Joint variable is di or qi Link Transformation is
xiscrew motionzi-1 screw motion
A mat ices
8/4/2019 Ferrier_kinematics3
31/57
A-matrices
Ai= contains only one variable
or
Equation 3.10 in Spong,
Hutchinson, Vidyasagar
Original DH
8/4/2019 Ferrier_kinematics3
32/57
-1
Original DH
Frame is placed at
distal end of link
zi-1 screw motion xi screw motion
Modified DH
8/4/2019 Ferrier_kinematics3
33/57
Zi Zi+2
Zi+1
Modified DH
Frame is placed atproximal end of
link
xi
zi yi
zi screw motionxi-1 screw motion
Modified DH text figure
8/4/2019 Ferrier_kinematics3
34/57
Modified DH text figure
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
35/57
DH Example: academic manipulator
3 revolute joints
Shown in home position
Link 1 Link 3
Link 2
joint 1
joint 2 joint 3
R
L1 L2
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
36/57
DH Example: academic manipulator
Zi is axis of actuation for joint i+1
Z1
Z0
Z2
q1
q2q3
Z0 and Z1 are not co-planar
Z1 and Z2 are parallel
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
37/57
DH Example: academic manipulator
Z1
Z0
Z2
q1
q2q3
x0
x1 x2 x3
Z3
Z0 and Z1 are not co-planar:
x0 is the common normal
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
38/57
DH Example: academic manipulator
Z1
Z0
Z2
q1
q2q3
x0
x1 x2 x3
Z3
Z0 and Z1 are not co-planar:
x0 is the common normal
Z1 and Z2 are parallel :x1 is selected as the common
normal that lies along the
center of the link
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
39/57
DH Example: academic manipulator
Z1
Z0
Z2
q1
q2q3
x0
x1 x2 x3
Z3
Z0 and Z1 are not co-planar:
x0 is the common normal
Z2 and Z3 are parallel :x2 is selected as the common
normal that lies along the
center of the link
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
40/57
DH Example: academic manipulator
Shown with joints in non-zero
positions
Z1
Z0
Z2q1
q2 q3
x0
x1
x2
z3
x3
Observe that frame i moves withlink i
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
41/57
DH Example: academic manipulator
Z1
Z0
Z2
Link lengths given
a1 = 90o(rotate by 90o around x0 to
align Z0 and Z1)
x0
x1 x2 x3
Z3
R
L1 L2
a1
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
42/57
DH Example: academic manipulator
Z1
Z0
Z2
q1
q2q3
Build table
x0
x1 x2 x3
Z3
Link Var q d a a1 q1 q1 0
90o R
2 q2 q2 0 0 L1
3 q3
q3
0 0 L2
R
L1 L2
a1
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
43/57
DH Example: academic manipulator
Link Var q d a a
1 q1 q1 0 90o
R
2 q2 q2 0 0 L1
3 q3 q3 0 0 L2
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
44/57
DH Example: academic manipulator
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
45/57
DH Example: academic manipulator
z1
z0
z2q1
q2
q3
x0
x1
x2
z3
x3
Origin of {1}w.r.t. {0}
x1 axis expressedwrt {0}
y1 axis expressedwrt {0}
z1 axis expressedwrt {0}
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
46/57
DH Example: academic manipulator
z1
z0
z2q1
q2
q3
x0
x1
x2
z3
x3
Origin of {2}w.r.t. {1}
x2 axis expressedwrt {1}
y2 axis expressedwrt {1}
z2 axis expressedwrt {1}
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
47/57
DH Example: academic manipulator
z1
z0
z2q1
q2
q3
x0
x1
x2
z3
x3
Origin of {3}w.r.t. {2}
x3 axis expressedwrt {2}
y3 axis expressedwrt {2}
z3 axis expressedwrt {2}
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
48/57
DH Example: academic manipulator
where
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
49/57
DH Example: academic manipulator alternate end-effector frame
Zi is axis of actuation for joint i+1
Z1
Z0
Z2
q1
q2q3
Z0 and Z1 are not co-planar
Z1 and Z2 are parallel
Pick this z3
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
50/57
DH Example: academic manipulator alternate end-effector frame
Z1
Z0
Z2
q1
q2q3
x0
x1
Z3a1
x2
Would need
to rotateabout y2
here!
y2
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
51/57
DH Example: academic manipulator alternate end-effector frame
Z1
Z0
q1
q2q3
x0
x1
x2
Z3a1
x2
Solution: Add
offset to rotationabout z2(q3+90
o )
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
52/57
DH Example: academic manipulator alternate end-effector frame
Z1
Z0
Z2
q1
q2q3
x0
x1
x2 x3
Z3
L2
a1
x2
Now can
rotate aboutx to align z2
and z3
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
53/57
DH Example: academic manipulator alternate end-effector frame
Link Var q d a a
1 q1 q1 090o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o
0e - L2
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
54/57
DH Example: academic manipulator alternate end-effector frame
Z1
Z0
Z2
q1
q2q3
x0
x1
x2
x3
Z3
Link Var q d a a1 q1 q1 0
90o R
2 q2 q2 0 0 L1
3 q3 q3 +90o 0 90o 0
R
L1 L2
a1
x2
DH Example: academic manipulator
8/4/2019 Ferrier_kinematics3
55/57
DH Example: academic manipulator alternate end-effector frame
Z1
Z0
Z2
q1
q2q3
x0
x1
x2
x3
Z3
R
L1 L2
a1
x2
Z3
8/4/2019 Ferrier_kinematics3
56/57
8/4/2019 Ferrier_kinematics3
57/57