Path Control: Linear and Near

Path Control: Linear and NearLinear Solutions
Slide Set 9:
ME 4135
R. Lindeke, PhD
Linear Path Control



Sometimes thought of as Cartesian Control
It is based on the idea of Transitions between
consecutive required geometries
These transitions are based on the solution of a
Drive Matrix:
D  r   T  r  Ra  r  Ro  r 
The matrices T(r), Ra(r), and Ro(r) are the translation,
rotation wrt Z and rotation wrt Y in transitioning from
Pinitial to Pfinal
Developing the Drive Matrix:



Given: P1 is (n1, o1, a1, d1)
And: P2 is (n2, o2, a2, d2)
Then:
 n1 n2

o1 n2

Dr  
 a1 n2

 0
*Derivation
n1 o2
n1 a2
o1 o2
o1 a2
a1 o2
a1 a2
0
0
n1  d 2  d1  

o1  d 2  d1  
a1  d 2  d1  

1


is found in Paul’s Reference: pgs 139 - 151
Cartesian Control



It is used when very exact
interaction is required
It ‘guaranties’ accurate tool
placement at all times
It is typically used in time
dependent solutions – like
interaction while a product
is moving
Cartesian Control
NOTE: On the
conveyor, the H-frame
is a time dependent
pose in C (conveyor
space)
Cartesian Control



We desire to attach the “Quality Tag” to the
part as it moves by the robot station
Requires that the part and robot tool must be
in exact contact throughout the attachment
process
This becomes a ‘Time-based’ Mapping
problem
Cartesian Control

At Time 1 (P1):
n
o
T

 t1   T
 T 
o 1
R
R 1
U
C
U
H
C
T T
 t1  T
P
H
Tar
P
T
At Time 2 (P2):
n
o
T
 t2   T
 T 
o 1
R
R 1
U
C
U
H
C
T T
 t2  T
P
H
Tar
P
T
T 
MW
n
T 
MW
n
1
1
Cartesian Control



Using these two (time-dependent) Poses, we
can build the desired drive matrix
We can compute the accuracy of the path
then as a series of changes to the three
control vectors: a, o and d
These are updated in real time
Cartesian Control

Problems that can result (and must be accounted for):


Intermediate points that are unreachable – After we compute
the initial and final points (that prove to be reachable as
individuals), we request the tracking of a, o and d vectors but
they exceed joint capabilities or require positions outside the
work envelope during the driving action
In certain situations where only certain solutions are
possible for the robot, like being near singularities, the
desired linear velocity may require very high joint velocities –
exceeding capabilities – and the path actually followed will
deviate from the one desired as the joints run at their
velocity limits
Near Cartesian (Joint Interpolated)
Control



This is a semi-precise control method developed
as a compromise between full-Cartesian and
point-to-point motion
Basically it is used when a process needs to be
held within a ‘band’ about an ideal linear path –
for example during painting or bar-code scanning
The path is designed to ‘track’ the work as it
moves and maintains no more than a given “focal
distance” separation between the tool and work
surface

It is a path that is close to the target path at all
poses but exact only at a few!
Joint-Interpolated Control




Step 1: determine the desired path
Step 2: Compute the tolerable error and the
number of points (‘VIAs’) needed to maintain tool–
to–work distances
Step 3:Compute IKS’s at each of the Vias
Step 4: Determine “Move time” for each segment:
TSEGK

 qi  qi
1
 MAX  2
 i
 

each joint i
note: i is joint velocity
Joint-Interpolated Control

Step 5: Divide the Tseg into ‘m’ equal time
intervals:
Tseg  1
f sampling
where :
f sampling
is the controller positional sampling rate

m T
f
seg
sampling
Joint-Interpolated Control


Step 6: For each joint,
determine angular distance
during each time segment
tseg:
Step 7: at the beginning of
the nth step over a path,
joint i servo control receives
a target point:
qi / time
q


i2
 qi1

m
target = n  qi  qicurr
Joint-Interpolated Control


Implementing this method
begins with determination of
the distance between and
ultimately the number of Via’s
This is (really!) a simple
trigonometry problem based
on the offset distance and
error tolerance () at ‘closest
approach’
Joint-Interpolated Control -- Model
2
R
1
R2
2
R1
Note: R = R1 = R2
Robot
Base
Joint-Interpolated Control -- Model

Notice line #1, #2 and R1 form a right triangle
2
2
1  2  R12
2
2 R 1
2
1
2
But : 1  R  2
#2 is half the
distance
between Via
Points!

2  R   R  2 
2
1
2  4 R  4
2
2
R (= R1) is
taken at point
of closest
approach
between the
robot and
part!
Lets try one:

A Part 6m long moves by a stationary robot
on a conveyor moving at 0.04mps (counter
flowing) If we desire that the robot complete
its spraying in 15 seconds
–


Note, the robot must travel 5.4 m to spray
the side of the part nearest it since the part
moves during the painting operation.
At closest approach, the robot is 1.5 m from
the part and needs to have its sprayer 20
cm ( 5 cm) from the part.
From this data, the R value is: 1.5 - .20 +
.05 = 1.3 m
Lets try one:

Distance between Via’s is:
2  4 R    2
 4  1.3  .05  .05   .2575
2
2  0.507 m
distance between Via's is:
2  2  2  .507  1.015m

Therefore: The number of Via’s
–
–
= 5.4/1.015 = 5.32  6
plus the initial point = 6 + 1 = 7
Follow-up


What if we equally space the Via’s?
.5
2
Distance between is: 5.4/6 . 9  4  1.3  
2
= .9m (rather than 1.015m)
What is actual Error band? .452  5.4   2




Here we see it is: 4.01cm
Typically, we find that Joint
Interpolated solutions
provide better than desired
(or expected) process
control!
A Quadratic eqn. in  !
  1.3  .0506  0
2
  .0803 2 m
  .0401m  4.01cm