University of British Columbia What is IK? University of British Columbia Inverse Kinematics [Fanuc] [Ronan Boulic] © MIchiel van de Panne What is IK ? θ3 θ2 University of British Columbia θ4 © Michiel van de Panne A Simple Example University of British Columbia Two link robot P(x,y) α 2D robot DOFs ? θ1 3D robot DOFs ? forward kinematics joint angles θi end effector position and orientation inverse kinematics x,y α [James O’Brien] © Michiel van de Panne © Michiel van de Panne A Simple Example University of British Columbia Problems University of British Columbia Direct IK Solution [James O’Brien] • + unreachable goals [James O’Brien] © Michiel van de Panne Solving for Constraints University of British Columbia © Michiel van de Panne Newton’s Method University of British Columbia θ0 E E = P − P1 ∆E P1 ∂E ∂θ ∆θ θ ∂E ∆E = ∂θ ∆θ −1 ⎛ ∂E ⎞ ∆θ = ⎜ ⎟ ∆E ⎝ ∂θ ⎠ θ ' = θ − ∆θ ∂E ∂P = ∂θ ∂θ © Michiel van de Panne © Michiel van de Panne Jacobian University of British Columbia −1 ⎛ ∂P ⎞ ∆θ = ⎜ ⎟ ∆P ⎝ ∂θ ⎠ Jacobian is given by Jacobian Example University of British Columbia ∆θ = J −1∆P ∂P ∆P ≈ ∂θ ∆θ J= J ⋅ ∆θ = ∆P velocities: J⋅ ∆θ ∆P = ∆t ∆t [James O’Brien] J ⋅ q& = x& © Michiel van de Panne Jacobian Example University of British Columbia © Michiel van de Panne Inverting the Jacobian University of British Columbia • m constraints, n DOF overconstrained, minimizes underconstrained, minimizes J ⋅ q& − x& q& [James O’Brien] © Michiel van de Panne © Michiel van de Panne Pseudoinverse University of British Columbia Iterative IK solution University of British Columbia Least-Squares Inverse AA+ A = A + T ( AA ) = AA + repeat E = P - Ptarget dX = k*error; // k<1 compute J compute J*(J) compute dQ = J* dX Q = Q + dQ // update joint angles until |error| < epsilon but... ( AB) + ≠ B + A+ A+ AA+ = A+ ( A+ A)T = A+ A (A ) + + =A + T T + (A ) = (A ) derived © Michiel van de Panne Pseudoinverse Discussion University of British Columbia • instable around singularities • can weight the joint movement 2 University of British Columbia • obstacle avoidance • joint limit avoidance • singularity avoidance q& = J + x& + ( I − J + J ) z ( A+ ) λ = AT ( AAT + λ2 I ) −1 Aq& − x& + λ2 q& Pseudoinverse Discussion secondary task • damped least squares solution helps avoid singularities minimizes © Michiel van de Panne 2 © Michiel van de Panne © Michiel van de Panne Jacobian Transpose Method University of British Columbia Jacobian Transpose Method University of British Columbia [Baxter, UNC] © Michiel van de Panne Jacobian Transpose Method University of British Columbia [Baxter, UNC] Cyclic Coordinate Descent © Michiel van de Panne University of British Columbia [Baxter, UNC] [Baxter, UNC] © Michiel van de Panne © Michiel van de Panne Cyclic Coordinate Descent University of British Columbia Machine Learning University of British Columbia r r f :x→q problem: oneone-toto-many mapping r r r f : x , q0 → q [Baxter, UNC] © Michiel van de Panne © Michiel van de Panne
© Copyright 2025