Professional Documents
Culture Documents
ME 4135, F 2012
Richard R. Lindeke, Ph. D.
to Point Motion:
Path
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!)
For
From
-10 g
19
in/sec
Vel
9.5"
POS
0.005
Time
0.495
0.5
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
Building a Path
Polynomial Motion Set
q t a0 a1t a2t a3t L
2
dq
2
q& t
a1 2a2t 3a3t L
dt
d 2q
& t 2 2a2 6a3t L
q&
dt
These are the trajectory
equations for a joint (Position,
Velocity and Acceleration)
q0 a0 a1t0 a t a t
2
2 0
3
3 0
q&0 a1 2a2t0 3a t
2
3 0
q f a0 a1t f a t a t
2
2 f
3
3 f
q&f a1 2a2t f 3a t
2
3 f
Polys holding at
starting time and
position
Polys holding at
ending time and
position
1 t0
0
1
1 tf
0 1
t
2t0
2
tf
2t f
t
q0
a0
q&
a1
3t
0
q f
a2
t
&
q
a
3t
3
f
3
0
2
0
3
f
2
f
1 0
0 1
1 tf
0 1
0
0
2
tf
2t f
0
a0
0
a
1
3
tf
a2
2
3t f
a3
q0
q&
0
qf
q&f
Done
a3
q f t f q&f q&0
2 q
t 3f
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
(specifically):
2(114)
6(
152)
t
i
i
2
i
3
i
qi 114t 152t
2
i
3
i
228
912
t
i
i
2
i
Applying it to the
Coffee Bot: Position
Position vs.
Time
Applying it to the
Coffee Bot: Velocity
Applying it to the
Coffee Bot:
Acceleration
Acceleration Vs.
Time
Model Building:
We
2
2
t
t
2
based on solving:
This assures
that there is
&
&2
Pos 1 qt
2
no overlap for
the BLEND
at: t t (half time)
2
qB q A
we want: Pos =
2
Regions
During
During
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 :
&
&b
V qt
Substituting and
Isolating the Unknown
(which is blend time):
&
& tb qt
&
&
qB q A qt
2
b
reforming:
&
& qt
&
& tb qB q A 0
qt
2
b
&
&
qt
tb t
2
&
&
qt
& q A qB
4q&
&
2q&
2
& qB q A
4q&
&
2q&
Note: Acceleration is
subject to constraint
determined above
4 9.5 0
2
&
&
q
152
in
/
sec
0.4 g
constraint:
2
.5
& 175in / sec 2
lets ' pick ' q&
Blend
2 175
1006.25
.25
.25 0.091
350
tb .25 0.091 .159sec
2*0.159 = 0.181 s
Positions:
Acc
0 in/s^2
-175
in/s^2
27.89
in/sec
Vel
9.5"
POS
.159
Time
.361 0.5
Here
we will focus on a method called dogtracking after the lead and follow techniques
employed in dog racing
Essentially
Starting
regime Equations:
2
d 12
2 2 1
&
&
2 1
td 12 .5 t1
tl12 td 12 t1 .5 t2
&
12
Start Acceleration
Start Blend
Time
Linear Velocity 12
Time @ linear Velocity
Equations:
& SGN &
&
&
n
n 1
n
global
tn td n1 n t
&
n1 n
2
d n 1 n
2 n n1
&
&
n
n n1
td n1 n .5 tn
tl n1 n td n1 n tn .5 tn1
Stop acceleration
Stop Blend
Time
L. Velocity to stop
Time @ L. Velocity
&
jk
Equations:
tdjk
& &
kl
Linear Velocity
jk
&
&
k
tljk tdjk .5 t j .5 tk
Acceleration
Blend time
Time @ L. Velocity
Step
Step
4 q
&
q&
i j
2
tdij
Position Delta
(inch) Position
(inch)
0
0
Arrival
Time
(sec)
---
Delta
Time
(sec)
----
9.5
9.5
0.5
.5
11
1.5
3.5
9.5
-1.5
6.5
-9.5
7.5
4 9.5
2
&AB
q&
152
in
/
s
.52
4 1.5
2
&
q&
0.67
in
/
s
BC
32
4 1.5
2
&
&
qCD
.67
in
/
s
32
4 9.5
2
&
q&
38
in
/
s
DE
12
This is largest
should work globally
but lets make sure
it doesnt miss so
choose 200ips2
t A .5 .52 2 9.5
q&AB 9.5
200
.5 .5 .106
0.106 s
21.3ips
2
&
q&
E SGN 9.5 0 200 200ips
Stopping
t E 1 12
q&DE
2 0 9.5
0 9.5
200
1 .5 0.049
0.049 s
9.74ips
NOTE: cant
compute tlij yet
we lack the
data!
Intermediate BC:
qC qB
1.5
q&BC
0.5ips
tdBC
3
g
g
2
&
q&
SGN
q
q
200
200
ips
BC AB
B
g
g
q
BC AB
.5 21.25
tB
.103s
&
q&
200
B
Now to finish the 1st segment:
q&CD
to CD Segment
qD qC
tdCD
0.5ips
2
&
&
&
q&
SGN
q
q
200
200
ips
C
CD
BC
tC
q&CD q&BC
.005
s
&
q&
200
C
q&DE
earlier !
2
&
&
&
q&
SGN
q
q
200
SGN
9.74
.5)
200
200
ips
D
DE
CD
tD
q&DE q&CD
0.049 s
&
q&
D
Summarizing
Pt
POS
T.
Tim
e
B
C
D
E
9.5
11
9.5
0
.5
3.5
6.5
7.5
PO
S
tim
e
Ti
(blend
)
Acc
-----
----
.106
9.5
1.5
-1.5
-9.5
.5
3
3
1
.103
.005
.046
.049
+20
0
Time
@L.
L. Vel Vel
21.3
.342
.5
2.94
6
-.5
2.97
4
-200
-200
-200 9.74
+20
0
.928
Looking at Velocity
Control
Desired
Path
Achievable
Path
thought of as Cartesian
Control
It is based on the idea of Transitions
between consecutive required
geometries
These transitions
uuuuur
are based on the
r Drive
T rMatrix:
gRa r gRo r
solution D
of a
The matrices T(r), Ra(r), and Ro(r) are the
translation, rotation wrt Z and rotation wrt Y in
transitioning from Pinitial to Pfinal
Then:
n1 gn2
ur
o1 gn2
D r
a1 gn2
n1 go2
n1 ga2
o1 go2
a1 go2
0
o1 ga2
a1 ga2
0
n1 g d 2 d1
o1 g d 2 d1
a1 g d 2 d1
Cartesian Control
It
Cartesian Control
NOTE: On the
conveyor, the Hframe is a time
dependent pose in
C (conveyor space)
Cartesian Control
We
Cartesian Control
At
Time 1 (P1):
Tn t1 To g TR g TC g TH t1 g TP g TTar g TMW
At
1 U
Time 2 (P2):
Tn t2 To g TR g TC g TH t2 g TP g TTar g TMW
1 U
Cartesian Control
Using
Cartesian Control
Problems
accounted for)
(and must be
Joint-Interpolated Control
Step
TSEG MAX
i
each joint i
note: i is joint velocity
2
Joint-Interpolated Control
Step
Tseg 1
f sampling
where :
f sampling
m T
seg
sampling
Joint-Interpolated
Control
qi / time
i2
qi1
Joint-Interpolated Control
Implementing
this method
begins with determination of
the distance between and
ultimately the number of Via
Points needed
This is (really!) a simple
trigonometry problem based
on the offset distance and
error tolerance () at closest
approach
Joint-Interpolated Control
-- Model
2
1
R
R2
Robot
Base
R1
Note: R = R1 =
R2
Joint-Interpolated Control
-- Model
Notice
1 2 R1
2
2 R 1
2
1
R (= R1) is
measured at
point of closest
approach
between the
robot and part!
But : 1 R 2
#2 is half the
distance
between Via
Points!
2 R R 2
2
1
2 4 R 4 2
2 4 R 4 2
4 1.35 .05 4 .05 .26
2
2 0.510m
distance between Via's is:
2 2 2 .510 1.020m
Follow-up
What if we equally space the
Vias?
Distance
between is: 5.4/6 . 9 4 1.35 4 2
2
= .9m (rather than 1.020m)
.452 5.4 4 2
What is actual Error band?
Typically,
A Quadratic eqn. in !
2 1.35 .0506 0
.0772 2 m
.0386m 3.86cm
.5