perm filename VALPOX.V[1,VDS]1 blob
sn#243738 filedate 1976-10-25 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \|\\M1BDR30\M2SIGN57\M3NGR25\M4NGR20\F2\CVICARM
C00014 00003 \F1\CMONITOR COMMANDS - INPUT/OUTPUT
C00017 00004 \F1\CMOTION INSTRUCTIONS
C00026 00005 \F1\C SUMMARY OF INSTRUCTION SET
C00041 ENDMK
C⊗;
\|\\M1BDR30;\M2SIGN57;\M3NGR25;\M4NGR20;\F2\CVICARM
\F3\C154 EAST DANA STREET
\CMOUNTAIN VIEW, CA. 94041
\←L\+=400;\→l\←R\→r
\F1\C VAL
\C INSTRUCTION SET FOR VICARM MANIPULATOR CONTROL PROGRAM
\C Version of September 1,1976
\F3
\J For the following instructions, commas are to be used to separate
variables. If an argument is optional, the default value will be used
if no value is given. The names of transforms and programs can consist
of up to six characters. \.
\F1
\CMONITOR COMMANDS - DEFINING POSITIONS
\F3
\J The following commands are used for defining transforms and determining
the current position of the arm. Transforms are specified in cartesian
coordinates and Euler angles.\.
\F1
\L Command \R Operation
\F3
TRANS <trans> \j Used to specify and modify the value of transform
<trans>. The current value of the transform is printed
and any of the transform elements (x,y,z,o,a,t)
can be modified by typing a new value after the
query CHANGES?. Values that are not to be changed
can be omitted. Changes are continuously asked for
until no change in the transform is made.
The X,Y,Z specify the position of a point centrally
located between the finger tips in table coordinates.
O,A,T specify the orientation of the hand. With all three
angles (in degrees) zero, the hand points in the negative Y
direction with the fingers in a horizontal plane. The
orientation vector which points from one finger tip to the
other is aligned along the X axis. O specifies a rotation
of the orientation vector about a vertical direction. Thus
at O=90deg, the hand, still horizontal, would point along the
positive X direction. A is a rotation about the orientation
vector. With A=90deg. the hand always points straight down.
T is a final rotation about the axis of the wrist and
corresponds to a rotation of the final )#6) joint.\.
HERE <trans> \jDefines transform <trans> to be current arm position.
As with TRANS, post modification of the Euler angles (O,A,T)
and cartesian position (X,Y,Z) is permitted.\.
TF <trans>,X,Y,Z,O,A,T \jInitializes the transform <trans> to the specified
value. All arguments left unspecified will be set
to zero. This instruction is used mainly for
reading in transforms that have be punched on paper
tape.\.
WHERE\jPrints out the current location of the arm in Euler
and joint angles along with the current hand opening.\.
\F1
\CMONITOR COMMANDS - PROGRAM CONTROL
\L Command \R Operation
\F3
EXEC <PROG>,<NLOOP>,<STEP>\j Executes the motion program <PROG>, <NLOOP>
number of times. A loop is terminated when
either a STOP instruction or the last defined step
of the program is encountered. If <nloop> is
omitted, the program will be executed one time.
If <prog> is omitted, execution of the last
user program EXEC'ed will be re-initiated.
If <STEP> is specified, the motion program begins
execution at motion program step <STEP> for the
first pass, otherwise, the program starts execution
at step #1. All successive passes begin at the
start of the program.\.
P \jProceeds motion program at the step following the
step where execution was halted due to a PAUSE
instruction or runtime error.\.
\F1\CMONITOR COMMANDS - PROGRAM EDITING
\F3
\C The following commands are used for creating and modifying user motion\N
instruction programs.
\F1
\L Command \R Operation
\F3
EDIT <prog>,<nstep>\jPermits user to create or modify program <prog>
starting at step <nstep>. If no step number is
specified editing proceeds from the step were the
last editing session was terminated. If no program
is specified, the last program edited is re-opened.\.
DEFPRO <prog> \jUsed primarily for reading user motion programs
that have been dumped to paper tape via the PUNCHP
instruction. Successive program steps are read in
until an empty line or illegal motion is encountered.\.
\COnce having entered the EDIT program, the following edit functions may be invoked.
\F1\L Command \R Operation
\F3
<any motion instruction> \jReplaces the motion instruction stored at the
current step with the instruction typed in. The
next step is then displayed for editing.\.
<cr> \jTyping an empty line ( carriage return ) leaves the
current step unaltered and displays the next
instruction for editing.\.
D <nstep> \jDeletes an arbitrary number of instructions starting
with the current instruction step. If nstep is not
specified, only the current step is deleted.\.
E <prog>,<nstep> \jSwitches EDITing from the current program to the
new user motion program <prog> starting with
step <nstep>. As always, <nstep> can be omitted
and editing will begin with the first motion
instruction.\.
I \jMoves instructions starting at the current step
down one and inserts in its place any motion
instruction that is typed in. The process is
repeated until an empty line is typed.\.
L \jLeaves the current step unaltered and displays the
previous step for editing.\.
P <nstep> \jPrints the next <nstep> number of program steps
and sets the current line number equal to the
last line printed.\.
S <nstep> \jLeaves the current step unaltered and displays the
instruction which is at step <nstep> in the user
program.\.
T \jReturns to monitor program.\.
\F1\CMONITOR COMMANDS - INPUT/OUTPUT
\F3
\CThe following commands are used to get hard copies of programs and transforms.
\F1\L Command \R Operation
\F3
LISTT <t1>,....,<t8> \jTypes out the values of up to eight differenct
transforms. If no transforms are specified, the
values of all existing transforms will be printed.\.
PUNCHT <t1>,...,<t8> \jPractically the same as the LISTT instruction
except that no header is typed and the transform
names and values are printed in "TF" format. Also
a series of nulls are printed before and after
the transforms to provide some leader paper tape.\.
LISTP <prog>,<s1>,<s2> \jTypes out the user motion program <prog> from step
<s1> to step <s2>. If the step numbers are omitted
the entire program will be printed.\.
PUNCHP <prog>,<s1>,<s2> \jSame as LISTP except that leading and trailing
blank paper tape is punched.\.
PROGS \jPrints out the names of all defined user programs.\.
\F1\CMONITOR COMMANDS - MISC.
\L Command \R Operation
\F3
CLEAR \jRe-initializes ARM program so that all transforms
and user programs are deleted. This is a totally
destructive operation. This function first asks
"Are you sure (Y,N)?" to verify that the operation
is to be performed.\.
DONE \jMonitor program stops, computer exits to ODT.\.
\F1\CMOTION INSTRUCTIONS
\F3
\JIn the following motion instructions all distances are in inches, time
is in clock ticks (100 ticks per second), and strings can be up to one line
long.\.
\F1\L Command \R Operation
\F3
DRAW dX,dY,dZ \jMoves the arm along a straight line a distance of dX in
in the X direction, dY in the Y direction and dZ in
the Z direction. Any distances omitted are assumed
to be zero. The arm configuration and orientation
are maintained during this motion.\.
GO <trans> \jMoves the arm to the position and orientation specified
by transform <trans>. There is no path computed for
this motion, the hardware position servo operates in
slew mode. Any changes in configuration requested by
the user are executed during the motion.\.
MOVE <trans> \jMoves the arm to the position and orientation specified
by transform <trans>. Intermediate set points between
the initial and final arm position are computed by
interpolating the initial and final joint angles.
Any changes in configuration requested by the user are
performed during the motion.\.
DEPART <distance> \jMoves the arm hand a distance of <dist> along the
current axis of rotation of the last joint. Negative
distances move the hand forward, positive distances
move the hand back.\.
APPRO <trans>,<dist> \jMoves the hand to the position and orientation
specified by <trans> offset by a distance <dist> along
the axis of rotation of the last joint. Positive
distances move the hand away from the specified
transform position, negative distances move the
hand beyond the transform position.\.
READY \jMoves the arm to the READY position above the workM
space. This forces the arm into a standard
configuration.\.
REST \jMoves the arm to the REST position. This leaves the
arm in a safe position in case power is turned off.
If no special speed has been set via the SPEED command,
the arm will move to rest at half the normal speed.\.
OPEN <dist> \jChanges the hand opening to <dist> inches.\.
GRASP <dist> \jCloses the hand and generates an error message
if the final hand opening is less than dist.\.
DRIVE <jt>,<angle>,<time> \jOperates the single joint specified by the
parameter <jt> (1-7). The current joint angle
is changed by an amount <angle>. The change in
joint angle must be specified in degrees. The
duration <time> must be specified in clock ticks.\.
PAUSE <message> \jTerminates execution of motion program and types
a message. Execution can be continued from this
point by typing P.\.
STOP \jSame as PAUSE except that motion cannot be continued.\.
COMMNT <string> \jComment line, a no-operation at run-time.\.
TYPE <message> \jTypes the string <message> on the teletype.\.
RIGHTY or LEFTY \jRequests a change in arm configuration to a left
or right shouldered arm.\.
ABOVE or BELOW \jRequests a change in arm configuration so that the
approach angle of the hand is from below or above
objects.\.
FLIP or NOFLIP \jChanges the range of operation of joint 5 to
plus (NOFLIP) or minus (FLIP) angles.\.
SPEED <percentage> \jRequests that the next arm motion be performed at
a speed other than normal( = 100). The percentage
can range from 1 ( extremely slow ) to 32000
( hardware slewing mode ).\.
COARSE \jThe low tolerance feature is enabled in the
hardware servo so that larger errors in
the final position of the arm joints will be
permitted at the end of the next motion.\.
INTOFF \jTurns off the hardware position error integration
feature during the next motion.\.
INTON \jForces the hardware to integrate the position error
throughout the next motion.\.
PULSE \jEnables the hardware hand pulse mode during the
next arm motion for approximately 100msec. This
mode is useful for freeing the hand after it
has jammed open or closed.\.
\F1\C SUMMARY OF INSTRUCTION SET
Top Level Instructions:
\F3 TRANS <transform>
HERE <transform>
TF <transform>,X,Y,Z,O,A,T
WHERE
EXEC <program name>,<pass count>,<starting step>
P
LISTT <trans #1>, .... , <trans #8>
PUNCHT <trans #1>, .... , <trans #8>
LISTP <program name>,<first step>,<last step>
PUNCHP <program name>,<first step>,<last step>
PROGS
CLEAR
DONE
DEFPRO <program name>
EDIT <program name>,<step number>
\F1Edit Instructions
\F3 <any motion instruction>
c/r
L
S <number of steps>
D <number of steps>
I
E <program name>,<step number>
T
\F1Motion Instructions
\F3 DRAW dX,dY,dZ
GO <transform>
MOVE <transform>
DEPART <distance>
APPRO <transform>,<distance>
READY
REST
DRIVE <joint>,<angle>,<time>
OPEN <distance>
GRASP <distance>
COMMNT <any string>
TYPE <any string>
PAUSE <any string>
STOP
RIGHTY
LEFTY
ABOVE
BELOW
FLIP
NOFLIP
SPEED <percentage>
COARSE
INTOFF
INTON
PULSE