# Path Control in Robotics

AI and Robotics

Nov 2, 2013 (4 years and 8 months ago)

157 views

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

Simple way to create complex paths

All points are sure to be physically attainable

Playback speed can be controlled by an
external device

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

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

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