next up previous
Next: Software Architecture Up: Spinoza: A Stereoscopic Visually Previous: Model/Hardware map

Hardware Architecture

How do we realize a system that meets our constraints and has the capabilities we need? One method of specifying robotic systems has been the ``reactive'' situated approach that exploits regularities of the task and environment of the robot[9,2]. Typically these systems have simplified the sensing capabilities of the robot so as to meet the physical and cost limitations, suited to the task and environment. Horswill[10] has implemented a more general, but inexpensive processor, with limited capabilities. Others[6] move much of the signal and image processing offboard.

  
Figure 5: View of Spinoza's Hardware

We chose to build a large amount of our computing requirements onboard our mobile robot. Figure 6 shows the computing system. A VME card cage, visible in Figure 5, holds four INMOS Transputer processors plus two Texas Instruments TMS320C40 digital signal processors. Our experience with the Vision Engine[13] showed that Transputers are suitable for implementing real-time controllers because they have low-latency communication capabilities and built-in lightweight scheduling and context switching. However, they lack the computational power and communication bandwidth for vision processing. For this reason we use C40 DSP processors, which support 25 MFlops computation plus 20MB/s communications, for the image acquisition and processing functions onboard the robot.

Spinoza's C40 vision system is composed of an RGB video frame grabber and a specialized image processing module. The frame grabber can simultaneously grab from either the pan-tilt mounted colour camera or the three greyscale stereo cameras. The image processing module is a VIPTIM from Traquair Data Systems. The VIPTIM contains a cascaded pair of INMOS A110 convolvers that perform a 6x7 convolution at 10 Mpixels per second. Since the bulk of our early vision computation is filtering and matching, the hardware convolver greatly accelerates the overall processing speed of the vision system.

  
Figure 6: Spinoza Hardware

The Transputers are the heart of Spinoza's onboard computing system. They communicate with the C40 vision system, the workstation host and, through a serial Transputer module, the B12 base and pan-tilt unit controllers.

The host workstation is a Sun Ultra 1 connected to the robot through a Transputer link interface on its parallel port. The host can reset, boot and communicate with the robot at a speed of 20Mb/s bidirectionally.

The original version of Spinoza was tethered: the limitations of battery capacity and the large power demands of the onboard computers meant that power had to be supplied via a cable during extended use (longer than half an hour). The goals of the robot, however, include activity throughout the research labs and the entire building, hence we needed untethered operation. We added an additional battery pack so the robot is now capable of over two hours of untethered operation.

Untethered communication to the host workstation is through a spread spectrum radio modem with a bandwidth of 1.6 Mb/s. This raw bandwidth is reduced by the necessary layers above the raw transmission layer that provide reliable handling of packets. Currently the system gets 80KB/s across the radio modems. The transition to the wireless operation required the down scaling of diagnostic reporting, which often includes images. We are currently developing the ability to switch between tethered and radio modem operation ``on-the-fly.'' This will allow high-speed communication for system development.



next up previous
Next: Software Architecture Up: Spinoza: A Stereoscopic Visually Previous: Model/Hardware map



Vladimir Tucakov
Tue Oct 8 14:08:29 PDT 1996