Summer Research Project
Sensor Based Motion and Wireless Robot Communication
By Addie Sutphen
Initial Goals (5/19/03)
The project goal was to build a team of robots that work together,
sharing sensor information to reach a common goal or target. The
project goal was for the robots to constantly “share”
their sensor data with each other. Each robot would then, using
information obtained from the other robots, independently decide
what sort of behavior action it should take. The initial goal was
to create a team of five working, communicating robots by the end
of the summer project.
The underlying concept of the robotic team comes from the development
of an “artificial nose,” a fiber optic sensor that identifies
any vapor or “smell” by its chemical signature. This
artificial nose is not yet portable enough to ride piggyback on
a Lego robot, so a Lego sensor was used. A medium to be chosen that
had similar characteristics to vapor and a Lego sensor that could
identify it. The medium choices were narrowed to light or temperature,
as both have gradients similar to that of vapor, and both can be
read by the Lego sensor. At the source these mediums have the strongest
intensity and as distance from the source increases the gradients
dissipate in strength. Light was selected because a light bulb is
easier to install as a small compact source and is easier to view.
Its ease of installation and view is useful when programming the
robots. Thus, the mission of the robot team was to follow a light
gradient to its source (the light bulb). The implications of this
will be useful in the development of a similar robot team, equipped
with artificial noses that find the source of any chemical (harmful
Journal of the RoboTeam’s Development
The basic robot was designed and constructed. The initial robot
design had three wheels, two in the back and one in the front, and
two light sensors. The light sensors pointed up and were on opposite
sides of the robot. This design allowed the robot to identify which
side had a greater light intensity (right or left). All programming
was done in Robolab, a pictorial programming language designed for
children, but with many advanced capabilities.
The robot was programmed to base its movement on light intensity.
The program compared the light intensity measured by the right and
the left sensors. The robot then turned in the direction of the
greatest light intensity. The first robot worked well and followed
the light gradient to its source. A second three-wheeled robot was
constructed, in addition to a large box with a light bulb inside.
The two robots were tested inside the box. It was determined that
they lacked the ability to turn sharply enough to follow the light
gradient. The placement of the light sensors also did not appear
to be optimum. It was determined that the sensors should looking
down at the gradient present on the floor or looking out for the
direction of greatest light.
A new robot design was developed and constructed. This robot’s
light sensor looked outward toward the surroundings and rotated
180 degrees. The robot was programmed to compare light intensities
in each direction. The new design eliminated the light sensor situated
on each side of the robot. A new computer program was written for
the robot and the robot was tested in the box. This robot design
had a better turning radius, though still not sharply enough. The
rotating light sensor seemed to be a good design.
The desired outcome is for the robot to turn sharply, but slowly,
therefore, gearing up the wheels is not the best solution. Another
motor was added to each side of the robot – yielding 4 motors
powering the wheels and one micro-motor powering the rotating light
sensor. The new design was tested and the new robot was then able
to turn sharply and slowly in the direction of the most intense
Two more robots were built and programming for communication between
two of the robots began. The RCX is equipped with an IR transmitter/receiver
(similar to that in a TV remote control). For communication to occur
between RCXs, there must be a direct line of sight between them.
A direct line of sight is not always possible with the robot’s
current design, as they are constantly moving and can be pointing
in opposite directions when they need to communicate.
A robot design change was completed with the IR port facing up toward
the ceiling, so that IR waves bounce off the ceiling of the box
(or room) and return back to the other RCXs. The robots were programmed
to send each other their greatest light intensity readings. The
robot with the greater intensity reading would move and the other
would continue to look, but remain stationary. Two robots with this
programming were tested in the box. The ceiling of the box was lined
with reflective white paper. Communication between the two robots
failed to occur. To insure that the robots were attempting to communicate
with each other, the IR ports were pointed directly at each other.
The robots were then able to effectively communicate, indicating
that communication was possible.
The emissivities of reflective, white paper were researched, in
addition to other possible ceiling materials that could be effective.
Research indicated that IR wavelengths reflect similarly, though
not identically to visible light. Unlike visible light, IR is absorbed
by the white surfaces and by mirrors. Aluminum foil was found to
have a very low IR emissivity, and it was predicted that it should
reflect the IR messages well.
The ceiling of the test box was lined with aluminum foil and the
robots were then tested in the box. Once again they failed to communicate.
It was hypothesized that the IR waves produced from the RCX were
not strong enough and that stronger IR waves would allow for communication.
The experiment was run again with IR ports turned up to high power.
The robots successfully communicated.
With IR communication working, the robots’ behaviors and the
manner in which they process light intensity values was studied.
Three robots were programmed to compare their individual light intensity
value with the light intensity values of the two other robots. The
robot with the greatest light intensity detection would become the
master robot and continue to look and move in the direction of the
greatest light. The two RCXs with the lesser light intensities detection
would become the slave or non-active robots. These non-active two
robots would continue to look for the direction of greatest light
and their communicate light intensity value, but would not move
in that direction.
A fourth robot was constructed, of the same design, and integrated
into the current programming scheme.
Numerous test runs were conducted and it was noted that the robots
often failed to register the target (the lamp) found when directly
under it. The robots would pass under the target and circle around
it repeatedly, failing to identify it. Another light sensor that
pointed directly up was installed onto each robot. The robots were
programmed to use this light sensor only to identify a set threshold
light intensity. For the 100W light bulb in use, the threshold was
set to 100%.
The rotation of the light sensor did not appear to be optimum. The
period of rotation was measured with time, but it was difficult
to match specific motor timings to 180 degrees. Each micro-motor
varies in tension, strength, and battery power, thus each robot
had to rotate the light sensor for a different period of time. Rotation
sensors were then installed onto the four robots, to make the period
of rotation of the light sensors constant. The rotation sensors
performed with limited success. The sensors were measured at fast
and slow speeds, and failed to measure 180 degrees of rotation accuratly.
The time measured to move in 180 degrees varied on each rotation.
A decision was made not to replace the rotation sensors, despite
the measurement problems.
The robots were programmed with distributed intelligence. The intent
was to have each robot behave differently, depending on its relative
light value. Each robot was programmed to place all of the other
robots’ light intensity values into an ordered stack. Each
robot then determined where its light intensity was in the stack
and choose the appropriate motion based on its order.
Robot priority based behaviors:
1 (Greatest light intensity – Master) – Active Robot.
Move in direction of greatest light and continue to look for direction
of greatest light intensity.
2 (2nd greatest light intensity) – In-active Robot. Look for
direction of greatest light.
3 (3rd greatest light intensity) –In-active Robot. Look for
direction of greatest light.
4 (4th greatest light intensity) – Active Robot. Move in a
random direction, right or left, and look to see if light intensity
5 (least light intensity) – Active Robot. Move in a random
direction, right or left, and look to see if light intensity increased.
The team of four robots was tested with the above
scheme. The robots worked effectively to find the light source.
Rotation sensor problems continued, but these were ignored for the
time being and a fifth robot was constructed.
The five robot team was tested and found it to work as well as the
team of four. However, the larger team overloaded the space available
in the box. The robots were then tested in a larger space - a small
room. The room had a high ceiling, but was otherwise of a workable
testing area. When initially tested the robots were unable to communicate
unless very close together. This indicated that the robots were
receiving the IR messages diffusely when very close together, but
they were not able to bounce IR waves off the ceiling. The white
walls and ceiling were problematic as white absorbs IR waves.
The rotation sensor problem was tackled and different materials
were researched to use for a false ceiling. The false ceiling would
be lower and closer to the robots and constructed of a highly reflective
The rotation sensor were tested at varying micro-motor speeds and
found to be more accurate at lower speeds. The sensors were still
prone to turning much more or much less than 180 degrees and it
was concluded that the sensors were not reliable for the duration
of the experiment. Timing of the light sensor rotation was resumed.
Emergency blankets sold at REI are made of a thin plastic material
and have a 99% reflectivity. Two different models of these blankets
were purchased; a basic emergency camping blanket and an emergency
camping tarp/blanket. The basic camping blanket consists of a sheet
of very thin, very reflective plastic. The emergency blanket/tarp
model is much more substantial. One side is red plastic “tarp”
material and the other is highly reflective silver foil. The corners
or the tarp have metal grommets that proved useful in attaching
the tarp to the walls to the room.
The robots were tested under the false ceiling and their ability
to communicate was maximized substantially with the new ceiling.
The range over which the robots were able to communicate increased
to nearly 8ft. The effectiveness of the robots’ programming
was also tested to its limits. Since the robots could be placed
further from the light source, they had to run longer to locate
the light source. The longer run-time proved a good test for any
errors in the programming and/or design.
Several small problems were fixed by minor adjustments and the project
goals were achieved. A team of five robots were designed, constructed,
and tested. The robots communicated with each other and used data
to determine their course of movement. The robot team shared information
in order to locate the target – a light bulb. Upon locating
the target the remaining robots were signaled by the leader robot
to shut off.
The summer project was completed; however, the robot team must be
further developed, improved, and optimized. A comprehensive optimization
plan for the team will be developed. This plan will test and determine
optimum number of robots, optimum placement from the target, and
placement positions on start-up.
Distance: the robots have been must be within 8 ft of each other
to effectively communicate.
Target intensity: The target must have a known intensity
as its source. For example the 100W lamp-shaded light bulb- has
100% intensity at its source. A smaller, 15W lamp-shaded light bulb-
has only 90% intensity at its source, thus the detection threshold
had to be modified.
Floor Surface: All floor surfaces yield a different
response from the robots. The coefficient of friction of the floor
compromises the ability of the robot wheels to turn. Highly waxed
floors are “sticky” to the wheels and prevent sharp
turning, while scuffed and very smooth floors have a low coefficient
of friction and allow the wheels to turn easily.
Obstacles: The robots are highly susceptible to obstacles
in their path. The obstacles may be the wall of the room or fellow
robots. Due to the limited sensor ports available on the RCX, a
touch sensor could not be installed to alert the robot when it has
run into a wall, object, or another robot. This problem has been
most pronounced with robot-to-robot crashes. As the robots come
closer to the light source, room for movement is at a minimum and
often results in a collision with another robot. Sometimes the robots
manage to untangle themselves by turning in opposite directions,
but often they have to be physically moved by the engineer observing
the experiment. Additional sensor ports could be easily solve this
Optimization of the Robot Team
Characteristics to Optimize
-Number of robots.
-Distance from target and distance around target.
-Position on start-up.
-Placement of light sensor (looking out vs. looking down)
-Rotation sensor control over light sensor rotation, rather than
-Touch sensor to prevent obstacle limitation.
Experiment Chamber (room) Improvements.
-Black cloth to cover the white walls.
-Low coefficient of friction floor (coated plywood) with a numbered
grid system to track robot movement.
-Improved, non-flammable lampshade.
-Data recording system: Camera, hand diagrams or both.
-Recording of robot placement and direction on start-up.
-Grid system for robot floor.
-Data manipulation process to determine effectives of optimization
Click here for