Path Control in Robotics
ME 4135
Lecture series 8
Richard R. Lindeke, Ph. D.
Motion Types of Interest
Point
–
to
–
Point Motion:
All Axes start and end simultaneously
All Geometry is computed for targets and relevant Joint
changes which are then forced to be followed during
program execution
Path or Trajectory Controller Motion
Here the motion is performed through a time sequence
of intermediate configurations computed ahead of time
(like above but without stop

start operation) or in real
time
Paths are “Space Curves” for the n

Frame to follow
This motion is a continuous scheme to move the TCP
from one location to the next along a desired (straight or
curved) line under direct operational control
Path Control and Motion
Types:
We will explore the following types of Motion:
Lead Through Path Creation
(Cubic) Polynomial Paths w/ Via Points
Minimum Time Trajectory w/ controlled Acceleration
Lower order Path

Poly Control
LSPB Paths
Craig’s Method for acceleration smoothing
Strict Velocity Control
Joint Interpolated Control
Full Cartesian Control
Basically this was a technique whereby a skilled operator took a
robot arm (for welding or painting) and used it like his/her weld
tool or paint sprayer and performed the required process at
reasonable speed
The robot is equipped with a position recording device and
memorizes a large number of points during the teaching session
These learned points then would be “played back” to replicate
the skilled operators motions
Lead Through Path Creation
Lead Through Path Creation
Advantages:
Simple way to create complex paths
All points are sure to be physically attainable
Playback speed can be controlled by an
external device
Disadvantages:
Precision placements are required (program
must be replayed at exactly the initial
placement)
Major concern with operator safety: robot is
powered and operator is physically touching it
(OSHA rules it unsafe practice!)
Modern Path Control:
(Lets look at a simple example)
Dr. D’s new ‘Self

powered Automated Coffee
Drinker’ Robot
It is a simple cantilevered Cartesian device
equipped with a spherical wrist that responds to
eye movement and thoughts to help the
overworked design engineer get coffee while
designing and drafting & typing of Reports
It follows a straight line path from the cup’s
point on a table to the worker’s mouth in ½
second
Lets look at a simple example:
Lets look at a simple example:
We see that the ‘Bot must travel a space path
of 16.45” which can be decomposed into a
movement of 9.5” along each of the prismatic
joints
For ‘accuracy’ lets divide each of the these
joint paths into 100 segments
From Physics: V
joint
d/
t =
(9.5/100)/(.5/100) = 19in/second (a
reasonable speed!)
Lets look at a simple example:
During the 1
st
Step then:
Joint 1 starts at 0 and moves to 0.095”
Moves there in 0.005 seconds
How will it do it?
Of course by Accelerating from a stop to 19 in/sec in
0.005 seconds
Compute Acc
reqr
V/
t
Darn
–
this says that
the acceleration is
3800in/sec
2
–
this is
10G!!!!!
Lets look at a simple example:
So this will certainly be difficult to accomplish!
(more likely it will not work)
OSHA would be just as upset as when we had the
worker holding on to the powered robot
–
what
should we do?
I think our approach is too naïve!
If we examine the Pos vs. Time, Vel Vs. Time and
Acc vs. Time plots we may see why:
Look at a simple example’s
Trajectory Curves:
This is Physically Impossible (or
rather ‘very energy intensive’)
Can we build a reasonable solution that
keeps the acceleration to an achievable
level?
What this would mean is we wouldn’t
“instantly”
–
in one time step
–
go from
stopped to full speed
This can be achieved with a “time
polynomial” model of motion
Building a ‘Path Polynomial’
Motion Set
These are the ‘trajectory’
equations for a joint (Position,
Velocity and Acceleration)
Solving the ‘Path Polynomial’ is a matter of
finding a
i
’s for
SPECIFIC PATHS
We would have “boundary” conditions
for position and velocity at both ends of
the path
We would have the desired total time of
travel
Using these conditions we can solve for
a
0
, a
1
, a
2
and a
3
to build a 3
rd
order path
polynomial for the required motion
Solving the ‘Path Polynomial’ is a
matter of finding a
i
’s for specific paths
‘Poly’s’ holding at
starting time and
position
‘Poly’s’ holding at
ending time and
position
Solving the ‘Path Polynomial’ is a
matter of finding a
i
’s for specific paths
Writing these as Matrix Forms:
Solving the ‘Path Polynomial’ is a
matter of finding a
i
’s for specific paths
If we set t
0
= 0 (starting time is when we
start counting motion!) then:
By examination, a
0
= q
0
& a
1
= q
0
(dot)
Solving the ‘Path Polynomial’ is a
matter of finding a
i
’s for specific paths
Completing the solution consists of forming
relationships for: a
2
& a
3
Done by substituting
a
0
&
a
1
values and solving the
last two equation simultaneously:
Be Careful and
note the order of
the positions and
velocities!
Applying it to the Coffee ‘Bot
Start: X = 0; v = 0 @ time = 0
End: X = 9.5”; v = 0 @ time = .5 sec
a0 = 0 ; a1 = 0
a2 = (3 * 9.5)/(0.5
2
) = 114
a3 = (2 *(

9.5))/(0.5
3
) =

