Upload
samantha-watkins
View
235
Download
0
Tags:
Embed Size (px)
Citation preview
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