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

Denavit-Hartenberg Convention

Denavit-Hartenberg Convention
• Number the joints from 1 to n starting with the base and ending with
the end-effector.
• 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.
• Establish joint axis. Align the Zi with the axis of motion (rotary or
sliding) of joint i+1.
• 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.
• Establish Xi axis. Establish X i  ( Z i 1  Z i ) / Z i 1  Z i or along the
common normal between the Zi-1 & Zi axes when they are parallel.
• Establish Yi axis. Assign Yi  ( Z i  X i ) / Z i  X i to complete the right-
handed coordinate system.
• Find the link and joint parameters
Example I
• 3 Revolute Joints

Z3
Z0 Z1
Joint 3
Y0 Z O3 X3
Y1 2

Link 1 Link 2 d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Y2

a0 a1
Link Coordinate Frames
• Assign Link Coordinate Frames:
– To describe the geometry of robot motion, we assign a Cartesian
coordinate frame (Oi, Xi,Yi,Zi) to each link, as follows:
• establish a right-handed orthonormal coordinate frame O0 at
the supporting base with Z0 lying along joint 1 motion axis.
• the Zi axis is directed along the axis of motion of joint (i + 1),
that is, link (i + 1) rotates about or translates along Zi;
Z3
Z0 Z1 Joint 3
Y0 Z O3 X3
Y1 2

Link 1 Link 2 d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Y2

a0 a1
Link Coordinate Frames
– 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.
– the Xi axis lies along the common normal from the Zi-1
axis to the Zi axis X i  ( Z i 1  Z i ) / Z i 1  Z i , (if Z i-1 is
parallel to Zi, then Xi is specified arbitrarily, subject only
Z
to Xi being perpendicularZ to Zi); 3

Z0 1 Joint 3
Y0 Z O3 X3
Y1 2

d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Y2

a0 a1
Link Coordinate Frames
– Assign Yi  ( Z i  X i ) / Z i  X i to complete the right-
handed coordinate system.
• The hand coordinate frame is specified by the geometry On
of the end-effector. Normally, establish Zn along the
direction of Zn-1 axis and pointing away from the robot;
establish Xn such that it is normal to both Zn-1 and Zn axes.
Assign Yn to complete the right-handed coordinate
system. Z3
Z0 Z1 Joint 3
Y0 Z O3 X3
Y1 2

d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Y2

a0 a1
Link and Joint Parameters
• Joint angle  i : the angle of rotation from the Xi-1 axis to
the Xi axis about the Zi-1 axis. It is the joint variable if joint i
is rotary.

• Joint distance d i : the distance from the origin of the (i-1)


coordinate system to the intersection of the Zi-1 axis and
the Xi axis along the Zi-1 axis. It is the joint variable if joint i
is prismatic.

• Link length ai : the distance from the intersection of the Zi-1


axis and the Xi axis to the origin of the ith coordinate
system along the Xi axis.
i
• Link twist angle : the angle of rotation from the Zi-1 axis
to the Zi axis about the Xi axis.
Example I Z3
Z0 Z1
Joint 3
Y0 Z O3 X3
Y1 2

d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
D-H Link Parameter Table
Y2 Joint i i ai di i

a0 a1 1 0 a0 0 0

 i : rotation angle from Zi-1 to Zi about Xi 2 -90 a1 0 1

ai : distance from intersection of Zi-1 & Xi 3 0 0 d2 2


to origin of i coordinate along Xi
di : distance from origin of (i-1) coordinate to intersection of Zi-1 & Xi along Zi-1
 i : rotation angle from X to X about Z
i-1 i i-1
Example II: PUMA 260
1. Number the joints
2. Establish base frame
1 2 3. Establish joint axis Zi
Z1 4. Locate origin, (intersect.
O1 of Zi & Zi-1) OR (intersect
3 of common normal & Zi )
X1 Z2 Z6
Y1 5. Establish Xi,Yi
O2
Y3 Z Z4
O3 X 2 5  6 Y6 X i   ( Z i 1  Z i ) / Z i 1  Z i
Y2 5
O Yi   ( Z i  X i ) / Z i  X i
Z0 6
Y
X3 4 Y5
t
O5 X5 X6
O4 Z
3

