csce 689 forward kinematics and inverse kinematics l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CSCE 689: Forward Kinematics and Inverse Kinematics PowerPoint Presentation
Download Presentation
CSCE 689: Forward Kinematics and Inverse Kinematics

Loading in 2 Seconds...

play fullscreen
1 / 70

CSCE 689: Forward Kinematics and Inverse Kinematics - PowerPoint PPT Presentation


  • 158 Views
  • Uploaded on

CSCE 689: Forward Kinematics and Inverse Kinematics. Jinxiang Chai. Outline. Kinematics Forward kinematics Inverse kinematics. Kinematics. The study of movement without the consideration of the masses or forces that bring about the motion. Degrees of freedom (Dofs).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSCE 689: Forward Kinematics and Inverse Kinematics' - siyavash


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
Outline

Kinematics

  • Forward kinematics
  • Inverse kinematics
kinematics
Kinematics

The study of movement without the consideration of the masses or forces that bring about the motion

degrees of freedom dofs
Degrees of freedom (Dofs)

The set of independent displacements that specify an object’s pose

degrees of freedom dofs5
Degrees of freedom (Dofs)

The set of independent displacements that specify an object’s pose

  • How many degrees of freedom when flying?
degrees of freedom dofs6
Degrees of freedom (Dofs)

The set of independent displacements that specify an object’s pose

  • How many degrees of freedom when flying?
  • So the kinematics of this airplane permit movement anywhere in three dimensions
  • Six
    • x, y, and z positions
    • roll, pitch, and yaw
degrees of freedom
Degrees of Freedom
  • How about this robot arm?
  • Six again
    • 2-base, 1-shoulder, 1-elbow, 2-wrist
work space vs configuration space
Work Space vs. Configuration Space
  • Work space
    • The space in which the object exists
    • Dimensionality
      • R3 for most things, R2 for planar arms
  • Configuration space
    • The space that defines the possible object configurations
    • Degrees of Freedom
      • The number of parameters that are necessary and sufficient to define position in configuration
forward vs inverse kinematics
Forward vs. Inverse Kinematics
  • Forward Kinematics
    • Compute configuration (pose) given individual DOF values
  • Inverse Kinematics
    • Compute individual DOF values that result in specified end effector position
example two link structure

End Effector

Base

Example: Two-link Structure
  • Two links connected by rotational joints

θ2

l2

l1

θ1

X=(x,y)

example two link structure11

End Effector

Base

Example: Two-link Structure
  • Animator specifies the joint angles: θ1θ2
  • Computer finds the position of end-effector: x

θ2

l2

l1

θ1

X=(x,y)

(0,0)

x=f(θ1, θ2)

example two link structure12

End Effector

Base

Example: Two-link Structure
  • Animator specifies the joint angles: θ1θ2
  • Computer finds the position of end-effector: x

θ2

θ2

l2

l1

θ1

X=(x,y)

(0,0)

x = (l1cosθ1+l2cos(θ2+ θ2)

y = l1sinθ1+l2sin(θ2+ θ2))

forward kinematics

End Effector

Base

Forward kinematics
  • Create an animation by specifying the joint angle trajectories

θ2

θ2

l2

l1

θ1

X=(x,y)

(0,0)

θ1

θ2

inverse kinematics

Base

Inverse kinematics
  • What if an animator specifies position of end-effector?

θ2

θ2

l2

l1

End Effector

θ1

X=(x,y)

(0,0)

inverse kinematics15

Base

Inverse kinematics
  • Animator specifies the position of end-effector: x
  • Computer finds joint angles: θ1θ2

θ2

θ2

l2

l1

End Effector

θ1

X=(x,y)

(0,0)

(θ1, θ2)=f-1(x)

inverse kinematics16

Base

Inverse kinematics
  • Animator specifies the position of end-effector: x
  • Computer finds joint angles: θ1θ2

θ2

θ2

l2

l1

End Effector

θ1

X=(x,y)

(0,0)

why inverse kinematics
Why Inverse Kinematics?
  • Basic tools in character animation

- key frame generation

- animation control

- interactive manipulation

  • Computer vision (vision based mocap)
  • Robotics
  • Bioninfomatics (Protein Inverse Kinematics)
inverse kinematics18
Inverse kinematics
  • Given end effector position, compute required joint angles
  • In simple case, analytic solution exists
    • Use trig, geometry, and algebra to solve
inverse kinematics19
Inverse kinematics
  • Analytical solution only works for a fairly simple structure
  • Iterative approach needed for a complex structure
iterative approach
Iterative approach
  • Inverse kinematics can be formulated as an optimization problem
iterative approaches

Base

Iterative approaches

Find the joint angles θ that minimizes the distance between the character position and user specified position

θ2

θ2

l2

l1

θ1

C=(Cx,Cy)

(0,0)

iterative approaches22

Base

Iterative approaches

Find the joint angles θ that minimizes the distance between the character position and user specified position

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

iterative approach23
Iterative approach

Mathematically, we can formulate this as an optimization problem:

