Académique Documents
Professionnel Documents
Culture Documents
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
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 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 2(114) 6( 152) t i
Applying it to the Coffee
Bot
Simplifying:
qi 114t 152t
i
2 3
i
q&
&i 228 912 t i
Applying it to the Coffee
Bot: Position
Position vs.
Time
Applying it to the Coffee
Bot: Velocity
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
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?
2 2 1
t1 td 12 t 2
&&
d 12
1
Start Blend
Time
2 1
&
12
td 12 .5 t1 Linear Velocity 12
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
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
.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:
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
tD
q&DE q&CD
0.049 s
q&
&D
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)