Inverse Kinematics
Given a desired position (p) & orientation (R) of the
end-effector
q (q1 , q2 ,qn )
Find the joint variables which can bring the robot the
desired configuration z
x
1
The Inverse Kinematics Problem
Direct Kinematics
x = f(q)
Inverse Kinematics
q=f −1(x)
2
The Inverse Kinematics Problem
• The problem is not simple!
• A general approach for the solution of this problem does not
exist
• On the other hand, for the most common kinematic structures, a
scheme for obtaining the solution has been found.
Unfortunately…
• …The solution is not unique
• In general we may have:
No solution (e.g. starting with a position x not in the workspace)
A finite set of solutions (one or more)
Infinite solutions
• We seek for closed form solutions not based on numerical
techniques:
• The analytic solution is more efficient from the computational point of view
• If the solutions are known analytically, it is possible to select one of them on the
basis of proper criteria.
3
The Inverse Kinematics Problem
Difficulties
Possible Problems of Inverse Kinematics
Nonlinear (Revolute joints → inverse trigonometry)
Discontinuities and singularities
Can lose one or more DOFs in some configurations
Multiple solutions for a single Cartesian pose
Infinitely many solutions
Possibly no solutions
No closed-form (analytical) solutions
Not enough!! [Dynamics: in reality, we want to apply
forces and torques (while respecting physical constraints),
not just move arm!]
4
The Inverse Kinematics Problem
What have we swept under the rug?
Sensing
Shape, pose of target object, accessibility of surfaces
Classification of material type from sensor data
Freespace through which grasping action will occur
Prior knowledge
Estimate of mass, moments given material type
Internal, articulated, even active degrees of freedom
Uncertainty & compliance
Tolerate noise inherent in sensing and actuation
Ensure that slight sensing, actuation errors won’t cause damage
Handle soft fingers making contact over a finite area (not a point)
Dynamics
All of the above factors may be changing in real time
5
Algebraic Approach
For a 6 DOF manipulator, the kinematic model is described by the equation
T 0
n 6
T q1 T
0
1
1
2
q2 T n 6
n 15 qn 6
equivalent to 12 equations in the 6 unknowns qi , i = 1, . . . , 6.
Example: spherical manipulator (only 3 DOF)
Since both the numerical values and the structure of the intermediate
matrices are known, then by suitable pre- / post-multiplications it is possible
to obtain equations
1
T q1 T
0
1
1
2
q2 T i
i 1 qi T Ti
0
n i 1
qi 1 T qi 2
i2
i 1 Tn
n 1 qn
There will be 12 new equations for each i, covering the range 1 to n.
Then, by selecting the most simple equations among all those obtained, it
might be possible to obtain a solution to the problem. 8
The other way: use geometry
It may be possible to exploit considerations
related to the geometrical structure of the
manipulator
Example 1: the 2 DOF arm
9
Analytical Inverse Kinematics of a 2 DOF Arm
Geometric approach
10
Analytical Inverse Kinematics of a 2 DOF Arm
11
Analytical Inverse Kinematics of a 2 DOF Arm
12
Analytical Inverse Kinematics of a 2 DOF Arm
13
Analytical Inverse Kinematics of a 2 DOF Arm
14
Analytical Inverse Kinematics of a 2 DOF Arm
15
Analytical Inverse Kinematics of a 2 DOF Arm
Partial results
16
Analytical Inverse Kinematics of a 2 DOF Arm
Solution for positive angle q2
Not independent!
17
Analytical Inverse Kinematics of a 2 DOF Arm
Case of negative angle q2
18
Analytical Inverse Kinematics of a 2 DOF Arm
Solve for q1
19
Analytical Inverse Kinematics of a 2 DOF Arm
Solution for negative angle q2
20
Analytical Inverse Kinematics of a 2 DOF Arm
21
The other way: use geometry
It may be possible to exploit considerations
related to the geometrical structure of the
manipulator
Example 2: the 3 DOF planar arm
22
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
23
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
Apply DH algorithm:
a2
a1 d3
24
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
Kinematic parameters from DH algorithm:
Articulated robot → q = θ
25
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
26
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
27
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
Combine tool-tip position and tool orientation into a
tool-configuration vector w
28
(tool-configuration)
Describing the orientation with a matrix is redundant
r3 is the third column of R
Tool roll angle qn:
29
Inverse Kinematics of a 3 DOF
Planar Articulated Robot
30
Is a generalization possible?
Yes! The PIEPER APPROACH (1968)
Many industrial manipulators have a kinematically
decoupled structure, for which it is possible to
decompose the problem into two (simpler) sub-
problems:
1) Inverse kinematics for the position
p = (x, y, z) → q1, q2, q3
2) Inverse kinematics for the orientation
R → q4, q5, q6.
31
The Pieper Approach
Given a 6 DOF manipulator, a sufficient condition to
find a closed form solution for the IK problem is that the
kinematic structure presents:
1. three consecutive rotational joints with axes
intersecting in a single point, or
2. three consecutive rotational joints with parallel axes.
32
The Pieper Approach
In many 6 DOF industrial manipulators, the first 3 DOF
are usually devoted to position the wrist, that has 3
additional DOF give the correct orientation to the
end-effector.
In these cases, it is quite simple to decompose the IK
problem in the two subproblems (position and
orientation).
33
The Pieper Approach
In case of a manipulator with a spherical wrist, a natural
choice is to decompose the problem in
A. IK for the point pp (center of the spherical wrist)
B. solution of the orientation IK problem
Therefore:
6
1) The point pp is computed since T0 is known
(submatrices R and p): pp = p − d6a
pp depends only on the joint variables ( q1 , q2 , q3 );
2) The IK problem is solved for (q1 , q2 , q3 ) ;
3
3) The rotation matrix R 0 related to the first three joints
is computed;
4) The matrix R 3 R 0 R is computed;
T
6 3
5) The IK problem for the rotational part is solved (Euler) 34
Solution of the spherical manipulator [1]
Direct kinematic model:
T
0
3
3
If the whole matrix T 0
is known, it is possible
to compute:
Unfortunately, according to the Pieper approach, only p is known!
35
Solution of the spherical manipulator [2]
We know only the position vector p
We have
1 1
T T
0 0
3
T T
2 3
1 2
36
Solution of the spherical manipulator [3]
By equating the position vectors
The vector depends only on θ2 and d3. Let’s define
Then
By substitution in the last element of
Two possible solutions!
of course:
Then
37
Solution of the spherical manipulator [4]
Since
From the first two elements
from which
Finally, if the first two elements are squared and added together
38
Solution of the spherical manipulator [5]
Note that two possible solutions exist considering the position of
the end-effector (wrist) only. If also the orientation is considered,
the solution (if it exists) is unique.
We have seen that the relation must hold:
39
Solution of the spherical manipulator [5]
Note that two possible solutions exist considering the position of
the end-effector (wrist) only. If also the orientation is considered,
the solution (if it exists) is unique.
We have seen that the relation must hold:
40
Solution of the spherical manipulator [6]
Numerical example: Given a spherical manipulator with d2 = 0.8 m
in the pose
We have:
T
0
3
3
The solution based on the whole matrix T 0 is:
The solution based on the vector p gives:
41
Solution of the spherical manipulator [7]
42
Solution of the 3 DOF anthropomorphic arm [1]
From the kinematic structure, one obtains
Concerning θ2 and θ3, note that the arm
moves in a plane defined by θ1 only
We obtain
Moreover, by geometrical arguments, it is possible to state that:
43
Solution of the 3 DOF anthropomorphic arm [2]
Note that also the following solution is valid
Then, FOUR possible solutions exist:
shoulder right - elbow up; shoulder right - elbow down;
shoulder left - elbow up; shoulder left - elbow down;
Same position, but different orientation!
Note that the conditions px ≠ 0, py ≠ 0 must hold (o.w. singular configuration) 44
Solution of the spherical wrist [1]
Let us consider the matrix
From the direct kinematic equations one obtains
45
Solution of the spherical wrist [2]
The solution is then computed as (ZYZ Euler angles):
46
Solution of the spherical wrist [3]
Numerical example: Let us consider a spherical wrist in the pose
Then
Therefore, if
• Note that the PUMA has an anthropomorphic structure (4 solutions)
and a spherical wrist (2 solutions):
⇒ 8 different configurations are possible!
47
STANFORD MANIPULATOR
48
Stanford manipulator IK [1]
We need the forward kinematics:
49
Stanford manipulator IK [2] 2015
50
The Inverse Kinematics Problem
Search “around” for your robot of interest!!
(or part of robot)
The secret: Use well known robots!!
(it was mentioned in the introduction: “…for the most common
kinematic structures, a scheme for obtaining the solution has been found”)
51