You are on page 1of 52

Chapter 4: Inverse Kinematics ROBOTICS

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Introduction:
• Direct kinematics:
Given the joint angles  calculate the position and
orientation of the tool {T} relative to the station {S}
• Inverse kinematics:
Given the desired position and orientation of the tool {T}
relative to the station {S}, how to calculate the set of joint
angles that give the desired result?
– Find {W} from {T}; WTT
Find {B} from {S}; BST

– Solve WBT for joint angles

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability:
• Nonlinear problem: solve WBT  0nT (1 ,1 ,..., n ) to find the
values of
• Linear and nonlinear problems?
• Ex.: Puma manipulator
 r11 r12 r13 Px 
r r22 r23 Py 
0
T   21  12 values  find 1 ,1 ,..., n
 r31 Pz 
n
r32 r33
 
0 0 0 1

12 equations and 6 unknowns,


rotation part (r11 … r33), only 3 independent

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability:
• Nonlinear problem: solve WBT  0nT (1 ,1 ,..., n ) to find the
values of
• Linear and nonlinear problems?
• Ex.: Puma manipulator
 r11 r12 r13 Px 
r r22 r23 Py 
0
T   21  12 values  find 1 ,1 ,..., n
 r31 Pz 
n
r32 r33
 
0 0 0 1

12 equations and 6 unknowns,


rotation part (r11 … r33), only 3 independent

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability:
 3 independent equations for the orientation and 3
independent equations for the position
Nonlinear equations that are difficult to solve.
– Note that these were for simple links α = 0, 90, -90, … and many
(d & a) = 0.
– General case (α, d, & a) have other nonzero values
More complex case.
We must concern on
– Existence of solution?
– Multiple solutions?
– Method of solution?

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Existence of Solutions :
• Workspace is that volume of space that the end-effector of the
manipulator can reach. For a solution to exist, the specified
goal point must lie within the workspace.
• Dextrous workspace is that volume of space that the robot
end-effector can reach with all orientations. That is, at each
point in the dextrous workspace, the end-effector can be
arbitrarily oriented.
• Reachable workspace isthat volume of space that the robot
can reach in at least one orientation. Clearly, the dextrous
workspace is a subset of the reachable workspace.
6

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Existence of solution)


• Existence of solution : Existence or nonexistence of a
solution defines the workspace of the manipulator.
• Workspace (W.S.):
The volume of the space that the E.E. of the robot can reach.
– A solution to exist  the desired position & orientation (goal)
must lie in the W.S.
• Two types of workspaces:
– Dextrous W.S.: volume of the W.S. in which the E.E. can reach
with all the orientations.
– Reachable W.S.: volume of the W.S. in which the E.E. can reach in
at least one orientation.
 Dextrous W.S. is a subset of the reachable W.S.
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Existence of solution)


• Example: if l1 = l2 determine the dextrous and reachable
W.S.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Existence of solution)


• Example: if
l1 = (l2/2)
0  1  90
0   2  180
determine the dextrous and
reachable W.S.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Existence of solution)


• Factors that affect the W.S. of a robot:
– Limitations on joint angles
Generally: min < θi < max. Most of the robots have limitations on
their joint angles.
 The W.S. is reduced; this may affect the attained positions or the
number of orientations for the attained position.
• Ex.: for the previous sketch 0 ≤ θi ≤ 180 sketch the W.S.
 The same positions can be reached, however in only one orientation.
– Limitations on the number of DoF:
A 3D-space goal is not attainable by a manipulator of DoF < 6.
For the manipulator of the previous example can not attain a
position of nonzero z-value.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Multiple Solutions)


• The manipulator can reach the goal with different
configurations. Ex. The planar 3DoF manipulator shown
can reach any goal in the dextrous W.S. in more than one
way.
•  (Problem) the system should be able
to calculate all and choose one.
1) A good choice can be based on
minimizing the amount that each joint
is required to move. Which is almost
the same as choosing the solution
“closest” to the current configuration.
Must be investigated. (energy, path,…)
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Multiple Solutions)


• The manipulator can reach the goal with different
configurations.
Ex. The planar 3DoF manipulator shown can reach any goal in the
dextrous W.S. in more than one way.
•  (Problem) the system should be able
to calculate all and choose one.
2) In the case of the existence of an
obstacle  the configuration free of
obstacles is chosen.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Multiple Solutions)


