robotic path control techniques
TRANSCRIPT
-
7/31/2019 Robotic Path Control Techniques
1/52
Path Control in Robotics
ME 4135
Lecture series 8
Richard R. Lindeke, Ph. D.
-
7/31/2019 Robotic Path Control Techniques
2/52
-
7/31/2019 Robotic Path Control Techniques
3/52
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
-
7/31/2019 Robotic Path Control Techniques
4/52
Basically this was a technique whereby a skilled operator took arobot arm (for welding or painting) and used it like his/her weldtool or paint sprayer and performed the required process atreasonable speed
The robot is equipped with a position recording device andmemorizes a large number of points during the teaching session
These learned points then would be played back to replicatethe skilled operators motions
Lead Through Path Creation
-
7/31/2019 Robotic Path Control Techniques
5/52
Lead Through Path CreationAdvantages:
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 initialplacement)
Major concern with operator safety: robot ispowered and operator is physically touching it(OSHA rules it unsafe practice!)
-
7/31/2019 Robotic Path Control Techniques
6/52
Modern Path Control:
(Lets look at a simple example)
Dr. Ds new Self-powered Automated CoffeeDrinker Robot
It is a simple cantilevered Cartesian deviceequipped with a spherical wrist that responds toeye movement and thoughts to help theoverworked 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
-
7/31/2019 Robotic Path Control Techniques
7/52
Lets look at a simple example:
-
7/31/2019 Robotic Path Control Techniques
8/52
Lets look at a simple example: We see that the Bot must travel a space path
of 16.45 which can be decomposed into amovement of 9.5 along each of the prismatic
joints
For accuracy lets divide each of the these
joint paths into 100 segments
From Physics: Vjointd/ t =(9.5/100)/(.5/100) = 19in/second (a
reasonable speed!)
-
7/31/2019 Robotic Path Control Techniques
9/52
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 in0.005 seconds
Compute AccreqrV/t Darn this says thatthe acceleration is3800in/sec2 this is 10G!!!!!
-
7/31/2019 Robotic Path Control Techniques
10/52
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 theworker holding on to the powered robot whatshould we do?
I think our approach is too nave!
If we examine the Pos vs. Time, Vel Vs. Time andAcc vs. Time plots we may see why:
-
7/31/2019 Robotic Path Control Techniques
11/52
Look at a simple examples
Trajectory Curves:
0.005
Time
POS
Vel
Acc
0.495 0.5
19in/sec
9.5"
-10 g
10 g
-
7/31/2019 Robotic Path Control Techniques
12/52
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 wouldntinstantly in one time step go from
stopped to full speed This can be achieved with a time
polynomial model of motion
-
7/31/2019 Robotic Path Control Techniques
13/52
Building a Path Polynomial
Motion Set
2 3
0 1 2 3
21 2 3
2
2 32
2 3
2 6
q t a a t a t a t
dqq t a a t a t dt
d q
q t a a t dt
These are the trajectory
equations for a joint (Position,
Velocity and Acceleration)
-
7/31/2019 Robotic Path Control Techniques
14/52
Solving the Path Polynomial is a matter of
finding ais for SPECIFIC PATHS
We would have boundary conditionsfor position and velocity at both ends of
the path We would have the desired total time of
travel
Using these conditions we can solve fora0, a1, a2 and a3 to build a 3
rd order pathpolynomial for the required motion
-
7/31/2019 Robotic Path Control Techniques
15/52
Solving the Path Polynomial is a
matter of finding ais for specific paths2 3
0 0 1 0 2 0 3 0
20 1 2 0 3 0
2 3
0 1 2 3
2
1 2 3
2 3
2 3
f f f f
f f f
q a a t a t a t
q a a t a t
q a a t a t a t
q a a t a t
Polys holding at
starting time and
position
Polys holding at
ending time andposition
-
7/31/2019 Robotic Path Control Techniques
16/52
Solving the Path Polynomial is amatter of finding a
is for specific paths
Writing these as Matrix Forms:
2 3
000 0 0
2010 0
2 3
2
2
3
10 1 2 3
10 1 2 3
ff f f
ff f
qat t tqat t
qat t tqat t
-
7/31/2019 Robotic Path Control Techniques
17/52
Solving the Path Polynomial is amatter of finding a
is for specific paths
If we set t0 = 0 (starting time is when westart counting motion!) then:
00
01
2 3
2
2
3
1 0 0 0
0 1 0 0
10 1 2 3
f f f f
f f f
qa
qa
t t t qat t qa
By examination, a0 = q0 & a1 = q0(dot)
-
7/31/2019 Robotic Path Control Techniques
18/52
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 substitutinga0 &a1 values and solving the
last two equation simultaneously:
0 022
0 0
33
3 2
2
f f f
f
f f f
f
q q t q qa
t
q q t q qa
t
Be Careful andnote the order ofthe positions andvelocities!
-
7/31/2019 Robotic Path Control Techniques
19/52
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
-
7/31/2019 Robotic Path Control Techniques
20/52
Applying it to the Coffee Bot
Here (specifically):
2 3
2
0 0 114 ( 152)
0 2(114) 3( 152)
2(114) 6( 152)
i i i i
i i i
i i
q t t t
q t t
q t
-
7/31/2019 Robotic Path Control Techniques
21/52
Applying it to the Coffee Bot
Simplifying:
2 3
2
114 152
228 456228 912
i i i
i i i
i i
q t t
q t tq t
-
7/31/2019 Robotic Path Control Techniques
22/52
Applying it to the Coffee Bot:Position
0
1
2
3
4
5
6
7
8
9
10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time (sec)
Pos
ofJoint(in)
Position vs. Time
-
7/31/2019 Robotic Path Control Techniques
23/52
Applying it to the Coffee Bot:Velocity
0
5
10
15
20
25
30
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Time (sec)
Velocity(in/sec)
Joint Velocity Vs. Time
-
7/31/2019 Robotic Path Control Techniques
24/52
Applying it to the Coffee Bot:Acceleration
-300
-200
-100
0
100
200
300
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time (sec)
Acceleration
(in/sec^2)
Acceleration Vs. Time
-
7/31/2019 Robotic Path Control Techniques
25/52
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 cyclemotor since throughout the entire path, the motor
is accelerating (either with positive or negativeorientation)
Can we make a path solution where we acceleratefor only part of the path? Turns out we can and
we will call it LSPB!
-
7/31/2019 Robotic Path Control Techniques
26/52
Studying the LSPB model
In this model, we will carry forward with aparabolic model
In this model, we will determine a time where wewill blend from startup until we reach a constantvelocity (and its greater than 1/100 of the totaltime!)
Here we will see an acceleration followed by aperiod of coasting and then deceleration (oftencalled a trapezoidal velocity model)
-
7/31/2019 Robotic Path Control Techniques
27/52
Model Building:
We must define an acceleration constraint (minimum value)such that the acceleration guaranteed to be completedwithin half of the allocated time period of the travel:
min 2 2
2
4
2
12
( )2
2
B A B A
B A
q q q qq
tt
Pos qt
tt half time
q qPos
based on solving:
at:
we want: =
This assures
that there isno overlap forthe BLEND
Regions
-
7/31/2019 Robotic Path Control Techniques
28/52
Looking at the motion over thevarious 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 Jointmoves: q = V*(t 2tb)
During Region 3 -- while the joint is deceleratingthe joint moves: q = (V/2)*tb
Total travel distance is qB - qA
-
7/31/2019 Robotic Path Control Techniques
29/52
Writing a motion equation:
0
22 2
2
:
b b b bB A t t t t t t t
B A b b b
B A b b b
b
q q q q q
V Vq q t V t t t
q q Vt Vt Vt Vt Vt
BUT
V qt
-
7/31/2019 Robotic Path Control Techniques
30/52
Substituting and Isolating theUnknown (blend time):
2
20
B A b b
b b B A
q q qt t qt
qt qt t q q
reforming:
This is a quadratic equation in tb
-
7/31/2019 Robotic Path Control Techniques
31/52
Solving for tb:
2
2
4
2
42 2
A B
b
B A
b
qt qt q q qt
q
qt q q qttq
Note:Acceleration issubject to aboveconstraint
-
7/31/2019 Robotic Path Control Techniques
32/52
Applying it to the Coffee Bot
Acceleration constraint:
Blend time:
2
2
2
2
4 9.5 0152 / sec 0.4
.5
' ' 175 / sec
.25 175 4 175 9.5.25
2 175
1006.25.25 .25 0.091
350
.25 0.091 .159sec
b
b
q in g
lets pick q in
t
t
-
7/31/2019 Robotic Path Control Techniques
33/52
Applying it to the Coffee Bot
tlinear=.5 2*0.159 = 0.181 s
Linear Velocity:
Positions: By tb, 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 inAdding them gives full travel distance: 2.222 +
5.055 + 2.222 in 9.5in
175 .159 27.89lin bV q t in/sec
-
7/31/2019 Robotic Path Control Techniques
34/52
Plotting the Path trajectory:
Notice: theaccelerator isoff during the
linear travel
segment
.159
Time
POS
Vel
27.89
in/sec
175
in/s^2
Acc
.361 0.5
9.5"
-175
in/s^2
0 in/s^2
-
7/31/2019 Robotic Path Control Techniques
35/52
The 2 Previous Path Control Methodsfocused 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-trackingafter the lead and follow techniques employed in dogracing
Essentially we would have a situation where the path islaid out (as a series of Via Points) and the jointssmoothly maneuver through and between them
-
7/31/2019 Robotic Path Control Techniques
36/52
Craigs Dog Tracking Method
-
7/31/2019 Robotic Path Control Techniques
37/52
Craigs Dog Tracking Method
Upon Examination of the motion, we find thatthere are three regimes in the motion
These are: Start up regime Intermediate regimes Stopping regime
Starting and Stopping are similar to LSPB inthe way they compute blend time andacceleration
During an Intermediate regime we computeacceleration by comparing incoming andoutgoing velocities about each point
-
7/31/2019 Robotic Path Control Techniques
38/52
Craigs Dog Tracking Method
Starting regime Equations:
1 2 1
2 2 11 12 12
1
2 112
12 1
12 12 1 2
2
.5
.5
global
d d
d
l d
SGN
t t t
t t
t t t t
Start Acceleration
Start BlendTime
Linear Velocity 12
Time @ linear Velocity
-
7/31/2019 Robotic Path Control Techniques
39/52
Craigs Dog Tracking Method
Stopping Equation:
1
2 1
1 1
1
1
1
11 1
2
.5
.5
n n n global
n n
n d n n d n n
n
n nn n
nd n n
n nl n n d n n
SGN
t t t
t t
t t t t
Stop acceleration
Stop BlendTime
L. Velocity to stop
Time @ L. Velocity
-
7/31/2019 Robotic Path Control Techniques
40/52
Craigs Dog Tracking Method
Intermediate Equations:
.5 .5
k j
jk
djk
k kl jk global
kl jk
k
k
ljk djk j k
t
SGN
t
t t t t
Linear Velocity
Acceleration
Blend time
Time @ L. Velocity
-
7/31/2019 Robotic Path Control Techniques
41/52
Upon examination of the set of equation onthe previous 3 slides several point should be
noted: Start and Stop are essentially the same but very
important differencesmust be noted
One cant complete any of the regimes without
looking ahead actually looking ahead to the 2ndpoint 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
-
7/31/2019 Robotic Path Control Techniques
42/52
Craigs Dog Tracking Method
Step 1: Calculate Global usableacceleration (magnitude) constraintbased on LSPB model applied
Pairwise (12; 23; etc)
Step 2: Focus on Start and StopSegments
Step 3: Complete the table ofaccelerations, blend times, linearvelocity and time at linear velocity
2
4i j
dij
qq
t
-
7/31/2019 Robotic Path Control Techniques
43/52
Lets Expand on Dr. Ds Coffee
Drinker Bot:PointName
Position(inch)
DeltaPosition
(inch)
ArrivalTime
(sec)
DeltaTime
(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
-
7/31/2019 Robotic Path Control Techniques
44/52
Lets Expand on Dr. Ds CoffeeDrinker Bot:
Step 1: Global Acc. Constraint
2
2
2
2
2
2
2
2
4 9.5152 / s
.5
4 1.50.67 /
3
4 1.5.67 / 3
4 9.538 /
1
AB
BC
CD
DE
q in
q in s
q in s
q in s
This is largestshould work globally but lets make sureit doesnt miss so
choose 200ips2
cause its easier to
calculate and is onlyabout .6g
-
7/31/2019 Robotic Path Control Techniques
45/52
Lets Expand on Dr. Ds CoffeeDrinker Bot:
Next we focus on the start & stop equations:
Starting
Stopping
2
2
(9.5 0) 200 200
2 9.5.5 .5 0.106200
9.5 21.3.5 .5 .106
A
A
AB
q SGN ips
t s
q ips
2
2
9.5 0 200 200
2 0 9.51 1 0.049
200
0 9.59.74
1 .5 0.049
E
E
DE
q SGN ips
t s
q ips
NOTE:cant
compute tlijyet we
lack thedata!
-
7/31/2019 Robotic Path Control Techniques
46/52
Lets Expand on Dr. Ds CoffeeDrinker Bot:
Considering Intermediate BC:
2
1.50.5
3
200 200
.5 21.25.103
200
.5 .5 .106 .5 .103 .342
C B
BC dBC
B BC AB
BC AB
BB
lAB dAB A B
q qq ips
t
q SGN q q ips
q qt s
q
t t t t s
Now to finish the 1st segment:
-
7/31/2019 Robotic Path Control Techniques
47/52
Lets Expand on Dr. Ds CoffeeDrinker Bot:
On to CD Segment
2
0.5
200 200
1 .005200
.5 .5 3 .5(.103) .5(.005) 2.946
D C
CD dCD
C CD BC
CD BC
C C
lBC dBC B C
q qq ips
t
q SGN q q ips
q qt s
q
t t t t s
back to finish B--C Segment
-
7/31/2019 Robotic Path Control Techniques
48/52
Lets Expand on Dr. Ds CoffeeDrinker Bot:
Now for Segment DE:
!
2
9.74
200 9.74 ( .5) 200 200
0.049
3 .5 .5 2.974
1 .5 0.928
earlier
DE
D DE CD
DE CDD
D
lCD C D
lDE D E
ipsq E
q SGN q q SGN ips
q qt s
q
t t t s
t t t s
Completing Seg. C--D
Seg D--E
(is stop point!)
-
7/31/2019 Robotic Path Control Techniques
49/52
Summarizing
Pt POST.Time POS time
Ti(blend) Acc L. Vel
A 0 0 ----- ---- .106 +20021.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
-
7/31/2019 Robotic Path Control Techniques
50/52
A Final Thought on Dog-Tracking:
But if we must travel
over a certain point,we can definePseudo-Via pointsthat flank the desiredtarget and force thearm to pass thepseudos and drive
right over the originaldesired target point
-
7/31/2019 Robotic Path Control Techniques
51/52
Looking at Velocity Control
AchievablePath
DesiredPath
-
7/31/2019 Robotic Path Control Techniques
52/52
With this Velocity Control
The acceleration is set and the new velocity for anupcoming segment is inserted at the appropriatetime (place)
Over the segment, the arm (joints) lags the desiredpath
We extend the next path velocity curve to intersectthe actual achievable path (to a point that is earlier
in time than when we would have expected tochange) this will mean that the joint can catch upto the desired plan for the travel as it blends to thenew velocity