Dale's Homemade Robots
Suckmaster II
Suckmaster II
Suckmaster II
Robot Vacuum

by Dale Heatherington
Feburary 2002

This robot was designed to compete in the annual AHRC Robot Rally Vacuum contest. The contest goal is to pick up as much rice as possible in 4 minutes or less from an 8 foot square simulated room. The simulated room is sprinkled with 8 ounces of rice and contains a folding chair, lamp and speaker box. Bonus points are scored if the robot returns to the starting location and turns itself off.

During the 2002 contest the robot picked up 6.14 ounces of rice in 3 minutes 32 seconds and returned to the starting point for a score of 129.93 and first place.

If you want to see the schematics and source code click here to download a zip file. This information may be incomplete or contain errors and is not intended to be used to duplicate the Suckmaster II.

May 13 2006: Suckmaster wins AHRC Vacuum Contest 4 years in a row. (There was no Robot Rally in 2005) This year Suckmaster II picked up 6.11 oz. of rice in 3 minutes 52 seconds for score of 127.9. The 2nd place Vac-O-Matic managed a respectable score of 52.76. This was the final vacuum contest. It will be replaced with a new contest next year.

May 15 2004: Suckmaster wins AHRC Robot Rally Vacuum Contest three years in a row. This year Suckmaster II picked up 6.88 oz. of rice in 3 minutes 30 seconds for a new record score of 150.7! It managed to do this even after being dropped on the floor a careless spectator.

Feb. 15 2003: Suckmaster wins AHRC Robot Rally Vacuum Contest two years in a row. This year Suckmaster II picked up 6.11 oz. of rice in 3 minutes 36 seconds for a score of 128.9.

Data Sheet
Size9.75in(W) x 10.5in(L) x 5.5in(H)
Weight3 lbs 6 oz (1.54kg)
Main CPU PIC16F877
8K ROM 368 Byte RAM
Sonar CPU PIC16C73
C and assembler
MotorsTwo 12v 200 rpm gear motors
Motor driver
Speed ControlSoftware generated Pulse Rate Modulaton with Back-EMF feedback. Pulse width is constant.
TiresTwo 2.75 inch RC car tires
Top Speed2 feet/sec
Power16 AAA NiMH batteries (19.2 volts)
Sensors4 channel sonar
2 front bump switches
Two ground speed sensors
IR transmitter and 2 receivers for beacon tracking
Pickup deviceFoam rubber paint roller spinning at 1200 rpm throws rice into 3 inch diameter cardboard mailing tube.
Telemetry Connector for external transmitter
Linx TXM-418-RM (9600 baud 418 MHZ)

Suckmaster II right side
Right Side
Shows rice collection tube with end cover removed. Rice is scooped up by the spinning paint roller and thrown upward into the collection tube where it collects behind the metal baffle.

Suckmaster II bottom view 2
Bottom view.

Suckmaster II bottom view 1
Bottom rear view.


Suckmaster II starts its run The Suckmaster II is started with its left side against the wall of the simulated room. It moves forwared until it touches the far wall and executes at 90 degree right turn and moves until it touches the next wall and executes another 90 degree right turn. It then runs until it touches the speaker box and executes a 90 degree right turn. The robot is now pointed at the middle of the room. By this time the 12 second timer has expired and changed the mode to "move forward until something is touched" and begins random pattern cleaning.

To avoid crashing into objects at high speed, sonar is used to detect the presence of objects and slow down when near. High speed operation is resumed when the front sonars see no objects closer than 20 inches.

When the robot touches something (bump switch detection) it will turn in the direction with the greatest free space as indicated by the side looking sonar. It will continue to turn until the forward sonar sees a clear path. Sometimes a random additional rotation is added to help randomize the cleaning pattern.

In rare cases the robot will become stuck against an object without the sonar or bump switches being activated. This condition is detected by the speedometer sensor readings. If the robot is supposed to be moving yet the speedometer reading is zero a stall condition is noted and corrective action taken.

After 90 seconds the mode is changed to "move forward until sonar sees an object within 8 inches". The robot now steers around objects without touching them (usually). If the sonar fails to detect a small object such as the leg of the folding chair the bump switch will command the robot to backup and turn away.

After 130 seconds the robot changes modes again to move in a counter clockwise sprial pattern while avoiding objects with sonar and the bump switch. The radius of the circle is reduced every 10 seconds. Sometimes the robot cannot turn in a counter clockwise direction because its left side is against a wall. This condition is detected with the side looking sonar and corrected by commanding a 180 degree clockwise rotation.

After running for 200 seconds the robot changes to the "Go Home" mode. It must return to the beacon placed at the starting point within the next 40 seconds to qualify for the bonus points. The homing behavior is done by emitting IR pulses that are received by the homing beacon. The beacon responds with IR pulses and ultrasonic pulses. The robots left and right IR pulse detectors guide it towards the beacon and the time delay of the beacons ultrasonic pulse tells it how far away it is. All object detection is disabled when the robot is within 22 inches of the beacon to prevent unwanted object avoidance behavior. We don't want to steer away from the beacon! When the ultrasonic delay indicates it's close enough to qualify for the bonus score it shuts down.