using an external microprocessor, then I came across
Philippe Hurbain, who had devised a simpler analog
interface. That led me to Nitin Patil (founder of
www.Mindsensors.com) who was selling a GP2D12-based
sensor that plugged into an RCX using a standard LEGO
cable. Woo Hoo!
The good thing about the Mindsensors device is that it
provides an actual range reading; but it also has its
downsides. First, in order for it to get enough power to
update at a reasonable rate, it has to be plugged into an
RCX motor output. This means that for a left and right eye,
you have four cables: two going into sensor inputs, and
two sharing a common motor output. The next problem is
that the sensor is very sensitive to battery voltage. After a
short while, even fresh batteries start giving erroneous
readings, which tends to make the Sumo bot spin. Cost
is a bit of a problem, because the sensor costs $33.
(That’s $66 per Sumo.)
I was about to give this up as a lost cause, when I
discovered a simpler unit that did everything I needed.
Mindsensors also sells what they call a Long Range Dual
Infra Red Obstacle Detector (DROD40). This device uses two
IR LEDs and a central IR detector to sense the presence of
an object in three zones: left, center, or right. The device
indicates the position via a single RCX input channel as a
stepped voltage. The DROD40 sells for $29 and is all that a
self-respecting Sumo robot needs.
Conceiving the Event Format
By now, I’d decided how I wanted to run my
competition. Since LEGO is such an instant gratification toy,
I decided to throw out the classic design/build/test model,
and embrace everyone’s “let’s just build it” roots. I would
run a half-day event where people would turn up empty
handed, sit down in a room full of LEGOs, build the coolest
Sumo they could , and then battle it out on the Sumo ring.
I even had a name for my event ... it would be called
“SuGO” — a concatenation of Sumo and LEGO. With the
right inflection, the name even makes a convincing
Japanese battle cry.
To try out the basic SuGO concept, I created a Sumo
program using Robolab, beamed the program to some
RCXs, and got a group of my FLL kids together to build and
battle SuGO bots. Some of the resulting matches were
really exciting, but others were very dull (lots of deadly
embraces). It became clear that I had to be more creative
to keep this fun.
I needed to set some size and weight limits appropriate
for a SuGO bot that would permit interesting designs but
still create some technical challenges. I needed to
encourage more clever drive systems rather than just letting
the kids depend on lots of motors. Having the RCXs pre-programmed turned out to be a great way to get all ages
involved (kids, moms, and dads), but I realized that I had to
make the program more dynamic and adaptable to a wide
range of drive systems (e.g.: really fast or really slow).
So, to develop a successful SuGO class, I adapted the
The DROD40 has a very clever circuit board with holes
that match the standard RCX electrical plug. Initially, we used
standard cables to connect the sensor to the RCX. However,
because of the rough and tumble that Sumo bots must
endure, these connections didn’t always stay connected.
Eventually, we cannibalized some old cables by cutting them
in half and soldering the wire ends directly to the sensor
boards (see Figure A). This provided a much more reliable
connection and also enabled us to permanently glue small
LEGO plates to the sensors to give them a more robust
Figure A. The MindSensors DROD40 sensor can be seen here
in its final modified configuration. Hot melt glue adds some
strain relief to the after-market sensor cable. Mindsensors
also has a DROD40 that is compatible with the new NXT
Portland Area Robotics Society Sumo rules to insert a new
class between the Japan and mini-Sumo classes.
Figure 1. The best way to avoid having to answer the same
questions over and over again is to create simple hand-outs. This
laminated card illustrates the correct way to hook up the motors
and sensors. The “Mechanic” program loaded on the RCX is used
to verify that the robot is wired correctly.
SERVO 11.2008 57