homogeneous transforms - northeastern universityexample 1: homogeneous transform inverse 0 0 1 sin(...

30
Homogeneous transforms Rotation matrices assume that the origins of the two frames are co-located. What if they’re separated by a translation? x A p y A A B d y B x B

Upload: others

Post on 18-Aug-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 2: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Homogeneous transform

xA ˆ

yA ˆ

BAd

yB ˆ

xB ˆ

BAB

BAA dpRp

(same point, two reference frames)

pB

pA

Page 3: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 4: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Example 1: homogeneous transforms

What’s ?ABT

xA

yA

xByB

l

zA

zB

Page 5: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 6: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 7: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 8: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 9: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 10: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Inverse of the Homogeneous transform

xA ˆ

yA ˆ

BAd

yB ˆ

xB ˆ

BAA

AB

BA

ABA

ABB dpRdRpRp

(same point, two reference frames)

pB

pA

Page 11: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Example 1: homogeneous transform inverse

What’s ?BATxA

yA

xByB

l

zA

zB

1000

0100

00)cos()sin(

0)sin()cos(

l

TAB

Page 12: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 13: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 14: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Forward Kinematics

• Where is the end effector w.r.t. the “base” frame?

Page 15: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 16: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 17: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 18: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Remember those double-angle formulas…

sincoscossinsin

sinsincoscoscos

Page 19: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 20: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 21: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 22: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 23: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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 ,,,,

Page 24: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 25: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 26: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 27: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Example 2: DH parameters

1q

2q

3q

0x

0y

0z1z

1x

2z

2x2y

3z

3y

3x

1l

2l

3l

Page 28: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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

Page 29: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

Example 3: DH parameters

1q

0x0y

0z

1x

1l

2q3q

4q

1z

1y2x

2y

2x

2y

2x

2y

Page 30: Homogeneous transforms - Northeastern UniversityExample 1: homogeneous transform inverse 0 0 1 sin( ) cos( ) 0 cos( ) sin( ) 0 B AR 0 0 l dA B DH parameters • There are a large number

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