Inverse Kinematics. Mike Bailey. Oregon State University. Inverse Kinematics

Similar documents
Inverse Kinematics. Mike Bailey.

DIFFERENTIATION AND INTEGRATION PART 1. Mr C s IB Standard Notes

Numerical Methods for Inverse Kinematics

Vector, Matrix, and Tensor Derivatives

Stokes and the Surveyor s Shoelaces

3 Algebraic Methods. we can differentiate both sides implicitly to obtain a differential equation involving x and y:

Dr. Allen Back. Sep. 10, 2014

8-1: Backpropagation Prof. J.C. Kao, UCLA. Backpropagation. Chain rule for the derivatives Backpropagation graphs Examples

Robotics: Tutorial 3

Mechanics, Heat, Oscillations and Waves Prof. V. Balakrishnan Department of Physics Indian Institute of Technology, Madras

Integration is the reverse of the process of differentiation. In the usual notation. k dx = kx + c. kx dx = 1 2 kx2 + c.

Some Notes on Linear Algebra

MATH 312 Section 2.4: Exact Differential Equations

Review for the Final Exam

Mathematics Algebra. It is used to describe the world around us.

Numerical Optimization Algorithms

MATH 312 Section 8.3: Non-homogeneous Systems

Solutions for the Practice Final - Math 23B, 2016

1 Last time: inverses

Representation of Functions as Power Series

Math 3C Lecture 20. John Douglas Moore

Introduction - Motivation. Many phenomena (physical, chemical, biological, etc.) are model by differential equations. f f(x + h) f(x) (x) = lim

Vector calculus background

One important way that you can classify differential equations is as linear or nonlinear.

Multistep Methods for IVPs. t 0 < t < T

Modeling and Solving Constraints. Erin Catto Blizzard Entertainment

17 Solution of Nonlinear Systems

2t t dt.. So the distance is (t2 +6) 3/2

EDEXCEL NATIONAL CERTIFICATE UNIT 4 MATHEMATICS FOR TECHNICIANS OUTCOME 4 TUTORIAL 1 - INTEGRATION

The Cross Product. Philippe B. Laval. Spring 2012 KSU. Philippe B. Laval (KSU) The Cross Product Spring /

Chapter 2. Motion in One Dimension. AIT AP Physics C

The Relation between the Integral and the Derivative Graphs. Unit #10 : Graphs of Antiderivatives, Substitution Integrals

ENGINEERING MATH 1 Fall 2009 VECTOR SPACES

Graphs of Antiderivatives, Substitution Integrals

x+ y = 50 Dividing both sides by 2 : ( ) dx By (7.2), x = 25m gives maximum area. Substituting this value into (*):

Chapter 5: Integrals

. =. a i1 x 1 + a i2 x 2 + a in x n = b i. a 11 a 12 a 1n a 21 a 22 a 1n. i1 a i2 a in

MATH 280 Multivariate Calculus Fall Integrating a vector field over a surface

Matrices and Determinants

2.20 Fall 2018 Math Review

Multiplying matrices by diagonal matrices is faster than usual matrix multiplication.

SYDE 112, LECTURE 7: Integration by Parts

We could express the left side as a sum of vectors and obtain the Vector Form of a Linear System: a 12 a x n. a m2

Lecture 13 - Wednesday April 29th

Terminology and notation

SOLUTIONS TO THE FINAL EXAM. December 14, 2010, 9:00am-12:00 (3 hours)

Automatic Differentiation and Neural Networks

Review for the First Midterm Exam

Differential Equations Review

Linear System of Equations

AP Calculus BC Chapter 4 AP Exam Problems. Answers

Circular motion. Aug. 22, 2017

THE INVERSE FUNCTION THEOREM

Section Summary. Sequences. Recurrence Relations. Summations Special Integer Sequences (optional)

Finding Limits Graphically and Numerically

Matrices. Math 240 Calculus III. Wednesday, July 10, Summer 2013, Session II. Matrices. Math 240. Definitions and Notation.

Lecture Wise Questions from 23 to 45 By Virtualians.pk. Q105. What is the impact of double integration in finding out the area and volume of Regions?

THEODORE VORONOV DIFFERENTIABLE MANIFOLDS. Fall Last updated: November 26, (Under construction.)

4.9 Anti-derivatives. Definition. An anti-derivative of a function f is a function F such that F (x) = f (x) for all x.

Calculus III - Problem Solving Drill 18: Double Integrals in Polar Coordinates and Applications of Double Integrals

DIFFERENTIATION RULES

Sometimes the domains X and Z will be the same, so this might be written:

( ) ( ). ( ) " d#. ( ) " cos (%) " d%

Note: Please use the actual date you accessed this material in your citation.

AP Physics C Mechanics Calculus Basics

REVIEW OF DIFFERENTIAL CALCULUS

A matrix over a field F is a rectangular array of elements from F. The symbol

Vector Calculus. A primer

11 Division Mod n, Linear Integer Equations, Random Numbers, The Fundamental Theorem of Arithmetic

Vectors in the Plane

EDEXCEL NATIONAL CERTIFICATE UNIT 4 MATHEMATICS FOR TECHNICIANS OUTCOME 4 - CALCULUS

Lecture Note 8: Inverse Kinematics

MATH The Chain Rule Fall 2016 A vector function of a vector variable is a function F: R n R m. In practice, if x 1, x n is the input,

Announcements Monday, October 02

Announcements Wednesday, October 10

5.5. The Substitution Rule

Applied Calculus I. Lecture 29

Neural Networks Learning the network: Backprop , Fall 2018 Lecture 4

Math 4329: Numerical Analysis Chapter 03: Newton s Method. Natasha S. Sharma, PhD

