Development platform combines vision and motion
Developers of autonomous robotics software frequently must balance CPU resources among all the robotic functions.
Andrew Wilson, Editor, firstname.lastname@example.org
Developers of autonomous robotics software frequently must balance CPU resources among all the robotic functions. Unfortunately, the image-processing task often takes an extraordinarily large share of those resources. Therefore, programmers are forced to reduce the throughput and/or accuracy of their imaging algorithms. However, by offloading the entire image-processing function, the CPU can perform other tasks such as sensor data fusion, motor control, communications, and higher-level navigation functions.
At the recent RoboBusiness conference (Cambridge, MA, USA; May 2005), Valde Systems (Brookline, NH, USA; www.valdesystems.com) announced its development platform-the VS1000-that incorporates its VS1501 stereo-vision processor and a number of off-the-shelf peripherals and controllers. “To reduce the development time of the VS1000,” says Matthew Linder, president and CEO, “the system is based on readily available cameras, a single-board computer (SBC), servo controllers, and motor drivers.”
An EBC-C3 SBC from WinSystems (Arlington, TX, USA; www.winsystems.com) configured with a 1-GHz MMX-compatible CPU controls system peripherals (see photo). The EBC-C3 is an x86-compatible, Pentium III class SBC that supports Microsoft Windows, Linux, and other PC-compatible x86 operating systems such as QNX or VxWorks. The compact flash socket provides a wireless Ethernet link, so multiple VS1000s can communicate with each other, or live compressed video can be streamed back to the network.
“Because the SBC permits expansion with PCI, PC/104, or PC/104-Plus connectors; Ethernet; COM; and audio ports, a variety of peripherals can be supported,” says Linder. To capture images using the system, the custom-designed stereo pan-and tilt unit can be equipped with two Flea 1394 FireWire cameras from Point Grey Research (Vancouver, BC, Canada; www.ptgrey.com).
Each camera can transfer images of up to 1024 × 768 pixels to the development systems’ on-board VS1501 stereo image processor. This provides power control and data directly to the cameras and communicates with the SBC through a standard Ethernet interface.
“By incorporating cameras that measure approximately 300 mm3,” says Linder, “it is possible for the pan-and-tilt mechanism to be operated with ±45° of pan and tilt.” To control this motion, standard remote controlled servos are interfaced to a controller from Scott Edwards Electronics (Sierra Vista, AZ, USA; www.seetron.com). This mini SSC II module allows the CPU to control up to eight servos, two of which are used to position the stereo cameras though the computer’s serial port using simple instructions at speeds of 9600 bits/s.
The VS1000 is equipped with both audio input and output capability. Audio input consists of a single-channel microphone interfaced directly to the MIC IN jack of the SBC. An omnidirectional microphone detects a tone of a specific frequency or more advanced speech-recognition functions. Output audio is generated from the line level output of the SBC. To amplify the signal, the system incorporates a 1-W single-channel audio amplifier that drives a chassis-mounted speaker.
To control the motion of the development platform, the SBC is interfaced to a PC/104-based ESC629ER peripheral module two-channel dc servomotor controller from RTD Embedded Technologies (State College, PA, USA; www.rtd.com). This onboard motor controller is a PC-104 form-factor board plugged into the SBC processor board.
Says Linder, “Each channel can be programmed to operate independently, offering a complete subsystem for two-axis motion control using standard dc motors with encoder feedback.” The two onboard H-bridges interface directly to the standard dc brush-type gearhead motors in a differential drive configuration, allowing the platform to spin in place by driving one wheel forward and the other in reverse. With a motor output shaft speed of 57 rpm, there is a maximum speed of 11.938 in./s.