2. How Dose Inverse Kinematics works
The Forward Kinematics provide us with a procedure for determining
the position and orientation of the tool of a robotic manipulator given
the vector of joint variables.
We will now examine the inverse problem of determining the joint
variables given a desired position and orientation for the tool.
3. How Dose Inverse Kinematics works
The Forward Kinematics provide us with a procedure for determining
the position and orientation of the tool of a robotic manipulator given
the vector of joint variables.
We will now examine the inverse problem of determining the joint
variables given a desired position and orientation for the tool.
4. How Dose Inverse Kinematics works
The inverse kinematics problem is important because manipulation
tasks are naturally formulated in terms of the desired tool position
and orientation.
This is the case, for example, when external sensors such as overhead
cameras are used to plan robot motion. The information provided by
the camera is not in terms of joint variables; it specifies the positions
and orientations of the objects that are to be manipulated (i.e. The
Tool).
5. How Dose Inverse Kinematics works
The inverse kinematics problem is more difficult than the direct
kinematics problem because:
• A systematic closed-form solution applicable to robots in general is
not available.
• When closed-form solutions to the arm equation can be found,
they are seldom unique (different for each Robot).
6. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• By solving the direct kinematics problem for the Rhino XR-3 robot
using the Denavit-Hartenberg (D-H) algorithm which is a systematic
procedure for assigning link coordinates to a robotic manipulator.
Successive transformations between adjacent coordinate frames,
starting at the tool tip and working back to the base of the robot,
then led to the Arm Matrix.
7. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• The Arm Matrix represents the position p and orientation R of the
tool in. the base frame as a function of the joint variables q.
8. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• The Arm Matrix represents the position p and orientation R of the
tool in. the base frame as a function of the joint variables q.
• For convenience, I will refer to the position and orientation of the
tool collectively as the configuration of the tool.
9. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Inverse Kinematics. Given a desired position p and orientation R for
the tool, we have to find the values for the joint variables q which
satisfy the arm equation.
• In order to develop such a solution to the inverse kinematics
problem, the desired tool configuration must be specified as input
data.
10. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• The Tool-Configuration Vector can be used to find the required joint
parameters. Let p and R denote the position and orientation of the
tool frame relative to the base frame where q represents the tool
roll angle. Then the tool configuration can be represented as:
11. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• The term ([exp(q/pi)]r3) is called “Scaling Factor”.
• Its used to augment the last joint parameter (q5) into the tool
configuration vector. In order to satisfy the mathematical
requirements.
12. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• The solution to the inverse kinematics problem starts with the
expression for the tool-configuration vector w (q), which can be
obtained from the arm matrix.
• The tool-configuration vector for the five-axis articulated arm is:
13. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
1- Base Joint:
The easiest joint variable to extract is the base angle q1. Inspection of the
expressions for w1 and w2 in the tool configuration vector reveals that they have
a factor in common. If we divide w2 by w1, this factor cancels, and we are left
with S1/C1. Thus the base angle is simply:
14. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations will
be performed in order to get the joint parameters.
2-Elbow Joint:
The elbow angle q3 is the most difficult joint variable to extract, because it is strongly
coupled with the shoulder and tool pitch angles in a vertical-jointed robot. We begin by
isolating an intermediate variable, q234, called the global tool pitch angle. Here
q234 = q2 + q3 + q4
15. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations will
be performed in order to get the joint parameters.
2-Elbow Joint:
Inspection of the last three components of w in Eq. (3-4-1) reveals that
-(C1W4 + S1ws)/(-w6) = S234/C234.
Since the base angle q1 is already known, the global tool pitch angle can then
be computed using:
16. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
2-Elbow Joint:
Now, In order to isolate the shoulder and elbow angles, we define the following two
intermediate variables:
17. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
2-Elbow Joint:
Note that b1 and b2 are constants whose values are known at this point because q1 and q234
have already been determined. If we take the expressions for the components of w in the tool
configuration vector and substitute them in the expressions for b1 and b2, this yields:
18. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
2-Elbow Joint:
We are now left with two independent expressions involving the shoulder and elbow angles; the
coupling with the tool pitch angle has been removed. The elbow angle can be isolated by
computing ||b^2|| . Using trigonometric identities, we find:
19. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
2-Elbow Joint:
We should note that ||b^2|| depends only on the elbow angle q3:
If we solve the equation for q3, we get:
20. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
3-Shoulder Joint:
To isolate the shoulder angle q2, we return to the expressions of b1, and b2 in terms of the
shoulder and elbow angles. If we expand C23 and S23, using the cosine of the sum and sine of the
sum trigonometric identities, and rearrange the terms, this yields:
21. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
3-Shoulder Joint:
Since the elbow angle q3 is already known,) b1 & b2 constitute a system of two simultaneous
linear equations in the unknowns C2 and S2. If we use row operations to solve this linear
system, the result is:
22. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
3-Shoulder Joint:
Since we have expressions for both the cosine and the sine of the shoulder angle, we can now
recover the shoulder angle using the atan2 function:
23. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
4-Tool Pitch Joint:
The work for extracting the tool pitch angle q4 is already in place. We know the shoulder angle q2
, the elbow angle q3, and the global tool pitch angle q234 . Thus:
24. How to solve the Inverse Kinematics Problem?
I will use the five-axis Rhino XR-3 robot as an active example:
• Using the tool configuration vector, some trigonometric operations
will be performed in order to get the joint parameters.
5-Tool Roll Joint:
The final joint variable is q5, the tool roll angle. This can be recovered from the last three
components of w, as indicated previously in the tool configuration vector. In this case, we have
25. How to solve the Inverse Kinematics Problem?
The solution to the inverse kinematics problem outlined in the
previous slides, shows the basic idea as to how the inverse kinematics
problem can be cracked.