+ All Categories
Home > Documents > Inverse Kinematics - Technionwebcourse.cs.technion.ac.il/236927/Winter2014-2015/ho/WCFiles/... ·...

Inverse Kinematics - Technionwebcourse.cs.technion.ac.il/236927/Winter2014-2015/ho/WCFiles/... ·...

Date post: 04-Jun-2018
Category:
Upload: phungnhan
View: 215 times
Download: 0 times
Share this document with a friend
58
Transcript

Inverse Kinematics

How do I put my

hand here?

IK: Choose these angles!

Cartesian Space & Joint Space

Joint Space

(q1,q2,…,qN) Cartesian

Space

(x,y,z,,,)

Forward

kinematics

Inverse kinematics (arm

solution)

Inverse Relationship?

• Find joint positions for a given end-effector

pose

• Also find joint positions, speeds and

accelerations for a sequence of poses

Solvability

• The kinematic equations are nonlinear

• Issues:

– Existence of solutions

– Multiple solutions

– Method

The Workspace

Workspace

• Workspace: volume of space which can

be reached by the end effector

– Dextrous workspace: volume of space

where the end effector can be arbitrarily

oriented

– Reachable workspace: volume of space

which the robot can reach in at least one

orientation

What is the reachable space?

Take l1, l2 fixed and vary 3

Example: Planar 3-link robot

l2

l3

l1 1

2

3

321321

321

321321211

321321211

, Take

sinsinsin

coscoscos

llllll

llly

lllx

Now vary 1

Finally, vary 2

Example (continued)

What is the dextrous workspace in the

example?

The IK Problem

• Kinematic Problem: given joint angles

and/or displacement, compute location

and orientation of End Effector.

• Inverse Kinematic Problem: given location

and orientation of EE, find joint variables.

• Why is IK hard?

– May have more than one solution or none

at all

– Amounts to solving nonlinear

trascendental equations (can be hard)

Existence of Solutions • A solution to the IKP exists if the target belongs

to the workspace

• Workspace computation may be hard. In

practice is made easy by special design of the

robot

• The IKP may have more than one solution. How

to choose the appropriate one?

2 solutions!

Multiple Solutions

• Pick the closest solution

– In joint space

– Small vs large joints (put weights)

– Obstacles?

For each solution there is another solution in which the last three joints flip

To an alternative configuration (O4+180, -O5, O6+180)

# of solutions vs. nonzero ai

• The more that are nonzero – the bigger is

the max # of solutions

• Completely general rotary jointed

manipulator with 6 DOF -> up to 16

solutions

Methods of Solutions

• A manipulator is solvable if the joint

variables can be determined by an algorithm.

The algorithm should find all possible

solutions.

closed form solutions

numerical solutions

• Solutions

We are interested in closed-form solutions

1. Algebraic Methods

2. Geometric Methods

Method of Solution (cont.)

• Major result: all systems with revolute and

prismatic joints having a total of six degrees

of freedom in a single series chain are

solvable

• In general, solution is numerical

• Robots with analytic solution: several

intersecting joint axes and/or many i = 0, 90o.

• Sufficient condition for 6 revolute joints to have a

closed form solution – 3 neighboring joint axes

intersect in a point

• One major application (and driving force) of IK:

animation.

Manipulator Subspace when

n<6

• If n<6, then the workspace will be a portion

of an n dimensional subspace

• To describe the WS: compute direct

kinematics, and then vary joint variables

• On the previous example, the WS has the

form:

1000

0100

0

0

ycs

xsc

TB

W

Manipulator Subspace (n<6)

Manipulator SuS when n<6

(cont)

• Usual goal for manipulator with n DoF: use n

parameters to specify the goal

• If 6 DoF are used, n<6 will in general not suffice

• Possible compromise: reach the goal as “near”

as possible to original goal:

– 1) Given the goal frame compute modified goal

in manipulator SuS as near as possible to

– 2) Compute IK. A solution may still not be possible if

goal is not in the manipulator workspace

• For example, place tool frame origin at desired

location, then select a feasible orientation

TS

G

TS

G 'TS