• Factors that affect the number of solutions:
a) The number of joints (DoF).
b) the range of motion of the joint.
c) DH parameters (ai, αi, θi, di):
(the number of nonzero DH parameters ↑  the number of
solutions ↑).
Example:
For a general 6 rotational joints robot there is a direct relation
between # of nonzero ai and the # of solutions

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Multiple Solutions)


• “For a completely general rotary-jointed manipulator with
six degrees of freedom, there are up to sixteen solutions
possible”
• Example:
the Puma robot has 8
different solutions for
general goals

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


Recall:
Nonlinear no direct method /
equations algorithm for solving

for a given position and orientation


A manipulator is
the algorithm can find all the sets of
solvable
joint variables

Numerical methods are dismissed as


they converge to local solution

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


• Two types of solutions:
– Closed form solutions
– Numerical solutions:

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


• Two types of solutions:
– Closed form solutions
– Numerical solutions:
• Iterative  much slower
• Need initial guess
• Converge to local solutions

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


• Two types of solutions:
– Closed form solutions
– Numerical solutions:
• Iterative  much slower Out of our
• Need initial guess scope
• Converge to local solutions

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


• Two types of solutions:
– Closed form solutions:
Solution method based on analytic expressions or on the
solution of four degrees polynomial or less (no need for iterative
methods to reach a solution).
– all systems with revolute and prismatic joints having a total of a
six DoF in a single series chain are now solvable (numerically).
– Analytical solution is for special cases only:
• Several intersecting joint axes
• Many i equal to zero or 90
– Closed form solution for the robot is a very important designer
objective!

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Solvability: (Method of Solution)


• Two types of solutions:
– Closed form solutions:
A condition for closed form solution of a six rev. joints robot is
that three consecutive joint axes intersect at a point (most of
the new robots). Pieper presented an approach for solving the
inverse kinematic of a robot of such condition. See the book for
more information.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


• A manipulator that has # DoF<6 has a workspace lower
than the workspace of a 6-DoF robot of the same topology,
i.e. its workspace is a portion or a subspace of higher DoF
robot.
• A 6-DoF workspace is a subset of space.
• A lower DoF robot workspace is a subset of its subspace.
Which is also a subset of a 6-DoF robot subspace of the
same topology.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


Example:
The subspace of the two links robot is the plane (x,y), its
W.S. is a subset of the plane: circle of radius L1+L2
(reachable)

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


• A way to specify the subspace of a robot is from the
expression of its wrist/tool frame (position and orientation
relative to the base frame) as a function of the variables of
the robot.
B
i.e. WT as a function of any independent parameters.

Example: (x,y)

Find the subspace of the following robot,


1

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


Solution:
This can be done in two ways:
1) Find 1 1 2 2 3T (3 )
 
0 1 2
T ( ), T ( ),
B
T (
Then W 1 2 3 3 ,  ,  )  0
T  0
1T (1 )  1
2T ( 2 )  3T ( 3 )
2

 s123 0 l1c1  l2 c12  


c123
s c123 0 l1s1  l2 s12 
(x,y)

B
T   123 
 0 
W
0 1 0
 
 0 0 0 1 
1

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


Solution:
2) Or, use (x,y,) to calculate WBT , as follows,
 
B ˆ 
 XW YˆW
B B
ZˆW B
POB ,OW 
WT 
B
 
 

 0 0 0 1 
cos( )    sin( ) 
(x,y)

X W   sin( ) 
B ˆ
YW   cos( ) 
B ˆ
   
 0   0 
0   x 1

ZW   0 
B ˆ B
POB ,OW   z 
   
1   0 

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


Solution:
2) Or, use (x,y,) to calculate WBT , as follows,
  cos( )  sin( ) 0 x 
B ˆ   
 W X B ˆ
Y B ˆ
Z B
POB ,OW 
sin( ) cos(  ) 0 y
B
T  W W
 
W
   0 0 1 0
   
 0 0 0 1   0 0 0 1 
cos( )    sin( ) 
X W   sin( )  BYˆW   cos( )  Any wrist frame that does not
B ˆ
    B
 0   0  have the structure of WT lies
