|
RoboCup 2001 Diary
The following updates have been written by
Prof. Raffaello D'Andrea. Photos have been taken by various individuals.
|
Day 0: Wednesday, August 1
|
Today was out travel day. The following members of the Cornell RoboCup team
arrive safely in Seattle (and just as importantly, so does the equipment!):
- Michael Babish (CS)
- Tim Chung (MECHE)
- Kent Cseh (EE)
- Raffaello D'Andrea (MECHE/AE/EE/CAM/TAM)
- Gonzalo Dominguez (EE)
- Pritam Ganguly (TAM)
- Mae Huang (EE)
- Brett Nadler (MECHE)
- Oliver Purwin (MECHE)
- Thibet Rungrotkitiyot (CS/EE)
- Anurag Sharma (MECHE)
- Christian Siagian (CS)
- Will Stokes (CS)
The team retires early, in preparation for the first day of setup on Thursday.
|
Day 1: Thursday, August 2 (SETUP DAY)
|
The Cornell team gets off to an early start, and make it to the Washington
State Convention and Trade Center by 6:30 AM. Unfortunately, the building construction
crew is not as organized as the Cornell team, and access to the venue is
not granted until 9 AM due to construction delays.
The first priority is of course computer vision: Thibet and Christian, with help from
the MECHEs, begin to set up the vision system. After more than one hour of
continuous checks and re-checks, however, we still cannot obtain a valid video
signal from the camera. My worst nightmare is starting to come true: our ONLY
non-redundant system, the Matrox Frame Grabber, does not seem to be responding
to our requests for images. A hunch from Gonzalo pays off: the telephoto lens
was not correctly mounted to the base system, resulting in loss of video signal.
After this minor setback, Thibet and Christian are able to bring a preliminary
version of the vision system up to speed by lunch-time, and spend the rest of
the afternoon finalizing the multitude of vision calibration settings.
The rest of the day is relatively uneventful: the robots are put through their paces,
including some rather showy warm-up plays (please see the web site for links
for play-backs). The Cornell team is asked to develop some demos for Friday's
television and press media tours, a natural follow up to recent articles in the NY Times and
Wired Magazine.
|
Day 2: Friday, August 3 (SETUP DAY)
|
The Cornell team shows off some of the capabilities of the system,
to the delight of the crowds. The precision vehicle coordination and control
is readily displayed via various test-plays: the robots quickly zip past
each other, passing the ball back and forth amongst themselves ("wow,
are you sure that no-one is manually controlling those robots?").
Two additional members of the Cornell team, in Seattle for part of the summer,
join the rest of the team: Matt Harren (CS) and Ken Sterk (MECHE).
A friendly match in the evening, between one of the three Australian teams,
the RooBots, ends early due to severe, but intermittent, wireless interference
in the 433 MHZ band; we cannot find the source of the interference, but it is
definitely originating from within the building. Once again, a hunch plays off:
by REMOVING the antennas from the robots, we are able to de-tune the
receivers and thus make them less susceptible to the high ambient noise (the
automatic gain control should have taken care of it, but we have learned
a long time ago to never assume...) We call it a night, ready for our
opening match Saturday morning against the Canucks.
|
Day 3: Saturday, August 4 (FIRST DAY OF COMPETITION)
|
We are the first seeded team overall, and are thus placed in Group A.
The other members of our group include the Canucks (Canada), the
RooBots (Australia), Sharif (Iran), and Rogi (Spain). We have two
games scheduled today, the first at 10:00 AM against the Canucks,
the second against Rogi at 5:00 PM. It is important for us to
win these first two games: we must come first in our group in order
to avoid facing Lucky Star in the Quarter Finals, the team that
took us to sudden death penalty shots in the '00 World Cup Semi-Final,
and probably our toughest opponent in both '00 and '99.
The first game against the Canucks is disappointing: the Canucks are not
capable of overcoming last minute wireless and vision problems, and are
thus not capable of mounting any type of defense against our team. The
ten goal mercy limit is quickly reached, even with our speed and
acceleration gains drastically lowered, and most of our offensive
strategies disabled.
FINAL SCORE: Cornell (USA) 10, Canucks (Canada ) 0.
The second game against the Spaniards is definitely not a repeat of
the tournament opener. Rogi, RoboCup participants since '97,
have a seasoned defense. The Cornell passing, dribbling, and shooting
game is too much for Rogi, however, and the first goal is quickly netted.
This is quickly followed by a second and third. The half ends with
Cornell up 6 to 0. The second half is a repeat of the first, and
Cornell reaches the ten goal margin half-way through the period. The mercy
rule is once again invoked, and the game goes in the record books as
a 10 to 0 Cornell victory.
FINAL SCORE: Cornell (USA) 10, Rogi (SPAIN) 0.
|
Day 4: Sunday, August 5 (SECOND DAY OF COMPETITION)
|
Our game today was against Sharif (Iran). This is the first
year for the Persian team, and it shows; constant problems have
plagued them since the beginning of the tournament, and they
have not been able to fully display their team abilities.
The Cornell team goes through their warmup routines (see links),
and pass the preliminary tests with flying colors. We are ready!
The game begins, and immediately the Cornell team begins to have control
problems; the robots are not responding, and behave erratically.
A wireless problem! We still manage to score a goal in the first minute of play. We cannot
understand what the problem is: the system was fully operational before the game
began. The Cornell team continues to play crippled, and are forced to
call a time-out. An exhaustive search of the premises turns up empty:
no-one is transmitting at 433 MHz, the frequency allotted to the Cornell
team for the game. This is a complete mystery for us: we determined
the other day that our antenna-less robots should only be able to receive
commands within a very tight radius (less than 5 meters). The Cornell
team is not the only team with control problems: Sharif is also behaving
erratically. We become suspicious, and explore a possibility that should
have perhaps been obvious all along: Sharif is inadvertently using
the same frequency as we are. Sure enough, this was the problem. Given
that we are ahead by one goal, however, no punitive action is taken against
Sharif, and the game continues after the appropriate changes have been
made to the wireless system.
Six minutes of play have elapsed. With our robots fully under control,
it does not take us long to score eight goals before the end of the half.
In fact, Cornell has an opportunity to score a game ending tenth with three
seconds left on a free kick, but a mistyped key to begin the play leads to
a wasted opportunity. Cornell scores within the first minute of the second
half to end the game.
FINAL SCORE: Cornell (USA) 10, Sharif (IRAN) 0.
|
Day 5: Monday, August 6 (THIRD DAY OF COMPETITION)
|
Our game today is against the RooBots, a team from Melbourne, Australia.
The RooBots must either win, tie, or lose by six goals or less in order
to advance to the quarter-finals. Their previous game, against Rogi (Spain), resulted
in a 0-0 tie, and thus advancement must come from goal differential in case
of a loss. The Melbourne team is quite strong; they have finally managed
to eliminate most of the bugs from their system (no team can eliminate
ALL their bugs!), and are starting to play to their potential.
Cornell is essentially guaranteed a place in the final eight, irrespective
of the outcome of this game; a win, however, will guarantee first
place seeding, and an easier path to the semis and finals.
Cornell alumni come to the game to cheer us on, including
Bill Nye, a.k.a. "The Science Guy" (MECHE '77); see the
links to the pictures.
The game begins, and it is clear that the Melbourne team has
decreased their "politeness factor" in order to throw us
off our passing game; in more technical terms, they have
turned off their obstacle avoidance when in the vicinity of the ball.
They also position one of their players behind our goalkeeper in
an attempt to interfere with it (our goalie comes way out of the
net to cut off the angle). Their strategy is effective in
stopping our precision passing, but soon results in a yellow card
infraction: one of their players pushes our goalie by over a foot.
Even with the rough play, Cornell is able to score its first goal
on a penalty shot at approximately the 6th minute of play.
The rough play continues, and Melbourne is eventually awarded
a red card, and as a result, must pull out one of their players
and finish the game with only four robots. More importantly, they
must enable their obstacle avoidance once again to prevent
more yellow and red card infractions. The Cornell team now
takes control of the game, and scores another goal before the half.
The second half finds the Cornell team executing its precision passes
and shots. Two goals are scored on incredible pass-shot combinations
(see the play-back files), to the amazement of the crowds. The game
continues with Cornell dominating the play. With three minutes remaining
in the game, Cornell scores its seventh goal, enough to eliminate
Melbourne from the competition. Melbourne calls a time out, and starts
to make some desperate changes to their code in order to score at least one goal.
When the final whistle blows, the Cornell team finds itself with an 8-0 victory and
a first place seeding in the final eight. It is unfortunate that
the Melbourne team is once again eliminated by Cornell in round-robin
play (see th '00 diary for details); they are certainly a top eight
team, perhaps even top four. Unfortunately for them, their team
did not really show up until the final game of the round robin against
Cornell, and their 4-1 victory against Sharif (Iran) should have been
a 10-0 rout.
FINAL SCORE: Cornell (USA) 8, RooBots (Australia) 0.
In other notable events, Michael referees the RoboRoos (Australia) vs.
CMU (USA) game, a game that lasts over two hours. During game play,
the RoboRoos new kicker, capable of ten meter per second shots (!!!),
completely collapses the CMU goalie's faceplate, and is awarded a
red-card. We could potentially face the Roos in the semi-finals, leading
the Cornell team to worry about the potential impact of this new kicking
mechanism. The Roos beat CMU 5-0, eliminating the other American team from
the competition.
|
Day 6: Tuesday, August 7 (FIRST DAY OF INTERMISSION)
|
The quarter finals and semi-finals will commence on Thursday the 9th. The teams
have two days to setup for the playoffs, and make and final changes to their system.
Cornell will be playing against 5DPO (Portugal) in the quarter finals, and the winners
of the '01 European open. The '99 and '00 runners up FU-Fighters (Germany) will be
playing Rogi (Spain) in their quarter-finals, while Lucky Star (Singapore) will
be playing against the KU-Boxes (Japan), winners of the '01 Japan open. The RoboRoos
(Australia) will be playing the Field-Rangers (Singapore) in the last quarter-final match.
A rules discussion is held in order to clarify a contentious rule. Some teams have exploited
a loop-hole in the rules to score goals on goal-kicks with powerful kickers. In particular,
the rules state that the robots cannot be moved and repositioned when play is stopped. As a result,
several teams have been awarded free kicks by kicking the ball in the general direction of
the opponent and thus gaining possession when the ball flies out of the playing field after
making final contact with an opposing player. Since the defending team cannot reposition its players,
many of these free kicks result in essentially open nets. It is clear that this is not
in the spirit of the rules, and in fact, the referees do have leeway in this matter: they
can actually award a free kick to the defending team if it is obvious that the attacking team
is deliberately kicking the ball at opponents without making an attempt at scoring or passing.
This loop-hole is essentially the only vulnerable spot of the Cornell team.
We decide to spend the next two days anticipating this strategy, even though the referees have decided
to enforce the intent rule. (NOTE: while it may seem silly to speak of "intent" when
dealing with autonomous systems, the reader must remember that human beings are the ones that
position the kicking robots during free-kicks. It is thus clear how to interpret this intent: a human
being positioning an attacking player to kick the ball at a defender in order to obtain better
ball position from a ricochet out of the playing field).
|
Day 7: Wednesday, August 8 (SECOND DAY OF INTERMISSION)
|
The day is spent making changes and improvements to the system. Graham Chedd and crew from
Scientific American Frontiers arrive to the venue, and film the Cornell team in preparation
for the playoffs. We display our system capabilities, including our passing, obstacle avoidance, and
high speed maneuvering. Alan Alda, host of the show, will be coming tomorrow to watch the game
as part of the upcoming PBS special in the fall. Most of the team is sent home early to rest,
except for Michael, Gonzalo, and me, who stay to make the final changes to our offense and test
the various changes we have made in the last two days. We don't get home until 2:00 AM, 3 hours before
we will make our way back to the venue for our 8:00 AM playoff game.
|
Day 8: Thursday, August 9 (FIRST DAY OF PLAYOFFS)
|
Our quarter final game is against the Portuguese team of 5DPO, the
2001 European champions. Their team is solid, and has no apparent
weaknesses; in addition, they possess a powerful kicking device, which
they have used effectively to advance to the playoffs.
7:45 AM. Alan Alda and the Scientific American Frontiers crew arrive,
and wire us up for the on-game commentary; Alan and I will be sitting
in the middle of the stands during the game, providing game analysis.
We go through our pre-game warmup, with no apparent problems.
8:00 AM. The whistle blows to begin the first of the RoboCup 2001
quarter final matches. The 5DPO strategy becomes immediately obvious:
play a conservative defense, and dump the ball upfield hoping for a
scoring opportunity to emerge. The Portuguese are also quite physical,
and are awarded a yellow card within the first five minutes of play.
Our modifications to guard against their powerful kick work like a charm:
all of their free-kick opportunities are guarded by our midfielder, who
wisely positions itself in front of the free-kick area, and not the ball,
during game play. Their dump and chase strategy, coupled with their
physical play and a strategy error in the part of our goalie lead to
a surprise 5DPO goal with minutes left in the first half, even though
most of the play is in the midfield and in their zone. The last few
minutes tick down, and the first half ends 1-0 for the Portuguese.
HALF-TIME. We decrease the roaming radius of the goalie, a temporary
fix for the strategy bug we have discovered in our current goalie
code. We decide to not make any more changes to our system; our
play is strong, and only thwarted by their physical play. We
reason that is only a matter of time before we either score, or one
of their players is ejected for rough behavior. We inspect the
dribbler bars of our players, and find little chunks of aluminum
embedded in the rubber, compliments of the 5DPO rotating kicker.
8:40 AM. The second half is essentially a continuation of the first.
Within three minutes of play, a 5DPO player is awarded a second
yellow card, and automatic expulsion, for rough play. The crowd
waits in anticipation as Gonzalo aims the robot for the free kick
in front of the television cameras. He does not disappoint, and Cornell
scores to tie the game. With three minutes left to play, 5DPO, a
player short, receives another yellow card for rough play. They call
a time out and modify their system in order to avoid an additional
red card and mandatory expulsion. The Cornell team quickly takes
advantage of the situation, and score a second goal with time running
out. The final whistle blows: Cornell advances to the semi-finals,
to be played at 3:00 PM.
We immediately hold a team meeting to discuss changes that need to
be made to the system in preparation for the semi-finals. In particular,
we all agree that the goalie code must be repaired. By 11 AM, we find
out that the Field Rangers have upset the RoboRoos 1-0 in the other
group A quarter final match. We are somewhat relieved: the Field
Rangers have virtually no offense. We are somewhat dismayed, however,
to find out how the Field Rangers have won the match. Their strategy
against the RoboRoos was to position themselves between the ball
and the wall, and preventing play from occurring. Continuous repositioning
by the referee simply resulted in the Field Ranger robot moving back
to block the ball. As a result, the twenty minute match turned into
a three minute match in terms of game play, and vision glitch in
the Australian system was capitalized by the Field Rangers.
3:00 PM. The game begins on time, and to the frustration of the crowd,
the Field Rangers play the same stall tactic that they employed against
the Australians. The Cornell team has various scoring opportunities,
but they cannot capitalize. With approximately three minutes left
to play, the unthinkable happens: a ball occlusion that occurs with
our robot having possession of the ball, coupled with a Field Ranger
player being in the right place at the right time to position
itself in the occluded position result in the Cornell robots thinking
that the ball is somewhere where it is not (when the ball is occluded,
our global vision system cannot see it, and as a result, we must
predict where it is most likely to be). The Field Ranger player finds
itself with the ball in front of the Cornell net with our players
guarding against a shot from a different part of the field. The
Field Ranger player simply pushes the ball into the open net.
The second half is a repeat of the first; most of the time is spent with
the ball on the sides of the playing field, with the Field Rangers
running precious clock time with their stall tactic. Cornell has
several scoring chances, but cannot capitalize. The game finishes
1-0, and for the first time in Cornell RoboCup years, the Cornell team
loses a RoboCup match, and is knocked out of the finals. The team
is clearly upset; we were clearly the better team, but could not
display our skills with only a few minutes of actual game time.
Everyone in the crowd and the RoboCup community is talking about
how a rule change must take place from preventing this to happen
again, but of course, it is too late for us now.
In the other semi-final match, the Fu-Fighters lose against
Lucky Star 4-0; we will be playing the German team for a trophy
for the third straight year, but unfortunately, it will
be for third place only.
|
Day 9: Friday, August 10 (SECOND AND LAST DAY OF PLAYOFFS)
|
The third place finish match against the Fu-Fighters starts on
time at 9:30 AM. Just like in the past three years, the German
team is out to play, and it is clear that this will be an entertaining
match. The Cornell passing machine quickly exploits a weakness in the
German defense, and goes ahead 1-0. The game resumes, with the
ball finding itself equally in both ends of the field. With
a few minutes remaining in the half, the German team ties
the game in a situation virtually identical to the one that
cost Cornell its berth in the final: ball occlusion, and improper
prediction. This is clearly something that must be addressed next
year! Before starting play, the Cornell team calls a time-out
to determine if anything can be done to prevent this from happening
again; a less sophisticated and more conservative (and thus lower
performance) method for ball prediction is inserted into the
system as a safety measure. When the referee blows the whistle to resume play,
the Cornell team is dismayed to find that their robots are not moving!
A time-out cannot be called during game play, and we are left to watch
the FU-Fighters score against a team of non-moving robots. The reason
for stillness: we forgot to turn the robots back on after the timeout!
The long days and sleepless nights have finally caught up to us, and we
are clearly not as alert as we should be. The half
finishes 2-1 for the FU-Fighters.
At the half, we decide to not change the system in any way; we are
playing well, and their goals are mainly due to human error. The half
resumes, and we quickly score the equalizer on a passing play. We score
three more goals to take a 5-2 lead. But once again, we squander
the goal cushion. The FU-Fighters score on a legitimate passing play
from the corner (the first time this tournament that the Cornell
team is scored upon during "normal" play), and follow this up with
two more goals: the first against non-moving Cornell robots when
the vision system is inadvertently turned off before play, and immediately
the second immediately afterwards
when the wireless system is inadvertently turned off before play.
With 22 seconds left in the game, two FU-Fighter players find themselves
in their defense zone, and the Cornell attacker quickly takes advantage of
this situation by shooting at the net: the penalty for this infringement
is a penalty shot. The FU-Fighters substitute their goalie for a faster,
but somewhat uncontrollable, prototype player, in preparation for the shot.
The Cornell player is set up for the penalty shot, as is the German goalie.
The whistle blows. The German goalie rushes the ball hoping to cut off
the angle before the kick. The Cornell players kicks the ball towards
the corner. This time, the ball gets there first. Cornell 6, FU-Fighters 5.
The play resumes, but time quickly runs down. Cornell takes third place
in RoboCup 2001.
In the final match, a frustrated Lucky Star team manages three goals
against the Field Rangers, and capture a well deserved first place finish.
|
Epilogue:
|
Clearly we are disappointed that we did not bring home the first place
trophy this year. On the other hand, our team was the talk of the competition;
our passing play amazed the crowds and the competitors, and paved the way
for the future of RoboCup. What really hurt us this year was the reversal
of the decision made in 2000 to make the field larger and to enlarge the
net, and the referees not enforcing the pushing and shoving penalties.
This led to extremely conservative (but easy to implement on
a small field) defensive strategies; it was very difficult for us to
exploit passing on such a small playing area, especially when some of the
other teams kept on making substantial contact with our robots. The
majority of the teams agreed after the competition, however, that this
needs to change, and that more "Cornell type of play" needs to occur.
We had two objectives this year: to play well, and to win the competition.
We certainly achieved the first.
|
Last Murmur:
|
After finishing the 2001 competition in 3rd place, the
Cornell team decided to revise some of their strategy
and design concepts:
(Written by Will Stokes, Michael Babish, and Nicole Schlegel)
-
Testing/using the robots without turning them on was a bad idea. While in
concept the self-powered PID's were clever, we should have tested this back
in the lab and not in our final game.
-
Assuming our robots always have possession of the ball made sense, because that
*was* what were attempting to do. However, in retrospect it makes a little
sense to make our system more "robust" and have the goalie only try to reset the ball
position when the ball is actually lost.
-
Arrogant brick play was awesome in the lab. We were never scored upon by
stationary obstacles! However, more testing should have been done
with moving robots before using this play in the final game.
-
Passing was awesome. Having the robots get into position ready for a pass behind
the goalie worked like a charm. However, next time around we should program
the robot which has the ball to kick it to the robot that is supposed
to receive the ball. Despite many attempts, pleading to the robot during
game play had no effect.
-
Dribbling the ball up the field was an awesome idea, and much of the time it
worked very well. However, before our next game we should remove the calls
to chip-kick the ball over an opponent every time we get stuck, since the chip
kick was never actually implemented on the robots.
-
The robust mechanical design of the robots was superb. They never broke, and when pushed
against never moved. However, after watching portions of the RoboRoos-vs-CMU game, adding
ejecto-parts would have helped us achieve more penalty shot opportunities.
-
When down in the end of the game, we should have made use of the explode
option in the destination class.
-
Putting the "Start Game Key" next to the "Turn Vision Off Key" was a bad idea.
-
Our assumption that our code was "bug-free" was a poor one. In retrospect, actively testing
and debugging our system should have been a priority.
-
Our operator (team member that starts/stops the robots) should not laugh when s/he sees
parts of the opponent robots fly off the field. They may actually be our parts.
-
Our operators should be trained in anger management. Not only is it a bad idea to taunt
the ref because he has the power to eject us, but dude, he's the one holding a stick.
-
NB: RoboCup crowds will do a wave. Who would have ever thought... and can we use
this to our advantage?
|
Last Updated: Sunday, January 13, 2002. 01:55 PM EST
|