4.2 DH Parameters

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

© Jon Woolfrey

Centre for Autonomous Systems


University of Technology Sydney
We can concatenate transformation
matrices between joint frames to
determine the end-effector pose.
{n − 1} {n}
j
𝐓j−1 {j}
𝐓0n = 𝐓01 × 𝐓12 × 𝐓23 × ⋯ × 𝐓n−1
n n
𝐓n−1
n {j − 1}
j
= ෑ 𝐓j−1 {1}
j=1
𝐓01

Need to describe 𝐓j−1 as a function of


j
{0}
simple geometry.

Jon Woolfrey
Minimum of 4 parameters, applied in sequence: For joint {j-1} to {j}:
1. Rotate about z-axis by θ zො
j
𝐑 (θ) 𝟎3×1 𝐓j−1 = 𝐓Rz θj 𝐓z dj 𝐓x aj 𝐓Rx (αj )
𝐓Rz θ = z yො
𝟎1×3 1
2. Translate across z-axis by d xො Then for the end-effector frame {n}:
0 n
𝐈 0 zො j
𝐓z d =
d yො 𝐓0n = ෑ 𝐓j−1
𝟎1×3 1 j=1
3. Translate across x-axis by a xො
zො
a
𝐈 0 yො
𝐓x a =
0 xො
𝟎1×3 1
4. Rotate about x-axis by α zො
𝐑 x (α) 𝟎3×1
𝐓Rx α = yො
𝟎1×3 1
xො

Jon Woolfrey
Minimum number of parameters to describe forward kinematics

Universal nomenclature
◦ Knowing DH parameters gives complete knowledge of kinematics
◦ Easily understood by anyone

Computationally efficient for differential kinematics, dynamics


◦ Need to minimize no. of calculations for high-frequency feedback
control
◦ Electricity travels 3000 km in 0.01s (100 Hz)

Jon Woolfrey
1. Actuate about z-axis
q
◦ Rotate about z for revolute joints yො xො
𝐑 z (q) 𝟎3×1
𝐓Rz q =
𝟎1×3 1
◦ Translate about z for prismatic joints q
0 yො
𝐈 0 xො
𝐓z q =
q
𝟎1×3 1
2. Axis zොj−1 is perpendicular to, and yො j

intersects, xො j
3. The y-axis is solved implicitly: yො j = zොj × xො j zොj−1
xො j

yො j−1 zොj

xො j−1
Jon Woolfrey
 The joint frame does not {j}
need to physically coincide
with the actual joint.

It only needs to align with


the axis of actuation.
 The robot arm can be
arranged in any
configuration that suits the
DH parameters.

Jon Woolfrey
 The joint frame does not {j}
need to physically coincide
with the actual joint.

It only needs to align with


the axis of actuation.
 The robot arm can be
arranged in any
configuration that suits the
DH parameters.

Jon Woolfrey
 The joint frame does not {j}
need to physically coincide
with the actual joint.

It only needs to align with


the axis of actuation.
 The robot arm can be
arranged in any
configuration that suits the
DH parameters.

Jon Woolfrey
To get forward kinematics at a Alternative sequences can be used,
particular joint configuration 𝐪 , for example:
substitute the joint value in to the z-
component of the transform chain: j
𝐓j−1 = 𝐓z dj 𝐓Rz θj 𝐓Rx (αj )𝐓x aj

𝐓Rz q j 𝐓z dj 𝐓x aj 𝐓Rx αj for Revolute


j
𝐓j−1 =൞ However, the order is important.
𝐓Rz θj 𝐓z q j 𝐓x aj 𝐓Rx αj for Prismatic Matrices are not commutative; 𝐀𝐁 ≠ 𝐁𝐀.
Must use the same sequence for all
joints.

Jon Woolfrey
DH Parameters from {0} to {1}:
𝐑 z (q1 ) 𝟎3×1
𝐓Rz θ1 =
𝟎1×3 1
0
yො 1
𝐈3 0 {1} xො 1
𝐓z d1 =
l1
𝟎1×3 1 zො1
l1 zො 0
𝐈3 𝟎3×1 q1
𝐓x a1 = = 𝐈4
𝟎1×3 1 yො 0
𝐑 x (π/2) 𝟎3×1 {0} xො 0
𝐓Rx α1 =
𝟎1×3 1

Jon Woolfrey
DH Parameters from {1} to {2}: l2

𝐑 z (q2 ) 𝟎3×1
𝐓Rz θ2 =
𝟎1×3 1
𝐈3 𝟎3×1
𝐓z d2 = = 𝐈4 yො 1 yො 2
𝟎1×3 1 {1} xො 1 xො 2
l2
{2}
𝐈3 0 q 2 zො1 zො 2
𝐓x a2 =
0
𝟎1×3 1
𝐈3 𝟎3×1
𝐓Rx α2 = = 𝐈4
𝟎1×3 1

Jon Woolfrey
DH Parameters from {2} to {3}:
𝐑 z (q3 ) 𝟎3×1
𝐓Rz θ3 =
𝟎1×3 1 l3
𝐈3 𝟎3×1
𝐓z d3 = = 𝐈4 yො 2 yො 3
𝟎1×3 1 xො 2
xො 3
l3
{2} {3}
𝐈3 0 q3 zො 2 zො 3
𝐓x a3 =
0
𝟎1×3 1
𝐈3 𝟎3×1
𝐓Rx α3 = = 𝐈4
𝟎1×3 1

Jon Woolfrey
zො3 q3
yො 3

Frame {0} to {1}: {3}


xො 3
q3
𝐓01 = 𝐓Rz q1 𝐓z l1 𝐓x 0 𝐓Rx π/2

Note that for this case, frame {2} is


l2
coincident with frame {1}: yො 2 yො 1 , zො2
yො 2 zො2
xො 1 , xො 2 xො 2
𝐓12 = 𝐓Rz q2 𝐓z 0 𝐓x 0 𝐓Rx − πΤ2 1 , {2}
q 2 zො1
Since frame {2} is not located on l1 zො 0
q1
joint 3, we need to add the link yො 0
offset to the z-translation: {0}
xො 0

𝐓23 = 𝐓Rz 0 𝐓z l2 + q3 𝐓x 0 𝐓Rx (0)

Jon Woolfrey
𝛉𝐣 𝐝𝐣 𝐚𝐣 𝛂𝐣 𝛉𝐣 𝐝𝐣 𝐚𝐣 𝛂𝐣 𝛉𝐣 𝐝𝐣 𝐚𝐣 𝛂𝐣
π π qj 0 lj 0
qj 0 0 − qj lj 0
2 2

Joint frames are coincident.


lj
{j}

qj+1 lj qj
{j − 1} {j}
qj
j − 1 , {j} {j − 1}
qj

Jon Woolfrey
Forward Kinematics (FK) can be calculated by multiplying transforms between joint frames:

n
j
𝐓0n = ෑ 𝐓j−1
j=1

DH Parameters use 4 variables to get the transform from frame {j-1} to frame {j}

𝐓Rz q j 𝐓z dj 𝐓x aj 𝐓Rx αj for Revolute


j
𝐓j−1 =൞
𝐓Rz θj 𝐓z q j 𝐓x aj 𝐓Rx αj for Prismatic

θj A rotation about the z-axis

dj A translation about the z-axis

aj A translation about the x-axis

αj A rotation about the x-axis

Jon Woolfrey

You might also like