Operator Workstation

The operator station will be required to perform user interface, command, display, and communication functions. The display functions include display of live and still video of the inspection area, and display of status information such as robot position. Required features for the operator workstation were identified and are listed below.

UNIX Operating System - UNIX is an ideal software development and execution operating system. Most research facilities and many businesses rely on it's robustness and the large body of scientific and technical software tools available for it. In addition, the ARIES team at USC was also using UNIX for their operator interface software, which provided an added incentive if compatibility with their system was desired.

X Windows and Motif development tools - X Windows provides a network capable graphical user interface (GUI) for UNIX and other platforms. One of the advantages of X over other non-network implemented GUIs (such as Microsoft Windows or OS/2 Presentation Manager) is the ability to remotely display program output and read program input. An X client can run on one machine and display its results and interact with a user anywhere on the Internet. Motif was chosen for the actual GUI development because it is an OSF standard and provides pre-built widget classes which facilitate the implementation of user friendly interfaces.

Live video display and capture - Obviously, it is necessary for the operator to be able to see what is occurring in the remote environment being inspected. The ability to display live video in a window on the workstation screen was necessary to avoid having the operator constantly shifting his attention from the workstation display to a fixed function NTSC video monitor. The capture capability allows images to be stored and processed or cataloged later, and is used to store and decode an image of the bar coded labels identifying drum inventory number, contents, etc. Captured images from the overhead pan/tilt unit are also used to allow the operator to mark suspect spots for inspection and sampling.

C compiler - UNIX is written in C and most if not all system libraries are written in C. C is popular, standard, and portable for the most part (barring system specific library function calls). Also, to maintain homogeneity across all computing platforms used in this project (DOS, QNX, UNIX), C was chosen, since it was the only language for which a compiler was provided on the DOS and QNX machines.

BSD style sockets API for communications - Though available on most flavors of UNIX, BSD sockets are not standard. Since a sockets interface was the only means found to communicate across an Ethernet layer with both the DOS based robot server and the QNX based pan/tilt servers the operating system chosen for the operator workstation had to support it.

Fast RS-232 interface - For interfacing to the magnetic tracker used in the Telepresence Module, a fast serial interface (RS232 or RS485) capable of 38,400 BPS continuous operation (while other tasks are executing) was needed.

Commercially available/well supported - One of the underlying requirements for all of the equipment was that it be "off the shelf" whenever possible to reduce cost and enhance ease of servicing/replacement. The workstation selected should have a reliable manufacturer with a proven reputation for high quality products.

Two workstations from major vendors met the qualifications and were considered for the project; a Sun Sparc 10 with a third party video board, and a Silicon Graphics Indy workstation. Silicon Graphics5 is synonymous with high resolution, high color graphics and video displays, so it was decided that an SGI Indy would provide the best performance within budget. The Sparc met all of the other requirements but would have required support from a relatively unknown third party vendor for the video capture/display board. In addition the software libraries provided with that video capture card were completely proprietary and followed no standard, neither did they integrate with X windows. In fact at the time this report is being written, this third party developer (Image Manipulation Systems) has discontinued the video/capture board (IMS1000) for the Sparc and has also dropped all support for it.

The SGI Indy's VINO (video in no out) capture hardware is standard equipment on all Indy workstations, and SGI's digital media libraries are standard on all Silicon Graphics workstations. In addition all video display/capture functions are fully integrated with the X server through Silicon Graphics GL (Graphics Language). There was no doubt about support for the Indy's VINO video capture device, and it's performance far exceeded that of the Sparc 10/third party video board (demos of both systems are available).

In addition to being used as a platform for development and execution of the operator console software, the Indy was also used as the NFS server for all of the source code for the DOS and QNX servers. In addition, software developed on the Indy is binary compatible with the SGI workstations used at USC on this project, as demonstrated in the Phase II demo. The Indy proved to be a very appropriate choice for the operator workstation.