Inverse Kinematics
The Problem Forward Kinematics: Inverse Kinematics: Joint angles End effector Inverse Kinematics: End effector Joint angles Fall 2012 Robotic applications: cutting/welding
Animation Applications (more) Fall 2012
IK Solutions Analytical solutions are desirable because of their speed and exactness of solution. For complex kinematics problems, analytical solutions may not be possible Use iterative methods Optimization methods (e.g., minimize the distance between end effector and goal point) Fall 2012
Case Study: Two-Link Arm q1 q2 L1 L2 x y Analytic (closed form) solution Case:3-link arm Fall 2012
2-link Arm (analytic solution2) q1 q4 q3 q2 L2 L1 y Fall 2012 x
Unreachable Targets No joint angles can satisfy the target If this value is > 1 or < -1, no solution exists Fall 2012
Statement of the IK Problem * Want Error at ith iteration i q: joint angles Seek correction Dq to fix the error g = Omit high order terms… Jacobian matrix xRn, qRm, Jnm Note: here Dq are in radians! m: joint space dimension n: space where end effector is in Fall 2012
Error at End Effector Fall 2012
Jacobian Inverse L2 q2 y L1 q1 x Simple case: Cramer’s rule suffices General case: pseudo inverse Fall 2012
Jacobian inverse is underdetermined 3-link 2D arm Jacobian inverse is underdetermined q1 q2 L1 L2 x y L3 q3 Fall 2012
Pseudo Inverse and Ax=b A panacea for Ax=b Full rank: A-1 exist; A+ is the same as A-1 Underdetermined case: many solutions; will find the one with the smallest magnitude |x| Overdetermined case: find the solution that minimize the error r=||Ax–b||, the least square solution Fall 2012
About Pseudo Inverse A+ A: row space → column space A+: column space → row space C(AT) N(A) R3 C(A) N(AT) R2 A A+ Fall 2012
Using GSL (Gnu Scientific Library) Full rank Full row rank Full column rank Fall 2012
Forward Kinematics L2 q2 y Using Coordinate Transformation L1 q1 x End effector at the local origin Rotate(z,q1) Translate(L1,0) Rotate(z,q2) Translate(L2,0) Fall 2012
q1 q2 L1 L2 x y [Computing Jacobian] This is wrong!! Fall 2012
Computing Jacobian reference wi: unit vector of rotation axis Fall 2012
Example q1 q2 L1 L2 x y r1 q1 q2 L1 L2 x y r2 Fall 2012
About Joint Space Redundancy If m > n Redundant manipulator Joint Space End Effector m n Fall 2012
Example q3 L3 L2 q2 L1 q1 qmax Fall 2012
IK Solution (CCD) CCD: cyclic coordinate descent; initially from C. Welman (1993) From the most distal joint, solve a series of one-dimensional minimization analytically to satisfy the goal (one joint at a time) Fall 2012
CCD-1 (Cyclic Coordinate Descent) Fall 2012
CCD-2 Fall 2012
CCD-3 Implementing joint limits in CCD is straight forward: simply clamp the joint angle Fall 2012
CCD (2-link arm) Pcurrent L2 q2 Pdest P1 f L1 q1 Pc L2 q2 Pd L1 f P0 Fall 2012
IK Solutions (DLS) For 3-link 2D arm: m = 2, n = 3 DLS (damped least square) Position of k end effectors target of end effectors error of end effectors Joint angles Jacobian matrix (mn) Fall 2012
DLS (Damped Least Square) Joint angle to correct error Minimize damped least square Rewrite error as Normal equation for least square problem Simplifying and get Fall 2012
[Details] A x b Summary Fall 2012
Affect convergence rate DLS (cont) (continued) Shown next page Therefore Instead of computing inverse, solve For 3-link 2D arm: m = 2, n = 3 How to choose l? 2x2 Affect convergence rate Fall 2012
Damping Effects Fall 2012
Properties of Pseudo Inverse A+ (From Wikipedia) Fall 2012
Challenging IK Cases: Multiple Targets Fall 2012
Types of IK Fall 2012
Types of IK (cont) Fall 2012
Inverse Kinetics (Boulic96) The constraint on the position of the center of mass is treated as any other task, and solved at the differential level with a special-purpose Jacobian matrix that relates differential changes of the joint coordinates to differential changes of the Cartesian coordinates of the center of mass. Fall 2012
Kinematic chain Fall 2012
Fall 2012
Fall 2012
Support Materials
Jacobian inverse is underdetermined 3-link 2D arm q1 q2 L1 L2 x y L3 q3 Jacobian inverse is underdetermined Fall 2012
Projection onto a Space Recall least square problem Ax=b may not have solution (if b is not in C(A)) Solve instead where p is the projection of b onto C(A) b e=b–p a2 p a1 Summary Fall 2012
Projection (cont) P: projection matrix Known as the “normal equation” Fall 2012
Jacobian transpose Constraint dynamics Extra material Jacobian transpose Constraint dynamics
IK General (Jacobian Transpose) q1 q2 L1 L2 x y pc pd Fall 2012
Jacobian Transpose q1 q2 L1 L2 x y Fall 2012
Fall 2012
Fall 2012
Fall 2012
Fall 2012
Differences Fall 2012
[Constraint Dynamics] q1 q2 L1 L2 P1 P2 Fall 2012
Fall 2012
All joints rotate w.r.t. local z q2 g L1 F2 q1 F1 FB All joints rotate w.r.t. local z CCD step 1: Find 2g; project og to XY plane (as og’); rotate OE to og’ CCD step 2: Find 1g; project og to XY plane (as og’); rotate OE to og’ Fall 2012