chap 5 kinematic linkages animation (u), chap 5 kinematic linkages 1

91
Chap 5 Kinematic Linkages Animation (U), Animation (U), Chap 5 Kinematic Chap 5 Kinematic Linkages Linkages 1

Upload: samantha-watkins

Post on 27-Dec-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Chap 5Kinematic Linkages

Animation (U), Chap 5 Animation (U), Chap 5 Kinematic LinkagesKinematic Linkages 1

Model Hierarchy vs. Motion Hierarchy

Relative motion An object’s motion is relative to another object

Object hierarchy + relative motion form motion hierarchy Linkages

Components of the hierarchy represent

objects that are physically connected Motion is often restricted

CS, NCTU, J. H. Chuang2Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang3

Kinematics How to animate the linkages by specifying or

determining position parameters over time The branch of mechanics concerned with the

motions of objects without regard to the forces that cause the motion

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang4

Kinematics Forward Kinematics

Animator specifies rotation parameters at joints

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Kinematics Inverse Kinematics

Animator specifies the desired position of hand, and system solves for the joint angles that satisfy that desire.

CS, NCTU, J. H. Chuang5Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang6

Hierarchical ModelingArticulated Model

Represent an articulated figure as a series of links connected by joints

root

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang7

Degrees of Freedom (DOF)

The minimum number of coordinates required to specify completely the motion of an object

6 DOF: x, y, z, raw, pitch, yaw

pitch

roll

yaw

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang8

Degrees of Freedom One DOF Joints

One DOF joint Allow motion in one direction Exam: Revolute joint, Prismatic joint

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang9

Degrees of Freedom Complex Joints

Complex joints 2 DOF joint

Planar joint, universal joint 3 DOF joint

Gimbal Ball and socket

Complex joints of DOF n can be modeled as n one-DOF joints connected by n-1 links of 0 length.

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang10

Degrees of Freedom Complex Joints

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang11

Degrees of Freedom in Human Model

Root: 3 translational DOF + 3 rotational DOF Rotational joints are commonly used Each joint can have up to 3 DOF

Shoulder: 3 DOF Wrist: 2 DOF Knee: 1 DOF

1 DOF

3 DOF

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Hierarchical ModelingData Structure

Hierarchical linkages can be represented by a tree-like structure Root node – corresponds to the root object whose

position is known in the global coordinate system Other nodes – located relative to the root node Leaf nodes –

Mapping between hierarchy and tree Node – object part Arc – joint or transformation to apply to all nodes

between it in the hierarchy

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang12

Hierarchical ModelingData Structure

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang13

Hierarchical ModelingData Structure

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang14

Hierarchical ModelingA Simple Example

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang15

Hierarchical Modeling Tree Structure

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang16

Hierarchical Modeling Transformations

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang17

:coordinate worldIts

Link of vertex a :

:coordinate worldIts

Link of vertex a :

:coordinate worldIts

Link of vertex a :

1,11,110'

1,1

1,11,1

110'

1

11

00'

0

00

VTTTV

V

VTTV

V

VTV

V

Hierarchical Modeling Variable rotations at joints

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang18

Hierarchical Modeling Tree Structure

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang19