0   x outside the subspace of thisB robot
ZW   0  B P
B ˆ   WT
  OB ,OW   y 
 and so lies outside of its W.S.
1   0 
VERY IMPORTANT
OnlyDepartment
Faculty of Engineering - Mechanical Engineering 3 ind. para. must appear in
Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


Example:
Give the description of the
subspace of WBT for the
following 2 three-link robot
 x
0
PO0 ,O2   y
 
 0  O0 Yˆ0
Ẑ 2 is a unit vector in the
direction of 0 PO ,O X̂ 0 O2
0 2
0
PO0 ,O2 (x,y)
0
Zˆ 2  0
PO0 ,O2 X̂ 2 Ẑ 2

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


0
Y2   0 
0 ˆ
 
 1

0 ˆ
 x y 
X 2  (k )   i j
 x2  y 2 2
 2 
 x y 
0 ˆ x y
X2  j i
x y
2 2
x y
2 2

O0 Yˆ0
 y 
 2 2 
 x  y 
0 ˆ
 x  X̂ 0 O2
X2   
 x y 
2 2
(x,y)
 0 
 
  X̂ 2 Ẑ 2
29
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics ROBOTICS

The notion of a manipulator subspace (n<6)


 y x 
 2 0 x
 x  y 2
x2  y 2 
 x y 
2T  
0
0 y
 x y x2  y 2
2 2

 0 1 0 0
 
 0 0 0 1 

2-DoF  only 2 ind. parameters


appear in the previous equation O0 Yˆ0
(x,y)
X̂ 0 O2
(x,y)

X̂ 2 Ẑ 2
30
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions


• Algebraic solution: (example 3-DoF robot)
– For this robot if (x, y, ) are known, then one can calculate
c   s  0 x 
s c 0 y 
WT 
B  
0 0 1 0
 
 0 0 0 1  
– Also from the DH parameters of this robot
(x,y
c123  s123 0 l1c1  l2 c12  )
s c123 0 l1s1  l2 s12 
B
T   123  1
 0 
W
0 1 0
 
 0 0 0 1 

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions


• Algebraic solution: (example 3-DoF robot)
– For this robot if (x, y, ) are known, then one can calculate
c   s  0 x 
s c 0 y 
WT 
B  
0 0 1 0
 
 0 0 0 1  
– Also from the DH parameters of this robot (x,y
)
c123  s123 0 l1c1  l2 c12 
s c123 0 l1s1  l2 s12 
B
T   123  1
 0 
W
0 1 0
 
 0 0 0 1 

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions


• Algebraic solution: (example 3-DoF robot)
– For this robot if (x, y, ) are known, then one can calculate
c   s  0 x 
s c 0 y 
WT 
B  
0 0 1 0
 
 0 0 0 1 
– Also from the DH parameters of this robot 

c123  s123 0 l1c1  l2 c12  (x,y)


s c123 0 l1s1  l2 s12 
B
T   123 
 0 
W 1
0 1 0
 
 0 0 0 1 

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions (Algebraic)


l12 c12  2l1l2 c1c12  l22c122  l12 s12  2l1l2 s1s12  l22 s122  x 2  y 2
l12  2l1l2 c1c12  2l1l2 s1s12  l22  x 2  y 2
Note that: 

c12  c1c2  s1s2 ; s12  s1c2  c1s2 (x,y)

l12  2l1l2 c2  l22  x 2  y 2


x 2  y 2  l12  l22 Two possible solutions!
  c2  1
2l1l2
x 2  y 2  l12  l22
Note that if  1  A solution exists
2l1l2

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions (Algebraic)


• Also, if we calculate01T and 13T , and taking into account that:
 x 0
 y 0  Note that
0
PO0 ,O3    , 3 PO3 ,O3    1 0
0 0  0T  PO0 ,O3  3T  PO3 ,O3
1 3

   
 
1 1 
From which one can obtain that:
xc1  ys1  l1  l2 c2  a
2 was already calculated
 xs1  yc1  l2 s2  b
Making use of the relation:

A tan 2(b, a)   A tan 2( a, b)  1  A tan 2( a, b)  A tan 2( x, y )
2

?
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics ROBOTICS

Algebraic VS. Geometric Solutions (Geometric)


