Ferrier_kinematics4

Download Report

Transcript Ferrier_kinematics4

Inverse Kinematics
Professor Nicola Ferrier
ME 2246, 265-8793
[email protected]
Forward Kinematics
• position equation:
End-effector w.r.t. {e}
• Where the transformation for each link
is built from our DH parameters:
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
• OR
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 endeffector 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
1. Perform forward kinematics to find the
general transformation matrix
2. Equate the transformation matrix to
the manipulator transformation matrix.
a) For a particular solution the manipulator
transformation matrix contains “numbers”
b) For a general solution the manipulator
transformation matrix contains “variables”
IK Heuristic Algorithm
3. Look at both matrices for:
a) Elements which contain only one joint variable
b) Pairs of elements which will produce an expression
in only one joint variable when divided (look for
divisions that result in the atan2 function)
c) Elements, or combinations of elements, that can be
simplified using trigonometric identities
4. 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
5. Repeat step 4 until all the elements
identified in step 3 have been used.
6. If any of these solutions suffer from
inaccuracies, undefined results, or
redundant results, set them aside and
look for better solutions.
IK Heuristic Algorithm
7. 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
8. 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 premultiply.
9. 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.
10. 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
1
x1
Z2
L1
Z1
L2
x2
1
x0
2
Link
1
2
Var
1
2

d

a
1
2
L1
0
90o
0
L2
0
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
Z0 1
Link
1
2
Z1
Var
1
2
x1
2
x2
Z2

d

a
1
2
0
0
0
0
L1
L2
Forward Kinematics: planar 2-link manipulator
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
Multiple Solutions?!
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