X4 4
PUMA 260
Link Parameters
1
J i i ai d i
2 1 1 -90 0 13
Z1 2 2 0 8 0
O1 3 3 3 90 0 -l
X1 Z2 Z6 4 4 -90 0 8
Y1 O 5 5 90 0 0
Y3 2 Z Z4
O3 X 2 5  6 Y6 6 6 0 0 t
Y2 5
Z0 O6  i : angle from X to X
X3 4Y Y5 i-1 i

O5
O4 Z
X5 X6 about Zi-1
i : angle from Zi-1 to Zi
3
about Xi
X4 4 ai : distance from intersection
of Zi-1 & Xi to Oi along Xi
Joint distance d i : distance from Oi-1 to intersection of Zi-1 & Xi along Zi-1
Transformation between i-1 and i
• Four successive elementary transformations are
required to relate the i-th coordinate frame to the (i-
1)-th coordinate frame:
– Rotate about the Z i-1 axis an angle of i to align the X i-1
axis with the X i axis.
– Translate along the Z i-1 axis a distance of di, to bring Xi-1
and Xi axes into coincidence.
– Translate along the Xi axis a distance of ai to bring the
two origins Oi-1 and Oi as well as the X axis into
coincidence.
– Rotate about the Xi axis an angle of αi ( in the right-
handed sense), to bring the two coordinates into
coincidence.
Transformation between i-1 and i
• D-H transformation matrix for adjacent coordinate
frames, i and i-1.
– The position and orientation of the i-th frame coordinate
can be expressed in the (i-1)th frame by the following
homogeneous transformation matrix:
Source coordinate

Ti i 1  T ( zi 1 , d i ) R ( zi 1 , i )T ( xi , ai ) R ( xi ,  i )
C i  C  i S i S i S i ai C i 
Reference  S C i C i  S i C i ai S i 
Coordinate  i
 0 S i C i di 
 
 0 0 0 1 
Kinematic Equations
• Forward Kinematics q  (q1 , q2 ,  qn )
– Given joint variables
– End-effector position & orientation Y  ( x, y, z ,  , , )
• Homogeneous matrix T0n
– specifies the location of the ith coordinate frame w.r.t.
the base coordinate system
– chain product of successive coordinate transformation
i
matrices of Ti 1
Position
T  T T T
0
n 1 2
0 1
n
n 1 vector

Orientation  R0n P0n  n s a P0n 


matrix   
0 1  0 0 0 1 
Kinematics Equations
• Other representations
– reference from, tool frame
Treftool  Bref
0
T0n H ntool

– Yaw-Pitch-Roll representation for orientation


T  Rz , R y , Rx ,
C  S 0 0   C 0 S 0 1 0 0 0
 S C 0 0  0 1 0 0 0 C   S 0
 
0 0 1 0    S 0 C 0  0 S C 0
    
0 0 0 1  0 0 0 1 0 0 0 1
Solving forward kinematics
• Forward kinematics • Transformation Matrix

1   px 
  p   nx sx ax px 
 2  y n
 3   pz  sy ay p y 
T  y
     nz sz az pz 
 4     
 5    0 0 0 1 
   
 6   
Solving forward kinematics
• Yaw-Pitch-Roll representation for orientation
CC CSS  SC CSC  SS px 
 SC SSS  CC SSC  CS p y 
T0n  
  S CS CC pz 
 
 0 0 0 1
 nx sx ax px    sin 1 (nz )
n sy ay p y  az
T0n   y   cos (
1
)
 nz sz az pz  cos
  nx
0 0 0 1   cos (
1
)
cos
Problem? Solution is inconsistent and ill-
conditioned!!
atan2(y,x)
y

 0    90 for  x and  y



 90    180 for  x and  y
 
  a tan 2( y, x)  
  180 
   90 
for  x and  y
  90    0 for  x and  y

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