FIGURE 4. Scary-
compiler (due to program size).
Motor control is via STMicroelectronics
BU941ZT Darlington drivers from
Mouser.com, the accelerometer is a
Freescale 200G MMA2301EG, also
from Mouser. His MCU board is a
Pololu Baby Orangutan Mega168.
well in both testing and combat. I had
originally planned on using an
infrared beacon to improve tracking
accuracy, but that doesn’t seem needed now.” To move forward, Melty B
powers down the motor that’s facing
towards the direction it wants to
travel for a portion of the spin. This, in
effect, repeatedly moves the center of
rotation slightly each spin — causing
the robot to travel across the arena.
The robot controls its motors
using inexpensive Darlington drivers
(transistors). Since these only allow
for on/off control, Melty B isn’t
capable of “normal” driving, and can
only move in a melty-brain style. The
bot has a top speed of 1,400 RPM
and can “translate” at about 1.5 feet
per second. At top speed, forces inside
the robot can reach over 100 Gs.
Rich coded his software — over
500 line’s worth — in Bascom AVR.
The source code is available on his
website at www.spambutcher.
com, and is extremely well commented. He also has video of the bot in
test and combat.
The microcontroller is an
ATMEGA168 with a 20 MHz crystal.
He used the Bascom’s commercial
Dale Heatherington, of Dale’s
Homemade Robots, built and fought
a 30 lb melty at Dragoncon in 2007.
His scheme used modulated IR LEDs
both as a beacon for the bot to use
as a directional reference and to
carry control information. He used an
Atmel ATMEGA8535 microcontroller
for the “brains” and a 38 kHz IR
remote control receiver module for
the directional reference detector.
To monitor the directional
indicator, he built a 13 inch high
sensor tower at the center of
rotation, which has two functions.
The tower had two requirements.
First, it needed to receive infrared
control data from the handheld controller transmitter (same technology
as TV remote controls), with a 360
field of view and a range of at least
20 feet. To meet this, the IR receiver is
pointed straight up into a 1/2 inch
threaded hole in a one inch OD Lexan
rod. IR light from any direction is
scattered by the threads (they act like
prisms) down towards the receiver,
giving it 360-degree coverage.
Second, it must provide a
directional reference pulse each time
the sensor under the side facing lens
is pointing at the control operator.
Without this reference pulse on
each revolution, controlled
directional movement is not
Of the two functions, Dale
found the second to be the
most challenging. IR light from
the control transmitter
reflected off nearby objects
(opponent, stage floor, and
walls) and appeared to be
coming from more than one
direction. Fortunately, light
coming directly from the
transmitter appears as a small point
source while reflections are weaker
and spread over a much larger area.
He used two sensors spaced
about 0.3 inches apart. Light directly
from the transmitter (point source)
can only focus on one at a time.
Diffused reflected light will strike
both sensors, not just one. A short
section of program code in the
microcontroller senses the condition
where one sensor is illuminated and
the other dark, times the length of
this condition, and sets a sync flag
when all conditions are true. This
pretty much eliminated falsing due to
reflections off floors and walls. He
also held off reading the sensor
again for about 270 degrees for even
The directional beacon receiver’s
homemade Lexan lens was cut from
a one inch diameter rod and then
polished. It’s a cylinder lens and
focuses light only in one dimension,
converting a point image into a line.
Focal length is about 0.4 inches. The
result is very sharp focus in the
horizontal plane and no focus in the
vertical plane, so the vertical location
of the IR transmitter can vary
without affecting the performance.
As the sensor tower rotates, a
sharp vertical line of IR light sweeps
across the photo sensors. Since the
controller sends IR control signals to
the bot, it must be pointed at it at all
times. To help aim the controller, he
bolted a laser pointer on it.
Due to problems unrelated to
the melty system, Scary-Go-Round
didn’t perform well. If it had, Dale
planned to add an autonomous
mode. This would consist of two
basic sensor systems, similar to those
in Sumo bots. One would sense the
edge of the stage and move away,
the other would sense the other bot
and move towards it. A complete
build report for Scary is at www.wa
CM Robotic’s CycloneBot has
some of the most sophisticated
30 SERVO 03.2008