Sie sind auf Seite 1von 52

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
Craigs Method for acceleration smoothing
Strict Velocity Control

Joint Interpolated Control
Full Cartesian Control
Lead Through Path
Creation
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
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. Ds 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 cups
point on a table to the workers 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: Vjoint d/ t = (9.5/100)/(.5/100)


= 19in/second (a reasonable speed!)
Lets look at a simple
example:
During the 1st 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 Accreqr V/t Darn this says that
the acceleration is
3800in/sec2 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 nave!
If we examine the Pos vs. Time, Vel Vs. Time
and Acc vs. Time plots we may see why:
Look at a simple
examples 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
wouldnt 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

q t a0 a1t a2t a3t L


2 3

dq
q& t a1 2a2t 3a3t L
2

dt
2
d q
& t 2 2a2 6a3t L
q&
dt
These are the trajectory
equations for a joint (Position,
Velocity and Acceleration)
Solving the Path Polynomial is a
matter of finding ais 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 a0, a1, a2 and a3 to build a 3rd order
path polynomial for the required
motion
Solving the Path Polynomial is a
matter of finding ais for specific
paths
q0 a0 a1t0 a t a t
2
2 0
3
3 0 Polys holding at
starting time and

q&0 a1 2a2t0 3a t 2 position


3 0

q f a0 a1t f a t a t
2
2 f
3
3 f
Polys holding at
ending time and
q&f a1 2a2t f 3a t 2
3 f
position
Solving the Path Polynomial is a
matter of finding ais for specific
paths
Writing these as Matrix Forms:

1 t0 2
t
0 t3
0 a0 q0
2 q&
0 1 2t0 3t a1 0
0

1 tf tf 2
t 3
f
a2 q f

0 1 2t f 3t 2
f a
3 q&
f
Solving the Path Polynomial is a
matter of finding ais for specific
paths
If we set t0 = 0 (starting time is when
we start counting motion!) then:
1 0 0 0 a0 q0
0 1 0 0 q&
1 a 0

1 tf 2
tf tf
3
a2 qf
2
0 1 2t f 3t f a3 q&f
By examination, a0 = q0 & a1 = q0(dot)
Solving the Path Polynomial is a
matter of finding ais for specific
paths
Completing the solution consists of forming
relationships for: a2 & a3
Done by substituting a0 & a1 values and
solving the last two equation simultaneously:

a2
3 q f q0 t f 2q&0 q&f
Be Careful and t 2f
note the order of
the positions and
velocities!
a3
2 q 0 q f t f q&f q&0
t 3f
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.52) = 114
a3 = (2 *(- 9.5))/(0.53) = -152
Applying it to the Coffee
Bot
Here
(specifically):
qi 0 0ti 114t (152)t
i
2 3
i

q&i 0 2(114)ti 3(152)t i


2

q&
&i 2(114) 6( 152) t i
Applying it to the Coffee
Bot
Simplifying:

qi 114t 152t
i
2 3
i

q&i 228ti 456t i


2

