Skip to Main Content
The task of coordinating manipulators, vision and force sensors, and simpler devices within a robotic workcell is often impeded by a proliferation of nonstandard command interfaces and the rigidity of available control languages. However, many robotic devices provide a set of ASCII commands via an RS-232C port. To support fast prototyping in an adaptive robotics laboratory, we have chosen to extend the general-purpose language Pascal so that the full command repertoire of such devices can be invoked in a uniform way. A succinct syntax has been designed, using semantic overloading, that mirrors the dialogue between workcell controller and device. For example, the acts of issuing a command and receiving its reply can be combined or separated syntactically, permitting a variety of synchronizing strategies. Asynchronous device activity can be overlapped, since each device's dialogue is handled by a dedicated task within a multi-tasking operating system. For further conciseness, formatting of commands and parsing of replies are device- and datatype-sensitive. Many idiosyncrasies of the devices are effectively hidden from the programmer, including awkward formats designed for interactive human use. Errors arising in communication links or devices are automatically trapped and optionally referred to the operator. The implementation supports the Unimation Puma 560 Mark II and Control Automation CAR-1000 manipulators, and the Automatix AV-II and SRI vision systems.