470 likes | 880 Views
Inverse Kinematics. Professor Nicola Ferrier ME 2246, 265-8793 ferrier@engr.wisc.edu. Forward Kinematics. position equation: Where the transformation for each link is built from our DH parameters:. End-effector w.r.t. {e}. Forward Kinematics. Forward Kinematic Transformation:
E N D
Inverse Kinematics Professor Nicola Ferrier ME 2246, 265-8793 ferrier@engr.wisc.edu
Forward Kinematics • position equation: • Where the transformation for each link is built from our DH parameters: End-effector w.r.t. {e}
Forward Kinematics • Forward Kinematic Transformation: • Has an rotation and translation: Roll,pitch,yaw Angle-axis Euler Y-Z-Y
Forward Kinematics • Pick one rotation description: • Decompose R, i.e. solve:
Forward Kinematics • Pick one rotation description: Find terms that you can easily solve equations
Decomposition of Rotation Matrices • Roll, Pitch, and Yaw • The inverse solution for in (-/2,/2):
Decomposition of Rotation Matrices • Roll, Pitch, and Yaw • The inverse solution for in (/2,3/2):
Decomposition of Rotation Matrices • Euler Angles • Inverse solution for r13 0 and r23 0 (singularity when sin=0):
Decomposition of Rotation Matrices • Angle Axis • Inverse solution (singularity at =0,,... and there are two solutions for §):
Forward Kinematics • Pick one rotation description: • Decompose T :
Cartesian Space & Joint Space Forward kinematics Joint Space (q1,q2,…,qN) Cartesian Space (x,y,z,,,) Inverse kinematics (arm solution)
Inverse Relationship? • Find joint positions for a given end-effector pose • Also find joint positions, speeds and accelerations for a sequence of poses
Inverse Relationship? • Analytic Inverse • Robot specific • Multiple solutions • Once found, computationally simple • Geometric • Robot specific • Insight? • Iterative Computation (ME739) • Computationally expensive • General solution
A Heuristic for Inverse Kinematics • The solution to the inverse kinematic equations (called the arm solution) can often be found using a heuristic approach. • Does not guarantee a solution • Solution may not be unique • Some solutions may be redundant
IK Heuristic Algorithm • Perform forward kinematics to find the general transformation matrix • Equate the transformation matrix to the manipulator transformation matrix. • For a particular solution the manipulator transformation matrix contains “numbers” • For a general solution the manipulator transformation matrix contains “variables”
IK Heuristic Algorithm • Look at both matrices for: • Elements which contain only one joint variable • Pairs of elements which will produce an expression in only one joint variable when divided (look for divisions that result in the atan2 function) • Elements, or combinations of elements, that can be simplified using trigonometric identities • Having selected an element, equate it to the corresponding element in the other matrix to produce an equation. Solve this equation to find a description of one joint variable in terms of the elements of the manipulator transformation matrix.
IK Heuristic Algorithm • Repeat step 4 until all the elements identified in step 3 have been used. • If any of these solutions suffer from inaccuracies, undefined results, or redundant results, set them aside and look for better solutions.
IK Heuristic Algorithm • If there are more joint angles to be found, pre-multiply both sides of the matrix equation by the inverse of the A1 matrix to produce a new set of equivalent matrix elements.
IK Heuristic Algorithm • Repeat steps 3 to 7 until either solutions to all the joint variables have been found, or you have run out of A matrices to pre-multiply. • If a suitable solution cannot be found for a joint variable, choose one of those discarded in step 6, taking note of regions where problems may occur. • If a solution cannot be found for a joint variable in terms of the elements of the manipulator transform, it may be that the manipulator cannot achieve the specified position and orientation: the position is outside the manipulator’s workspace.
IK Heuristic Algorithm • Note: theoretical solutions may not be physically attainable because of the mechanical limits on the range of joint variables.
DH Example: “academic manipulator” Z0 L2 1 x1 x2 Z2 L1 1 Z1 x0 2
Steps 1 and 2 • The general transformation matrix • Set equal to:
Steps 3 and 4 • Look for elements and select terms
More steps…. • Pre-multiply for a new equation:
DH Example: two link planar arm DH table for two link arm L2 L1 x0 x1 x2 2 1 Z2 Z0 Z1
Forward Kinematics: planar 2-link manipulator Heuristic solution? Can’t select an “obvious” set of equations…
Trignometric Solutions • Sometimes simple (but usually not)!
Trig Solutions • For first angle – revisit equations
Trig Solutions • A trig hint: • Let • Then • So
Solution to 2 link planar arm • Arm solution is • where
Geometric Solutions • Intuition, insight….?
Geometric Solutions • Intuition, insight….?
Geometric Solutions • Intuition, insight….? Get same solution as trig method
Solution to 2 link planar arm • Arm solution is • where Here we know the sign by observation