homogeneous transforms - northeastern universityexample 1: homogeneous transform inverse 0 0 1 sin(...
TRANSCRIPT
Homogeneous transformsRotation matrices assume that the origins of the two
frames are co-located.
• What if they’re separated by a translation?
xA
p
yA
ABd
yB
xB
Homogeneous transform
xA ˆ
yA ˆ
BAd
yB ˆ
xB ˆ
BAB
BAA dpRp
(same point, two reference frames)
pB
pA
Homogeneous transform
xA
p
yA
bad
yB
xB
110
pdR BB
AB
A
11
1000333231
232221
131211
pT
p
drrr
drrr
drrrB
BA
B
zA
yA
xA
always onealways zeros
BAB
BAA dpRp
Example 1: homogeneous transforms
What’s ?ABT
xA
yA
xByB
l
zA
zB
Example 1: homogeneous transforms
What’s ?ABT
xA
yA
xB
yB
l
zA
zB
100
0)cos()sin(
0)sin()cos(
BAR
0
0
l
dAB
xA
yA
zz BA ,
xByB
10A
BA
B
AB dRT
1000
0100
00)cos()sin(
0)sin()cos(
l
TAB
Example 2: homogeneous transforms
What’s ?baT
ax
ayl
az
bxbybz
l
1000
0010
20
20
4
4
slcs
clsc
Tba
This arm rotates about the axis.az
Example 3: homogeneous transforms
xA ˆ
yA ˆ
zA ˆ
xc ˆyc ˆ
zc ˆ
l
csscs
cs
scscc
cs
sc
cs
sc
RRR cb
ba
ca 0
100
0
0
0
010
0
1000
0
10
clscsscs
lscs
clcscscc
dRT
ac
a
ca
Example 3: homogeneous transforms
xA ˆ
yA ˆ
zA ˆ
xc ˆyc ˆ
zc ˆ
l
0
0
l
dc
cls
ls
clcl
csscs
cs
scscc
dRd cc
aa
0
00
Inverse of the Homogeneous transform
10
1 ABT
ABT
AB
AB dRRT
ABA
ABB dpRp
ABBT
ABA dpRp
Can also derive it from the forward Homogeneous transform:
11 p
TpB
ABA
where
Inverse of the Homogeneous transform
xA ˆ
yA ˆ
BAd
yB ˆ
xB ˆ
BAA
AB
BA
ABA
ABB dpRdRpRp
(same point, two reference frames)
pB
pA
Example 1: homogeneous transform inverse
What’s ?BATxA
yA
xByB
l
zA
zB
1000
0100
00)cos()sin(
0)sin()cos(
l
TAB
Example 1: homogeneous transform inverse
100
0)cos()sin(
0)sin()cos(
BAR
0
0
l
dAB
1000
0100
)sin(0)cos()sin(
)cos(0)sin()cos(
1
l
l
TT BA
AB
10
1 ABT
ABT
AB
AB dRRT
0
)sin(
)cos(
0
0
100
0)cos()sin(
0)sin()cos(
l
ll
dR AB
BA
Example 2: homogeneous transform inverse
What’s ?abT
ax
ayl
az
bxbybz
l
1000
0010
20
20
4
4
slcs
clsc
Tba
1000
20
0100
20
44
44
sccslcs
sscclsc
Tab
Forward Kinematics
• Where is the end effector w.r.t. the “base” frame?
Composition of homogeneous transforms
32
21
10
30 TTTT
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
Base to eff transform
Transform associated w/ link 1
Transform associated w/ link 2
Transform associated w/ link 3
Forward kinematics: composition of homogeneous transforms
32
21
10
30 TTTT
1000
0100
0
0
1111
1111
10 slcs
clsc
T
1000
0100
0
0
2222
2222
21 slcs
clsc
T
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
Forward kinematics: composition of homogeneous transforms
32
21
10
30 TTTT
1000
0100
0
0
3333
3333
32 slcs
clsc
T
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
Remember those double-angle formulas…
sincoscossinsin
sinsincoscoscos
32
21
10
30 TTTT
1000
0100
0
0
1000
0100
0
0
1000
0100
0
0
3333
3333
2222
2222
1111
1111
30 slcs
clsc
slcs
clsc
slcs
clsc
T
Forward kinematics: composition of homogeneous transforms
1000
0100
0
0
123312211123123
123312211123123
30 slslslcs
clclclsc
T
DH parameters• There are a large number of ways that homogeneous transforms
can encode the kinematics of a manipulator
• We will sacrifice some of this flexibility for a more systematic approach: DH (Denavit-Hartenberg) parameters.
• DH parameters is a standard for describing a series of transforms for arbitrary mechanisms.
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
x0
z01q
y0
2q
3q
x1
z1z2
x2
x3
z3
1l
2l
3l
Forward kinematics: DH parameters
iiii da
These four DH parameters,
represent the following homogeneous matrix:
1000
00
00
0001
1000
0100
0010
001
1000
100
0010
0001
1000
0100
00
00
ii
iiii
ii
cs
sc
a
d
cs
sc
T
i
i
Then, translate by along x axisia
and rotate by about x axisiFirst, translate by along z axisid
and rotate by about z axisi
Forward kinematics: DH parameters
1000
00
00
0001
1000
0100
0010
001
1000
100
0010
0001
1000
0100
00
00
ii
iiii
ii
cs
sc
a
d
cs
sc
T
i
i
1000
0 i
i
i
dcs
sascccs
casscsc
ii
iiiiii
iiiiii
Forward kinematics: DH parameters
x0
z0
y0
y1
z1
d
x1
y1
z1
a x1
y2
z2
Then, translate by along x axisia
and rotate by about x axisiFirst, translate by along z axisid
and rotate by about z axisi
iiii da Four DH parameters:
iiii axtransxrotdztranszrot TTTTT ,,,,
Forward kinematics: DH parameters
• A series of transforms is written as a table:
xform
1
2
ia i id i
1a 1 1d 1
2a 2 2d 2
Example 1: DH parameters
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
ia i id i
1l 0 0 1q
2l 0 0 2q
1
2
3
3l 0 0 3q
Example 1: DH parameters
x0
y0
1q
z0
2q
3q
x1
y1
y2
x2
x3
y3
1l
2l3l
1
2
3
ia i id i
1l 0 0 1q
2l 0 0 2q
3l 0 0 3q
1000
0100
0
0
111
111
1
1
10 qqq
qqq
slcs
clsc
T
1000
0100
0
0
222
222
2
2
21 qqq
qqq
slcs
clsc
T
1000
0100
0
0
333
333
3
3
32 qqq
qqq
slcs
clsc
T
32
21
10
30 TTTT
Example 2: DH parameters
1q
2q
3q
0x
0y
0z1z
1x
2z
2x2y
3z
3y
3x
1l
2l
3l
Example 2: DH parameters
1q
2q
3q
0x
0y
0z1z
1x
2z
2x2y
3z
3y
3x
1l
2l
3l
ia i id i
1l2 1q
2l 0 0 22q
1
2
33l 0 0 3q
0
Example 3: DH parameters
1q
0x0y
0z
1x
1l
2q3q
4q
1z
1y2x
2y
2x
2y
2x
2y
Example 3: DH parameters
1q
0x0y
0z
1x
1l
2q3q
4q
1z
1y2x
2y
2x
2y
2x
2y
1
2
3
4
ia i id i
0 1l 1q
0 2q
3q
0
4q 00
2l
3l
0 4l
0