Title: Kinematics Frame Assignment using DenavitHartenberg Convention
1Kinematics Frame Assignment using
Denavit-Hartenberg Convention
- Professor Nicola Ferrier
- ME Room 2246, 265-8793
- ferrier_at_engr.wisc.edu
2Coordinate Transformations
End-effector
Z
Base
Supply
Table
Goal
Y
X
3Coordinate Transformations
End-effector
Base
Supply
Goal
Table
4Coordinate Transformations
Robot forward kinematic model
5Manipulator Forward Kinematics
- Motion is composition of elementary motions for
each link
End-effector
Base
6Relative Pose between 2 links
i
i-1
7Relative Pose between 2 links
- Frames can be chosen arbitrarily
- Denavit-Hartenberg convention is used to assign
frames described in 3.2.2 of Spong,
Hutchinson, Vidyasagar Text - Iterative process (start at base, assign frames
for each link from base to end-effector)
8DH Frame assignment
- Frame i moves with link i when joint i is
actuated - Zi axis is along joint axis i1
- Zi is axis of actuation for joint i1
Zi
Link i-1
Link i1
Link i
Zi-1
9DH 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
10Robot 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 zero.
11DH 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
12DH 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
13DH 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
14DH 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
15DH convention Origin non-coplanar Z
Origin of frame i is placed at intersection of
joint axis and link axis
zi
xi
16DH convention y axis
- Yi is chosen to make a right hand frame
Zi
xi points from frame i-1 to i
Yi
xi
17DH convention Origin parallel Z
- zi and zi-1 are parallel
- Origin is intersection of xi with zi
zi-1
zi
xi
18DH 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
yi
zi-1
zi
xi
19DH 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
20DH convention y axis
Yi is chosen to make a right hand frame
zi
zi-1
yi
link i
xi
21End-Effector Frame
- Frame to which the gripper is attached
- Sometimes n is used
- denoted by e (or n1 in many texts)
- Often simple translation along Xn axis
Z4
Ze
Xe
22End-Effector Frame
- Frame to which the gripper is attached
- denoted by e (or n1 in many texts)
- Often simple translation along Xn axis
- Often
- Origin between grippers
- Z points outward (approach)
- Y points along pinch direction (sliding)
- X points normal
Z4
ye
xe
ze
23Link Parameters
ai1
Zi
Zi
Zi-1
Zi1
Link i
ai
ai1
ai
24Joint Parameters
?i
di1
?i1
di
?i
25Original DH
Frame is placed at distal end of link
xi screw motion
zi-1 screw motion
26DH Frames and Parameters
27Robot Revolute Joint DH
28Prismatic Joint DH
29Link 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
30Link 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 motion
zi-1 screw motion
31A-matrices
Ai
contains only one variable or
Equation 3.10 in Spong, Hutchinson, Vidyasagar
32Original DH
!
Frame is placed at distal end of link
zi-1 screw motion
xi screw motion
33Modified DH
Zi1
!
Zi
Zi2
Frame is placed at proximal end of link
zi screw motion
xi-1 screw motion
34Modified DH text figure
35DH Example academic manipulator
3 revolute joints Shown in home position
joint 1
R
Link 2
Link 3
Link 1
joint 2
joint 3
L1
L2
36DH Example academic manipulator
Zi is axis of actuation for joint i1
Z0
Z0 and Z1 are not co-planar Z1 and Z2 are parallel
?1
?3
?2
Z1
Z2
37DH Example academic manipulator
Z0 and Z1 are not co-planar x0 is the common
normal
Z0
?1
x1
x2
x3
x0
?3
?2
Z3
Z1
Z2
38DH Example academic manipulator
Z0 and Z1 are not co-planar x0 is the common
normal
Z0
?1
x1
x2
x3
x0
?3
?2
Z3
Z1
Z2
Z1 and Z2 are parallel x1 is selected as the
common normal that lies along the center of the
link
39DH Example academic manipulator
Z0 and Z1 are not co-planar x0 is the common
normal
Z0
?1
x1
x2
x3
x0
?3
?2
Z3
Z1
Z2
Z2 and Z3 are parallel x2 is selected as the
common normal that lies along the center of the
link
40DH Example academic manipulator
Shown with joints in non-zero positions
Z0
x3
z3
?3
?2
x2
x1
Z2
?1
x0
Z1
Observe that frame i moves with link i
41DH Example academic manipulator
Link lengths given ?1 90o (rotate by 90o around
x0 to align Z0 and Z1)
R
Z0
L2
L1
x1
x2
x3
?1
x0
Z3
Z1
Z2
42DH Example academic manipulator
Build table
R
Z0
L2
L1
?1
x1
x2
x3
x0
?1
?3
?2
Z3
Z1
Z2
43DH Example academic manipulator
44DH Example academic manipulator
45DH Example academic manipulator
x1 axis expressed wrt 0
y1 axis expressed wrt 0
z1 axis expressed wrt 0
Origin of 1 w.r.t. 0
46DH Example academic manipulator
x2 axis expressed wrt 1
y2 axis expressed wrt 1
z2 axis expressed wrt 1
Origin of 2 w.r.t. 1
47DH Example academic manipulator
x3 axis expressed wrt 2
y3 axis expressed wrt 2
z3 axis expressed wrt 2
Origin of 3 w.r.t. 2
48DH Example academic manipulator
where
49DH Example academic manipulator alternate
end-effector frame
Zi is axis of actuation for joint i1
Z0
Z0 and Z1 are not co-planar Z1 and Z2 are
parallel
?1
Pick this z3
?3
?2
Z1
Z2
50DH Example academic manipulator alternate
end-effector frame
Z0
y2
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Z2
Would need to rotate about y2 here!
51DH Example academic manipulator alternate
end-effector frame
Z0
x2
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Solution Add offset to rotation about
z2 (q390o )
52DH Example academic manipulator alternate
end-effector frame
Z0
x2
x3
L2
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Z2
Now can rotate about x to align z2 and z3
53DH Example academic manipulator alternate
end-effector frame
54DH Example academic manipulator alternate
end-effector frame
x3
R
Z0
x2
Z3
L2
L1
?1
x1
x2
x0
?1
?3
?2
Z1
Z2
55DH Example academic manipulator alternate
end-effector frame
x3
R
Z0
x2
Z3
L2
L1
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Z2
56DH Example academic manipulator alternate
end-effector frame
x3
R
Z0
x2
Z3
L2
L1
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Z2
57DH Example academic manipulator alternate
end-effector frame
x3
R
Z0
x2
Z3
L2
L1
?1
x1
x2
x0
?1
Z3
?3
?2
Z1
Z2