On Track Robot
As the name says, this project's goal is to produce a robot that will follow a track (meaning a line painted on the ground) at a maximum speed possible. Dead ends and junctions need to be handled as well.Once a final version is ready, it will take part in the next public contest.
Because the highest speed achieved so far in a contest was 8cm/s, there has to be a catch. So a prototype was constructed to find possible problems before any money or time goes into building a real contest ready robot.
An Atmel AT90S4433 serves as brain for this robot. It features a 10bit A/D converter that has a 6:1 demux allowing to sample up to six analog channels one at a time. Currently only two analog sources - both light sensors - are being read.The builtin PWM generator could not be utilitized in this case, because two PWMs are needed to control both engines. It's programmable timer interrupts were used to write a software PWM with two channels.
Prototype in action
Test driving on a small track with a few nasty curves:
The jerky movement seen in the movie is caused by the rubber band transmission. Its behavior cannot be compensated with the simple error-time-function used to calculate the reaction. A better transmission would show the same problems at higher speeds. So clearly the function also needs to consider the rate of error reduction to know when the correction has finally made it through the mechanical delays. Or better: It needs to consider the amount of "pending" correction.