inverse kinematics
play

Inverse kinematics Forward kinematics Given a joint configuration, - PowerPoint PPT Presentation

Kinematics The study of motion without regard to the forces that cause it Inverse kinematics Forward kinematics Given a joint configuration, what is the position of an end point on the structure? Inverse kinematics Given the position for an


  1. Kinematics The study of motion without regard to the forces that cause it Inverse kinematics Forward kinematics Given a joint configuration, what is the position of an end point on the structure? Inverse kinematics Given the position for an end point on the structure, what angles do the joints need to be to achieve that end point? Kinematics Why inverse? Which function is inverse kinematics? Specify fewer degrees of freedom (DOFs) θ θ More intuitive control φ φ Maintain environment constraints σ σ Calculate desired joint angles for control p p θ , φ , σ = f ( p ) p = f ( θ , φ , σ )

  2. An interactive IK system Joint configurations q = x, y, z, θ pelvis , φ pelvis , σ pelvis , θ thigh , φ thigh , σ thigh , θ knee , . . . Create a handle on the character θ pelvis , φ pelvis , σ pelvis Interactively pull the handle around θ thigh , φ thigh , σ thigh IK system figures out the appropriate the joint configurations θ knee θ ankle , φ ankle Constraints Solutions Position constraint Closed form solutions can only be found for fairly simple mechanisms C ( q ) = h ( q ) − p = 0 Numerical solutions p No solution Orientation constraint h ( q ) Single solution C ( q ) = d ( q ) − v = 0 Multiple solution

  3. Under-specified problem Ik methods Multiple solutions Mostly bad Iterative methods How do we find the optimal solution? Optimization methods Heuristics (move the outermost links first) Unconstrained optimization Closest to the current configuration Constrained optimization Energy minimization Natural looking motion (whatever it means) Iterative method Jacobian matrix Jacobian is a m by n matrix DOF ( n ) that relating differential Use inverse of Jacobian to iteratively step all the i changes of to changes of C q joint angles towards the goal Constraint ( m ) ∂ C i j Jacobian maps the velocity ∂ q j Girard and Maciejewski, Computational modeling in state space to velocities for the computer animation of legged figures, in Cartesian space SIGGRAPH 85 Jacobian depends on current state

  4. IK and the Jacobian Invert Jacobian But Jacobian is most likely non-square J = ∂ C Compute the pseudo inverse Jacobian J + ∂ q ∂ C = J ∂ q ∂ C = J ∂ q J T ∂ C = J T J ∂ q ∂ q = J − 1 ∂ C ( J T J ) − 1 J T ∂ C = ( J T J ) − 1 J T J ∂ q q new = q + ∆ t J − 1 ∂ C Linearize about current q J + ∂ C = ∂ q J + = ( J T J ) − 1 J T = J T ( JJ T ) − 1 Optimization method Optimization method Solve for joint configuration q Find a solution that optimizes some numeric metric and satisfies constraints min q G ( q ) Numeric metric subject to C ( q ) = 0 A function of q that measures the quantity to be minimized Also called “objective function”

  5. Objective functions Constraint Derivatives What do we want? Joint velocity A direction to move joints in such way that the constraint Power consumption handles move towards the goal Similarity to the rest pose What do derivatives tell us? Similarity to the natural pose A direction constraint handles move if joints move Constraint derivatives Constraint derivatives C ( q ) = h ( q ) − p = 0 ∂ h ( q ) What is the most efficient way to compute the ? ∂ q q = [ x, y, z, θ 0 , φ 0 , σ 0 , θ 1 , θ 2 , φ 2 ] ∂ C ( q ) = ∂ h ( q ) h ( q ) = T ( x, y, z ) R ( θ 0 , φ 0 , σ 0 ) TR ( θ 1 ) TR ( θ 2 , φ 2 ) h k ∂ q ∂ q x, y, z, θ 0 , φ 0 , σ 0 x, y, z, θ 0 , φ 0 , σ 0 h ( q ) = T ( x, y, z ) R ( θ 0 , φ 0 , σ 0 ) TR ( θ 1 ) TR ( θ 2 , φ 2 ) h k θ 1 θ 1 ∂ h ( q ) = T ( x, y, z ) R ( θ 0 , φ 0 , σ 0 ) T ∂ R ( θ 1 ) TR ( θ 2 , φ 2 ) h k ∂θ 1 ∂θ 1 p p θ 2 , φ 2 θ 2 , φ 2 h ( q ) h ( q ) Need to know how to compute derivatives h k : local coordinate of h h k : local coordinate of h for each transformation

  6. Unconstrained Optimization Unconstrained optimization � w i C i ( q ) 2 Minimize F ( q ) = G ( q ) + Treat each constraint as a separate metric and i minimize weighted sum of all metrics Move in the direction of Also called penalty methods − ∂ F ∂ q = − ∂ G ∂ C i � w i ∂ q C i ∂ q − 2 each spring pulls on constraint with force proportional to violation of the constraint i q new = q − α∂ F Update the state ∂ q Search and step Unconstrained optimization Pros: Find direction and the step size that move joints closer to constraints simple and fast, no linear system to solve near-singular configurations is less of a problem Direction: ∆ q = − ∂ F ∂ q Cons: Step size: where min α F ( q + α ∆ q ) α constraints fight against each other and the objective function can’t maintain constraints exactly q new = q + α ∆ q linear convergence

  7. Constrained optimization Constrained method Solve a linear system comprised of Jacobians and Pros the quadratic metric Enforce constraints exactly Also called Lagrangian Multipliers Quadratic convergence L ( q , λ ) = G ( q ) − λ · C Cons min q , λ L ( q , λ ) Large system of equations Near-singular configurations cause instability

Recommend


More recommend