Consider the joint probability, P(x,y), shown as the contours in the figure above. P(x) is given by the integral of P(x,y) over all values of y.

Ch 4 Differentiation

Eigenvalues and eigenvectors

For those who want to skip this chapter and carry on, that s fine, all you really need to know is that for the scalar expression: 2 H

Displacement, Velocity, and Acceleration AP style

Transformations. Chapter D Transformations Translation

Getting Started with Communications Engineering. Rows first, columns second. Remember that. R then C. 1

Matrices and Deformation

7.1 Indefinite Integrals Calculus

7.2 Steepest Descent and Preconditioning

Partial Fractions. Combining fractions over a common denominator is a familiar operation from algebra: 2 x 3 + 3

MATH Harrell. An integral workout. Lecture 21. Copyright 2013 by Evans M. Harrell II.

42. Change of Variables: The Jacobian

x x2 2 + x3 3 x4 3. Use the divided-difference method to find a polynomial of least degree that fits the values shown: (b)

Kinematics Varying Accelerations (1D) Vectors (2D)

Mathematical Concepts & Notation

Matrices and Vectors

Exam 3 MATH Calculus I

Numerical Linear Algebra

18.02 Multivariable Calculus Fall 2007

11 a 12 a 13 a 21 a 22 a b 12 b 13 b 21 b 22 b b 11 a 12 + b 12 a 13 + b 13 a 21 + b 21 a 22 + b 22 a 23 + b 23

Transcription:

Inverse Kinematics Mike Bailey mjb@cs.oregonstate.edu inversekinematics.pptx Inverse Kinematics Forward Kinematics solves the problem if I know the link transformation parameters, where are the links?. Inverse Kinematics (IK) solves the problem If I know where I want the links to be (,), what link transformation parameters will put them there? (,)

Inverse Kinematics (IK): Things Need to Move What Parameters Will Make Them Do That? Remember the Idea Behind Newton s Method? Pick an initial guess of the input parameter and keep refining it until the answer it produces is close enough. y dy x dx. x dy dx y have. x x x Now we just need to do it with more than one input parameter

Jacobian Method Our input parameters (in this case) are the three rotation angles. If (, ) are where we want the end of the third link to end up, then: If you have a good guess for, which currently produce an (, ) that is not quite what you want, then you can refine your values for and try again. The fundamental equations for this are: approx approx (,, ) f (,, ) g and (,, ) (,, ) Or, in matrix form: is called the Jacobian, and is abbreviated as [ J ]: The matrix: J x x x The Jacobian Matrix

Solving the Equations Note that [J] is not a square matrix, so this system of equations cannot be solved for directly. But, if we pre-multiply by the transpose of [ J ], we get: [ J ] T J [ J ] ( x x ) x ( x x ) x x x which is solvable because it is -equations--unknowns. T It is not obvious, but this is the Least Squares formulation. It will give an optimum (ΔΘ, ΔΘ,ΔΘ ) to make (,) move closer to the desired values. Iterating to get a Solution (note similarity to Newton s Method) Differentiate the equations f(,, ) and Pick a starting Θ, Θ, and Θ. Compute approx and approx from (,, ). Compute =- approx and =- approx. If and are small enough, we re done g(,, ) 4. Compute:,,,,, 5. Form the Jacobian [ J ] 6. Solve the system of equations: [ T J ] J [ J ] T 7. Refine: ; ; 4

The Calculus Product Rule Tells us How to Differentiate Scalar Variables that have been Multiplied c ab dc d( ab) da db ba d d d d The Calculus Product Rule Tells us How to Differentiate Matrices that have been Multiplied [ M] [ T][ R ] dm [ ] d([ T][ R ]) dt [ ] d[ R ] [ R ] [ T] d d d d 0 cos sin 0 0 sin cos 0 0 dr [ ] d sin cos 0 0 cos sin 0 0 d d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5

Numerical Differentiation Rather then explicitly differentiating an equation, it is often easier to calculate the derivative numerically. This is known as the Central Difference method, where you look both forward and backwards to see how the dependent variable is changing with respect to the independent variable: ( ) ( ) Pick a delta that is small, but not so small that floating point accuracy becomes an issue Numerical Differentiation If there are other independent variables, hold them constant: (,, ) (,, ) 6

Numerical Differentiation In case you ever need it, here is how to compute the second derivative ( ) ( ) ( ) As before, if there are other independent variables, hold them constant: Another IK Approach: Cyclic Coordinate Descent (CCD) Method The idea is to change Θ so that (,) are as close to (,) as possible. Then change Θ. Then change Θ. Then change Θ. Then change Θ. Then change Θ. Then change Θ.... (,) (,) 7

Changing Θ Holding Θ and Θ constant, rotate Θ so that the blue lines line up. (,) (,) Changing Θ (,) (,) 8

Changing Θ Holding Θ and Θ constant, rotate Θ so that the blue lines line up. (,) (,) Changing Θ (,) (,) 9

Changing Θ Holding Θ and Θ constant, rotate Θ so that the blue lines line up. (,) (,) Changing Θ (,) (,) 0

Now, do it again -- Changing Θ (,) (,) Now, do it again -- Changing Θ (,) (,)

Now, do it again -- Changing Θ (,) (,) Now, do it again -- Changing Θ (,) (,)

Now, do it again -- Changing Θ (,) (,) Now, do it again -- Changing Θ (,) (,)

Computing how much to change a rotation (in this example, we are changing θ ) Where we want to be: (, ) Where we are now: (, ) Use the C/C++ atan( ) function: = atan( -, - ); = atan( -, - ); Δ = - Do not use the C/C++ atan( ) function: = atan( ( - ) / ( - ) ); = atan( ( - ) / ( - ) ); Δ = - 4