Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18...

32
Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010

Transcript of Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18...

Page 1: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Structure and Synthesis of Robot Motion

Kinematics

Subramanian RamamoorthySchool of Informatics

18 January, 2010

Page 2: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

What is Kinematics?

• Kinematics (Greek κινειν, kinein, to move) is a branch of classical mechanics which describes the motion of objects without consideration of the circumstances leading to the motion.

• As opposed to dynamics - which studies relation between motion of objects and its causes.

• Robot kinematics is the study of the motion of robots. In a kinematic analysis the position, velocity and acceleration of all the links are calculated without considering the forces that cause this motion.

• Robot kinematics deals with aspects of redundancy, collision avoidance and singularity avoidance.

18/01/2010 Structure and Synthesis of Robot Motion 2

Page 3: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Why might we Ignore Causes of Motion

Many possible reasons:• To get a temporary handle on constraints• To restrict the solution space for the more detailed problem• Because, sometimes, that is enough (e.g., animation) or even

just kinematics can be hard (e.g., biology or surgery)

For now:• We will discuss this classical view of robot motion• In many modern problems, the strict separation of concerns

may be hard to achieve– E.g., Humanoid walking is an intricate mix of kinematics and dynamics

18/01/2010 Structure and Synthesis of Robot Motion 3

Page 4: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Recap: Describing 3-dim motion

18/01/2010 Structure and Synthesis of Robot Motion 4

Page 5: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Recap: Combined 3-dim Rotations

If a robot/object consists of many links/parts, we could compute position of any end with respect to a base via an appropriate sequence of transformations:

18/01/2010 Structure and Synthesis of Robot Motion 5

Where are these two pointsw.r.t. each other?

Page 6: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

A Typical Scenario

• Many robotics problems involve a workspace goal that needs to be achieved through joint space actions

• Translating between the two coordinate systems requires thinking through a sequence of coord. Frames

• In the figure:– How does object motion

translate to robot manipulator motion?

18/01/2010 Structure and Synthesis of Robot Motion 6

Page 7: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Anatomy of a Typical Robot Manipulator

joints links

gripper (end effector)

Manipulator model from: http://uwf.edu/ria/robotics/robotdraw/4dofform.htm

18/01/2010 7Structure and Synthesis of Robot Motion

Page 8: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Structure and Synthesis of Robot Motion

Two Aspects of Kinematics

• Forward Kinematics– Given joint angles, compute the transformation

between world & gripper coordinates– Relatively straightforward

• Inverse Kinematics– Given the transformation between world

coordinates and an arbitrary frame, compute the joint angles that would line your gripper coordinates up with that frame.

– More complex

18/01/2010 8

Page 9: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Forward Kinematics

18/01/2010 Structure and Synthesis of Robot Motion 9

Scenario:You have a robotic arm that starts

out aligned with the xo-axis.

You tell the first link to move by 1 and the second link to move by 2

Question:What is the position of the end of the robotic arm?

Solution:Use transformation matrices from

earlier lecture

Page 10: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 )

i.e. Rotating by 1 will put you in the X1Y1 frame. Translate in the along the X1 axis by l1. Rotating by 2 will put you in the X2Y2 frame. and so on until you are in the X3Y3 frame.

The position of the yellow dot relative to the X3Y3 frame is(l1, 0). Multiplying H by that position vector will give you the coordinates of the yellow point relative the the X0Y0 frame.

Locate the Yellow Dot in Base Frame

X2

X3Y2

Y3

1

2

3

1

2 3

X1

Y1

X0

Y0

18/01/2010 10Structure and Synthesis of Robot Motion

Rotation, around z, by Y2

Translation, along x2, by l2

Page 11: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

X2

X3Y2

Y3

1

2

3

1

2 3

X1

Y1

X0

Y0

X4

Y4

H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)

This takes you from the X0Y0 frame to the X4Y4 frame.

The position of the yellow dot relative to the X4Y4 frame is (0,0).

1

0

0

0

H

1

Z

Y

X

Notice that multiplying by the (0,0,0,1) vector will equal the last column of the H matrix.

Variation: New Coordinate Frame at the Dot

18/01/2010 11Structure and Synthesis of Robot Motion

Page 12: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Denavit-Hartenberg Convention

A Standard Description involving 4 parameters:

a(i-1) : Length of perpendicular between joint axes

(i-1) : Amount of rotation around the common perpendicular so that the joint axes are parallel

d(i-1) : The displacement along the Zi axis needed to align the a(i-1) to the ai common perpendiculars.

i : Amount of rotation around the Zi

axis needed to align the X(i-1) axis with the Xi axis.

18/01/2010 Structure and Synthesis of Robot Motion 12

Page 13: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Transformation Matrices from DH Convention

18/01/2010 Structure and Synthesis of Robot Motion 13

1000

cosαcosαsinαcosθsinαsinθ

sinαsinαcosαcosθcosαsinθ

0sinθcosθ

i1)(i1)(i1)(ii1)(ii

i1)(i1)(i1)(ii1)(ii

1)(iii

d

d

a

Z(i - 1)

X(i -1)

Y(i -1)

( i -

1)

a(i -

1 )

Z i Y

i X

i

a

i

d

i i

Page 14: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

1

X

Y

S

Revolute and Prismatic Joints Combined

(x , y)

Find Angle:

)x

yarctan(θ

More Specifically:

)x

