Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chap 5 Kinematic Linkages

Similar presentations


Presentation on theme: "Chap 5 Kinematic Linkages"— Presentation transcript:

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


Download ppt "Chap 5 Kinematic Linkages"

Similar presentations


Ads by Google