• For a 3D robot decompose the spatial geometry of the arm
into several plane geometry.
• Example: planner robot (simpler case) Notes!
x 2  y 2  l12  l22 cos(180   )   cos( )
c2 
2l1l2

2

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

THE STANDARD FRAMES

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

THE STANDARD FRAMES


1. The user specifies to the system where the station
frame is to be located. This might be at the corner of a
work surface, as in Figure, or even affixed to a moving
conveyor belt. The station frame, {S}, is defined relative
to the base frame, {B}.

2. The user specifies the description of the tool being used


by the robot by giving the {T }-frame specification. Each
tool the robot picks up could have a different {T } frame
associated with it. Note that the same tool grasped in
different ways requires different {T }-frame definitions. {T }
is specified relative to {W}—that is, WT T .

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

THE STANDARD FRAMES


3. The user specifies the goal point for a robot
motion by giving the description of the goal frame,
{G}, relative to the station frame. Often, the
definitions of {T } and {S} remain fixed for several
motions of the robot. In this case, once they are
defined, the user simply gives a series of {G}
specifications.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Example workstation.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

THE STANDARD FRAMES


In many systems, the tool frame definition (W T T ) is constant (for
example, it is defined with its origin at the center of the fingertips).
Also, the station frame might be fixed, or might easily be taught by the
user with the robot itself. In such systems, the user need not be aware
of the five standard frames; he or she simply thinks in terms of moving
the tool to locations (goals) with respect to the work area specified by
station frame.

4. The robot system calculates a series of joint angles to move the


joints through in order that the tool frame will move from its initial
location in a smooth manner until {T} = {G} at the end of motion.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

REPEATABILITY AND ACCURACY


Many industrial robots today move to goal points that have
been taught. A taught point is one that the manipulator is
moved to physically, then the joint position sensors are read
and the joint angles stored. When the robot is commanded to
return to that point in space, each joint is moved to the
stored value. In simple “teach and playback” manipulators
such as these, the inverse kinematic problem never arises,
because goal points are never specified in Cartesian
coordinates. When a manufacturer specifies how precisely a
manipulator can return to a taught point, he is specifying the
repeatability of the manipulator.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

REPEATABILITY AND ACCURACY


Any time a goal position and orientation are specified in Cartesian
terms, the inverse kinematics of the device must be computed in order
to solve for the required joint angles. Systems that allow goals to be
described in Cartesian terms are capable of moving the manipulator to
points that were never taught—points in its workspace to which it has
perhaps never gone before. We will call such points computed points.

Such a capability is necessary for many manipulation tasks. For


example, if a computer vision system is used to locate a part that the
robot must grasp, the robot must be able to move to the Cartesian
coordinates supplied by the vision sensor. The precision with which a
computed point can be attained is called the accuracy of the
manipulator.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

REPEATABILITY AND ACCURACY


The accuracy of a manipulator is bounded by the repeatability. Clearly,
accuracy is affected by the precision of parameters appearing in the
kinematic equations of the robot. Errors in knowledge of the Denavit–
Hartenberg parameters will cause the inverse kinematic equations to
calculate joint angle values that are in error.

Hence, although the repeatability of most industrial manipulators is


quite good, the accuracy is usually much worse, and varies quite a bit
from manipulator to manipulator. Calibration techniques can be devised
that allow the accuracy of a manipulator to be improved through
estimation of that particular manipulator’s kinematic parameters.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
INTRODUCTION - Jacobian

We will examine the notions of linear and angular velocity of a rigid


body, and use these concepts to analyze the motion of a manipulator.

We also will consider forces acting on a rigid body, then use these ideas
to study the application of static forces with manipulators. It turns out
that the study of both velocities and static forces leads to a matrix entity
called the Jacobian of the manipulator, which will be introduced.

The field of kinematics of mechanisms will not be treated in great depth


here. For the most part, the presentation is restricted to only those
ideas which are fundamental to the particular problem of robotics.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Differentiation of Position Vectors

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Differentiation of Position Vectors

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Differentiation of Position Vectors

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Example of some frames in linear motion.

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Angular Velocity Vector

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Angular Velocity Vector

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS
Angular Velocity Vector

Faculty of Engineering - Mechanical Engineering Department


Chapter 4: Inverse Kinematics ROBOTICS

Faculty of Engineering - Mechanical Engineering Department

You might also like