Title: Chap 5 Kinematic Linkages
1Chap 5Kinematic Linkages
2Model Hierarchy vs. Motion Hierarchy
- Relative motion
- An objects 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
3Kinematics
- 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
4Kinematics Forward Kinematics
- Animator specifies rotation parameters at joints
5Kinematics Inverse Kinematics
- Animator specifies the desired position of hand,
and system solves for the joint angles that
satisfy that desire.
6Hierarchical ModelingArticulated Model
- Represent an articulated figure as a series of
links connected by joints
root
7Degrees of Freedom (DOF)
- The minimum number of coordinates required to
specify completely the motion of an object
yaw
roll
pitch
6 DOF x, y, z, raw, pitch, yaw
8Degrees of Freedom One DOF Joints
- One DOF joint
- Allow motion in one direction
- Exam Revolute joint, Prismatic joint
9Degrees 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.
10Degrees of Freedom Complex Joints
11Degrees 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
3 DOF
1 DOF
12Hierarchical 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
13Hierarchical ModelingData Structure
14Hierarchical ModelingData Structure
15Hierarchical ModelingA Simple Example
16Hierarchical Modeling Tree Structure
17Hierarchical Modeling Transformations
18Hierarchical Modeling Variable rotations at
joints
19Hierarchical Modeling Tree Structure
20Hierarchical Modeling Transformations
21Hierarchical Modeling With Two Appendages
22Hierarchical Modeling With Two Appendages
23Joint Space vs. Cartesian Space
- Joint space
- space formed by joint angles
- position all jointsfine level control
- Cartesian space
- 3D space
- specify environment interactions
24Forward and Inverse Kinematics
- Forward kinematics
- mapping from joint space to cartesian space
- Inverse kinematics
- mapping from cartesian space to joint space
Forward Kinematics
Inverse Kinematics
25Forward 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
26Forward KinematicsTree Traversal
M I
T0
M T0
T1.1
M T0T1.1
T 1.2
M T0T1.1T2.1
T2.1
T2.2
M T0T1.1
M T0
M T0T1.2
M T0T1.2T2.2
27Forward KinematicsExample
?
End Effector
Base
28Inverse 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
29Inverse 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
30Other problems in IK
31Other problems in IK
32Inverse 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
33Inverse 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
34Inverse Kinematics Analytic Method
q2
L2
Goal
L1
(X,Y)
q1
35Inverse Kinematics Analytic Method
L2
180- q2
L1
(X,Y)
q1
Y
qT
X
36Inverse Kinematics Cosine Law
C
A
a
B
37Inverse Kinematics Analytic Method
L2
(X,Y)
L1
180- q2
q1
qT
Y
X
38Inverse Kinematics
More complex joints
End EffectorP
Base
39Why is IK hard?
- Redundancy
- Natural motion control
- joint limits
- minimum jerk
- style?
- Singularities
- ill-conditioned
- Singular
40Solving Inverse Kinematics Numerically
- Inverse-Jacobian method
- Optimization-based method
- Example-based method
41Inverse-Jacobian method
- Jacobian is the n by m matrix relating
differential changes of q (dq ) to differential
changes of P (dP) - So Jacobian maps velocities in joint space to
velocities in Cartesian space
42Inverse-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.
43Inverse-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
44Inverse-Jacobian method
45Computing Jacobian
- Compute analytically
- Ok for simple joints
- Geometric approach
- For complex joints
- Lets say we are just concerned with the end
effector position for now. - This also implies that the Jacobian with be an
3N matrix where N is the number of DOFs - For each joint DOF, we analyze how e would change
if the DOF changed
46Computing Jacobian Analytically An Example
End EffectorP
Base
47Computing Jacobian Analytically An Example
48Computing Jacobian Geometrically Jacobian for a
2D arm
- Lets say we have a simple 2D robot arm with two
1-DOF rotational joints
eex ey
f2
f1
49Computing Jacobian Geometrically Jacobian for a
2D arm
- The Jacobian matrix J(F) shows how each component
of e varies with respect to each joint angle
50Computing Jacobian Geometrically Jacobian for a
2D arm
- Consider what would happen if we increased f1 by
a small amount. What would happen to e ?
f1
51Computing Jacobian Geometrically Jacobian for a
2D arm
- What if we increased f2 by a small amount?
f2
52Computing Jacobian Geometrically Jacobian for a
2D arm
f2
f1
53Computing Jacobian Geometrically Jacobian for a
2D arm
Angular and linear velocities induced by joint
axis rotation.
54Computing Jacobian Geometrically Jacobian for 2D
arm
- Lets consider a 1-DOF rotational joint first
- We want to know how the global position e will
change if we rotate around the axis.
f1
55Computing Jacobian Geometrically Jacobian for 2D
arm
- ai unit length rotation axis in world space
- ri position of joint pivot in world space
- e end effector position in world space
56Computing 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
57Computing Jacobian Geometrically Jacobian for
another 2D arm
58Computing Jacobian Geometrically Jacobian for
another 2D arm
59Computing 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.
60Computing Jacobian Geometrically Jacobian for
another 2D arm
61Inverse-Jacobian method
- Linearize about qk locally
- Jacobian depends on current configuration
62Inverse-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
63Inverse-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
64Inverse-Jacobian method Iterative approach
65Inverse-Jacobian method Iterative approach
66Inverse-Jacobian method Iterative approach
No linear combination of vectors gi could produce
the desired goal.
67Inverse-Jacobian method Iterative approach
Frame
Total 21 frames
No linear combination of vectors gi could produce
the desired goal.
68Inverse-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
69Inverse-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!
70Inverse-Jacobian method Pseudo Inverse of the
Jacobian
71Inverse-Jacobian method Pseudo Inverse of the
Jacobian
72Inverse-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
V1 and V2 are in parallel
73Inverse-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
74Inverse-Jacobian method Dealing with near
singularities
- Small V implies very large
Two cases of near singularity
Near singularity occurs When 3 links all aligned
And the end is positioned over the base.
Small V implies very large
75Inverse-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,
76Adding 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
control term
77Adding more control to IKControl Term Adds Zero
Linear Velocities
But it can be used to bias the solution vector
78Adding 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
79Adding 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.
80Adding more control to IKHow to solve the system?
81Adding more control to IK
Gain s Top 0.1, 0.5, 0.1 Bottom 0.1, 0.1,
0.5
82Null 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
83Utility of Null Space
- The null space can be used to reach secondary
goals - Or to find natural pose / control stiffness of
joints
84Optimization-based Method
- Formulate IK as an nonlinear optimization problem
- Example
- Objective function
- Constraint
- Iterative algorithm
- Nonlinear programming method by Zhao Badler,
TOG 1994
85Objective Function
- distance from the end effector to the goal
position/orientation - Function of joint angles G(q)
86Objective Function
Position Goal
Orientation Goal
weighted sum
Position/Orientation Goal
87Nonlinear Optimization
- Constrained nonlinear optimization problem
- Solution
- standard numerical techniques
- MATLAB or other optimization packages
- usually a local minimum
- depends on initial condition
limb coordination
joint limits
88Example-based Method
- Utilize motion database to assist IK solving
- IK using interpolation
- Rose et al., Artist-directed IK using radial
basis function interpolation, Eurographics01
89Example-based Method (cont.)
- IK using constructed statistical model
- Grochow et al., Style-based inverse kinematics,
SIGGRAPH04 - Provide the most likely pose based on given
constraints
90Example-based Method (cont.)
- Constructed pose space (training, extrapolated)
91Videos
- Style-based inverse kinematics
92Forward Kinematics
A series of transformations on an object can be
applied as a series of matrix multiplications
position in the global coordinate
position in the local coordinate
93Hierarchical Articulated Model
- Represents a characters skeleton as a series of
links connected by joints - connectivity constraints is enforced in a
tree-like structure - family of parent-child spatial relationships