The above problem can be solved by many nonlinear optimization algorithms:

- Steepest descent

- Gauss-newton

- Levenberg-marquardt, etc

gauss newton approach
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

gauss newton approach25
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

How can we decide the amount of update?

gauss newton approach26
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

gauss newton approach27
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Known!

gauss newton approach28
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Taylor series expansion

gauss newton approach29
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Taylor series expansion

rearrange

gauss newton approach30
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Taylor series expansion

rearrange

Can you solve this optimization problem?

gauss newton approach31
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Taylor series expansion

rearrange

This is a quadratic function of

gauss newton approach32
Gauss-newton approach
  • Optimizing an quadratic function is easy
  • It has an optimal value when the gradient is zero
gauss newton approach33
Gauss-newton approach
  • Optimizing an quadratic function is easy
  • It has an optimal value when the gradient is zero

b

J

Δθ

Linear equation!

gauss newton approach34
Gauss-newton approach
  • Optimizing an quadratic function is easy
  • It has an optimal value when the gradient is zero

b

J

Δθ

gauss newton approach35
Gauss-newton approach
  • Optimizing an quadratic function is easy
  • It has an optimal value when the gradient is zero

b

J

Δθ

jacobian matrix
Jacobian matrix

Dofs (N)

  • Jacobian is a Mby Nmatrix that relates differential changes of θ to changes of C
  • Jacobian maps the velocity in joint space to velocities in Cartesian space
  • Jacobian depends on current state

The number of constraints (M)

jacobian matrix37
Jacobian matrix
  • Jacobian maps the velocity in joint angle space to velocities in Cartesian space

(x,y)

θ2

θ1

jacobian matrix38
Jacobian matrix
  • Jacobian maps the velocity in joint angle space to velocities in Cartesian space

(x,y)

A small change of θ1and θ2results in how much change of end-effector position (x,y)

θ2

θ1

jacobian matrix39
Jacobian matrix
  • Jacobian maps the velocity in joint angle space to velocities in Cartesian space

(x,y)

A small change of θ1and θ2results in how much change of end-effector position (x,y)

θ2

θ1

jacobian matrix 2d link structure

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

jacobian matrix 2d link structure41

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

f2

f1

jacobian matrix 2d link structure42

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

jacobian matrix 2d link structure43

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

jacobian matrix 2d link structure44

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

jacobian matrix 2d link structure45

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

jacobian matrix 2d link structure46

Base

Jacobian matrix: 2D-link structure

θ2

θ2

l2

l1

θ1

C=(c1,c2)

(0,0)

gauss newton approach47
Gauss-newton approach

Step 1: initialize the joint angles with

Step 2: update the joint angles:

Step size: specified by the user

another example
Another Example

lower arm

middle arm

Upper arm

base

How to compute forward kinematics?

A 2D lamp with 6 degrees of freedom

another example49
Another Example

lower arm

middle arm

Upper arm

base

A 2D lamp with 6 degrees of freedom

another example50
Another Example

base

A 2D lamp with 6 degrees of freedom

another example51
Another Example

Upper arm

base

A 2D lamp with 6 degrees of freedom

another example52
Another Example

middle arm

Upper arm

base

A 2D lamp with 6 degrees of freedom

another example53
Another Example

lower arm

middle arm

Upper arm

base

A 2D lamp with 6 degrees of freedom

more complex characters
More Complex Characters?

lower arm

middle arm

Upper arm

base

A 2D lamp with 6 degrees of freedom

more complex characters55
More Complex Characters?

lower arm

middle arm

If you do inverse kinematics with position of this point

What’s the size of Jacobian matrix?

Upper arm

base

A 2D lamp with 6 degrees of freedom

more complex characters56
More Complex Characters?

lower arm

middle arm

If you do inverse kinematics with position of this point

What’s the size of Jacobian matrix?

2-by-6 matrix

Upper arm

base

A 2D lamp with 6 degrees of freedom

inverse kinematics58
Inverse kinematics
  • Analytical solution only works for a fairly simple structure
  • Iterative approach needed for a complex structure
inverse kinematics59
Inverse kinematics
  • Is the solution unique?
  • Is there always a good solution?
ambiguity of ik
Ambiguity of IK
  • Multiple solutions
ambiguity of ik61
Ambiguity of IK
  • Infinite solutions
failures of ik
Failures of IK
  • Solution may not exist
inverse kinematics63
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
inverse kinematics64
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0
inverse kinematics65
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0
inverse kinematics66
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0

Minimize the difference between the solution and a reference pose

Satisfy the constraints

inverse kinematics67
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0
    • Naturalness g(θ) (particularly for human characters)
inverse kinematics68
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0
    • Naturalness g(θ) (particularly for human characters)
inverse kinematics69
Inverse kinematics
  • Generally ill-posed problem when the Dofs is higher than the number of constraints
  • Additional objective
    • Minimal Change from a reference pose θ0
    • Naturalness g(θ) (particularly for human characters)

How natural is the solution pose?

Satisfy the constraints