| Computer Controlled Car Racing
IntroductionThe aim of this contest is to find the best race controller for a remote control car. The controller is given live video feed from an overhead or car-mounted camera, and after processing each frame can then send signals to the car in order to achieve maximum progress around the track, relative to the opponent car. Ramming and blocking tactics are allowed, and if effective are applauded! SetupThe spirit of the contest is to design clever software to control the car. The choice of hardware is up to the contestant, but should use cheap off-the-shelf Radio Controlled (RC) cars with simple on/off type controls (forward / backward, left, right). 1/24th scale cars are ideal - the ones used in the picture are made by Nikko, and each cost 15 (UK) pounds from a local toy store. Video InputFor the video input a medium-cost web-cam is preferred, as a compromise between low latency, reasonable quality and ease of entry (these work via a simple USB connection). For the contest the track layout will be around the size of a table-tennis table - and should allow the track to fit in the web-cams field of view such that it is possible to track the car at a resolution of 320x240. Car controlAn easy way to control the car is to use a relay board to bypass the switches on the radio-control handset that comes with the car. There is software in the download section for a particular board. DownloadCar controlThe file CarControl.java shows a simple example of how to control a car by sending signals to a relay control board. It uses USBControl.java, plus the library USBControl.dll. You'll find other associated files (such as the C source in this directory. Video InputThe Java Real-Time Video Kit provides a simple way to get video frames in real-time. The current version has been tested with a Phillips ToUcam Pro, and may need some hacking around to work with your web-cam. Videos
Last update 30-07-2003, Simon Lucas ( mail sml at essex.ac.uk ) |