Hardware:
DUI is powered by a Toshiba Libretto running a 166 mHz Pentium MMX with 16mB of memory and 2 Gb of disk space. The camera for the vision system is a b/w parallel port Connectix Quickcam. The pentium communicates via its serial port at 115.2 kbps with a PIC16F877 micro controller which handles the mobots low level systems. The PIC reads encoder data from a US Digital LS7084 encoder to counter interface chip. The LS7084 is connected to a US Digital H5S heavy duty optical encoder that internally used a HEDS-9100-F00 250 CPR 1" optical disk setup. The PIC also directly controlled 3 servos and read analog ambient light data from a cadmium sulfide photo-resistor. The ambient light meter had an infra red shield on it so as not to get saturated by the sun. One servo actuates the steering, the second acts as a break and the third output controls a Duratrax Blast reversible Electronic Speed Control. The brake servo presses a manual switch that shorts the drive motor and disconnects the esc and then continues rotating as it physically presses a bar against the wheels. This gave us 3 different modes of drive: hard stop, emf stop, and drive. We ended up having to generate our own PWM signal that was passed into the esc's PWM for more fine velocity control. The system is powered by two rechargeable 7.2v Ni-MH 3000 mAh batteries and the Libretto's internal battery. One of the 7.2v Ni-MH batteries is exclusively for the camera and runs through a filter system so as to maintain good image quality.
Software:
The pentium runs a striped down version of Debian Linux . The actual code for DUI's high level control was written in C and compiled using GNU's gcc. The video data was grabbed using Video for Linux and the bwqcam module. The low level PIC code was also written in C and compiled with CCS's PIC C compiler. We then used an EPIC PIC programmer to program the PIC.
This section will be greatly expanded well before next years competition...