Chap 5 Kinematic Linkages - PowerPoint PPT Presentation

1 / 91
About This Presentation
Title:

Chap 5 Kinematic Linkages

Description:

How to animate the linkages by specifying or determining position parameters ... Exam: Revolute joint, Prismatic joint. Animation (U), Chap 5 Kinematic Linkages ... – PowerPoint PPT presentation

Number of Views:318
Avg rating:3.0/5.0
Slides: 92
Provided by: Ling70
Category:

less

Transcript and Presenter's Notes

Title: Chap 5 Kinematic Linkages


1
Chap 5Kinematic Linkages
2
Model 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

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

4
Kinematics Forward Kinematics
  • Animator specifies rotation parameters at joints

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

6
Hierarchical ModelingArticulated Model
  • Represent an articulated figure as a series of
    links connected by joints

root
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
8
Degrees of Freedom One DOF Joints
  • One DOF joint
  • Allow motion in one direction
  • Exam Revolute joint, Prismatic joint

9
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.

10
Degrees of Freedom Complex Joints
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
12
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

13
Hierarchical ModelingData Structure
14
Hierarchical ModelingData Structure
15
Hierarchical ModelingA Simple Example
16
Hierarchical Modeling Tree Structure
17
Hierarchical Modeling Transformations
18
Hierarchical Modeling Variable rotations at
joints
19
Hierarchical Modeling Tree Structure
20
Hierarchical Modeling Transformations
21
Hierarchical Modeling With Two Appendages
22
Hierarchical Modeling With Two Appendages
23
Joint Space vs. Cartesian Space
  • Joint space
  • space formed by joint angles
  • position all jointsfine level control
  • Cartesian space
  • 3D space
  • specify environment interactions

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
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

26
Forward 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
27
Forward KinematicsExample
?
End Effector
Base
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

29
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

30
Other problems in IK
  • Infinite many solutions

31
Other problems in IK
  • No solutions

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

33
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

34
Inverse Kinematics Analytic Method
q2
L2
Goal
L1
(X,Y)
q1
35
Inverse Kinematics Analytic Method
L2
180- q2
L1
(X,Y)
q1
Y
qT
X
36
Inverse Kinematics Cosine Law
C
A
a
B
37
Inverse Kinematics Analytic Method
L2
(X,Y)
L1
180- q2
q1
qT
Y
X
38
Inverse Kinematics
More complex joints
End EffectorP
Base
39
Why is IK hard?
  • Redundancy
  • Natural motion control
  • joint limits
  • minimum jerk
  • style?
  • Singularities
  • ill-conditioned
  • Singular

40
Solving Inverse Kinematics Numerically
  • Inverse-Jacobian method
  • Optimization-based method
  • Example-based method

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

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.

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

44
Inverse-Jacobian method
45
Computing 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

46
Computing Jacobian Analytically An Example
End EffectorP
Base
47
Computing Jacobian Analytically An Example
48
Computing 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
49
Computing 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

50
Computing 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
51
Computing Jacobian Geometrically Jacobian for a
2D arm
  • What if we increased f2 by a small amount?


f2
52
Computing Jacobian Geometrically Jacobian for a
2D arm

f2
f1
53
Computing Jacobian Geometrically Jacobian for a
2D arm
Angular and linear velocities induced by joint
axis rotation.
54
Computing 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
55
Computing 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


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

57
Computing Jacobian Geometrically Jacobian for
another 2D arm
58
Computing Jacobian Geometrically Jacobian for
another 2D arm
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.

60
Computing Jacobian Geometrically Jacobian for
another 2D arm
61
Inverse-Jacobian method
  • Linearize about qk locally
  • Jacobian depends on current configuration

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

63
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

64
Inverse-Jacobian method Iterative approach
65
Inverse-Jacobian method Iterative approach
66
Inverse-Jacobian method Iterative approach
No linear combination of vectors gi could produce
the desired goal.
67
Inverse-Jacobian method Iterative approach
Frame
Total 21 frames
No linear combination of vectors gi could produce
the desired goal.
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

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!

70
Inverse-Jacobian method Pseudo Inverse of the
Jacobian
71
Inverse-Jacobian method Pseudo Inverse of the
Jacobian
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
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

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
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,

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
77
Adding more control to IKControl Term Adds Zero
Linear Velocities
But it can be used to bias the solution vector
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

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.

80
Adding more control to IKHow to solve the system?
81
Adding more control to IK
Gain s Top 0.1, 0.5, 0.1 Bottom 0.1, 0.1,
0.5
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

83
Utility of Null Space
  • The null space can be used to reach secondary
    goals
  • Or to find natural pose / control stiffness of
    joints

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

85
Objective Function
  • distance from the end effector to the goal
    position/orientation
  • Function of joint angles G(q)

86
Objective Function
Position Goal
Orientation Goal
weighted sum
Position/Orientation Goal
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
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, Eurographics01

89
Example-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

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

91
Videos
  • Style-based inverse kinematics

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
93
Hierarchical 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
Write a Comment
User Comments (0)
About PowerShow.com