Uploaded by RESEARCH TECH 10

Chapter 4 0

advertisement
Chapter 4: Inverse Kinematics
ROBOTICS
Outline:
•
•
•
•
•
Introduction
Solvability
Manipulator subspace when n<6
Algebraic vs. Geometric
Example: Kinematics of PUMA Robot
1
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
2
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
r
21
0

T

n
 r31

0
r12
r13
r22
r23
r32
r33
0
0
Px 
Py 

Pz 

1
12 values  find 1 ,1 ,..., n
12 equations and 6 unknowns,
rotation part (r11 … r33), only 3 independent
Faculty of Engineering - Mechanical Engineering Department
3
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
r
21
0

T

n
 r31

0
r12
r13
r22
r23
r32
r33
0
0
Px 
Py 

Pz 

1
12 values  find 1 ,1 ,..., n
12 equations and 6 unknowns,
rotation part (r11 … r33), only 3 independent
Faculty of Engineering - Mechanical Engineering Department
4
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
5
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.): (Figure)
– 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
6
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.
8
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.
9
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 10a
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
11
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.
12
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
13
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
14
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics
ROBOTICS
Solvability: (Method of Solution)
Recall:
Nonlinear
equations
A manipulator is
solvable
no direct method /
algorithm for solving
for a given position and orientation
the algorithm can find all the sets of
joint variables
Numerical methods are dismissed as
they converge to local solution
15
Faculty of Engineering - Mechanical Engineering Department
Chapter 4: Inverse Kinematics
ROBOTICS
Solvability: (Method of Solution)
• Two types of solutions:
– Closed form solutions
– Numerical solutions:
16
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
17
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
Out of our
scope
18
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!
19
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.
20
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.
21
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)
22
Faculty of Engineering - Mechanical Engineering Department
ROBOTICS
Chapter 4: Inverse Kinematics
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:
Find the subspace of the following robot,
(x,y)
1
Faculty of Engineering - Mechanical Engineering Department
23
ROBOTICS
Chapter 4: Inverse Kinematics
The notion of a manipulator subspace (n<6)
Solution:
This can be done in two ways:
0
1
2
T
(

),
T
(

),
1) Find 1 1 2 2 3T (3 )
B
0
0
1
2
T
(

,

,

)

T

T
(

)

T
(

)

Then W 1 2 3 3
1
1
2
2
3T ( 3 )
c123
s
123
B

T

W
 0

 0
 s123
c123
0
0
0 l1c1  l2 c12 
0 l1s1  l2 s12 

1
0


0
1


(x,y)
1
24
Faculty of Engineering - Mechanical Engineering Department
ROBOTICS
Chapter 4: Inverse Kinematics
The notion of a manipulator subspace (n<6)
Solution:
2) Or, use (x,y,) to calculate WBT , as follows,


B ˆ

B ˆ
B ˆ
B
X
Y
Z
P
B
W
W
OB ,OW 
 W
T

W




0
0
1 
 0
cos( ) 
  sin( ) 
B ˆ
X W   sin( )  BYˆW   cos( ) 




 0 
 0 
0 
 x
B ˆ
ZW  0  B POB ,OW   z 
 
 
1 
 0 
Faculty of Engineering - Mechanical Engineering Department

(x,y)
1
25
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 ˆ
 

B ˆ
B ˆ
B
sin(

)
cos(

)
0
y
X
Y
Z
P
B
W
W
OB ,OW 
 W

T


W

  0
0
1 0

 

0
0
0
1
0
0
0
1


 
cos( ) 
  sin( ) 
B ˆ
X W   sin( )  BYˆW   cos( )  Any wrist frame that does not




B
have
the
structure
of
 0 
 0 
WT lies
outside the subspace of this robot
0 
 x
 and so lies outside of its W.S.
B ˆ
ZW  0  B POB ,OW   y 
 
 
26
VERY
IMPORTANT
1 
 0 
B
Only
3
ind.
para.
must
appear
in
WT
Faculty of Engineering - Mechanical Engineering Department
ROBOTICS
Chapter 4: Inverse Kinematics
The notion of a manipulator subspace (n<6)
Example:
Give the description of the
subspace of WBT for the
following 2 three-link robot
0
PO0 ,O2
 x
  y
 
 0 
Yˆ0
O0
Ẑ 2 is a unit vector in the
direction of 0 PO ,O
0
Zˆ 2 
0
PO0 ,O2
0
PO0 ,O2
0
X̂ 0
O2
2
Faculty of Engineering - Mechanical Engineering Department
(x,y)
X̂ 2
Ẑ 2
27
ROBOTICS
Chapter 4: Inverse Kinematics
The notion of a manipulator subspace (n<6)
0
0 ˆ
Y2   0 
 
 1

y
x
0 ˆ
i
X 2  (k )  
2
2
 x2  y 2
y

x

y
x
0 ˆ
i
j
X2 
2
2
2
2
x y
x y
y


 2
2 
y

x


 x 
0 ˆ
X2  

2
2
 x y 


0





j


Yˆ0
O0
X̂ 0
Faculty of Engineering - Mechanical Engineering Department
O2
(x,y)
X̂ 2
Ẑ 2
28
ROBOTICS
Chapter 4: Inverse Kinematics
The notion of a manipulator subspace (n<6)
y

 2
2
x

y

 x
0
2T  
2
2
 x y

0

0

0
0
x
x2  y 2
y
x2  y 2
1
0
0
0

x


y

0

1 
2-DoF  only 2 ind. parameters
appear in the previous equation
(x,y)
Yˆ0
O0
X̂ 0
O2
(x,y)
X̂ 2
Faculty of Engineering - Mechanical Engineering Department
Ẑ 2
29
ROBOTICS
Chapter 4: Inverse Kinematics
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 
B


WT 
0
1 0
0


0
0
0
1


– Also from the DH parameters of this robot
c123
s
123
B

T

W
 0

 0
 s123
c123
0
0
0 l1c1  l2 c12 
0 l1s1  l2 s12 

1
0


0
1

Faculty of Engineering - Mechanical Engineering Department

(x,y)
1
30
ROBOTICS
Chapter 4: Inverse Kinematics
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 
B


WT 
0
1 0
0


0
0
0
1


– Also from the DH parameters of this robot
c123
s
123
B

T

W
 0

 0
 s123
c123
0
0
0 l1c1  l2 c12 
0 l1s1  l2 s12 

1
0


0
1

Faculty of Engineering - Mechanical Engineering Department

(x,y)
1
31
ROBOTICS
Chapter 4: Inverse Kinematics
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 
B


WT 
0
1 0
0


0
0
0
1


– Also from the DH parameters of this robot
c123
s
123
B

T

W
 0

 0
 s123
c123
0
0
0 l1c1  l2 c12 
0 l1s1  l2 s12 

1
0


0
1

Faculty of Engineering - Mechanical Engineering Department

(x,y)
1
32
ROBOTICS
Chapter 4: Inverse Kinematics
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
  c2 
2l1l2
Two possible solutions!
x 2  y 2  l12  l22
Note that if
 1  A solution exists
2l1l2
Faculty of Engineering - Mechanical Engineering Department
1
33
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
1
3
0
0  0T  PO0 ,O3  3T  PO3 ,O3
 
 
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 ) 

2
 A tan 2( a, b)  1  A tan 2( a, b)  A tan 2( x, y )
34
?
Faculty of Engineering - Mechanical Engineering Department
ROBOTICS
Chapter 4: Inverse Kinematics
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
c2 
2l1l2
cos(180   )   cos( )
2
35
Faculty of Engineering - Mechanical Engineering Department
Download