perm filename PROP[1,VDS]3 blob sn#300578
filedate 1977-08-14 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00002 00002 UNIMATE 500 CONTROLLER
UNIMATE 500 CONTROLLER
The electronic hardware section of the Unimate 500 Controller consists
of three basic modules: a computer, an interface for data I/O and
a servo system. Ancillary input devices include a terminal,
cassette unit and a manual control unit. These devices are for programming
and loading convenience only; they are not necessary for program execution.
The computer provides high level control of the arm to the user through
means of extensive software. The software consists of English language word
and number sequences which are converted to operating code upon execution.
The computer communicates with a Data Acquisition Interface through
which it commands manipulator position and reads inputs from the arm and
manual control unit.
Position commands are loaded into the Digital Sum section of the servo
where they are summed with position signals from optical encoders on the arm.
Resolution is up to sixteen bits (one part in 65,536). Position Error is
amplified, compensated and summed with a velocity signal in the power stage
of the servo. The power stage provides motor currents to the arm joint electric
The computer used in the Unimate 500 Co≠troller is Digital Equipment
Corporation's LSI-ll microcomputer. Incorporated in the computer are a
sixteen bit CPU with 4K of RAM, 8K of ROM, a parallel interface for execution
data I/O, and a serial interface for user terminal devices. A second serial
interface for communicating with a master computer or process controller is
optional. Power status is monitored and a backup battery is provided to maintain
CPU memory in case of short term power failure. Operating software is resident
in ROM, however, user programs are stored in RAM. Programs may be either loaded
or stored by means of a cassette unit or terminal.
MANUAL CONTROL/TEACH UNIT
The manual control unit consists of a rotary switch which selects mode of
operation, seven center return toggle switches for commanding arm motion, a
proportional control for setting speed, a teach button for recording points and
an emergency stop button.
Modes of Operation:
OFF. In the off mode the arm is stationary and no inputs from the manual
control box or computer are possible.
FREE. When the free mode is selected, the arm behaves initially as if it
were in off mode: all joints are stationary. Pushing a toggle switch
towards a number releases the joint indicated by that number. The joint
goes limp with no brake on or motor current applied. This free mode is
used for manually placing the arm in position.
JOINT. Joint mode allows the toggle switches to command motion of their respective
numbered joints. Joint speed is selected by the speed potentiomet. When the pot
is rotated counterclockwise into the detent and the "INC" indicator light
is lit, the joint will switch to incremental mode, i.e., it will move an
increment equal to the resolution of the joint. Turning the pot out of
detent, clockwise, gradually increases joint speed.
WORLD. In this mode, the toggle switches command motions of the tool tip along
the X,Y or Z axes relative to the base of the arm. The switches labeled
O,A and T command angles of the tool about its tip.
TOOL. In this mode, the arm moves along pre-defined axes fixed to the tool in
use. Tool axes must be defined through the terminal. A "no tool" default
condition is assumed if this is not done.
COMP. In computer mode, motion programs may be executed.
TEACH. Pushing the teach button records the current position of the arm, and
performs any other operations defined by terminal entries.
STOP. The stop button halts the arm. To restart the arm in manual mode, it is
necessary to select off position and then reselect a manual mode. In
comp mode, pushing stop interrupts execution of the program. It is
necessary for the program to be restarted.
The tool toggle switch controls two bits for operating a terminal device from the teach box.
The manipulator may be operated without the teach box attatched. In this mode,
all modes and functions are controlled through the terminal.
The Unimation Interface may be divided into two sections, the Encoder Counters
and the Data Acquisition section.
The encoders on the arm are bi-directional, incremental encoders with two output
signals in quadrature and a zero reference track. The encoder counters decode these signals into up or down
counts. The encoder count output registers may be zeroed or preset to a value by
the computer during startup and initialization procedures. These counters are
addressable by the computer through its DRV-ll parallel interface. This allows the
computer to read the manipulator position at all times. Other registers contain the
servo status bits, peripheral device bits and brake bits. These, too, are addressable
by the computer.
The servo system is a digital position servo with analog velocity damping.
Current limiting is provided for DC motor protection.
Position commands are loaded into registers Z1 and Z2 in the form of a sixteen
bit word. They are summed in adders Z3 through Z6. If there are ten bits or fewer
of position error, the DAC is loaded with the error to produce an output in the
The DAC output, which represents position error, is fed into amplifier A1A of the
analog amplifier, where lead compensation may be added. Thee error is amplified by A1C,
which for errors larger than eight counts (three bits), has a linear gain of
eleven. For small errors, FET Z16 is switched on, which turns A1C into an integrator.
This allows the elimination of steady state offsets and provides a final error null.
Position error is converted to an absolute value by amplifiers
A1D, A2A and A2B. This absolute value of error drives comparators C1A and
C1B. When the magnitude of the error falls below the selected comparator threshold,
C1A turns on the position error integrator and C1B outputs a bit to the interface
signifying that the position error is within the selected tolerance. For high
accuracy, this tolerance threshold is set to one bit of resolution.
It is not always desirable to turn on the integrator and servo to zero error;
it may be sufficient to be within several degrees of a position before advancing
to the next position. To allow this, F3 can be turned on by the wide tolerance bit,
which causes a much higher threshold to be set at C1B, and consequently, the
tolerance bit comes up at a larger error. This wider tolerance region allows the
manipulator to proceed rapidly through a succession of approximate points without
entering the integration region.
In order to have a stable high bandwidth servo with adequate damping,it is
necessary to have velocity feedback. This is accomplished through high gain
tachometers which are buffered and compensated by the tach amplifier. Position
error and velocity damping are summed at A3B. P3 adjusts damping and P4 adjust
Transistors Q1 and Q2 in the feedback loop around A3B are driven by a circuit
which integrates current in an electrical model of the thermal time constant of the
DC motors. Should this integral reach a level which would indicate overheating of
the motors, a proportional decrease in motor current is effected through lowering
the voltage at the base of Q1 and Q2, and hence, decreasing amplifier gain. This
protects the motors without disabling the arm.
A3C provides the current summing mode which drives the power stages of the
amplifier. Current is sensed through current sensing resistors.
The power transistors are mounted on a separate heat sink which is fan
cooled. The joint servos are mounted on individual, interchangeable, printed circuit
During normal operation, the brakes(joints 1-3 only) are not used and the arm motors run continuously.
The brakes are failsafe type brakes which are on whenever power is off. They may
be set by pushing emergency stop or by the computer in a power down sequence.
The brake card also contains an eight bit A/D for digitizing the analog
speed control signal from the manual control box and provides I/O to the servo
back plane for the manual control bits.