Besides optimizing my line follower I also spent a fair amount of time optimizing my solar rollers making them as fast as possible.
When I say fast I mean fast according to the Western Canadian Robot games solar roller race rules. Basically, the idea was to traverse a one meter distance with an entirely solar-powered machine as quick as possible with a starting energy of zero. The robot isn't allowed to move for at least three seconds and must have an initial starting size less than 150cm in any direction although it may change shape once the race starts. If the robot does change shape then the timer stops once the last part of the robot crosses the finish line. If not then the timer stops once the first part crosses the finish line. Maximum solar cell area allowed is 806.45 mm^2.
Each bot is required to have a way of resting against the shorting bar at the rear of the start area. This is to ensure the robot has zero energy at start. The timer starts when the referee hits the start button and the gate drops.
I wanted my track to be fully automatic. In order to make that work I had to have two main things: an automatic start gate and sensors to detect the bots. My setup has two racetracks side by side so the system could be used in competition.
I used a pair of steel wires to act as the shorting gate. The start gate is controlled by a pair of hobby servos. The rubber band between them is to keep them in tension but without binding. It works very smoothly and is quite quick. The only problem with it is that, sometimes, the shorting wires don't quite rest perfectly against the shorting bar and the capacitor can charge even when resting on the bar. Very annoying. Don't quite know how I am going to fix that yet.
I use beams of infrared light to detect objects moving across the start and finish lines. I have two beams for each making a total eight beams for both tracks. I use two beams for each line to help ensure the robot is detected. If either beam is interrupted then I consider that part of the track has been crossed.
The little yellow thing right by the batteries is a bubble level I picked up at a hardware store for cheap. Good for leveling the track.
I wasn't able to make a system that could reliably detect robot motion so I use a beam to detect if the robot has crossed the start line. As long as the bot doesn't cross before three seconds is up then it is considered a good start.
You will note the areas of black painted around each start/finish line. This is because I found that reflections from even 60 watt bulbs was enough to flood the sensors. I was trying to find a way to filter out the light but found that the black paint was sufficient to fix it. Just in case, I also have comparators on each line to allow the referee to adjust the sensitivity. Hopefully I won't have to add additional filters later on or add some kind of signal modulation. For the moment I have a single 10k potentiometer to adjust the overall voltage to compare against it. Hopefully, the sensors are consistent enough so that the single pot is sufficient to deal with them all. If I need to, I can add more pots later on.
The track will measure times down to 1/100 of a second.
Grant of Solarbotics fame was kind enough to give me some very nice, large two line LCD displays. The ones I was planning to use were quite puny and these are MUCH nicer.
I kept the controls simple: start, top, reset and calibrate.
Here is a closeup of the display, controls and electronics.
I haven't labeled the buttons yet but the rest of the project is complete. The top circuit board just below the batteries is a pair of quad comparators that are used to monitor the sensors. The next board is my very first AVR programmer that I built. I pulled it in from the pasture since I was too lazy to make a new board for this project. The last board is an HVW tech LCD display driver.
This project was already underway when the BEAM events were removed from the WCRG. I hate leaving projects half done so I slowly worked on it from time to time. I finally decided to finish it off when it occured to me to that I could use my old AVR programmer board and not have to etch a new PCB. I haven't tried it in sunlight yet since it's been raining A LOT lately. The code needs a few tweeks but it's pretty much done too.
I will post the schematic and source code when I get around to it.
This is a low priority project so it may take a while. If someone
emails me and expresses interest I will move it up the list.
Last modified: Aug 22, 2004. AWWWW, my cat is SOOOOOO CUTE!!!!