The Line Follower Tests
Design Thoughts
Line following robots are often design with the technique best
described as seat-of-the-pants. The DBW (Distance Between Wheels),
and FOS (Forward Offset of Sensors) is often based on the size of
motors available and what looks good. The number of sensors and
motor speed is also designed with what we have on hand.
So as I started on my next line follower I thought about what it
would to really "design" a robot. After a few weeks of
thought I came up with the testing that follows. The project right
now (August 2, 2003) is in the starting stages and I'm looking for
input on what else to test and record.
Just to catch your eye I'll put one of the test result
pictures here at the start.
Hopefully the picture will interest you enough to read how it was
done. As the project is in the early stages I would love to have
input on what else to test. So read on and let me know what you
think. If you want to jump right to the pretty
pictures then go ahead, but come back and read later.
The Robot Base
To be able to test a number of configuration I had to have
a base that was adjustable. I worked up a set of three bases.
Each base had a different DBW, 7", 5-1/2", 4",
and had mounting holes to accommodate the sensors places in
four different FOS positions. This gave 12 different base
setups.
Processor
Computing power is supplied by a
Sumo11 board, this is a mini-sumo sized version of the
handy board. The programming is in IC4 an interactive version
of C designed for the handy board and Lego RCX.
I used the built in PWM and H-bridge to drive the motors,
and the thumb wheel built into the board allowed for easily
changing the speed of the motors before each test.
|
|
|
Sensors
The sensors for the test are built from four Fairchild
QRB1134s. Each sensor runs
to one input on the Sumo11 board. The sensors are spaced on
5/8" centers. From past tests a spacing of just less
than the width of the line to follow seems to work best. Because
the sensors are about 7/8" wide I places the sensors
on both sides of a circuit board to achieve the 5/8".
Through program I plan on testing a number of sensor configurations.
At this time I plan on testing the following configurations:
- one sensor finding the edge of the line.
- the two center sensors, using the logic of, if both over
the line go straight, if one sensor over the line turn away
from line.
- three sensors, using the logic of, if center sensor go
straight, if outside sensor sees line turn away from line.
- four sensors, using a logic based on turning faster depending
on how far the line is from the center of the sensors.
These four sensor configurations, time the number of base
configurations, gives a total of 48 configurations.
|
|
The Course
To make for consistent testing I set up a track just for
these tests. The track was made to match the conditions used
by ChiBots in their line
following contests. The bot will travel starting at the bottom
right moving to the left. The first wide turn has a radius
of 14", the two sharper turns have a radius of 6"
to match the ChiBots course.
The bot is programmed to turn on the BLM
(see below) at the first white cross line and to turn off
the BLM and motors at the second white cross line. This gives
a total course length of 380cm or 150 inches. The fixed length
makes for easy speed calculations.
|
|
BLM (Blinky
Light Module)
The heart of the whole testing and recording system is the
BLM. The BLM has five LEDs. Three are on all the time the
BLM is powered, the white one in the center marks the center
of the sensor array. The two red ones are on long wires and
mount close to the wheels on each base to mark the wheel positions.
The "Blinky" part is the two green LEDs. I wanted
to make them flash at a set rate. I remembered I have a few
leftover logic probes from Peter
Anderson's and his Home Brew Basic Stamps. These logic
probe chips also have two outputs, one at 1 cycle per second
the other at 10 cycles per second. These flashing LEDs make
it easy to see on the pictures how long it took to complete
a course.
The BLM is hooked to one of the Sumo11 boards output to allow
it to be turned on and off as needed. |
|
Testing
The testing was done by placing a digital camera over the
test track. The camera was set to take a 15 second exposure.
As the exposure was started the robot was started. As the
bot crossed the first white cross line the BLM turns on. The
robot, hopefully, continues around the track until it reaches
the second white cross line at which time the motors and BLM
turn off.
I will be testing each of the bases with each of the sensor
styles, 48 total tests. As the robot is designed to run at
any speed up to about 1 meter per second I plan on testing
each configuration at slow speeds and then work the speed
up to a maximum for that configuration This could theoretically
make for hundreds of test. My hope is to find trends to support
or dispute some of the seat-of-the-pants type designs we have
now.
|
|
Current Testing Results
I have run a few test of the system and I'm now working on finishing
the programming. The early test pictures
include some observations of the tests.
Please I'd love feedback on other sensor/programming styles or
anything else you can think of.
Mike
mdavey@new.rr.com
|