Hierarchical Modeling Transformations

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang20

)()( :coordinate worldIts

Link of vertex a :

)( :coordinate worldIts

Link of vertex a :

:coordinate worldIts

Link of vertex a :

1,11,11,11,11110'

1,1

1,11,1

11110'

1

11

00'

0

00

VRTRTTV

V

VRTTV

V

VTV

V

Hierarchical Modeling With Two Appendages

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang21

Hierarchical Modeling With Two Appendages

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang22

CS, NCTU, J. H. Chuang23

Joint Space vs. Cartesian Space Joint space

space formed by joint angles position all joints—fine level control

Cartesian space 3D space specify environment interactions

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang24

1

2

PP

Forward and Inverse Kinematics Forward kinematics

mapping from joint space to cartesian space Inverse kinematics

mapping from cartesian space to joint space

),( 21 fP Forward Kinematics

)(, 121 Pf

Inverse Kinematics

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang25

Forward Kinematics

Evaluate the tree Depth-first traversal from the root to leaf Repeat the following until all nodes and arcs have

been visited The traversal then backtracks up the tree until an unexplored

downward arc is encountered The downward arc is then traversal

In implementation Requires a stack of transformations

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang26

Forward KinematicsTree Traversal

T1.1 T 1.2

T2.1 T2.2

T0

M = I

M = T0

M = T0*T1.1

M = T0*T1.1*T2.1

M = T0

M = T0*T1.2

M = T0*T1.2*T2.2

M = T0*T1.1

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang27

Forward KinematicsExample

?

Base

End Effector

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Inverse Kinematics

The initial pose vector and a desired pose vector are given, come out the joint values required to attain the desired pose Can have zero, one, or more solutions

Over-constrained system Under-constrained system

Singularity problems

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang28

CS, NCTU, J. H. Chuang29

Inverse Kinematics Example

2 equations (constraints) 3 unknowns

Infinitely many solutions exist! This is not uncommon!

See how you can move your elbow while keeping your finger touching your nose

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang30

Other problems in IK

Infinite many solutions

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang31

Other problems in IK

No solutions

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Inverse Kinematics

Once the joint values are calculated, the figure can be animated by interpolating the initial pose vector values to the final pose vector values. Does not provide a precise or an appropriate

control when there is large differences between initial and final pose vectors. Alternatively,

Interpolate pose vectors Do inverse kinematics for each interpolated pose vector

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang32

Inverse KinematicsAnalytic vs. Numerical

Analytic solutions exist only for relatively simple linkages Inspecting the geometry of linkages Algebraic manipulation of equations that describe

the relationship of the end effector to the base frame.

Numerical incremental approach Inverse Jacobian method Other methods

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang33

CS, NCTU, J. H. Chuang34

Inverse Kinematics Analytic Method

(X,Y)L1

L2

1

2

Goal

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang35

Inverse Kinematics Analytic Method

(X,Y)L1L2

1

T

180- 2

X

Y

x 2 y 2

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang36

Inverse Kinematics Cosine Law

A

B

C

AB

CBA

2)cos(

222

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang37

Inverse Kinematics Analytic Method

(X,Y)L1L2

1 T

180- 2

X

Y

x 2 y 2

22)cos(

YX

XT

22

1cosYX

XT

221

22

2221

12

)cos(YXL

LYXLT

TYXL

LYXL

)

2(cos

221

22

22211

1

21

2222

21

2 2)180cos(

LL

YXLL

)

