Robot Hardware |
|
Most of the hardware on the robots is auto-detected and
automatically set up when you install a standard (in this
case RedHat) distribution of Linux. There are, however, a
few exceptions.
Orinoco WirelessThe basic problem is an IRQ problem. The wireless card must use IRQ 7. Normally, this IRQ belongs to the parallel port, but the parallel port should be disabled in the BIOS (make sure). Then to tell Linux about this, you have to edit several files:
Camera/Tuner/bttv/bt848The camera problem is somewhat simpler, particularly if you're using a 2.4.x kernel (which you should be). On older kernels, you had to use ActivMedia's specifically modified bt848 driver, plus a dmaBuffer patch they provided (that or a bigphysarea patch). BUT, since you're using a 2.4.x kernel, you don't have to worry about any of that stuff, because the ActivMedia software can just use the built-in v4l Linux kernel video drivers. You have to compile your kernel to enable the v4l subsystem, as well as the i2c subsystem (make sure you enable the "bitbangers" i2c module), and the bttv module. Then edit /etc/modules.conf. The RedHat (or other linux) installer should have put a line in there that says alias char-major-81 bttv. If that line isn't in there, add it. Then add another line: options bttv card=29. (The 29 is specified by what specific kind of bt848 video card you have. The bttv driver documentation has the full list, if you're curious, but the ActivMedia robots come with #29.) That's it, it should work. You can (install and) launch xawtv to test it (it's a simple framegrabber program).If you want to use ActivMedia's ACTS software with the card, you'll need to tell ACTS how to get frames from the card. After running ACTS once, it should generate a file ~/.ActivMedia/Acts.pref. Edit this file, and change the line that starts FrameGrabberStr to read FrameGrabberStr /dev/video0. Then change the line that starts FrameGrabberChannel to read FrameGrabberChannel 0. (If either or both of these lines don't exist, add them.) Laser Range FinderThe Laser Range Finder (LRF) is connected to the third serial port on the robot's PC (NOT connected through the AUX port on the robot itself, which is only accessable through the P2OS GETAUX command). |