Вы находитесь на странице: 1из 10

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
http://www.cs.duke.edu/brd/Teaching/Bio/asmb/current/Papers/chap3-forward-kinematics.pdf
1 http://www.youtube.com/watch?v=rA9tm0gTln8
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
1.Compute the link vector ai and the link length

2.Attach coordinate frames to the joint axes


This transformation is done in several steps :
3.Compute the link twist αi
• Rotate the link twist angle αi around the axis xi
4.Compute the link offset di
•Translate the link length ai along the axis xi
5.Compute the joint angle φi
•Translate the link offset di along the axis zi
6.Compute 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

1.Compute the link vector ai and the link length 1.Compute the link vector ai and the link length

2. Attach coordinate frames to the joint axes 2. Attach coordinate frames to the joint axes

3.Compute the link twist αi 3.Compute the link twist αi

4.Compute the link offset di 4.Compute the link offset di

5.Compute the joint angle φi 5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti 6.Compute 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

Вам также может понравиться