Professional Documents
Culture Documents
Handout3 Kinematics 2
Handout3 Kinematics 2
The Hummingbird, IBM Watson Research Center, ICRA 1992 video proceedings
Manipulator Kinematics
Link Description Denavit-Hartenberg Notation Frame Attachment Forward Kinematics
Manipulator
Link i -1 Joint axis i -1 Joint axis i Link 1
Link n-1
End-Effector Base
Link Description
Axis (i-1) Link i-1
Axis i
i-1
ai-1
==
==
i-1
ai-1: i-1:
Link Length - mutual perpendicular unique except for parallel axis Link Twist - measured in the right-hand sense about ai-1
Link Connections
Axis (i-1) Link i-1
Axis i
Axis i+1
}di
ai-1
==
i i
i-1
==
d i: Link Offset -- variable if joint i is prismatic i: Joint Angle -- variable if joint i is revolute
ai and i depend on joint axes i and i+1 Axes 1 to n: determined a1 , a2 ... a n-1 and 1, 2 ... n-1 Convention: a0 = an = 0 and 0 = n = 0
First Link
Axis 1 Axis 0 Axis 0 a0 0 0 1 a1
Axis 2
End-Efector Frame
d1 1
0n
{0}
0n+1
a0 = 0 and 0 = 0
Last Link
Axis n+1 Axis n+1 Axis n+1 Axis n Axis n-1 an-1 an
Axis i+1
ai-1
}d
n
}
i
di i
an = 0 and n = 0
i and di depend on links i-1 and i 2, 3, ... , n-1 and d2, d3, ... , dn-1 Convention: set the constant parameters to zero Following joint type: d1 or 1 = 0 and dn or n = 0
First Link
Axis 1 Axis 0 Axis 0 a0 0 0 1 a1
Axis 2
Last Link
Axis n+1 Axis n+1 Axis n+1 Axis n Axis n-1 an-1 an
d1 1
}d
n
d1 or 1 = 0
dn or n = 0
Denavit-Hartenberg Parameters
4 D-H parameters (i ,
Frame Attachment
Axis (i-1) Link i-1
Axis i
ai , di , i)
zi
ai
xi
}di
zi-1
i-1
xi-1
ai-1
==
==
xi
zi
Zi+1
zi
Zi+1
1. Normals 2. Origins
3. Z-axes 4. X-axes
xi
First Link
{0} {1} Revolute z0 = z1 1 1 = 0 {1} Prismatic {0} d1 z0 = z1 a0 = 0 0 = 0 1 = 0 d1 = 0 {0} {1} a0 = 0 0 = 0 d1 = 0 {0} {1}
Last Link
Revolute
Axis n-1
Axis n
dn = 0
xn= xn-1
zn-1 xn-1
zn
n n
n = 0
Prismatic
n = 0
xn= xn-1
zn-1 xn-1
zn dn xn
dn = 0
Summary
Axis i-1
Axis i
Axis i+1
zi-1 xi-1
zi xi ai
i di i
zi+1
x3 y3
i
x2
1 2 3
i-1 ai-1 di i
0 0 0 0 L1 L2 0 0 0 1 2 3
y0
ai : distance (zi , zi+1) along xi i : angle (zi , zi+1) about xi di : distance (xi-1 , xi ) along zi i : angle (xi-1 , xi ) about zi
y1
y2 x1L1
L 2 2
x0
Forward Kinematics
Axis (i-1)
Axis i
Link i
Forward Kinematics
Axis (i-1)
Axis i
Link i
Link i-1
Link i-1
z i-1
i-1
i-1 i i-1
zR z z Q P
zi
xi
ai
}d
zi z i-1
i-1
xi a i
i
}d
xi-1
a i-1
xR
xP i xQ
R Q Q P P i
xi-1
a i-1
T =
i-1
i-1 1
T=
T i (
, ai-1 , i , di ) i-1
ci si ci-1 si si-1 0
0 -si-1 ci-1 0
Forward Kinematics
Axis (i-1)
Axis i
Link i
Link i-1
zi z i-1
i-1
xi a i
i
}d
xi-1
a i-1
Movie Segment
N-1 N
Forward Kinematics:
0 N
T =
0 1
1 2
T ...
Example - RPRR
z5 x5
Summary
Axis i-1
Axis i
Axis i+1
zi-1 xi-1
zi xi ai
i di i
zi+1
1. Normals 2. Origins
3. Z-axes 4. X-axes
ai : distance (zi , zi+1) along xi i : angle (zi , zi+1) about xi di : distance (xi-1 , xi ) along zi i : angle (xi-1 , xi ) about zi
Example - RPRR
Example - RPRR
Z1 Z3 O3 O4 L2 x4 X2 O2 X3
L5 Z4 L4 O5
z5 x5
O0 ,O1 X1 Out
d2
Z2
z5 di
0 d2 0 L5 0
x5 i
1 2 3 4 5
i-1
0 -90 -90 90 0
ai-1
0 0 L2 0 L4
i
1 -90 3 4 0
ai : distance (zi , zi+1) along xi i : angle (zi , zi+1) about xi di : distance (xi-1 , xi ) along zi i : angle (xi-1 , xi ) about zi
Z2
d3 X X5 6 Z5 Z3 Z4 Z6 X3 X
Z2
d3 X X5 6 Z5 Z3 Z4 Z6 X3 X
i
1 2 3 4 5 6
i-1 ai-1
0 -90 90 0 -90 90 0 0 0 0 0 0
di
0 d2 d3 0 0 0
i
1 2 0 4 5 6
ai : distance (zi , zi+1) along xi i : angle (zi , zi+1) about xi di : distance (xi-1 , xi ) along zi i : angle (xi-1 , xi ) about zi
Forward Kinematics
d2 Z0 Z1 X1 X X2
0
Z2
d3 X X5 6 Z5 Z3 Z4 Z6 X3 X
Axis (i-1)
Axis i
Link i
Link i-1
zi i z i-1
i-1
i-1 1T =
xi a i
i
}d
xi-1
i
1 2 3 4 5 6
i-1
0 -90 90 0 -90 90
a i-1
ai-1
0 0 0 0 0 0
di
0 d2 d3 0 0 0
1 2 0 4 5 6
ci si ci-1 si si-1 0
0 -si-1 ci-1 0
i-1
0 -90 90 0 -90 90
ai-1
0 0 0 0 0 0 -si ci ci-1 ci si-1 0
di
0 d2 d3 0 0 0
1 2 0 4 5 6
ci si ci-1 si si-1 0
0 0 1 0
1 2
0 1 0 0
2 3
0 1 0
0 0 0
0 1
O d P P 0 P 1 P Q
0
3
OP PP PQ O d P P 0P 1P Q
0 0 0 1 0
2
3 4
LMc s T=M MM 0 N0
s4 c4 0 0
4 5
OP P 1 0P 0 1P Q LM c 0 T=M MMs N0
0 0 0 0
s5 0 c5 0
0 0 1 0 0 0
5 6
OP P 0P 1P Q
6 6
s6 0 c6 0
0 0 1 0 0 0
OP P 0P 1P Q
Forward Kinematics
Axis (i-1)
Axis i
Link i
0 1
Link i-1
zi z i-1
i-1
xi a i
i
}d
xi-1
0 2
a i-1
LMc c sc T=M MM s N0
0 3
LMc s T=M MM 0 N0
s1 c1 0 0
0 0 0 0 1 0
1 2
c1 s2 s1 s 2 c2 0
1 2
OP P 0P 1P Q
s1 c1 0 0
s1 d 2 c1 d 2 0 1
1 2 2
Forward Kinematics:
NT =
T 1
T ... 2
N-1
T N
LMc c sc T=M MM s N0
1 2 2
s1 c1 0 0
OP PP PQ
c1 s 2 s1 s2 c2 0
c1 d 3 s 2 s1 d 2 s1 d 3 s2 + c1 d 2 d3 c2 1
OP PP PQ
0 6
LM T=M MM X N0 LM X X X X T=M MM X X N0 0
0 5
0 6
X X
X X X 0
c1 c2 s 4 s1 c 4 s1 c2 s 4 + c1 c 4 s2 s 4 0
c1 d 3 s 2 s1 d 2 s1 d 3 s 2 + c1 d 2 d3 c2 1
OP PP PQ
12 5
12 5
OP PP PQ
d2
Z0
d3 Y0 X0 Z6 X6 Y6
C 1 S 2 d 3 S1 d 2 S1 S 2 d 3 + C 1 d 2
c1c 2 c 4 s 5 s1 s 4 s 5 + c1 s 2 s 5 s1c 2 c 4 s 5 + c1 s 4 s 5 + s1 s 2 c 5 s 2 c 4 s5 + c5 c2 0
c1 d 3 s 2 s1 d 2 s1 d 3 s 2 + c1 d 2 d3 c2 1
OP PP PQ
xP r1 x = r2 = r3
C2 d3
C 1 [ C 2 ( C 4 C 5 C 6 S 4 S 6 ) S 2 S 5 C 6 ] S1 ( S 4 C 5 C 6 + C 4 S 6 ) S1 [ C 2 ( C 4 C 5 C 6 S 4 S 6 ) S 2 S 5 C 6 ] + C 1 ( S 4 C 5 C 6 + C 4 S 6 ) S2 (C 4 C 5 C 6 S4 S6 ) C 2 S5 C 6 C 1 [ C 2 ( C 4 C 5 S 6 + S 4 C 6 ) + S 2 S 5 S 6 ] S1 ( S 4 C 5 S 6 + C 4 C 6 ) S1 [ C 2 ( C 4 C 5 S 6 + S 4 C 6 ) + S 2 S 5 S 6 ] + C 1 ( S 4 C 5 S 6 + C 4 C 6 ) S2 (C 4 C 5 S6 + S 4 C 6 ) + C 2 S5 S6
C1 ( C 2 C 4 S 5 + S 2 C 5 ) S1 S 4 S 5 S1 ( C 2 C 4 S 5 + S 2 C 5 ) + C 1 S 4 S 5 S2 C 4 S5 + C 2 C 5