2(cos180

21

2222

211

2 LL

YXLL

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang38

Inverse Kinematics

Base

End Effector=P

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

More complex joints

CS, NCTU, J. H. Chuang39

Why is IK hard?

Redundancy Natural motion control

joint limits minimum jerk style?

Singularities ill-conditioned Singular

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang40

Solving Inverse Kinematics Numerically

Inverse-Jacobian method Optimization-based method Example-based method

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang41

Inverse-Jacobian method

Jacobian is the n by m matrix relating differential changes of dtodifferential changes of P (dP)

So Jacobian maps velocities in joint space to velocities in Cartesian space

)(fP

dt

dJ

dt

dP )(

usually) 6( nRP n

)DOFs( mRm

j

iij

fJ

where

)(JV Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang42

Inverse-Jacobian method

Recall the inverse kinematics problem

f is highly nonlinear Make the problem linear by localizing about the

current operating position and inverting the Jacobian

and iterating towards the desired post over a series of incremental steps.

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

)(1 Pf

VJ 1

Inverse-Jacobian method

Given initial pose and desired pose, iteratively change the joint angles to approach the goal position and orientation Interpolate the desired pose vectors for some

intermediate steps For each step k, find the angular velocities for joints,

and do

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang43

tkk 1

CS, NCTU, J. H. Chuang44

Inverse-Jacobian method

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang45

Computing Jacobian

Compute analytically Ok for simple joints

Geometric approach For complex joints Let’s say we are just concerned with the end

effector position for now. This also implies that the Jacobian with be an 3×N

matrix where N is the number of DOFs For each joint DOF, we analyze how e would change if

the DOF changed

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang46

Computing Jacobian Analytically An Example

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Base

End Effector=P

CS, NCTU, J. H. Chuang47

Computing Jacobian Analytically An Example

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang48

Computing Jacobian Geometrically Jacobian for a 2D arm

Let’s say we have a simple 2D robot arm with two 1-DOF rotational joints:

φ1

φ2

• e=[ex ey]

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang49

Computing Jacobian Geometrically Jacobian for a 2D arm

The Jacobian matrix J(Φ) shows how each component of e varies with respect to each joint angle

21

21

yy

xx

ee

ee

J Φ

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang50

Computing Jacobian Geometrically Jacobian for a 2D arm

Consider what would happen if we increased φ1 by a small amount. What would happen to e ?

φ1

111 yx

eee

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang51

Computing Jacobian Geometrically Jacobian for a 2D arm

What if we increased φ2 by a small amount?

φ2

222 yx

eee

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang52

Computing Jacobian Geometrically Jacobian for a 2D arm

φ2

φ1

21

21

yy

xx

ee

ee

JV Φ

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang53

Computing Jacobian Geometrically Jacobian for a 2D arm

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Angular and linear velocities induced by joint axis rotation.

CS, NCTU, J. H. Chuang54

Computing Jacobian Geometrically Jacobian for 2D arm

Let’s consider a 1-DOF rotational joint first We want to know how the global position e

will change if we rotate around the axis.

φ1

111 yx

eee

)( 11 rea

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang55

Computing Jacobian Geometrically Jacobian for 2D arm

a’i: unit length rotation axis in world space

r’i: position of joint pivot in world spacee: end effector position in world space

iii

reae

ie

ia

e

ire

ir

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang56

Computing Jacobian Geometrically 3-DOF Rotational Joints

Once we have each axis in world space, each one will get a column in the Jacobian matrix

At this point, it is essentially handled as three 1-DOF joints, so we can use the same formula for computing the derivative as we did earlier:

We repeat this for each of the three axes

iii

reae

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang57

Computing Jacobian Geometrically Jacobian for another 2D arm

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang58

Computing Jacobian Geometrically Jacobian for another 2D arm

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Computing Jacobian Geometrically Jacobian for another 2D arm

The problem is to determine the best linear combination of velocities induced by the various joints that would result in the desired velocities of the end effector. Jacobian is formed by posing the problem in

matrix form.

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang59

Computing Jacobian Geometrically Jacobian for another 2D arm

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang60

zzz

yyy

xxx

yyy

xxx

z

y

x

PEPEE

PEPEE

PEPEE

eee

eee

J

EG

EG

EG

V

)()1,0,0(()()1,0,0(())1,0,0((

)()1,0,0(()()1,0,0(())1,0,0((

)()1,0,0(()()1,0,0(())1,0,0((

)(

)(

)(

21

21

21

321

321Φ

CS, NCTU, J. H. Chuang61

Linearize about klocally Jacobian depends on current configuration

Inverse-Jacobian method

)(1 Pf

)(JV

VJ )(1

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Inverse-Jacobian method Problems

Problems in localizing the P = f (θ) Problems in solving the system

Non-square matrix, but independent rows Use pseudo inverse

Singularity When the inverse of Jacobian does not exist occurs when any cannot achieve a given

Near singularity ill-conditioned

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang62

V

Inverse-Jacobian methodIterative approach

Given initial pose and desired pose, iteratively change the joint angles to approach the goal position and orientation Interpolate the desired pose vectors for some

intermediate steps For each step k, compute V, and find the angular

velocities for joints, and do

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang63

tkk 1

VJ 1

CS, NCTU, J. H. Chuang64

Inverse-Jacobian method Iterative approach

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Inverse-Jacobian method Iterative approach

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang65

Inverse-Jacobian method Iterative approach

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang66

V

No linear combination of vectors gi could produce the desired goal.

Inverse-Jacobian method Iterative approach

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang67

V

No linear combination of vectors gi could produce the desired goal.

Total: 21 frames

Frame:

Inverse-Jacobian method Problems

Problems in localizing the P = f (θ) Problems in solving the system

Non-square matrix, but independent rows Use pseudo inverse

Singularity When the inverse of Jacobian does not exist occurs when any cannot achieve a given

Near singularity ill-conditioned

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang68

CS, NCTU, J. H. Chuang69

Inverse-Jacobian method Remedy to Singularity Problems

Problems with singularities can be reduced if the manipulator is redundancy – when there are more DOF than there are constraints to be satisfied Jacobian is not square If rows of J are linearly independent (J has full

row rank), then exists and instead, pseudo inverse of Jacobian can be used!

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

1)( TJJ

CS, NCTU, J. H. Chuang70

Inverse-Jacobian method Pseudo Inverse of the Jacobian

VJ

JJJJVJJJ

JJJ

JJVJ

JV

TTTT

T

TT

11

1

)()(

exists!)( rank, row full has Where

11 )()( where TTTT JJJJJJJ

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang71

Inverse-Jacobian method Pseudo Inverse of the Jacobian

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

T

TT

TT

TT

J

VJJVJJ

VJJJ

VJ

VJJJ

VJ

).for (solveion decomposit LU using solved be and

)( implieswhich ,)(Let

)(

)(

1

1

1

Inverse-Jacobian method Dealing with singularities

Physically the singularities usually occur when the linkage id fully extended or when the axes of separate links align themselves

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang72

V1 and V2 are in parallel

Inverse-Jacobian method Dealing with singularities

Two approaches to the case of full extension Simply not allow the linkage to become fully

extended Adopt a different iterative process with the region

of singularity to avoid the case of singularity

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang73

Inverse-Jacobian method Dealing with near singularities

Small V implies very large

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang74

Near singularity occursWhen 3 links all aligned And the end is positionedover the base.

Small V impliesvery large

Two casesof nearsingularity

Inverse-Jacobian method Dealing with near singularities

Damped least square approach a user-supplied parameter is used to add in a term

that reduces the sensitivity of the pseudoinverse,

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang75

T

T

T

TT

J

VIJJ

VIJJ

VIJJJ

Finally,

for ) ( solve

and ,) (Let

) (

1

1

CS, NCTU, J. H. Chuang76

Adding more control to IK

Pseudoinverse computes one of many possible solutions that minimizes joint angle velocities

IK using pseudoinverse Jacobian may not provide natural poses

A control term can be added to the pseudoinverse Jacobian solution

The control term should not add anything to the velocities, that is

zIJJVJ

VJ

)(

control term

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang77

Adding more control to IKControl Term Adds Zero Linear Velocities

A solution of this form

…doesn’t affect the desired configuration

But it can be used to biasthe solution vector

0

0

)(

)(

)(

)(

V

zV

zJJV

zJJJJV

zIJJJV

JV

zIJJ

When put into this formula

Like this

After some manipulation, you can show that it…

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang78

Adding more control to IK

To bias the solution toward specific joint angles, such as the middle joint angle between joint limits, z is defined as

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

values.middle the towardbiased becan

solution but thes;constraint hard anot is This

gainsjoint :

anglesjoint desired:

angles,joint current : where

)( 2

ci

i

ciiiz

CS, NCTU, J. H. Chuang79

Adding more control to IK

Joint gain indicates the relative importance of the associated

desired angle The higher the gain, the stiff the joint

High: the solution will be such that the joint angle quickly approach the desired joint angle

All gians are zero: reduced to the conventional pseudoinverse of Jacobian.

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang80

Adding more control to IKHow to solve the system?

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

zJ

JzVJJ

JzVJJ

zJzVJJJ

zJzVJJJ

IzJzJVJ

zIJJVJ

T

T

T

TT

TT

comoute and

.for )()( solve and

),()(Let

)()(

)()(

)(

1

1

1

CS, NCTU, J. H. Chuang81

Adding more control to IK

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

Gain sTop: {0.1, 0.5, 0.1}Bottom: {0.1, 0.1, 0.5}

CS, NCTU, J. H. Chuang82

Null space of Jacobian

The control term is in the null space of J

The null space of J is the set of vectors which have no influence on the constraints

0)( JJnullspace

zIJJ )(

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang83

Utility of Null Space

The null space can be used to reach secondary goals

Or to find natural pose / control stiffness of joints

)(min

)(

G

zIJJVJ

z

i

naturali iiG 2))()(()(

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang84

Optimization-based Method

Formulate IK as an nonlinear optimization problem Example

Objective function Constraint Iterative algorithm

Nonlinear programming method by Zhao & Badler, TOG 1994

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang85

Objective Function

“distance” from the end effector to the goal position/orientation

Function of joint angles : G()

Base

End Effector

Goal

distance

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang86

Objective Function

Position Goal Orientation Goal

Position/Orientation Goal weighted sum

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang87

Nonlinear Optimization Constrained nonlinear optimization problem

Solution standard numerical techniques MATLAB or other optimization packages usually a local minimum depends on initial condition

joint limits

limb coordination

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang88

Example-based Method

Utilize motion database to assist IK solving IK using interpolation

Rose et al., “Artist-directed IK using radial basis function interpolation,” Eurographics’01

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang89

Example-based Method (cont.) IK using constructed statistical model

Grochow et al., “Style-based inverse kinematics,” SIGGRAPH’04

Provide the most likely pose based on given constraints

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang90

Example-based Method (cont.) Constructed pose space (training, extrapolated)

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages

CS, NCTU, J. H. Chuang91

Videos

“Style-based inverse kinematics”

Animation (U), Chap 5 Kinematic LinkagesAnimation (U), Chap 5 Kinematic Linkages