Technical details on the Helpless Robot
Hardware:
In its most recent manifestation, the Helpless Robot uses two computing systems. The first, or "slave", is really a small embedded controller consisting of a small (2"x4") 68HC11-based microcomputer manufactured by New Micros, and a servo-motor interface. However, no servo-motors are used; the interface simply allows decoding of the quadrature signal from a single optical shaft encoder, and enables the controller to track continuously the position of the "lazy susan" -mounted upper section of the sculpture. The embedded controller also monitors the outputs of three infra-red intrusion detectors built into the static base, and passes formatted data for both rotation and intrusion to the second computer, whenever the "master" computer requests it.
The second computer is a 80386-based machine, standard except for the fact that the above-mentioned controller is mounted in one of its disk-drive bays. It communicates with the slave computer over a short internal serial cable.
Software:
The slave system's microcomputer is programmed in MAX-Forth.
The master system is programmed in Delphi.
The Software can be roughly divided into three components. The first uses present and previous states of rotation, position, and human presence to set a number of "binary discriminators". It is the choice of discriminators which determines what the robot can "know" about the world. A second module then decides which of these discriminators are "relevant" at a given time. For instance, it is pointless to consider whether the robot is being turned in the correct direction, if it is not being turned at all. This "relevant sense" data is passed on to a third module in the form of a weighted binary code, which uses that code to select an appropriate voice sample. It is up to the third module to decide how long to linger in any one of the four phases of monologue (preamble, request, encourage, and score) and when to switch to a different target position and/or level of politeness. My overarching intent in all of this is to create a seamless monologue in which each utterance has some semblance of continuity with the previous one, even though a given selection might result from many possible state transitions.