21
Carnegie Mellon An Introduction to Robot Kinematics © Howie Choset, 2019

An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

An Introduction to

Robot Kinematics

© Howie Choset, 2019

Page 2: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

We are interested in two kinematics topics

Forward Kinematics (angles to position)What you are given: The length of each link

The angle of each joint

What you can find: The position of any point

(i.e. it’s (x, y, z) coordinates

Inverse Kinematics (position to angles)

What you are given: The length of each link

The position of some point on the robot

What you can find: The angles of each joint needed to obtain

that position

Page 3: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

2

1

(x , y)

l2

l1

Inverse Kinematics of a Two Link Manipulator

Given: l1, l2 , x , y

Find: 1, 2

Redundancy:

A unique solution to this problem

does not exist. Notice, that using the

“givens” two solutions are possible.

Sometimes no solution is possible.

(x , y)

Page 4: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

The Geometric Solution

Using the Law of Cosines:

21

2

2

2

1

22

21

2

2

2

1

22

21

2

2

2

1

22

222

2arccosθ

2)cos(θ

)cos(θ)θ180cos(

)θ180cos(2)(

cos2

ll

llyx

ll

llyx

llllyx

Cabbac

2

2

22

2

Using the Law of Sines:

x

y2arctanα

θαθ

yx

)sin(θ

yx

)θsin(180θsin

sinsin

11

22

2

22

2

2

1

l

c

C

b

B

l1

l2 q2

q1

(x , y)

Page 5: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

The Geometric Solution

Using the Law of Cosines:

21

2

2

2

1

22

21

2

2

2

1

22

21

2

2

2

1

22

222

2arccosθ

2)cos(θ

)cos(θ)θ180cos(

)θ180cos(2)(

cos2

ll

llyx

ll

llyx

llllyx

Cabbac

2

2

22

2

Using the Law of Sines:

x

y2arctanα

θαθ

yx

)sin(θ

yx

)θsin(180θsin

sinsin

11

22

2

22

2

2

1

l

c

C

b

B

22

221

yx

)sin(θarcsin,2arctanθ

lxy

Redundant since q2 could be in the

first or fourth quadrant.

Redundancy caused since q2 has two possible

values

l1

l2 q2

q1

(x , y)

Page 6: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

21

2

2

2

1

22

2

221

2

2

2

1

21121121

2

2

2

1

21121

2

21

2

2

2

1

2

121121

2

21

2

2

2

1

2

1

2222

2

yxarccosθ

c2

)(sins)(cc2

)(sins2)(sins)(cc2)(cc

yx)2((1)

ll

ll

llll

llll

llllllll

The Algebraic Solution

l1

l2 q2

q1

(x , y)

21211

21211

1221

11

sinsy(2)

ccx(1)

)θcos(θc

cosθc

ll

ll

Only Unknown

))(sin(cos))(sin(cos)sin(

))(sin(sin))(cos(cos)cos(

:

abbaba

bababa

Note

Page 7: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

))(sin(cos))(sin(cos)sin(

))(sin(sin))(cos(cos)cos(

:

abbaba

bababa

Note

)c(s)s(c

cscss

sinsy

)()c(c

ccc

ccx

2211221

12221211

21211

2212211

21221211

21211

lll

lll

ll

slsll

sslll

ll

We know what q2 is from the previous

slide. We need to solve for q1 . Now

we have two equations and two

unknowns (sin q1 and cos q1 )

Page 8: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

))(sin(cos))(sin(cos)sin(

))(sin(sin))(cos(cos)cos(

:

abbaba

bababa

Note

)c(s)s(c

cscss

sinsy

)()c(c

ccc

ccx

2211221

12221211

21211

2212211

21221211

21211

lll

lll

ll

slsll

sslll

ll

We know what q2 is from the previous

slide. We need to solve for q1 . Now

we have two equations and two

unknowns (sin q1 and cos q1 )

1

1

22122

22221

s

c

cs

sc

lll

lll

y

x

),(2arctan 111 csq

Page 9: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

Three-link Manipulator IK

Page 10: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

RPR Arm

Page 11: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

RPR Arm

Page 12: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

RPR

Page 13: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

RPR

Page 14: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

Workspace of Two-Link

Page 15: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

Workspace of Two-Link

Page 16: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

PRR Arm

Page 17: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

PRR Arm

Page 18: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

PRR Arm

Page 19: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

PRR Arm

Page 20: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon

PRR Arm

Page 21: An Introduction to Robot Kinematics16311/current/schedule/ppp/... · 1 (x , y) l 2 l 1 Inverse Kinematics of a Two Link Manipulator Given: l 1, l 2 , x , y ... An Introduction to

Carnegie Mellon