152
Applying it to the Coffee ‘Bot
Here (specifically):
Applying it to the Coffee ‘Bot
Simplifying:
Applying it to the Coffee ‘Bot:
Position
Position vs. Time
Applying it to the Coffee ‘Bot:
Velocity
Joint Velocity Vs. Time
Applying it to the Coffee ‘Bot:
Acceleration
Acceleration Vs. Time
Applying it to the Coffee ‘Bot
Using the Path Polynomial Approach:
Max Velocity is: 28.5 in/sec (compares to 19 in/sec)
Max Acceleration is: 228 in/sec
2
(.6 g) compared to
10 g
But, in this method, I require a 100% duty cycle
motor since throughout the entire path, the motor
is accelerating (either with positive or negative
orientation)
Can we make a path solution where we accelerate
for only part of the path?
Turns out we can and
we will call it LSPB!
Studying the LSPB model
In this model, we will carry forward with a
‘parabolic model’
In this model, we will determine a time where we
will blend from startup until we reach a constant
velocity
–
(and its greater than 1/100 of the total
time!)
Here we will see an acceleration followed by a
period of “coasting” and then deceleration (often
called a trapezoidal velocity model)
Model Building:
We must define an acceleration constraint (minimum value)
such that the acceleration guaranteed to be completed
within half of the allocated time period of the travel:
This assures
that there is
no overlap for
the ‘BLEND
Regions’
Looking at the motion over the
various regions:
During Region 1 (while the joint is Accelerating)
(time interval 0 to t
blend
[t
b
]) the Joint moves:
q = (V/2)*t
b
t
b
is the acceleration time
During the region of ‘Constant Velocity’ the Joint
moves: q = V*(t
–
2t
b
)
During Region 3

while the joint is decelerating
the joint moves: q = (V/2)*t
b
Total travel distance is q
B

q
A
Writing a motion equation:
Substituting and Isolating the
Unknown
(blend time)
:
This is a quadratic equation in t
b
Solving for t
b
:
Note:
Acceleration is
subject to above
constraint
Applying it to the Coffee ‘Bot
Acceleration constraint:
Blend time:
Applying it to the Coffee ‘Bot
t
linear
=.5
–
2*0.159 = 0.181 s
Linear Velocity:
Positions:
By t
b
, Joint moves: (27.89/2)*.159 = 2.222 in
During linear velocity joint moves: 0.181*27.89 =
5.055 in (thus the pos = 7.277”)
During deceleration joint travels 2.222 in
Adding them gives full travel distance: 2.222 +
5.055 + 2.222 in
9.5in
Plotting the Path trajectory:
Notice: the
accelerator is
‘off’ during the
linear travel
segment
The 2 Previous Path Control Methods
focused on Start/Stopping Approaches
What can we do if we desire to travel by ‘G12’ methods
–
continuing along a path w/o stopping?
Here we will focus on a method called ‘dog

