Path Control in Robotics

albanianboneyardΤεχνίτη Νοημοσύνη και Ρομποτική

2 Νοε 2013 (πριν από 3 χρόνια και 5 μήνες)

70 εμφανίσεις

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