Document 237547

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