The ISocRob Team participated in the first European robot soccer championship,
EuRoboCup'2000, held in Amsterdam from
May 29th to June 3rd.
The team included 2 Professors, 2 Graduate students and 1 Undergraduate
student from IST.
0. Preliminary Info
The RoboCup Initiative mission
is to foster research in areas such as Robotics and Artificial
Intelligence, with special emphasis on robotic soccer (i.e.,
robots playing soccer autonomously -- no remote control, with minimal
human intervention).
The SocRob Project aims at research in robotic cooperation, covering
a broader area of applications. One of these applications is robotic
soccer, based on the ISocRob Team.
1. Game Results
The ten participating teams were distributed by two groups (five
per group). The ISocRob team was placed on Group A. The matches
were played in a round-robin fashion -- each team plays all of
the other teams once only. The results and final standings from
Group A are shown below:

Figure 1. Results in Group A

Figure 2. Group A Final standings
The top four teams from each group qualified to the final playoffs.
Being third in our group matched ISocRob with U. Minho, second place
in Group B.

Figure 3. Finals Stage
For ISocRob, the final (and decisive) game against Ulm for 3rd/4th
place was discussed through penalties, after a 1-1 draw. Having
scored 2 penalties, versus the single successfull Ulm shot, ISocRob
had won the 3rd spot on the podium!
The results of all of the matches may be found
here.
2. Scientific and Technical Improvements
Software
- Agent-oriented Programming: The implementation was based on an
agent-oriented paradigm, implemented using threads, which is appropriate
given the concurrent nature of the software. This year, the agent-list
was reviewed and several new agents were created.
- Blackboard: The implementation of the blackboard was completely
revised. The information is now stringified, and network variables are
transparently sent/received.
Hardware
- Wireless Network: The WaveLan Wireless solution proved very
reliable!! Even when we were using the default channel (along with all
of the other teams), and despite the increased latency, it was still possible
to use the network.
- Kicker: The three field players were installed a pneumatic kicker
on the front of the robot. The 'plate' had two rubber fingers on either
sides in order to not destroy it's physical integrity.
- 360° Vision: A custom designed mirror coupled with a CCD camera
allows a 360° field of view. Additionally, the profile of the mirror
provides a so called "hardware unwrapping", providing bird's eye view
images which are free of the distortion usually produced by conical or
spherical mirrors. The image captured by the camera is equivalent to an
orthographic projection of the field, as far as the ground level is
concerned (objects out of this plane are strongly distorted -- no free
lunches here!).
- Goalkeeper: For the first time, the team had 'special' goalkeeper.

Figure 1. Concept Design for Goalkeeper
3. Results
Although, from a competitive point of view, the results exceeded our expectation's,
from the scientific, and even practical, perspective there are mixed feelings.
Positive
- New Arquitecture - The base arquitecture, inspired on the previous
implementation, was completely rewritten and it was refreshing to see a
one-week old build survive the wear and tear of competition use with very
little testing.
- Front Vision - The new Ultrak camera is that good -- all of the
colors are easily recognizable. New code was made to estimate the ball's
relative position (in X,Y) to the robot.
- 360° Vision - The goalkeeper relied solely on the omni-directional
vision system. Considering he was a key player in several matches, it is
the first practical demonstration of the use of the system!
- Prepare Maneuver - Previously, we approached the ball directly and
then rotated towards the desired goal. However, the pure rotational movement
resulted in two big problems. First, the robots approach has to be 'perfect' in
order for the ball to lie within the 'fingers'. Secondly, due to the rotation
the ball was often lost.

Figure 2. Prepare Movement - Before!

Figure 3. Prepare Movement - Afterwards!
One important conclusion was that the robot must have a common
velocity on top of the necessary differential.
- Hardware - After the initial problems, there were no problems
whatsoever. From the second day onwards, it was possible to concentrate
all of our efforts on the software.
Negative
- Packaging - The robot's arrived completely destroyed. One whole
night was spent repairing loose bolts and screws...
- Color Discrimination - Adjusting the HSV thresholds manually again
proved to be a time-consuming process. It has been sugested that the disposition
of colors in the YUV color-space is more favourable for easy discrimination.
- Guidance Methods - Our robot's moved way too slowly!! What was
initially coded in as a hack to avoid walls was used to avoid all of the
obstacles. The result in the first games was that the robot would stop
all the time any object entered within a certain range. Adjusting
the 'no-go' zone's radius proved catastrophic as the robot's started
bumping and pushing very frequently.
- 360° Vision
- Field Players: The state machines which had been developed used heavily
the omnidirectional camera. However, a problem with the implementation of the
concept resulted in 'void' loops -- the machine would enter a deadlock jumping
from state A to state B and vice-versa. So, the field players didn't use it..
- Self-Localization: Despite our-efforts it wasn't possible to put
self-localization working. Even if the final touches to the algorithm had
succeeded, the method would still have failed due to the excess color saturation
which rendered mostly as white..
- Goakeeper's Blind Zone - We suffered a few goals when the ball entered
the camera's blind zone. If the ball didn't rebound on the goalkeeper kicker,
it would hide itself in this blind zone rendering the goalkeeper useless. To
this effect we must place the Ultrak camera on the 'front' of the goalkeeper
with respect to his normal position, and not in the direction of forward movement.
Photos