q&
&i 228 912 t i
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/sec2 (.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: qB q A 4 qB q A
qmin
&&

2 2
t t
2
based on solving: This assures
Pos 1 qt & &2 that there is
2 no overlap for
at: t t (half time) the BLEND
2 Regions

we want: Pos =
qB q A
2
Looking at the motion over
the various regions:
During Region 1 (while the joint is Accelerating)
(time interval 0 to tblend [tb]) the Joint moves:
q = (V/2)*tb
tb is the acceleration time
During the region of Constant Velocity the Joint
moves: q = V*(t 2tb)
During Region 3 -- while the joint is decelerating
the joint moves: q = (V/2)*tb
Total travel distance is qB - qA
Writing a motion
equation:
qB q A q0tb qtb t tb q t tb t

qB q A V tb V t 2tb V tb
2 2
qB q A Vt 2Vtb Vtb Vt Vtb
BUT :
V qt
&&b
Substituting and Isolating
the Unknown (blend time):

qB q A qt
&& tb qt
&& 2
b

reforming:

&
qt2
b
&& tb qB q A 0
& qt

This is a quadratic equation in tb


Solving for tb:

t
b
qt
&& qt
&&
2
& q A qB
4q&
2q&
&

qt
& & qB q A
2
& 4q&
tb t
2 2q&
&
Note:
Acceleration is
subject to above
constraint
Applying it to the Coffee
Bot
Acceleration constraint:
gg 4 9.5 0
q 2
152in / sec 2
0.4 g
.5
gg
lets ' pick ' q 175in / sec 2

.25 175
2
4 175 9.5
Blend time:tb .25
2 175
1006.25
.25 .25 0.091
350
tb .25 0.091 .159sec
Applying it to the Coffee
Bot
tlinear=.5 2*0.159 = 0.181 s
Vlin q&
& tb 175 .159 27.89 in/sec
Linear Velocity:
Positions:
By t , Joint moves: (27.89/2)*.159 = 2.222 in
b

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
Craigs Dog Tracking
Method
Craigs 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
Craigs Dog Tracking
Method
Starting regime Equations:
& SGN &
& & Start Acceleration
1 2 1 global

2 2 1
t1 td 12 t 2
&&
d 12
1
Start Blend
Time

2 1
&
12
td 12 .5 t1 Linear Velocity 12

tl12 td 12 t1 .5 t2 Time @ linear Velocity


Craigs Dog Tracking
Method
Stopping Equation:
& SGN &
& & Stop acceleration
n n 1 n global

2 n n1
tn td n1 n t 2
Stop Blend
d n 1 n
&
&
n Time

&
n n1
n 1 n L. Velocity to stop
td n1 n .5 tn
tl n1 n td n1 n tn .5 tn1 Time @ L. Velocity
Craigs Dog Tracking
Method
Intermediate Equations:

&
k j
Linear Velocity
jk
tdjk
& SGN & & &
& & Acceleration
k kl jk global

tk
& &
kl jk Blend time
&
&
k

tljk tdjk .5 t j .5 tk Time @ L. Velocity


Craigs Dog Tracking
Method
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 cant 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
Craigs Dog Tracking
Method

4 q
Step 1: Calculate Global usable
acceleration (magnitude) i j
constraint based on LSPB model &
q& 2
applied Pairwise (12; 23; etc) t dij
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. Ds Coffee
Drinker Bot:
Point Position Delta Arrival Delta
Name (inch) Position Time Time
(inch) (sec) (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. Ds
Coffee Drinker Bot:
Step 1: Global Acc. Constraint
4 9.5
&AB
q& 152 in / s 2

.52
4 1.5 This is largest
q&
&BC 0.67 in / s 2
should work globally
32 but lets make sure
it doesnt miss so
4 1.5
qCD
&
& .67 in / s 2 choose 200ips2
32
cause its easier to
calculate and is only
4 9.5 about .6g
q&
&DE 38 in / s 2

12
Lets Expand on Dr. Ds
Coffee Drinker Bot:
Next we focus on the start & stop
equations: q&&A SGN (9.5 0) 200 200ips 2
Starting
t A .5 .52 2 9.5 0.106 s
200
NOTE:
q&AB 9.5 21.3ips cant
.5 .5 .106 compute tlij
yet we
q&E SGN 9.5 0 200 200ips
& 2
lack the
data!
2 0 9.5
t E 1 12 0.049 s
200
Stopping
q&DE
0 9.5
9.74ips
1 .5 0.049
Lets Expand on Dr. Ds
Coffee Drinker Bot:
Considering Intermediate BC:

q&BC
qC qB

1.5
0.5ips
tdBC 3
g g

q&
&B SGN q
BC AB q 200 200 ips 2


g g

q
BC AB q
tB
.5 21.25
.103s
q&
&B 200
Now to finish the 1st segment:

tlAB tdAB t A .5 t B .5 .106 .5 .103 .342 s


Lets Expand on Dr. Ds
Coffee Drinker Bot:
On to CD Segment

q&CD
qD qC
0.5ips
tdCD
q&
&C SGN &
qCD &
q BC 200 200ips 2

tC
q&CD q&BC
1 .005 s
q&
&C 200
back to finish B--C Segment

tlBC tdBC .5t B .5tC 3 .5(.103) .5(.005) 2.946 s


Lets Expand on Dr. Ds
Coffee Drinker Bot:
Now for Segment DE:
q&DE
earlier ! E (is stop point!) 9.74ips
q&
&D SGN &
q DE &
qCD 200 SGN 9.74 ( .5) 200 200ips 2

tD
q&DE q&CD
0.049 s
q&
&D

Completing Seg. C--D

tlCD 3 .5tC .5t D 2.974s


Seg D--E

tlDE 1 .5t D t E 0.928s


Summarizing
Ti Time
T. (blend @L.
Pt POS Time POS time ) Acc L. Vel Vel
A 0 0 ----- ---- .106 +20
0 21.3 .342
B 9.5 .5 9.5 .5 .103 -200 2.94
.5 6
C 11 3.5 1.5 3 .005 -200 2.97
-.5 4
D 9.5 6.5 -1.5 3 .046 -200 -9.74 .928
E 0 7.5 -9.5 1 .049 +20
0
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

Desired
Path

Achievable
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

Das könnte Ihnen auch gefallen