tracking’
after the lead and follow techniques employed in dog
racing
Essentially we would have a situation where the path is
laid out (as a series of Via Points) and the joints
smoothly maneuver through and between them
Craig’s Dog Tracking Method
Craig’s Dog Tracking Method
Upon Examination of the motion, we find that
there are three ‘regimes’ in the motion
These are:
Start up regime
Intermediate regimes
Stopping regime
Starting and Stopping are similar to LSPB in
the way they compute blend time and
acceleration
During an Intermediate regime we compute
acceleration by comparing incoming and
outgoing velocities about each point
Craig’s Dog Tracking Method
Starting regime Equations:
Start Acceleration
Start Blend
Time
Linear Velocity 1
→2
Time @ linear Velocity
Craig’s Dog Tracking Method
Stopping Equation:
Stop ‘acceleration’
Stop Blend
Time
L. Velocity to stop
Time @ L. Velocity
Craig’s Dog Tracking Method
Intermediate Equations:
Linear Velocity
Acceleration
Blend time
Time @ L. Velocity
Upon examination of the set of equation on
the previous 3 slides several point should be
noted:
Start and Stop are essentially the same but
very
important differences
must be noted
One can’t complete any of the regimes without
looking ahead
–
actually looking ahead to the 2
nd
point beyond to see if a joint is stopping or continuing
Start/Stop require
position/
time relationships
Intermediate regimes require
velocity/
time
relationships
Craig’s Dog Tracking Method
Craig’s Dog Tracking Method
Step 1: Calculate Global ‘usable’
acceleration (magnitude) constraint
based on LSPB model applied
Pairwise (1
→
2; 2
→
3; etc)
Step 2: Focus on
Start
and
Stop
Segments
Step 3: Complete the table of
accelerations, blend times, linear
velocity and time at linear velocity
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
Point
Name
Position
(inch)
Delta
Position
(inch)
Arrival
Time
(sec)
Delta
Time
(sec)
A
0
0


B
9.5
9.5
0.5
.5
C
11
1.5
3.5
3
D
9.5

1.5
6.5
3
E
0

9.5
7.5
1
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
Step 1: Global Acc. Constraint
This is largest
–
should work globally
–
but lets make sure
it doesn’t miss so
choose 200ips
2
‘
cause it’s easier to
calculate and is only
about .6g
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
Next we focus on the start & stop equations:
Starting
Stopping
NOTE:
can’t
compute t
lij
yet
–
we
lack the
data!
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
Considering Intermediate B
→
C
:
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
On to “C
→
D” Segment
Lets Expand on Dr. D’s Coffee
Drinker ‘Bot:
Now for Segment D
→
E:
Summarizing
Pt
POS
T.
Time
POS
time
T
i
(blend)
Acc
L. Vel
Time
@L.
Vel
A
0
0


.106
+200
21.3
.342
B
9.5
.5
9.5
.5
.103

200
.5
2.946
C
11
3.5
1.5
3
.005

200

.5
2.974
D
9.5
6.5

1.5
3
.046

200

9.74
.928
E
0
7.5

9.5
1
.049
+200
A Final Thought on Dog

Tracking:
But if we
must
travel
over a certain point,
we can define
‘Pseudo

Via’ points
that flank the desired
target and force the
arm to pass the
‘pseudos’ and drive
right over the original
desired target point
Looking at Velocity Control
Achievable
Path
Desired
Path
With this “Velocity Control”
The acceleration is set and the new velocity for an
upcoming segment is inserted at the appropriate
time (place)
Over the segment, the arm (joints) lags the desired
path
We extend the next path velocity curve to intersect
the actual achievable path (to a point that is earlier
in time than when we would have expected to
change) this will mean that the joint can ‘catch up’
to the desired plan for the travel as it ‘blends’ to the
new velocity
Comments 0
Log in to post a comment