Page 352 - Hacking Roomba
P. 352

RoombaCam:                                                      chapter



                   Adding Eyes to



                   Roomba






                           dding vision to a robot is no small feat. You need sufficient process-
                           ing power to handle the higher data rate of video, sufficient storage  in this chapter
                     Aspace to store intermediary images for processing, and an interface
                     to hook a camera to. This is all just to get video into the robot. It says noth-
                     ing of the kind of processing needed to parse the incoming video and recog-    Add a Linksys
                     nize even simple things like color or motion, let alone people or places.  WRTSL54GS to
                                                                                         Roomba
                     Vision systems in robotics and artificial intelligence are a huge area of
                     research. Several applications have been created (many free research projects
                     that run on Linux), each tackling one subset of the vision problem like    Add a camera to
                     motion detection or spot following. These tools all require a prepared envi-  Roomba
                     ronment with consistent environmental parameters, or they must be tuned
                     to your particular environment.                                    Install and use
                                                                                         webcam drivers in
                     Rather than attempt to show one of these systems in use, this chapter adds
                     vision to a Roomba robot to create a remote telemetry vehicle, much like a  OpenWrt
                     Mars rover. The on-board camera becomes your view into the world as seen
                     by the robot. Unlike a simple video camera, however, the camera data is run    Add Flash memory
                     through the embedded Linux system on the robot, allowing processing and  storage
                     acting on vision data.
                     To add a camera, a more capable embedded Linux system than the one    Control Roomba
                     used in Chapter 14 is needed. The Asus WL-HDD from that chapter is a  from C
                     great box but is a bit underpowered for handling video. Its USB subsystem
                     also seems to have problems when communicating with multiple devices    Create a web-based
                     simultaneously. There are several upgrades possible and the Linksys  command center
                     WRTSL54GS is used here.
                     The small systems that run stripped-down versions of Linux have more in    Build a small USB-
                     common with the tiny microcontrollers like the Basic Stamp of Chapter 13  to-serial dongle
                     than a desktop computer. In the computer/microcontroller comparison of
                     Figure 13-1, these Linux-capable devices are definitely on the microcon-
                     troller side. They are much simpler than a full Linux system, and you don’t
                     have to be a Linux expert to make them work. You do need to have famil-
                     iarity with the command line, as in the previous chapters, but you don’t
                     need to be a professional Linux system administrator. If you’re new to
                     Linux, this is a great way learn the basics. And all the techniques used in
                     this chapter are applicable to larger Linux systems.
   347   348   349   350   351   352   353   354   355   356   357