G

Algebraic Solution

Algebraic Solution

The kinematics of the example seen before

are:

1000

0100

0

0

12211123123

12211123123

0

3

slslcs

clclsc

TTB

W

Assume goal point is specified by 3 numbers:

1000

0100

0

0

ycs

xsc

TB

W

Algebraic Solution (cont.)

By comparison, we get the four equations:

12211

12211

123123

slsly

clclx

sscc

Summing the square of the last 2 equations:

221

2

2

2

1

22 2 cllllyx

From here we get an expression for c2

21

2

2

2

1

22

22 ll

llyxc

Algebraic Solution (III) • When does a solution exist?

• What is the physical meaning if no solution

exists?

• Two solutions for 2 are possible. Why?

Using c12=c1c2-s1s2 and s12= c1s2-c2s1:

1211

1211

cksky

skckx

where k1=l1+l2c2 and k2=l2s2. To solve these eqs, set

r=+ k12+k2

2 and =Atan2(k2,k1).

Algebraic Solution (IV)

k1

k2 2

l1

l2

Then: k1=r cos , k1=r sin , and we can write:

x/r= cos cos 1 - sin sin 1

y/r= cos sin 1 + sin cos 1

or: cos(+1) = x/r, sin(+1) =y/r

Algebraic Solution (IV)

Therefore:

+1 = Atan2(y/r,x/r) = Atan2(y,x)

and so:

1 = Atan2(y,x) - Atan2(k2,k1)

Finally, 3 can be solved from:

1+ 2+ 3 =

Geometric Solution

IDEA: Decompose spatial geometry into

several plane geometry problems

x

y

L1

L2

Applying the “law of cosines”:

x2+y2=l12+l2

2 2l1l2cos(1802)

2

Geometric Solution (II)

Then:

21

2

2

2

1

22

22 ll

llyxc

x

y

The LoC gives:

l22 = x2+y2+l1

2 - 2l1 (x2+y2) cos

So that cos = (x2+y2+l12 - l2

2 )/2l1 (x2+y2)

We can solve for 0 180, and then 1=

Reduction to Polynomial

• Trascendental equations difficult to solve

since one variable usually appears as

cos and sin.

• Can reduce to polynomial in variable

u = tan /2

by using:

cos = (1-u2)/(1+u2)

sin =2u /(1+u2)

How? Use the fact that sin =2[sin(/2)cos

(/2)] and cos =[cos(/2)2- sin(/2)2]

Piper’s Solution – 3 axis

intersect

• Solution for manipulators with 6DOF’s

when three consecutive axis intersect

• We will consider the case of revolute joints

and last three axis intersect

• Recall the transformation:

1000

0

1111

1111

1

1

iiiiiii

iiiiiii

iii

ii

dccscss

dsscccs

asc

T

Piper’s Solution

The vector P4ORG in the 3-frame has the form:

TORGORG zyxPTTTP 1432

312

014

0

1

43

43

3

43

dc

ds

a

P ORG

And in the 3-frame:

111

233243234323

233243234323

233433

33

32

31

43

43

3

234

2

cdccdcssdssa

sdcsdccsdsca

assdca

f

f

f

dc

ds

a

TP ORG

Piper’s Solution (II)

Repeating patiently

1

3

2111

2111

40

g

gcgs

gsgc

P ORG

12312121123

12312121122

122121

cdfcfscfssg

sdfsfccfcsg

afsfcg

As mentioned before, for rotational joint

does not depend on 1: ORGP4

0

23

22

21

2222

40 gggzyxPr ORG

Replace the gi’s, using z = g3 and work patiently:

12134

3222

21

23

22

213

22

11

412221

312221

2

2

cdcfk

fddafffk

fk

fk

ksckskz

kaskckr

1. If a1=0, r = k3(3). Solve for 3

2. If sin(1)=0, z = k4(3). Solve for 3

3. Otherwise, eliminate s2 and c2 above to get 2

2212

1

24

21

23

4kk

s

kz

a

kr

• 1 and 2 above give a quadratic equation in

tan(3/2)

• 3 gives an equation of degree four

