Denavit-Hartenberg
Introduction to Robotics Reminder
• Specialized description of articulated
figures
Tutorials 1-3 • Each joint has only one degree of
freedom
Technion, cs department, Introduction to Robotics 236927
• rotate around its z-axis
Winter 2010-2011 • translate along its z-axis
[Link]
1 [Link]
2
Denavit-Hartenberg Denavit-Hartenberg
• Link offset di • Link rotation (joint angle) φi (In the movie - θ)
• The distance between the origins of the coordinate • The angle between the link lenghts αi-1 and αi
frames attached to jointi and jointi+1 • Angle around zi-axis
• Measured along the axis of jointi
3 4
Denavit-Hartenberg Denavit-Hartenberg
• Link length ai (In the movie - r) • Link twist αi
• The perpendicular distance between the axes of • The angle between the axes of jointi and jointi+1
jointi and jointi+1 • Angle around xi-axis
5 6
Denavit-Hartenberg Denavit-Hartenberg
[Link] the link vector ai and the link length
[Link] coordinate frames to the joint axes
This transformation is done in several steps :
[Link] the link twist αi
• Rotate the link twist angle αi around the axis xi
[Link] the link offset di
•Translate the link length ai along the axis xi
[Link] the joint angle φi
•Translate the link offset di along the axis zi
[Link] the transformation (i-1)Ti which transforms entities from
linki to linki-1 •Rotate the joint angle φi around the axis zi
- 2 Special Cases -
iT = R zi (ϕ i )T zi (d i )T xi (a i )R xi (α i )
(i −1 )
7 8
Denavit-Hartenberg Denavit-Hartenberg
(i −1 )
T = R zi (ϕ i )T zi (d i )T xi (a i )R xi (α i )
i T = R zi (ϕ i )T zi (d i )T xi (a i )R xi (α i )
(i −1 )
i
1 0 0 0 1 0 0 ai
0 Multiplying the matrices :
0 cos α i − sin α i 0 1 0 0
R xi (α i ) = T xi (a i ) =
0 sin α i cos α i 0 0 0 1 0
cos ϕ i − sin ϕ i cos α i sin ϕ i sin α i a i cos ϕ i
0 0 0 1 0 0 0 1 sin ϕ
(i −1 ) cos ϕ i cos α i − cos ϕ i sin α i a i sin ϕ i
iT =
i
cos ϕ i − sin ϕ i 0 0 1 0 0 0 0 sin α i cos α i di
sin ϕ cos ϕ i 0 0 0 1 0 0
R zi (ϕ i ) = i T zi (d i ) = 0 0 0 1
0 0 1 0 0 0 1 di
In DH only φ and d are allowed to change.
0 0 0 1 0 0 0 1
9 10
End effector End effector
• End effector - the last coordinate system of figure
• Located in joint N. A transformation from the link N to the base :
• But usually, we want to specify it in base
coordinates.
11 12
End effector End effector
• We can also express it as • The origin of a coordinate frame relative
• three rotations (around each of the to some base coordinate frame is
coordinate axes) specified by the translation :
• followed by a translation
• How can we establish a relation with
the other expression ?
13 14
End effector
End effector
• Any 3D orientation relative to
some base coordinate frame
can be specified by :
three rotations, one around
each of the coordinate axes.
We do them in this order : around x, y, z. 15 16
End effector End effector
• Orientation
• Finally, the transformation from a coordinate frame to
• The roll, pitch and yaw transformation is the base frame is expressed :
then expressed :
17 18
End effector End effector
We can obtain the yaw angle :
We obtain directly the translation vector : Because :
arctan is π-periodic. Let’s use our function
arctan2 to get the right angle.
19 20
End effector End effector
Knowing the yaw angle, we can obtain
the pitch angle : We can obtain the roll angle :
Because :
Because :
Again, let’s use our function arctan2 :
Again, let’s use our function arctan2 :
21 22
End effector End effector
Let’s define the state vector As previously shown,
The state vector is composed of elements of this
matrix. It’s also a function of joint parameters :
23 24
DH Example - 3 revolute joints DH Example - 3 revolute joints
Shown in home position Shown with joints in non-zero positions
joint 1
Z0 x3
R z3
Link 2 θ2 θ3
x2
Link 1 Link 3 x1
θ1 Z2
x0
joint 2 joint 3
Z1
L1 L2
Observe that frame i moves with link i
25 26
[Link] the link vector ai and the link length [Link] the link vector ai and the link length
2. Attach coordinate frames to the joint axes 2. Attach coordinate frames to the joint axes
[Link] the link twist αi [Link] the link twist αi
[Link] the link offset di [Link] the link offset di
[Link] the joint angle φi [Link] the joint angle φi
[Link] the transformation (i-1)Ti [Link] the transformation (i-1)Ti
joint 1
R cos ϕ i − sin ϕ i cos α i sin ϕ i sin α i a i cos ϕ i
Link 2 sin ϕ
(i −1 ) cos ϕ i cos α i − cos ϕ i sin α i a i sin ϕ i
iT =
i
Link 3 0 sin α i cos α i di
Link 1
0 0 0 1
joint 2 joint 3
L1 L2 27 28
DH Example Example – the Stanford Arm
where
29 30
Example – the Stanford Arm
Z7
Z6
Pinhole Camera
Z4
X7 Z5
X6 X4
X3
d θy
i ai di αi θi d3
Z2
1
X5
X2
Z1
Z3 dy
2 d2
3
4
d1
dy = d tan θ y
5
Y1
dx = d tan θ x
X1
6
31 32
Imaging Imaging x
y3 x y
x
y y Z0 x3 z 0
x3 z3
z 0 z3 z 3 θ2 θ3
x2
• Given a point. What is its image? (dx,dy) x x x1
Z2
θ1
• Solution: y = T y
0
3 x0
Z1
• Convert the point’s coordinates to the z 3 z 0
T = ( N0T )
−1
camera coordinate system. tan (θ y ) =
N z y3
0 tan (θ x ) = 3
• Derive θ and θ
x y
x3 x3
dy = d tan (θ y ) = d
z3 y3
dx = d tan (θ x ) = d
• Calculate dx and dy. 33
x3 x3
34
Imaging Example Imaging Example
• Let, θ1 = 90o θ 2 = 45o θ3 = −90o
R=0 L1 = 10 L2 = 0
d =1
• What is the location of the end effector? where
• Draw the image of the box with
coordinates
[ p1 ]0 = (0,18,0) [ p2 ]0 = (5,18,0) θ1 = 90o θ 2 = 45o θ3 = −90o
[ p3 ]0 = (5,18,5) [ p4 ]0 = (0,18,5) R=0 L1 = 10 L2 = 0
35 36
Imaging Example
2 2
0 − 0
2 2
0T = ( 3T ) = 0
2 2
− 10
3 0 −1
2 2
1 0 0 0
0 0 0 1
37