Download presentation
1
Chap 5 Kinematic Linkages
Animation (U), Chap 5 Kinematic Linkages
2
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
3
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 Linkages CS, NCTU, J. H. Chuang
4
Kinematics Forward Kinematics
Animator specifies rotation parameters at joints Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
5
Kinematics Inverse Kinematics
Animator specifies the desired position of hand, and system solves for the joint angles that satisfy that desire. Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
6
Hierarchical Modeling Articulated Model
Represent an articulated figure as a series of links connected by joints root Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
7
Degrees 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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
8
Degrees of Freedom One DOF Joints
Allow motion in one direction Exam: Revolute joint, Prismatic joint Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
9
Degrees of Freedom 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 Linkages CS, NCTU, J. H. Chuang
10
Degrees of Freedom Complex Joints
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
11
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 3 DOF 1 DOF Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
12
Hierarchical Modeling Data 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 Linkages CS, NCTU, J. H. Chuang
13
Hierarchical Modeling Data Structure
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
14
Hierarchical Modeling Data Structure
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
15
Hierarchical Modeling A Simple Example
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
16
Hierarchical Modeling Tree Structure
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
17
Hierarchical Modeling Transformations
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
18
Hierarchical Modeling Variable rotations at joints
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
19
Hierarchical Modeling Tree Structure
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
20
Hierarchical Modeling Transformations
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
21
Hierarchical Modeling With Two Appendages
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
22
Hierarchical Modeling With Two Appendages
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
23
Joint Space vs. Cartesian Space
space formed by joint angles position all joints—fine level control Cartesian space 3D space specify environment interactions Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
24
Forward 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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
25
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 Linkages CS, NCTU, J. H. Chuang
26
Forward Kinematics Tree Traversal
M = I T0 M = T0 T1.1 T 1.2 M = T0*T1.1 M = T0*T1.1*T2.1 T2.1 T2.2 M = T0*T1.1 M = T0 M = T0*T1.2 M = T0*T1.2*T2.2 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
27
Forward Kinematics Example
? End Effector Base Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
28
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 Linkages CS, NCTU, J. H. Chuang
29
Inverse Kinematics Example This is not uncommon!
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 Linkages CS, NCTU, J. H. Chuang
30
Other problems in IK Infinite many solutions
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
31
Other problems in IK No solutions
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
32
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 Linkages CS, NCTU, J. H. Chuang
33
Inverse Kinematics Analytic 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 Linkages CS, NCTU, J. H. Chuang
34
Inverse Kinematics Analytic Method
q2 L2 L1 Goal q1 (X,Y) Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
35
Inverse Kinematics Analytic Method
180- q2 L1 (X,Y) q1 Y qT X Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
36
Inverse Kinematics Cosine Law
B Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
37
Inverse Kinematics Analytic Method
(X,Y) 180- q2 q1 qT Y X Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
38
Inverse Kinematics End Effector=P Base More complex joints
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
39
Why is IK hard? Redundancy Natural motion control Singularities
joint limits minimum jerk style? Singularities ill-conditioned Singular Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
40
Solving Inverse Kinematics Numerically
Inverse-Jacobian method Optimization-based method Example-based method Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
41
Inverse-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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
42
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 Linkages CS, NCTU, J. H. Chuang
43
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 Linkages CS, NCTU, J. H. Chuang
44
Inverse-Jacobian method
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
45
Computing Jacobian Compute analytically Geometric approach
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 Linkages CS, NCTU, J. H. Chuang
46
Computing Jacobian Analytically An Example
End Effector=P Base Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
47
Computing Jacobian Analytically An Example
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
48
Computing Jacobian Geometrically Jacobian for a 2D arm
Let’s say we have a simple 2D robot arm with two 1-DOF rotational joints: • e=[ex ey] φ2 φ1 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
49
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
50
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
51
Computing Jacobian Geometrically Jacobian for a 2D arm
What if we increased φ2 by a small amount? • φ2 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
52
Computing Jacobian Geometrically Jacobian for a 2D arm
• φ2 φ1 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
53
Computing Jacobian Geometrically Jacobian for a 2D arm
Angular and linear velocities induced by joint axis rotation. Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
54
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
55
Computing Jacobian Geometrically Jacobian for 2D arm
• a’i: unit length rotation axis in world space r’i: position of joint pivot in world space e: end effector position in world space • Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
56
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
57
Computing Jacobian Geometrically Jacobian for another 2D arm
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
58
Computing Jacobian Geometrically Jacobian for another 2D arm
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
59
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 Linkages CS, NCTU, J. H. Chuang
60
Computing Jacobian Geometrically Jacobian for another 2D arm
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
61
Inverse-Jacobian method
Linearize about qk locally Jacobian depends on current configuration Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
62
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 Linkages CS, NCTU, J. H. Chuang
63
Inverse-Jacobian method Iterative 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 Linkages CS, NCTU, J. H. Chuang
64
Inverse-Jacobian method Iterative approach
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
65
Inverse-Jacobian method Iterative approach
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
66
Inverse-Jacobian method Iterative approach
No linear combination of vectors gi could produce the desired goal. Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
67
Inverse-Jacobian method Iterative approach
Frame: Total: 21 frames No linear combination of vectors gi could produce the desired goal. Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
68
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 Linkages CS, NCTU, J. H. Chuang
69
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 Linkages CS, NCTU, J. H. Chuang
70
Inverse-Jacobian method Pseudo Inverse of the Jacobian
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
71
Inverse-Jacobian method Pseudo Inverse of the Jacobian
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
72
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 V1 and V2 are in parallel Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
73
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 Linkages CS, NCTU, J. H. Chuang
74
Inverse-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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
75
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 Linkages CS, NCTU, J. H. Chuang
76
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 control term Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
77
Adding more control to IK Control Term Adds Zero Linear Velocities
A solution of this form When put into this formula Like this After some manipulation, you can show that it… …doesn’t affect the desired configuration But it can be used to bias the solution vector Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
78
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 Linkages CS, NCTU, J. H. Chuang
79
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 Linkages CS, NCTU, J. H. Chuang
80
Adding more control to IK How to solve the system?
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
81
Adding more control to IK
Gain s Top: {0.1, 0.5, 0.1} Bottom: {0.1, 0.1, 0.5} Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
82
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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
83
Utility of Null Space The null space can be used to reach secondary goals Or to find natural pose / control stiffness of joints Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
84
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 Linkages CS, NCTU, J. H. Chuang
85
Objective Function “distance” from the end effector to the goal position/orientation Function of joint angles : G(q) Goal distance Base End Effector Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
86
Objective Function Position Goal Orientation Goal
Position/Orientation Goal weighted sum Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
87
Nonlinear 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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
88
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 Linkages CS, NCTU, J. H. Chuang
89
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 Linkages CS, NCTU, J. H. Chuang
90
Example-based Method (cont.)
Constructed pose space (training, extrapolated) Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
91
Videos “Style-based inverse kinematics”
Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
92
Forward 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 Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
93
Hierarchical Articulated Model
Represents a character’s skeleton as a series of links connected by joints connectivity constraints is enforced in a tree-like structure family of parent-child spatial relationships Animation (U), Chap 5 Kinematic Linkages CS, NCTU, J. H. Chuang
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.