perm filename UNI2.XGP[1,VDS] blob
sn#304210 filedate 1977-09-05 generic text, type T, neo UTF8
/FONT#1=BDR30/FONT#2=SIGN57/FONT#3=NGR25/FONT#4=NGR20
␈↓↓␈↓α␈↓β␈↓∧␈↓α␈↓ ∧πUNIMATION INC.␈↓ ↓H
␈↓β␈↓ εW␈↓ ↓H
␈↓ ↓H
␈↓↓␈↓ ε9VAL␈↓ ↓H
␈↓ ↓H
␈↓ αGINSTRUCTION SET FOR UNIMATION MANIPULATOR CONTROL PROGRAM ␈↓ ↓H
␈↓ ¬8Version of March 1,1977␈↓ ↓H
␈↓β␈↓ ↓H
␈↓ α_For␈α∞the␈α∞following␈α∞instructions,␈α∞commas␈α∞are␈α∞to␈α
be␈α
used␈α
to␈α
separate␈α
variables.␈α
If␈α
an␈α
argument␈α
is␈↓ ↓H
␈↓ ↓Hoptional,␈αthe␈αdefault␈αvalue␈αwill␈αbe␈αused␈αif␈αno␈αvalue␈αis␈αgiven.␈α
The␈α
names␈α
of␈α
transforms␈α
and␈α
programs␈α
can␈↓ ↓H
␈↓ ↓Hconsist␈α
of␈α
up␈α
to␈α
six␈α
characters.␈↓ ↓H
␈↓ ↓H␈↓↓␈↓ ↓H
␈↓ ∧∞MONITOR COMMANDS - DEFINING POSITIONS␈↓ ↓H
␈↓β␈↓ ↓H
␈↓ ↓HThe␈α
following␈α
commands␈α
are␈α
used␈α
for␈αdefining␈αtransforms␈αand␈αdetermining␈αthe␈αcurrent␈αposition␈αof␈αthe␈↓ ↓H
␈↓ ↓Harm.␈α
Transforms␈α
are␈α
specified␈α
in␈α
cartesian␈α
coordinates␈α
and␈α
Euler␈α
angles.␈↓ ↓H
␈↓ ↓H␈↓↓␈↓ ↓H
Command ␈↓ βP ␈↓ ∧(␈↓ πyOperation ␈↓ ↓H
␈↓β␈↓ ↓H
TRANS <trans>␈↓ βtUsed␈α
to␈α
specify␈α
and␈α
modify␈α
the␈α
value␈α
of␈α
transform␈α
<trans>.␈α
The␈αcurrent␈αvalue␈↓ βt
␈↓ βtof␈α
the␈α
transform␈α
is␈α
printed␈α
and␈α
any␈α
of␈α
the␈α
transform␈α
elements␈α
(x,y,z,o,a,t)␈α
can␈↓ βt
␈↓ βtbe␈αmodified␈αby␈αtyping␈αa␈αnew␈αvalue␈αafter␈αthe␈αquery␈αCHANGES?.␈αValues␈αthat␈αare␈↓ βt
␈↓ βtnot␈αto␈αbe␈αchanged␈αcan␈αbe␈αomitted.␈αChanges␈αare␈αcontinuously␈αasked␈αfor␈αuntil␈αno␈↓ βt
␈↓ βtchange␈α⊃in␈α⊃the␈α⊃transform␈α⊃is␈α⊃made.␈α⊃The␈α⊃X,Y,Z␈α⊂specify␈α⊂the␈α⊂position␈α⊂of␈α⊂a␈α⊂point␈↓ βt
␈↓ βtcentrally␈αlocated␈αbetween␈αthe␈αfinger␈αtips␈αin␈αtable␈αcoordinates.␈α
O,A,T␈α
specify␈α
the␈↓ βt
␈↓ βtorientation␈αof␈αthe␈αhand.␈αWith␈αall␈αthree␈αangles␈α(in␈αdegrees)␈α
zero,␈α
the␈α
hand␈α
points␈↓ βt
␈↓ βtin␈α⊗the␈α⊗negative␈α⊗Y␈α⊗direction␈α⊗with␈α⊗the␈α∃fingers␈α∃in␈α∃a␈α∃horizontal␈α∃plane.␈α∃The␈↓ βt
␈↓ βtorientation␈αvector␈αwhich␈αpoints␈α
from␈α
one␈α
finger␈α
tip␈α
to␈α
the␈α
other␈α
is␈α
aligned␈α
along␈↓ βt
␈↓ βtthe␈α⊂X␈α⊂axis.␈α⊂O␈α⊂specifies␈α⊂a␈α⊂rotation␈α⊂of␈α⊂the␈α⊂orientation␈α⊂vector␈α∂about␈α∂a␈α∂vertical␈↓ βt
␈↓ βtdirection.␈α⊂Thus␈α⊂at␈α⊂O=90deg,␈α⊂the␈α⊂hand,␈α⊂still␈α⊂horizontal,␈α⊂would␈α⊂point␈α⊂along␈α∂the␈↓ βt
␈↓ βtpositive␈αX␈αdirection.␈αA␈αis␈αa␈αrotation␈αabout␈αthe␈α
orientation␈α
vector.␈α
With␈α
A=90deg.␈↓ βt
␈↓ βtthe␈αhand␈αalways␈αpoints␈αstraight␈αdown.␈αT␈αis␈αa␈α
final␈α
rotation␈α
about␈α
the␈α
axis␈α
of␈α
the␈↓ βt
␈↓ βtwrist␈α
and␈α
corresponds␈α
to␈α
a␈α
rotation␈α
of␈α
the␈α
final␈α
(#6)␈α
joint.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ α_␈↓ ↓H
HERE <trans>␈↓ β8␈↓ ∧λ␈↓ βtDefines␈α⊃transform␈α⊃<trans>␈α⊃to␈α⊃be␈α⊂current␈α⊂arm␈α⊂position.␈α⊂As␈α⊂with␈α⊂TRANS,␈α⊂post␈↓ βt
␈↓ βtmodification␈α↔of␈α⊗the␈α⊗Euler␈α⊗angles␈α⊗(O,A,T)␈α⊗and␈α⊗cartesian␈α⊗position␈α⊗(X,Y,Z)␈α⊗is␈↓ βt
␈↓ βtpermitted.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
TF <trans>,X,Y,Z,O,A,T␈↓ ∧λ␈↓ βtInitializes␈α∀the␈α∪transform␈α∪<trans>␈α∪to␈α∪the␈α∪specified␈α∪value.␈α∪All␈α∪arguments␈α∪left␈↓ βt
␈↓ βtunspecified␈α∞will␈α∞be␈α∞set␈α∞to␈α∞zero.␈α∞This␈α∞instruction␈α∞is␈α∞used␈α∞mainly␈α
for␈α
reading␈α
in␈↓ βt
␈↓ βttransforms␈α
that␈α
have␈α
be␈α
punched␈α
on␈α
paper␈α
tape.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
WHERE␈↓ βtPrints␈α
out␈α
the␈α
current␈α
location␈α
of␈α
the␈αarm␈αin␈αEuler␈αand␈αjoint␈αangles␈αalong␈αwith␈↓ βt
␈↓ βtthe␈α
current␈α
hand␈α
opening.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓↓␈↓ ↓H
␈↓ ∧∞MONITOR COMMANDS - PROGRAM CONTROL␈↓ ↓H
␈↓ ↓H
Command ␈↓ λ∧Operation ␈↓ ↓H
␈↓β␈↓ ↓H
EXEC <PROG>,<NLOOP>,<STEP>␈↓ βt␈α?␈α⊃Executes␈α
the␈α
motion␈α
program␈α
<PROG>,␈α<NLOOP>␈αnumber␈αof␈αtimes.␈αA␈αloop␈↓ βt
␈↓ βtis␈α∂terminated␈α∂when␈α∞either␈α∞a␈α∞STOP␈α∞instruction␈α∞or␈α∞the␈α∞last␈α∞defined␈α∞step␈α∞of␈α∞the␈↓ βt
␈↓ βtprogram␈αis␈α
encountered.␈α
If␈α
<nloop>␈α
is␈α
omitted,␈α
the␈α
program␈α
will␈α
be␈α
executed␈α
one␈↓ βt
␈↓ βttime.␈α∞If␈α∞<prog>␈α∞is␈α
omitted,␈α
execution␈α
of␈α
the␈α
last␈α
user␈α
program␈α
EXEC'ed␈α
will␈α
be␈↓ βt
␈↓ βtre-initiated.␈α⊃If␈α⊃<STEP>␈α⊃is␈α⊃specified,␈α⊃the␈α⊃motion␈α⊃program␈α⊃begins␈α⊃execution␈α⊃at␈↓ βt
␈↓ βtmotion␈α
program␈α
step␈α
<STEP>␈α
for␈α
the␈α
first␈α
pass,␈α
otherwise,␈α
the␈α
program␈α
starts␈↓ βt
␈↓ βtexecution␈α
at␈α
step␈α
#1.␈α
All␈α
successive␈α
passes␈α
begin␈α
at␈α
the␈α
start␈α
of␈α
the␈α
program.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
P ␈↓ βtProceeds␈α
motion␈α
program␈α
at␈α
the␈α
step␈α
following␈α
the␈α
step␈α
where␈αexecution␈αwas␈↓ βt
␈↓ βthalted␈α
due␈α
to␈α
a␈α
PAUSE␈α
instruction␈α
or␈α
runtime␈α
error.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓ ↓H
␈↓↓␈↓ ∧≠MONITOR COMMANDS - PROGRAM EDITING␈↓ ↓H
␈↓β␈↓ ↓H
␈↓ ↓H
␈↓ ↓|The following commands are used for creating and modifying user motion instruction programs.␈↓ ↓H
␈↓↓␈↓ ↓H
Command ␈↓ βP ␈↓ ∧(␈↓ πyOperation ␈↓ ↓H
␈↓β␈↓ ↓H
EDIT <prog>,<nstep>␈↓ βtPermits␈αuser␈αto␈αcreate␈αor␈αmodify␈α
program␈α
<prog>␈α
starting␈α
at␈α
step␈α
<nstep>.␈α
If␈α
no␈↓ βt
␈↓ βtstep␈α
number␈α
is␈α
specified␈α
editing␈α
proceeds␈α
from␈α
the␈α
step␈αwere␈αthe␈αlast␈αediting␈↓ βt
␈↓ βtsession␈α∞was␈α∞terminated.␈α∞If␈α∞no␈α
program␈α
is␈α
specified,␈α
the␈α
last␈α
program␈α
edited␈α
is␈↓ βt
␈↓ βtre-opened.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
DEFPRO <prog>␈↓ β8␈↓ ∧λ␈↓ βtUsed␈α∂primarily␈α∂for␈α∂reading␈α∂user␈α∂motion␈α∂programs␈α∂that␈α∂have␈α∂been␈α∂dumped␈α∂to␈↓ βt
␈↓ βtpaper␈α∞tape␈α
via␈α
the␈α
PUNCHP␈α
instruction.␈α
Successive␈α
program␈α
steps␈α
are␈α
read␈α
in␈↓ βt
␈↓ βtuntil␈α
an␈α
empty␈α
line␈α
or␈α
illegal␈α
motion␈α
is␈α
encountered.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓ ↓H
␈↓ αFOnce having entered the EDIT program, the following edit functions may be invoked.␈↓ ↓H
␈↓ ↓H
␈↓↓ Command ␈↓ βP ␈↓ ∧(␈↓ πyOperation ␈↓ ↓H
␈↓β␈↓ ↓H
<any motion instruction> ␈↓ βtReplaces␈αthe␈αmotion␈αinstruction␈αstored␈αat␈αthe␈αcurrent␈αstep␈αwith␈αthe␈αinstruction␈↓ βt
␈↓ βttyped␈α
in.␈α
The␈α
next␈α
step␈α
is␈α
then␈α
displayed␈α
for␈α
editing.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
<cr> ␈↓ βtTyping␈αan␈αempty␈αline␈α(␈αcarriage␈αreturn␈α)␈αleaves␈αthe␈αcurrent␈αstep␈αunaltered␈αand␈↓ βt
␈↓ βtdisplays␈α
the␈α
next␈α
instruction␈α
for␈α
editing.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
D <nstep> ␈↓ β8␈↓ βtDeletes␈α
an␈α
arbitrary␈α
number␈α
of␈α
instructions␈α
starting␈α
with␈α
the␈α
current␈α
instruction␈↓ βt
␈↓ βtstep.␈α
If␈α
nstep␈α
is␈α
not␈α
specified,␈α
only␈α
the␈α
current␈α
step␈α
is␈α
deleted.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
E <prog>,<nstep>␈↓ β8␈↓ βtSwitches␈α∂EDITing␈α∂from␈α∂the␈α∂current␈α∂program␈α∞to␈α∞the␈α∞new␈α∞user␈α∞motion␈α∞program␈↓ βt
␈↓ βt<prog>␈α∩starting␈α∩with␈α∩step␈α⊃<nstep>.␈α⊃As␈α⊃always,␈α⊃<nstep>␈α⊃can␈α⊃be␈α⊃omitted␈α⊃and␈↓ βt
␈↓ βtediting␈α
will␈α
begin␈α
with␈α
the␈α
first␈α
motion␈α
instruction.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
I ␈↓ βtMoves␈α⊂instructions␈α⊂starting␈α⊂at␈α⊂the␈α⊂current␈α⊂step␈α⊂down␈α⊂one␈α∂and␈α∂inserts␈α∂in␈α∂its␈↓ βt
␈↓ βtplace␈α
any␈α
motion␈α
instruction␈αthat␈αis␈αtyped␈αin.␈αThe␈αprocess␈αis␈αrepeated␈αuntil␈αan␈↓ βt
␈↓ βtempty␈α
line␈α
is␈α
typed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
L ␈↓ βtLeaves␈α
the␈α
current␈α
step␈α
unaltered␈α
and␈α
displays␈α
the␈α
previous␈α
step␈α
for␈α
editing.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
P <nstep>␈↓ αh␈↓ β8␈↓ βtPrints␈α⊂the␈α⊂next␈α⊂<nstep>␈α⊂number␈α⊂of␈α⊂program␈α∂steps␈α∂and␈α∂sets␈α∂the␈α∂current␈α∂line␈↓ βt
␈↓ βtnumber␈α
equal␈α
to␈α
the␈α
last␈α
line␈α
printed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
S <nstep>␈↓ αh␈↓ β8␈↓ βtLeaves␈αthe␈αcurrent␈αstep␈αunaltered␈αand␈αdisplays␈αthe␈αinstruction␈αwhich␈αis␈αat␈αstep␈↓ βt
␈↓ βt<nstep>␈α
in␈α
the␈α
user␈α
program.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
T ␈↓ βtReturns␈α
to␈α
monitor␈α
program.␈↓ βt
␈↓ βt␈↓ ↓H␈↓↓␈↓ ∧1MONITOR COMMANDS - INPUT/OUTPUT␈↓ ↓H
␈↓ ↓H
␈↓β␈↓ ↓H
␈↓ αUThe following commands are used to get hard copies of programs and transforms.␈↓ ↓H
␈↓ ↓H
␈↓ ↓H
␈↓↓ Command ␈↓ βP ␈↓ ∧(␈↓ λ∧Operation ␈↓ ↓H
␈↓β␈↓ ↓H
LISTT <t1>,....,<t8>␈↓ β8␈↓ βtTypes␈αout␈αthe␈αvalues␈αof␈αup␈αto␈αeight␈αdifferenct␈αtransforms.␈αIf␈αno␈αtransforms␈αare␈↓ βt
␈↓ βtspecified,␈α
the␈α
values␈α
of␈α
all␈α
existing␈α
transforms␈α
will␈α
be␈α
printed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
PUNCHT <t1>,...,<t8>␈↓ ∧λ␈↓ βtPractically␈α∂the␈α∂same␈α∂as␈α∂the␈α∞LISTT␈α∞instruction␈α∞except␈α∞that␈α∞no␈α∞header␈α∞is␈α∞typed␈↓ βt
␈↓ βtand␈αthe␈αtransform␈αnames␈αand␈αvalues␈α
are␈α
printed␈α
in␈α
"TF"␈α
format.␈α
Also␈α
a␈α
series␈α
of␈↓ βt
␈↓ βtnulls␈αare␈αprinted␈αbefore␈αand␈αafter␈αthe␈α
transforms␈α
to␈α
provide␈α
some␈α
leader␈α
paper␈↓ βt
␈↓ βttape.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
LISTP <prog>,<s1>,<s2>␈↓ ∧λ␈↓ βtTypes␈αout␈αthe␈αuser␈αmotion␈αprogram␈α<prog>␈αfrom␈αstep␈α<s1>␈αto␈αstep␈α<s2>.␈αIf␈αthe␈↓ βt
␈↓ βtstep␈α
numbers␈α
are␈α
omitted␈α
the␈α
entire␈α
program␈α
will␈α
be␈α
printed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
PUNCHP <prog>,<s1>,<s2>␈↓ ∧X␈↓ βtSame␈α
as␈α
LISTP␈α
except␈α
that␈α
leading␈α
and␈α
trailing␈α
blank␈α
paper␈α
tape␈α
is␈α
punched.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
PROGS ␈↓ βtPrints␈α
out␈α
the␈α
names␈α
of␈α
all␈α
defined␈α
user␈α
programs.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓ ↓H
␈↓ ↓H
␈↓↓␈↓ ∧⎇MONITOR COMMANDS - MISC.␈↓ ↓H
␈↓ ↓H
Command ␈↓ βP ␈↓ πyOperation ␈↓ ↓H
␈↓β␈↓ ↓H
CLEAR ␈↓ βtRe-initializes␈α∀ARM␈α∀program␈α∀so␈α∀that␈α∀all␈α∪transforms␈α∪and␈α∪user␈α∪programs␈α∪are␈↓ βt
␈↓ βtdeleted.␈αThis␈αis␈αa␈αtotally␈α
destructive␈α
operation.␈α
This␈α
function␈α
first␈α
asks␈α
"Are␈α
you␈↓ βt
␈↓ βtsure␈α
(Y,N)?"␈α
to␈α
verify␈α
that␈α
the␈α
operation␈α
is␈α
to␈α
be␈α
performed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
DONE ␈↓ βtMonitor␈α
program␈α
stops,␈α
computer␈α
exits␈α
to␈α
ODT.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓ ↓H
FREE␈↓ α_␈↓ αh␈↓ β8␈↓ βtTypes␈α
out␈α
percentage␈α
of␈α
free␈α
storage␈α
left.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
␈↓ ↓H
␈↓ ↓H
␈↓↓␈↓ ¬pERROR CODES␈↓ ↓H
␈↓ ↓H
Code ␈↓ πβMeaning ␈↓ ↓H
␈↓β␈↓ ↓H
1,2,3,4,5,6,7␈↓ αh␈↓ β8␈↓ βtNumber␈α
of␈α
arm␈α
joint␈α
out␈α
of␈α
tolerance␈α
or␈α
preventing␈α
required␈α
arm␈α
solution.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
8 ␈↓ βtDesired␈α
position␈α
too␈α
close.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
9 ␈↓ βtDesired␈α
position␈α
too␈α
far␈α
out.␈↓ βt
␈↓ βt␈↓ ↓H␈↓↓␈↓ ¬+MOTION INSTRUCTIONS␈↓ ↓H
␈↓β␈↓ ↓H
␈↓ ↓HIn␈α∂the␈α∂following␈α∂motion␈α∂instructions␈α∂all␈α∂distances␈α∂are␈α∂in␈α∂inches,␈α∂time␈α∂is␈α∂in␈α∞clock␈α∞ticks␈α∞(100␈α∞ticks␈α∞per␈↓ ↓H
␈↓ ↓Hsecond),␈α
and␈α
strings␈α
can␈α
be␈α
up␈α
to␈α
one␈α
line␈α
long.␈↓ ↓H
␈↓ ↓H␈↓ ↓H
␈↓↓ Command ␈↓ βP ␈↓ πyOperation ␈↓ ↓H
␈↓β␈↓ ↓H
DRAW dX,dY,dZ␈↓ β8␈↓ ∧λ␈↓ βtMoves␈α
the␈α
arm␈α
along␈α
a␈α
straight␈α
line␈α
a␈α
distance␈α
of␈α
dX␈α
in␈α
the␈α
X␈α
direction,␈α
dY␈αin␈↓ βt
␈↓ βtthe␈αY␈αdirection␈αand␈αdZ␈αin␈αthe␈αZ␈αdirection.␈αAny␈αdistances␈αomitted␈αare␈α
assumed␈α
to␈↓ βt
␈↓ βtbe␈α∪zero.␈α∪The␈α∪arm␈α∪configuration␈α∪and␈α∪orientation␈α∩are␈α∩maintained␈α∩during␈α∩this␈↓ βt
␈↓ βtmotion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
GO <trans>␈↓ β8␈↓ ∧λ␈↓ βtMoves␈α
the␈α
arm␈α
to␈α
the␈α
position␈α
and␈α
orientation␈α
specified␈α
by␈αtransform␈α<trans>.␈↓ βt
␈↓ βtThere␈α∀is␈α∀no␈α∀path␈α∀computed␈α∀for␈α∀this␈α∀motion,␈α∀the␈α∪hardware␈α∪position␈α∪servo␈↓ βt
␈↓ βtoperates␈αin␈αslew␈αmode.␈αAny␈α
changes␈α
in␈α
configuration␈α
requested␈α
by␈α
the␈α
user␈α
are␈↓ βt
␈↓ βtexecuted␈α
during␈α
the␈α
motion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
MOVE <trans>␈↓ β8␈↓ ∧λ␈↓ βtMoves␈α
the␈α
arm␈α
to␈α
the␈α
position␈α
and␈α
orientation␈α
specified␈α
by␈αtransform␈α<trans>.␈↓ βt
␈↓ βtIntermediate␈αset␈αpoints␈αbetween␈αthe␈αinitial␈αand␈αfinal␈αarm␈αposition␈αare␈αcomputed␈↓ βt
␈↓ βtby␈α
interpolating␈α
the␈α
initial␈α
and␈α
final␈α
joint␈α
angles.␈α
Any␈α
changes␈αin␈αconfiguration␈↓ βt
␈↓ βtrequested␈α
by␈α
the␈α
user␈α
are␈α
performed␈α
during␈α
the␈α
motion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
DEPART <distance>␈↓ ∧λ␈↓ βtMoves␈α
the␈α
arm␈α
hand␈α
a␈α
distance␈α
of␈α
<dist>␈α
along␈α
the␈α
current␈αaxis␈αof␈αrotation␈αof␈↓ βt
␈↓ βtthe␈α⊂last␈α⊂joint.␈α⊂Negative␈α⊂distances␈α⊂move␈α⊂the␈α⊂hand␈α⊂forward,␈α⊂positive␈α∂distances␈↓ βt
␈↓ βtmove␈α
the␈α
hand␈α
back.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
APPRO <trans>,<dist>␈↓ ∧λ␈↓ βtMoves␈αthe␈αhand␈αto␈αthe␈αposition␈αand␈α
orientation␈α
specified␈α
by␈α
<trans>␈α
offset␈α
by␈α
a␈↓ βt
␈↓ βtdistance␈α∂<dist>␈α∂along␈α∂the␈α∂axis␈α∂of␈α∂rotation␈α∞of␈α∞the␈α∞last␈α∞joint.␈α∞Positive␈α∞distances␈↓ βt
␈↓ βtmove␈α
the␈α
hand␈α
away␈α
from␈α
the␈α
specified␈α
transform␈αposition,␈αnegative␈αdistances␈↓ βt
␈↓ βtmove␈α
the␈α
hand␈α
beyond␈α
the␈α
transform␈α
position.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
READY ␈↓ βtMoves␈α∞the␈α∞arm␈α∞to␈α∞the␈α∞READY␈α∞position␈α∞above␈α∞the␈α
work␈α
space.␈α
This␈α
forces␈α
the␈↓ βt
␈↓ βtarm␈α
into␈α
a␈α
standard␈α
configuration.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ α_␈↓ ↓H
REST ␈↓ βtMoves␈α
the␈α
arm␈α
to␈α
the␈α
REST␈α
position.␈α
This␈α
leaves␈α
the␈αarm␈αin␈αa␈αsafe␈αposition␈αin␈↓ βt
␈↓ βtcase␈α⊃power␈α⊃is␈α⊃turned␈α⊃off.␈α⊃If␈α⊃no␈α⊃special␈α⊃speed␈α⊂has␈α⊂been␈α⊂set␈α⊂via␈α⊂the␈α⊂SPEED␈↓ βt
␈↓ βtcommand,␈α
the␈α
arm␈α
will␈α
move␈α
to␈α
rest␈α
at␈α
half␈α
the␈α
normal␈α
speed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
OPEN <dist>␈↓ αh␈↓ β8␈↓ βtChanges␈α
the␈α
hand␈α
opening␈α
to␈α
<dist>␈α
inches.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
GRASP <dist>␈↓ β8␈↓ ∧λ␈↓ βtCloses␈α∞the␈α∞hand␈α∞and␈α∞generates␈α∞an␈α∞error␈α∞message␈α
if␈α
the␈α
final␈α
hand␈α
opening␈α
is␈↓ βt
␈↓ βtless␈α
than␈α
<dist>.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
DRIVE <jt>,<angle>,<time> ␈↓ βtOperates␈α∂the␈α∂single␈α∂joint␈α∂specified␈α∂by␈α∂the␈α∂parameter␈α∂<jt>␈α∂(1-7).␈α∂The␈α∂current␈↓ βt
␈↓ βtjoint␈αangle␈αis␈αchanged␈αby␈αan␈αamount␈α<angle>.␈αThe␈αchange␈αin␈α
joint␈α
angle␈α
must␈α
be␈↓ βt
␈↓ βtspecified␈α
in␈α
degrees.␈α
The␈α
duration␈α
<time>␈α
must␈α
be␈α
specified␈α
in␈α
clock␈α
ticks.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
WAIT <time>␈↓ β8␈↓ ∧λ␈↓ βtHalts␈α
motion␈α
for␈α
<time>␈α
in␈α
seconds.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
PAUSE <message>␈↓ β8␈↓ ∧λ␈↓ βtTerminates␈αexecution␈αof␈α
motion␈α
program␈α
and␈α
types␈α
a␈α
message.␈α
Execution␈α
can␈α
be␈↓ βt
␈↓ βtcontinued␈α
from␈α
this␈α
point␈α
by␈α
typing␈α
P.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
STOP ␈↓ βtSame␈α
as␈α
PAUSE␈α
except␈α
that␈α
motion␈α
cannot␈α
be␈α
continued.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
COMMNT <string>␈↓ β8␈↓ ∧λ␈↓ βtComment␈α
line,␈α
a␈α
no-operation␈α
at␈α
run-time.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
TYPE <message>␈↓ β8␈↓ ∧λ␈↓ βtTypes␈α
the␈α
string␈α
<message>␈α
on␈α
the␈α
teletype.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
RIGHTY or LEFTY␈↓ β8␈↓ ∧λ␈↓ βtRequests␈α
a␈α
change␈α
in␈α
arm␈α
configuration␈α
to␈α
a␈α
left␈α
or␈α
right␈α
shouldered␈α
arm.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
ABOVE or BELOW␈↓ β8␈↓ ∧λ␈↓ βtRequests␈αa␈αchange␈αin␈αarm␈αconfiguration␈αso␈αthat␈αthe␈αapproach␈αangle␈αof␈αthe␈αhand␈↓ βt
␈↓ βtis␈α
from␈α
below␈α
or␈α
above␈α
objects.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
FLIP or NOFLIP␈↓ β8␈↓ ∧λ␈↓ βtChanges␈α⊃the␈α⊂range␈α⊂of␈α⊂operation␈α⊂of␈α⊂joint␈α⊂5␈α⊂to␈α⊂plus␈α⊂(NOFLIP)␈α⊂or␈α⊂minus␈α⊂(FLIP)␈↓ βt
␈↓ βtangles.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
SPEED <percentage>␈↓ ∧λ␈↓ βtRequests␈αthat␈αthe␈αnext␈αarm␈αmotion␈αbe␈αperformed␈αat␈αa␈αspeed␈αother␈α
than␈α
normal(␈↓ βt
␈↓ βt=␈α∩100).␈α∩The␈α∩percentage␈α∩can␈α∩range␈α∩from␈α∩1␈α∩(␈α∩extremely␈α⊃slow␈α⊃)␈α⊃to␈α⊃32000␈α⊃(␈↓ βt
␈↓ βthardware␈α
slewing␈α
mode␈α
).␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
COARSE ␈↓ βtThe␈α⊃low␈α⊃tolerance␈α⊃feature␈α⊂is␈α⊂enabled␈α⊂in␈α⊂the␈α⊂hardware␈α⊂servo␈α⊂so␈α⊂that␈α⊂larger␈↓ βt
␈↓ βterrors␈αin␈αthe␈αfinal␈αposition␈αof␈αthe␈αarm␈αjoints␈αwill␈αbe␈αpermitted␈α
at␈α
the␈α
end␈α
of␈α
the␈↓ βt
␈↓ βtnext␈α
motion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
INTOFF ␈↓ βtTurns␈α∪off␈α∪the␈α∪hardware␈α∩position␈α∩error␈α∩integration␈α∩feature␈α∩during␈α∩the␈α∩next␈↓ βt
␈↓ βtmotion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
INTON ␈↓ βtForces␈α∀the␈α∀hardware␈α∀to␈α∀integrate␈α∀the␈α∀position␈α∪error␈α∪throughout␈α∪the␈α∪next␈↓ βt
␈↓ βtmotion.␈↓ βt
␈↓ βt␈↓ ↓H␈↓ ↓H
PULSE ␈↓ βtEnables␈α∃the␈α∃hardware␈α∃hand␈α∃pulse␈α∃mode␈α∃during␈α∃the␈α∃next␈α∃arm␈α∀motion␈α∀for␈↓ βt
␈↓ βtapproximately␈α∞100msec.␈α∞This␈α∞mode␈α∞is␈α∞useful␈α∞for␈α∞freeing␈α
the␈α
hand␈α
after␈α
it␈α
has␈↓ βt
␈↓ βtjammed␈α
open␈α
or␈α
closed.␈↓ βt
␈↓ βt␈↓ ↓H␈↓↓␈↓ ∧mSUMMARY OF INSTRUCTION SET␈↓ ↓H
Top Level Instructions␈↓ ↓H
␈↓ ↓H
␈↓β TRANS <transform>␈↓ ↓H
HERE <transform>␈↓ ↓H
TF <transform>,X,Y,Z,O,A,T␈↓ ↓H
WHERE␈↓ ↓H
EXEC <program name>,<pass count>,<starting step>␈↓ ↓H
P␈↓ ↓H
LISTT <trans #1>, .... , <trans #8>␈↓ ↓H
PUNCHT <trans #1>, .... , <trans #8>␈↓ ↓H
LISTP <program name>,<first step>,<last step>␈↓ ↓H
PUNCHP <program name>,<first step>,<last step>␈↓ ↓H
PROGS␈↓ ↓H
CLEAR␈↓ ↓H
DONE␈↓ ↓H
FREE␈↓ ↓H
DEFPRO <program name>␈↓ ↓H
EDIT <program name>,<step number>␈↓ ↓H
␈↓ ↓H
␈↓↓Edit Instructions␈↓ ↓H
␈↓ ↓H
␈↓β <any motion instruction>␈↓ ↓H
c/r␈↓ ↓H
L␈↓ ↓H
S <number of steps>␈↓ ↓H
D <number of steps>␈↓ ↓H
I␈↓ ↓H
E <program name>,<step number>␈↓ ↓H
T␈↓ ↓H
␈↓ ↓H
␈↓↓Motion Instructions␈↓ ↓H
␈↓ ↓H
␈↓β DRAW dX,dY,dZ␈↓ ↓H
GO <transform>␈↓ ↓H
MOVE <transform>␈↓ ↓H
DEPART <distance>␈↓ ↓H
APPRO <transform>,<distance>␈↓ ↓H
READY␈↓ ↓H
REST␈↓ ↓H
DRIVE <joint>,<angle>,<time>␈↓ ↓H
OPEN <distance>␈↓ ↓H
GRASP <distance>␈↓ ↓H
COMMNT <any string>␈↓ ↓H
TYPE <any string>␈↓ ↓H
WAIT <time>␈↓ ↓H
PAUSE <any string>␈↓ ↓H
STOP␈↓ ↓H
RIGHTY␈↓ ↓H
LEFTY␈↓ ↓H
ABOVE␈↓ ↓H
BELOW␈↓ ↓H
FLIP␈↓ ↓H
NOFLIP␈↓ ↓H
SPEED <percentage>␈↓ ↓H
COARSE␈↓ ↓H
INTOFF␈↓ ↓H
INTON␈↓ ↓H
PULSE␈↓ ↓H