930 likes | 2.02k Views
Inverse Kinematics. The Problem. Forward Kinematics: Joint angles End effector. Inverse Kinematics: End effector Joint angles. Robotic applications: cutting/welding. Animation Applications ( more ). IK Solutions.
E N D
The Problem Forward Kinematics: Joint angles End effector Inverse Kinematics: End effector Joint angles Robotic applications: cutting/welding
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)
L2 q2 y L1 q1 x Case Study: Two-Link Arm Analytic (closed form) solution Case:3-link arm
L2 q2 L1 q4 q3 q1 2-link Arm (analytic solution2) y x
Unreachable Targets • No joint angles can satisfy the target If this value is > 1 or < -1, no solution exists
* i i g = Statement of the IK Problem Want Error at ith iteration q: joint angles Seek correction Dq to fix the error 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
L2 q2 y L1 q1 x Jacobian Inverse Simple case: Cramer’s rule suffices General case: pseudo inverse
L3 q3 L2 q2 y L1 q1 x 3-link 2D arm Jacobian inverse is underdetermined
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
About Pseudo Inverse A+ A: row space → column space A+: column space → row space C(AT) C(A) A+ A N(A) N(AT) R3 R2
Using GSL (Gnu Scientific Library) Full rank Full row rank Full column rank
L2 q2 y L1 q1 x Forward Kinematics Using Coordinate Transformation End effector at the local origin Rotate(z,q1) Translate(L1,0) Rotate(z,q2) Translate(L2,0)
Computing Jacobian reference wi: unit vector of rotation axis
L2 L2 q2 q2 y y L1 L1 q1 q1 x x Example r1 r2
About Joint Space Redundancy Joint Space End Effector m n If m > n Redundant manipulator
Example q3 L3 L2 q2 L1 q1 qmax
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)
CCD-3 Implementing joint limits in CCD is straight forward: simply clamp the joint angle
Pcurrent L2 q2 Pdest f P1 L1 q1 Pc L2 q2 Pd L1 f P0 q1 CCD (2-link arm)
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)
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
Summary [Details] A b x
DLS (cont) (continued) Shown next page Therefore Instead of computing inverse, solve For 3-link 2D arm: m = 2, n = 3 2x2 How to choose l? Affect convergence rate
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.
L3 q3 L2 q2 y L1 q1 x 3-link 2D arm Jacobian inverse is underdetermined
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) Summary Projection onto a Space Recall least square problem b e=b–p a2 p a1
Projection (cont) Known as the “normal equation” P: projection matrix
Extra material Jacobian transpose Constraint dynamics
pc pd L2 q2 y L1 q1 x IK General (Jacobian Transpose)
L2 q2 y L1 q1 x Jacobian Transpose
P2 L2 q2 P1 L1 q1 [Constraint Dynamics]