The purpose behind designing of the pair of
cooperative soccer robots is to test the knowlege that students
absorbed through a practical competition of skills and adaptability.
This project gave students the opportunity to explore a variety of
different robotic engineering concepts, from sumbsumption
architecture to group robotics.
Designing the Robot The first step in this multi-week project was to
design the robot and make the critical initial decisions that would govern the
implementation period. These decisions dealt with things as abstract as the
strategy used to get robots to cooperate, to issues as specific as gear and
wheel choices. Many of these ideas would have to ultimately be changed later on,
but it was important to concretize as much as possible from the beginning to
accomodate for the tight schedule.
Tools The tools our teams employed were made up of a combination of
purchased hardware (such as solenoids and relays), lego bulding blocks provided
by USC, and the "brain" of the robots known as the handyboards. The legos
provided relative sturdiness and great flexibility in designing the robotcs and
proved to be sufficient for most of the structural requirements. However,we also
used incompatible pieces such as omni-directional wheels which proved to be
difficult to accomodate for in the overall lego architecture.
In Depth: The Handyboard As stated before, the handyboard constituded
the CPU, or brain, of the robots. Each team was allowed to use two, one for each
robot on the team. Handyboards are brogrammed in C and allow for a good deal of
programming flexibility (as opposed to more primitive alternative such as PBasic
employed by the Basic Stamp). On of the key benefits of the Handyboard is its
ability to run multithreaded programs and thus allowed the students to employ
parallelism in their Behavior-Based, Reactive, and Hybrid architectures. This
point alone proved to be a key issue during the testing process. However, the
handyboard also posed several limitations that helped students prepare for real
world obstacles. The main one of these was power consumption. Students were
expected to be able to manage their power and be able to use it wisely
throughout the competition.
Implementation Once planning had been completing the implementation
period could begin. Students soon found that the majority of their time would
not be spent creating their designs, but instead tweaking them and debugging
them. On of the most important issues in this competition proved to be
performance tuning: adjusting for light conditions, changing coefficients in
feedback controls, etc. The main algorithms employed may have been similar
accross the board, but it was the best tweaked robots that did the best, for a
single number could make the difference between brilliant performance and
complete failure. Our particular team chose a bahavior-based model to implement
the strategy into our robot. As stated earlier, the handy board was prime for
this as it allowed for multithreading which is essential for true parallelism.
This means that our different "behaviors" could run simutlaneously, as opposed
to forcing the design into a linear structure. This allowed us to remove much of
the code bloat and focus on the true outline of our design, instead of worrying
about particular coding issues. Below is our goalie code, which serves as a good
example of this. As you can see, there is not much code, but it works
astoundingly well, and is incredibly easy to read. By going to the main function
you can see early on that there are two main behaviors: moving left and right,
and following the ball if it is seen. Both of these feed into the central
"actuators" behavior which aggregates what the different behaviors want to do
into one specific signal to the wheels and other components. With just this,
both behaviors cooperate very well and both do their job very well. Also, this
allowed us to centralize the power consumption code. If you look closely, you
will see that the same ball follwoing behavior also makes sure that the kicker
only activates when the ball is within range, assuring we don't waste power when
there is nothing to do.
Team Awesome utilized inventive arangements of available technology to make
the most capable robot on the field this year. However, due to a series of
unfortunate events during matches that made their mechanisms malfunction, they
were beaten 4-6 by Pistols at Dawn in the Semi-Final round.
The Soccer Robot
By Patricia Choa and Colby Drake