Sunteți pe pagina 1din 18

D-H Transform in a

Nutshell
Lecture 2 Part II
Dr. Harriet Grigg, MEC8026 19/20
A General Link
D-H Transform
•Need a way to express a position vector 𝒊𝑷 in frame 𝒊 in coordinates of frame 𝒊 − 𝟏
•Need 𝒊−𝟏𝒊𝑻 since 𝒊−𝟏𝒊𝑻 𝒊𝑷 = 𝒊−𝟏
𝑷
•We will derive a systematic way to find the homogeneous transform 𝒊−𝟏𝒊𝑻 now
•Uses a series of translations and rotations with known forms
•Four transformations
•Four parameters
•Choosing frames chooses the parameters and defines the link
Summary of link frame attachment process (Craig)
1. Identify the joint axes (i-1) and (i) and imagine (or draw) infinite lines along them
2. Identify the unique common normal between them if not parallel or intersecting, or:
3. Identify a particular one of the common normals, if the axes are parallel and nonintersecting, or:
4. Identify the point of intersection of the axes are nonparallel but intersecting and define a “normal” unit
vector as collinear with the cross product of the two axes (hence out of their common plane).
5. At the point where the common normal meets the ith axis (or at the point of intersection), assign the link
frame origin.
6. Assign the Zi-1 axis pointing along the (i-1)th joint axis.
7. Assign the Xi-1 axis pointing along the (i-1)th common normal, or if the axes intersect, assign Xi to be
normal to the plane containing Zi and Zi-1.
8. Assign the Yi axis to complete a right-hand frame.
9. Assign {0} to match {1} when the first joint variable is zero. For frame {N} choose an origin location and
Xn direction freely, but generally so as to cause as many linkage parameters as possible to become zero.
D-H Transform
• Order and sign of transformations determined
by Co-/Contravariance of transformation.
Translate along 𝑍 by 𝑑𝑖
• Can think of a covariant (moving axis)
transformation of moving frames from 𝑖 − 1 to
Rotate about 𝑍 by 𝜃𝑖

FIXED AXIS

MOVING AXIS
𝑖 (bottom to top). This is how we’ll derive it
next.
Translate along 𝑋 by 𝑎𝑖−1
• Or a contravariant (fixed axis) conversion of
vectors from 𝑖 to 𝑖 − 1 (top to bottom). This is
how we’ll apply it. Rotate about 𝑋 by 𝛼𝑖−1

• These HAVE THE SAME MATRIX – because


covariant/contravariant descriptions reverse the
order of the transformations. So we’ll only ever
have one matrix to deal with when we’re
finished!
D-H Transform
Translate along 𝑍 by 𝑑𝑖

FIXED AXIS

MOVING AXIS
Rotate about 𝑍 by 𝜃𝑖

Translate along 𝑋 by 𝑎𝑖−1

Rotate about 𝑋 by 𝛼𝑖−1

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
1 0 0 0 1 0 0 𝑎𝑖−1 𝑐𝜃𝑖 −𝑠𝜃𝑖 0 0 1 0 0 0
𝑖−1 0 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 0 × 0 1 0 0 × 𝑠𝜃𝑖 𝑐𝜃𝑖 0 0 × 0 1 0 0
𝑖𝑇 = 0 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 0 0 0 1 0 0 0 1 0 0 0 1 𝑑𝑖
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
Overview

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Start - Frame i -1

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Transform 1

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Frame P

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Transform 2

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Frame Q

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Transform 3

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Frame R

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
Transform 4

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
End position

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
The Whole Picture – D-H Transform

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖
D-H Transform matrix (CRAIG)

𝑖−1
𝑖𝑇 = 𝑅𝑜𝑡 𝑋𝑖−1 , 𝛼𝑖−1 𝑇𝑟𝑎𝑛𝑠 𝑋𝑖−1 , 𝑎𝑖−1 𝑅𝑜𝑡 𝑍𝑖 , 𝜃𝑖 𝑇𝑟𝑎𝑛𝑠 0,0, 𝑑𝑖

1 0 0 0 1 0 0 𝑎𝑖−1 𝑐𝜃𝑖 −𝑠𝜃𝑖 0 0 1 0 0 0


0 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 0 0 1 0 0 𝑠𝜃𝑖 𝑐𝜃𝑖 0 0 0 1 0 0
𝑖−1 × × ×
𝑖𝑇 = 0 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 0 0 0 1 0 0 0 1 0 0 0 1 𝑑𝑖
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

1 0 0 𝑎𝑖−1 𝑐𝜃𝑖 −𝑠𝜃𝑖 0 0


0 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 0 𝑠𝜃𝑖 𝑐𝜃𝑖 0 0
𝑖−1 ×
𝑖𝑇 = 0 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 0 0 0 1 𝑑𝑖
0 0 0 1 0 0 0 1

𝑐𝜃𝑖 −𝑠𝜃𝑖 0 𝑎𝑖−1


𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖−1 𝑐𝜃𝑖 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 −𝑑𝑖 𝑠𝛼𝑖−1
𝑖𝑇 =
𝑠𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 𝑑𝑖 𝑐𝛼𝑖−1
0 0 0 1