y(2arctanθ arctan2() specifies that it’s in the

first quadrant

Finding S:

)y(xS 22

Inverse Kinematics: Simplest Example

18/01/2010 14Structure and Synthesis of Robot Motion

Page 15: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

2

(x , y)

l2

l1

Given: l1, l2 , x , y

Find: 1, 2

Redundancy:A unique solution to this problem

does not exist - two solutions are possible. Sometimes no solution is possible.(x , y)l2

l1l2

l1

Bit More Complex: 2-link Manipulator

18/01/2010 15Structure and Synthesis of Robot Motion

Page 16: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

21

22

21

22

2

2212

22

1

211211212

22

1

2222

2

yxarccosθ

c2

)(sins)(cc2

yx)2((1)

ll

ll

llll

lllll1

l22

1

(x , y)

21

21211

21211

1221

11

θθθ(3)

sinsy(2)

ccx(1)

)θcos(θc

cosθc

ll

ll

Solving for the Joint Angles

18/01/2010 Structure and Synthesis of Robot Motion 16

Page 17: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

)c(s)s(c

cscss

ssy

)()c(c

ccc

ccx

2211221

12221211

21211

2212211

21221211

21211

lll

lll

ll

slsll

sslll

ll

2222221

1

2212

22

1122221

221122221

221

yx

x)c(ys

)c2(sx)c(

1

)c(s)s()c(

)(xy

slll

llllslll

lllll

sls

22

222211

yx

x)c(yarcsinθ

slll

Solving for Joint Angles, Contd.

18/01/2010 Structure and Synthesis of Robot Motion 17

Page 18: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Things can Begin to Get Complicated…

This is still within our model:

But, we’d like to avoid tedious calculations like in last slide

18/01/2010 Structure and Synthesis of Robot Motion 18

Keep feet fixed

Hands should followthe mouse

Page 19: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Use of the Jacobian

• Chain of links maps a set of input variables (Joint Angles) to end effecter variables:

• The Jacobian is defined as:

• A transformation from joint velocities to end-point velocities:

18/01/2010 Structure and Synthesis of Robot Motion 19

)(FX

)(

)(F

J

)(JXV

Page 20: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Jacobian: A Simple Example

18/01/2010 Structure and Synthesis of Robot Motion 20

Page 21: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Using the Jacobian Inverse

• Use task level goals to figure out how end effecter should move - V

• Solve for the joint angle velocities:

• Some pitfalls:– J might be singular– Overdetermined system

Concept of Pseudoinverse:

18/01/2010 Structure and Synthesis of Robot Motion 21

)(JYV

11

1

)'('')'( where

')'(

''

JJJJJJJ

VJ

VJJJ

JJVJ

JV

When is thissingular?

Page 22: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Jacobian of the 2-link Arm

18/01/2010 Structure and Synthesis of Robot Motion 22

Page 23: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Where are the Singularities in 2-link Arm?

18/01/2010 Structure and Synthesis of Robot Motion 23

= 0!

Page 24: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Regularizing the Inverse

• While the pseudoinverse will yield a solution, it may not be the right one always

• What are the criteria?• One way to handle this is to

define additional optimisation criteria:

18/01/2010 Structure and Synthesis of Robot Motion 24

function Goodness"" :)(

space null of basis lOrthonorma :

)('..)(

T

N

TNNVJ

Page 25: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Dealing with Ill-Posedness: Heuristic Optimisation

• Most real problems we care about will take us into these deep waters – hard to get the “correct” solution

• One practical approach that is favoured in animation is Cyclic Coordinate Descent– Iterative heuristic procedure, one joint at a

time– When faced with a large task, prioritise

hierarchically and make easy choices first– Other similar heuristics may also be useful

• Even so, with branching and multiple chains, one needs more care!

18/01/2010 Structure and Synthesis of Robot Motion 25

p1

p2

Page 26: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Other Issues: Closed Chains

18/01/2010 Structure and Synthesis of Robot Motion 26

Many of our approximations (e.g., Regularized Inverses) may be subject to peculiar constraints such as loop closure.

Page 27: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Learning Inverse Kinematics

• The relationships we have been discussing are fairly well defined, involving trigonometric functions, etc.

• It should be possible to approximate/learn them from data• Main problem: Inverse kinematics is an ill-posed problem –

there are potentially large number of solutions due to redundancies and singularities– This makes the learning problem non-convex

• One solution, use localized learning– e.g., A. D’Souza, S. Vijayakumar, S. Schaal, Learning Inverse

Kinematics, Proc. IROS 2001

18/01/2010 Structure and Synthesis of Robot Motion 27

Page 28: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Locally Weighted Learning for IK

• Use many local models with restricted regions of applicability:

• The Jacobian can be represented in terms of weighted sums, involving suitable kernels (e.g., Gaussian receptive fields)

• Then, learning becomes an iterative process involving targets:

18/01/2010 Structure and Synthesis of Robot Motion 28

Page 29: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Hard Kinematics Problem 1: Constraints & Scale

18/01/2010 Structure and Synthesis of Robot Motion 29

Source: J-C. Latombe, Stanford.

Page 30: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Hard Kinematics Problem 2:Flexibility, High-DOF, Complex Dynamics

18/01/2010 Structure and Synthesis of Robot Motion 30

DockingShop Rendering of HIV-1 Protease in Complex with the Cyclic Sulfamide Inhibitor Aha006 (PDB code 1AJV). Source: LBL.

Page 31: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Hard Kinematics Problem 3:Dealing with Non-rigid Objects

18/01/2010 Structure and Synthesis of Robot Motion 31

Source: J-C. Latombe, Stanford.

Page 32: Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Summary

• We looked at forward and inverse kinematics

• Forward: Given joint angles, where is the end point?

• Inverse: If I want end point here, what are the angles?

• Latter is harder – analytical solutions are tedious and multi-valued, often use local approximations– Could use Machine Learning

Other challenging issues:• Although we classified

problems into categories, real world problems are more diverse (e.g., humans are not really rooted trees)

18/01/2010 Structure and Synthesis of Robot Motion 32