Polyathlon Robot

May 7, 2009


Robot Rally Report

Bug fixes

The PolyMax 9000 (early in construction)

Polyathlon Bot














What the heck is a Polyathlon?

A series of contests at the Atlanta Hobby Robot Club similar to a decathlon where robots compete to determine the best over all performer.  Each contest is scored based on performance and then the scores totaled to determine the over all winner.  My entry is shown above.  It's under construction and a few sensors are not installed yet.

Here's a list of stuff the bot needs to do.

  1. Simple Line following.  The course will be a simple oval with turn radius no less than 6 inches
  2. Advanced line following. The course will have intersecting lines and 90 degree turns.
  3. Beacon Killer.  Travel 10 feet to make contact with a beacon from a random start orientation in the least time.
  4. Beacon Killer with obstacles.  Same as above but with obstacles that must not be moved.

  5. Navigation by dead reckoning. Travel 3 legs of an equalateral triangle in a clockwise direction and arrive back at the starting point without the aid of lines or beacons.

  6. Bulldozer. Push 5 objects off a surface in the least time without driving off the edge.


All tasks must be performed without any hardware modifications.


First we must determine what sensors are required.  For line following we need optical sensors and a light source pointed downward.  I use an array of 8 CDS photocells (photo resistors) and LEDs spaced 0.7 inch apart.  These can be seen in the photo above and on the left.





Beacon Sensor


The beacon killer needs only white light optical sensors but the version with obstacles also needs a way to detect objects in the bots path.

I'm using a pair of CDS photocells separated by a blinder wall ( right photo ) so they each see only left or right.  When pointed directly at the beacon both photocells receive equal light.

UPDATE: I'm curently using a 10.5 ghz microwave beacon.  Click for detals.



This is the object sensor module.  By bouncing infrared light off objects and reading the intensity the bot can aproximate direction and distance.  There are 6 high power IR LEDs at 20 degree intervals.  Above the LEDs under the "hat" are a pair of IR photodiodes to detect the reflected light.

Each IR LED is turned on in sequence for 50 microseconds and the photodiode signal is measured and stored in an array.  It takes about 350 microseconds to scan all 6 which cover 120 degrees.  Click for video demo.


The navagation by dead reckoning requires measuring distance traveled and degrees turned. This is done with an odometer implimented with quadrature encoders on the  motors.  Quadrature encoders provide counts per revolution and also indicate forward or reverse direction.  Since the bot also needs to make precise 120 degree turns I need to measure both wheels independently.  I used motors with built-in quadrature encoders from Robotics Connection.


The Bulldozer task requires both object detection and table edge detection.  I planned on using the line detector photocell array for edge detecton but it soon became apparent that wouldn't work.  The sensors need to be set not only ahead of but also outside the wheel track to be effective.  So, I had to add two more optical sensors.  These are reflective IR sensors designed to operate about 0.2 inches away from the surface.  Internally they have an IR LED and a phototransistor.  When the sensor goes off the table edge the floor is 3.75 inches away and the sensor sees nothing.


The completed robot

Bottom View


Video demonstration


Schematics and source code below were updated after the Robot Rally to correct many bugs.  I have also created a new page documentating many changes made after the Robot Rally.

Also, the new microwave beacon and receiver is documented here.

Schematics: Polyathlon-Dec2013.zip (pdf schematics updated Dec 28 2013)

Source code: PolyathlonSourceCode2013.zip (Updated Dec 28 2013)


2009 AHRC Robot Rally report

2013 Robot Rally scores and videos

Hit Counter 14875