• Having solve 3, can solve above for 2

and 1

• The remaining angles can be computed to

give the desired orientation.

Piper’s Solution (IV)

Forward Kinematics • position equation:

• Where the transformation for each link is

built from our DH parameters:

End-effector w.r.t. {e}

Forward Kinematics • Forward Kinematic Transformation:

• Has an rotation and translation:

Roll,pitch,yaw

Angle-axis

Euler Y-Z-Y

Forward Kinematics • Pick one rotation description:

• Decompose R, i.e. solve:

Forward Kinematics

• Pick one rotation description:

Find terms that you can easily solve

equations

Decomposition of Rotation Matrices

• Roll, Pitch, and Yaw

• The inverse solution for in (-/2,/2):

Decomposition of Rotation Matrices

• Roll, Pitch, and Yaw

• The inverse solution for in (/2,3/2):

A Heuristic for Inverse

Kinematics • The solution to the inverse kinematic

equations (called the arm solution) can

often be found using a heuristic approach.

– Does not guarantee a solution

– Solution may not be unique

– Some solutions may be redundant

IK Heuristic Algorithm 1. Perform forward kinematics to find the

general transformation matrix

2. Equate the transformation matrix to the

manipulator transformation matrix.

a) For a particular solution the manipulator

transformation matrix contains “numbers”

b) For a general solution the manipulator

transformation matrix contains “variables”

IK Heuristic Algorithm

3. Look at both matrices for:

a) Elements which contain only one joint variable

b) Pairs of elements which will produce an expression in only one

joint variable when divided (look for divisions that result in the

atan2 function)

c) Elements, or combinations of elements, that can be simplified

using trigonometric identities

4. Having selected an element, equate it to the

corresponding element in the other matrix to produce an

equation. Solve this equation to find a description of

one joint variable in terms of the elements of the

manipulator transformation matrix.

IK Heuristic Algorithm

5. Repeat step 4 until all the elements

identified in step 3 have been used.

6. If any of these solutions suffer from

inaccuracies, undefined results, or

redundant results, set them aside and

look for better solutions.

IK Heuristic Algorithm

7. If there are more joint angles to be found,

pre-multiply both sides of the matrix

equation by the inverse of the A1 matrix

to produce a new set of equivalent matrix

elements.

IK Heuristic Algorithm

8. Repeat steps 3 to 7 until either solutions to all the joint

variables have been found, or you have run out of A

matrices to pre-multiply.

9. If a suitable solution cannot be found for a joint

variable, choose one of those discarded in step 6,

taking note of regions where problems may occur.

10. If a solution cannot be found for a joint variable in terms

of the elements of the manipulator transform, it may be

that the manipulator cannot achieve the specified

position and orientation: the position is outside the

manipulator’s workspace.

IK Heuristic Algorithm

• Note: theoretical solutions may not be

physically attainable because of the

mechanical limits on the range of joint

variables.

Example: PUMA560

• Want to solve:

)()()()()()(

1000

6565

454

343

232

121

01

333231

222221

131211

60

TTTTTT

prrr

prrr

prrr

Tz

y

x

• TRICK: Invert transformations to separate variables:

)()()()()()( 6565

454

343

232

12

60

1

101 TTTTTTT

PUMA560: DK Solution

• Then:

)(

10001000

0100

00

00

6216

333231

222221

131211

11

11

T

prrr

prrr

prrr

cs

sc

z

y

x

• Equating (2,4) element from two sides:

311 dpcps yx

• Equation can also be obtained from

“geometrical” arguments

• Two possible solutions

Make the trigonometric substitutions:

where

to obtain

Diff of angles:

and so

Left side is known, equate

elements (1,4) and (3,4)

Square those and this one

and sum to obtain -

311 dpcps yx

The size of the translation in {1} is independent of 1:

Ka

ddaapppsdca

zyx

2

24

23

23

22

222

34332

• Geometrical meaning?

• Two possible solutions

• Write:

)()()()()()( 6565

454

34

60

1

3232

121

01 TTTTTTT

• Repeat now a similar procedure


Recommended