Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.

Slides:



Advertisements
Similar presentations
COMP Robotics: An Introduction
Advertisements

Chapter 6: Roots: Open Methods
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Simulation and Animation
A Combined Optimization Method for Solving the Inverse Kinematics Problem of Mechanical Manipulators Roland Mai B659, Spring 2010 Indiana University.
MATH 685/ CSI 700/ OR 682 Lecture Notes
Solving Linear Systems (Numerical Recipes, Chap 2)
Inverse Kinematics Set goal configuration of end effector
Classification and Prediction: Regression Via Gradient Descent Optimization Bamshad Mobasher DePaul University.
Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Chapter 4 Roots of Equations
Some useful linear algebra. Linearly independent vectors span(V): span of vector space V is all linear combinations of vectors v i, i.e.
Nonlinear Optimization for Optimal Control
Ch. 7: Dynamics.
Inverse Kinematics (part 2)
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Inverse Kinematics (part 2)
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics Many slides courtesy James O’Brien.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
CSCE 689: Forward Kinematics and Inverse Kinematics
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.
ECIV 301 Programming & Graphics Numerical Methods for Engineers REVIEW II.
Advanced Topics in Optimization
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
CS B553: A LGORITHMS FOR O PTIMIZATION AND L EARNING Gradient descent.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Chap 5 Kinematic Linkages
Inverse Kinematics.
Inverse Kinematics Kris Hauser
Inverse Kinematics.
Simulation and Animation
Application of Differential Applied Optimization Problems.
Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Inverting the Jacobian and Manipulability
Review: Differential Kinematics
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Lecture 5: inverse kinematics.  The local and world matrix construction within the skeleton is an implementation of forward kinematics  Forward kinematics.
Chapter 2-OPTIMIZATION G.Anuradha. Contents Derivative-based Optimization –Descent Methods –The Method of Steepest Descent –Classical Newton’s Method.
INTRO TO OPTIMIZATION MATH-415 Numerical Analysis 1.
2.5 – Determinants and Multiplicative Inverses of Matrices.
ME451 Kinematics and Dynamics of Machine Systems Newton-Raphson Method 4.5 October 28, 2010 © Dan Negrut, 2010 ME451, UW-Madison TexPoint fonts used in.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Searching a Linear Subspace Lecture VI. Deriving Subspaces There are several ways to derive the nullspace matrix (or kernel matrix). ◦ The methodology.
Singularity-Robust Task Priority Redundancy Resolution for Real-time Kinematic Control of Robot Manipulators Stefano Chiaverini.
Fundamentals of Computer Animation
CSCE 441: Computer Graphics Forward/Inverse kinematics
Inverse Kinematics.
Character Animation Forward and Inverse Kinematics
Local Search Algorithms
Inverse Kinematics, Jacobians
Some useful linear algebra
CSCE 441: Computer Graphics Forward/Inverse kinematics
Computer Animation Algorithms and Techniques
Skeletal Motion, Inverse Kinematics
Inverse Kinematics (part 2)
Outline: Introduction Solvability Manipulator subspace when n<6
Local Search Algorithms
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442

Agenda Numerical methods for IK Root finding Optimization Other IK objective functions Axis constraints Hinge constraints Jacobians and null space motions

Inverse Kinematics Problem: given desired position of point on robot (end effector), what joint angles reach it?

Solving a general equation Solve f(q) = 0 (vector valued nonlinear function) Can include rotation constraints, multiple IK targets q1q1 q2q2 q3q3 q4q4

Numerical Inverse Kinematics: General Idea For the root finding problem f(q)=0, given a seed q 0 Take steps q 1,…,q k s.t. the error ||f(q)|| shrinks towards 0 Stop when error is “small enough” or progress stops

3 numerical methods (of many) Cyclic Coordinate Descent Newton-Raphson root finding method Gradient descent & related methods

Cyclic Coordinate Descent method On each iteration, solve min ||f(q)|| for a single joint Derive fast analytical solutions for each joint Loop through joints, repeat until convergence

Newton-Raphson method

x Newton’s method In a neighborhood of a root, the line tangent to the graph crosses the x axis near the root x0x0 f(x)

x In a neighborhood of a root, the line tangent to the graph crosses the x axis near the root… iterate! x1x1 Newton’s method f(x)

x In a neighborhood of a root, the line tangent to the graph crosses the x axis near the root… iterate! x2x2 Newton’s method

Newton-Raphson method

x Divergence x1x1 f(x)

x Divergence x1x1 x2x2 f(x)

x Divergence x1x1 x2x2 x3x3 f(x)

x Divergence x1x1 x2x2 x3x3 x4x4 f(x)

x Figure 11 x1x1 x2x2 x3x3 x4x4 x5x5 f(x)

Newton-Raphson method

Pseudoinverses A pseudoinverse A # of an m x n matrix A is an n x m matrix such that: A # AA # =A # AA # A=A If A is square and has an inverse, A # is A -1 Can derive a pseudoinverse for all matrices Typically we talk about the Moore Penrose pseudoinverse A + which is a unique matrix with the properties: If A is underconstrained, x=A + b is the solution to Ax=b that has minimum norm ||x|| If A is overconstrained, x=A + b is the solution that minimizes the norm of ||Ax-b|| Can be calculated in all major math packages, typically via the Singular Value Decomposition A=UWV T

Gradient-descent methods

Relation to Newton-Raphson

Line search: pick step size to lead to decrease in function value

(Use your favorite univariate optimization method)  f(x-  f(x)) 

Gradient Descent Pseudocode Input: f, starting value x 1, termination tolerances For t=1,2,…,maxIters: Compute the search direction d t = -  f(x t ) If ||d t ||< ε g then: return “Converged to critical point”, output x t Find  t so that f(x t +  t d t ) < f(x t ) using line search If ||  t d t ||< ε x then: return “Converged in x”, output x t Let x t+1 = x t +  t d t Return “Max number of iterations reached”, output x maxIters

Higher order optimization methods

Many local minima: need good initialization, or random restarts

Null Space A motion from q->q’ that maintains f(q)=0 is known as a motion in the null space.

Null Space Null space velocity dq must satisfy J(q)dq = 0 => dq lies in the null space of J(q) For any vector y, (I-J + J)y lies in the null space Recall J + is the pseudoinverse of J A basis of the null space can be found by SVD J = UWV T Let the last k diagonal entries of W be 0, first n-k nonzero WV T dq = 0 First n-k entries of V T dq must be zero Last k entries of V T dq may be non zero => Last k columns of V are a basis for null space

Recap Two general ways of solving inverse kinematics: analytical and numerical With nonredundant manipulators, there are a finite number of solutions (usually > 1, without joint limits) With redundant manipulators, there are an infinite number of solutions Null space motions

Next class Klamp’t lab Robots, objects, and worlds Configurations Forward kinematics Inverse kinematics Reading: Klamp't inverse kinematics tutorialKlamp't inverse kinematics tutorial Bring your laptop