Start by building the Castor Bot.
Click the picture for building instructions.
|Design your own dummy robots or other objects for
your Sumo bot to try to push outside the ring.
Sumo Bot Programming
Before using your Sumo bot, you must calibrate the light
sensor to the colors on the actual surface that you will be using (with
the sensor attached to the robot as it will be used). The program
Calibrate_L3 can be used to
calibrate a light sensor attached to port 3. The NXT will remember
the sensor calibration between program runs, so you can run the
Calibrate_L3 program once,
then run your Sumo program as many times as you want after that, as long
as the lighting conditions don't change. This program can also be
used to calibrate a light sensor on port 3 any time you need it for
program is a very simple driving strategy for a Sumo robot. It
simply makes the
robot go straight forward until the light sensor sees something dark on
the surface (might be the ring border), then it backs up a
little, turns right to head back into the ring, then repeats (going
straight and looking for the ring border again). This will make
the robot wander blindly around the ring, pushing whatever is in front
of it, and hopefully whatever it finds will get pushed outside before
the robot accidentally drives outside the ring on its own.
|Using the Mini Sumo Bot
Be sure to calibrate your
light sensor before starting a series of runs, or whenever the
lighting conditions or robot design changes. The
Calibrate_L3 program will
lead you through the steps.
Step 1 of the light sensor calibration
wants the sensor to be over the black border line.
Step 2 of the light sensor calibration wants the sensor
to be over the plain white surface.
Put your Sumo bot
inside the ring (make sure the light sensor is over the white
surface inside the ring), place any dummy robots or other objects
inside the ring, then run the
Mini_Sumo program and see if your robot can push all the objects
outside the ring.
If you are battling
head-to-head against another Sumo bot, then the robots should start
facing sideways or back to back (not straight at each other), so
that the match doesn't just become a simple straight ahead pushing
Making your own Sumo Ring
The test pad that comes
with the NXT set is not a plain white surface with a simple border.
There are other markings inside the ring, and the border is partially
interrupted by the "Start" area (What do you think this will do to your
robot's strategy?) Making your own ring will produce more
consistent results and avoid damaging your test pad. If you want
to make your own ring, I suggest:
For a surface you could
use a light colored hard floor, or a flat board-like surface that is
light colored, painted white, or covered with white paper.
For the borders, black
electrical tape works well and comes off easily if you are on a
floor. Although a traditional robot Sumo ring is round, making
a round border with tape is difficult, so I would suggest an octagon
(like a Stop sign) shape .
Don't make the ring too
large or the robots will have trouble finding each other.
For off-season FIRST
LEGO League teams, turning the competition mat over and taping out
an octagon area with electrical tape works great.
Using the robot and
program given here, and a small dummy robot such as that shown
above, it should be easy for the NXT robot to push the dummy robot
outside of the ring, because the dummy robot is much lighter and not
powered. However, if you try several runs starting in
different positions, you may get a round where the dummy wins
because your Sumo bot accidentally drove outside the ring on its
own, perhaps due to contact with the dummy robot, or perhaps totally
on its own. Can you figure out why and improve the robot or
the program to try to prevent this?
There are many ways to
design a Sumo robot, and if you go head-to-head with another robot,
then your success will also depend a lot on the design and strategy
of the other robot. If you have a friend with an NXT set (or
two sets of your own), try some real head-to-head matches.
After seeing the results of a few runs, both sides should try
improving their robots or programs. You can go on this way as
long as you want in an "arms race" of increasingly better and
Using a light sensor to
detect the ring border is a typical starting point, but more
sophisticated Sumo robots might try using the touch sensor and/or
the ultrasonic sensor to try to detect the other robot. Try
adding other sensors and writing a new program that uses them.
For examples of how to use the other sensors, take a look at the
Bumper Car and
Ball Hunter projects.
Programming a robot that uses multiple sensors at the same time gets
much trickier, though. For an example of using two sensors at
the same time, see the Explorer
If both robots are using the ultrasonic sensor,
they might occasionally interfere and confuse each other.
2007-2011 by Dave Parker. All rights reserved.
All project designs, images, and programs are protected by copyright. Please see
the usage policy.