Almost immediately after the conclusion of the North American Open, the Thunderbots team flew to Mexico for the next competition.  Everyone woke up super early (in fact so early that the sun hadn’t even come up yet) and arrived at Vancouver International Airport at around 5:40 in the morning.  We flew from Vancouver to Dallas/Forth Worth and then to Mexico City.  Walking through that tunnel to board the plane gave a brief sense of deja vu – it felt exactly the same as the time I flew to Germany.   It was a sudden realization that I would be leaving my home for the next little while and staying in a foreign place.

Flying to Mexico City

When we got to Dallas Airport, we had a stopover of few hours, so we decided to have some Texan steak – or at least as Texan as we tried to get without leaving the airport.  We ended up at TGI Fridays.  It was the first steak that I’ve had in a long time, and I definitely could use another one.  The steak even came with “Jack Daniel’s Sauce”, which made it that much better.

After eating, we met up with two others on the team who had flown from San Jose and Toronto.  After a four hour flight to Dallas, and other few hours of stopover there, we had to fly for another two and a half hours to get to Mexico City.

As my friend said, “it’s like China happened”.  The Benito Juárez International Airport was probably the most disorganized airport I’ve ever seen.  It’s as if every single flight landed at the same time.  The lineup to grow through customs took at least forty-five minutes.  During this whole time, everyone was tired and wanted get their sleep.  A lot of the people on the team hadn’t slept the night before (rather than sleep 2 or 3 hours to wake up early for the flight right?).  While in this lineup, we saw a couple of other RoboCup teams landing as well (Skuba, MRL, among others).  After finally getting through customs and a security check, we got a ride to our hostel via transportation that we organized with the hostel prior to our departure.

Hostel Mundo Joven Catedral

The hostel we stayed had very nice staff that really cared about making its guests feel safe there.  It’s a common feeling among travelers to think that Mexico City is definitely not one of the safer places to travel to.  To combat that, the hostel had its own security guards, security cameras, and they even called legitimate taxi’s for its guests.  They even told us which direction to walk when leaving the hostel to avoid going to the shadier parts of town.  Furthermore, it was situated in the historic center of Mexico City, within walking distance of the Metropolitan Cathedral of the Assumption of Mary of Mexico City and the Plaza de la Constitución.  From some of the rooms at the hostel, there was a nice view of the cathedral.

Work Day

We spent the next day working on the robots to make sure none of the mechanical parts had been affected during the flight from Vancouver.  We had packed all the robots in a regular suitcase with packing foam all around it to protect it.  Looking over the mechanical parts, everything was in order.  The main things we had to fix were tightening screws, adjusting the wiring etc.  The software team had very little to do because they’ve written all the code they could, and just needed robots to test with.  The electrical team on the other hand, toiled tirelessly to troubleshoot all the boards and make sure they were all functioning properly.

RoboCup Begins!

We arrived at the competition venue, the World Trade Center at 8 AM to find a slew of other teams patiently waiting to register.  After probably an hour long wait, we all finally moved in and set up our work places.  When we looked at the field the robots would be playing on, we noticed that the organizers hadn’t yet set up the cameras yet (required for the robots to “see” where they’re going).  This meant that no teams could test.  Teams that were ready could only wait until the organizers got those set up.  Because of this delay, the games had to be delayed as well.  This gave us more time to get the robots ready.  For the next little while, we were the first team to arrive and the last team to leave everyday.  The electrical team needed all the time they could get to finish everything.


Because we had already finished most our maintenance work the day before, there wasn’t a whole lot we could do.  The electrical team had to continue working on their stuff to get as many robots ready as possible.  For the next day and a half, we let the electrical team do their work and we’d help them along the way by replacing parts that were broken (encoders and such).  Otherwise, there wasn’t much we could help with.

Food for the next Week

When we got hungry during the competition, we did a little bit of exploration to find food.  Eventually, all the teams wound up at the same shopping mall for food.  There was a supermarket downstairs to buy water and a food court upstairs with a variety of foods.  We went to this mall pretty much everyday for as long as we were at the World Trade Center.  One day we’d try Mexican food, other days we’d try plain-old hamburgers and other days we’d try even Chinese food (at least the white person’s interpretation of it).  It wasn’t really healthy for us, but we figured it was only for a week.

For dinner, most teams ended up ordering pizza from the nearby Domino’s.  We ate it so much that everybody got sick of having pizza.  Sometimes, we’d have dinner with other teams at our hostel restaurant so we could get to know them a little bit better.  After all, the competition is more about mutual learning and robotics advancement rather than about winning.

Let the Games Begin

Because our team wasn’t that ready to begin with, we had to forfeit our first game against the Immortals from Iran.  By the time we got three robots up and running, we played against the RoboJackets from Georgia Tech.  They only fielded five robots out of the total six.  For most of the game, both teams played pretty evenly, despite their two-robot advantage.  All was going well until one of the opponent’s robots chipped the ball that hit the top of one of our robots, bounced off and rolled into the goal.  In that particular situation, the referee had called an “indirect free kick”, meaning the shot, even if it went in the net, would not count.  But unfortunately, that rule was not applicable because it hit off of another robot.  It was an unlucky goal for us, and we definitely could not score a goal to tie up the game.  We ended up losing one-nil.  For the next few days, we kept complaining about that goal.

In our third game, we played against RoboFEI from Brazil.  There were so many good scoring chances in this game from both our teams that made this game so intense.  Even though we were only watching machines play, everybody cheered them on.  We had four robots on the field this game and they all worked like a charm.  The mechanical system, electrical system, and the artificial intelligence worked so well together.  It was a great feeling for everyone on our team – to see our design work.  After almost a year of hard work, this was it.  We saw our robots move, intercept balls, shoot on the goal, etc.  A lot of the robot shortcomings from the North American Open were also dealt with, such as the problem of the break beam sensors not working, and the robot not moving accurately on the field.  When we scored, we cheered so loud that every single person in the room could hear us (there were probably about 1000 people in that room).  We all got an immense feeling of satisfaction in seeing our working robots score their first goal.  A few minutes later, the other team scored a goal.  It didn’t matter to us, we were still high in the clouds in terms of our mood.  The game ended 1-1.  Despite the tie game, everyone on the team was so happy in seeing our robots work, it didn’t matter what the result was.

This was a great morale boost for the team because for our forth and last game, we played against BRocks from Turkey.  This time, we had our full fleet of robots.  We played our first six on six game.  Yet again, we saw our robots work.  Nothing broke down during the game and everything just worked.  It was quite rare for us to just put our robots on the field and have nothing go wrong.  At one point, our robot shot the ball into the opposing robot and a piece fell off of it.  We knew our design worked when stuff like this happens.  This game was less intense for us than our previous game, but we did end up winning.  That put our record at 1 win, 1 tie, and 2 losses – a total of 4 points.  Unfortunately, this wasn’t enough for us to advance to the next round of the competition and as a result we finished 13th out of 20 teams in the league.  Not so bad for having zero working robots when we got to Mexico.

After the official games, we played a couple friendly games with other teams.  The first game we played was against the Mannheim Tigers.  The game was going well, until we found problems where some of the screws on the robot weren’t tightened sufficiently.  As a result, things well off the robot when we played.  It was quite embarrassing to see.  At least it was only  something minor like putting in a screw, and not something major like a design problem.  In our second friendly game, this time against ER-Force from Erlangen, we found some electrical parts frying randomly on the board, which wasn’t good either.  Out of six working robots, we now had three – still a net gain I guess.

After we were done playing, we watched the other teams play for first place.  From watching their games, it was clear that they played on a way higher level than we did.  Everything that their robots did were way better than ours.  Shooting was faster, chipping went further, robots moved faster, kicks were more accurate, etc.  Everything about their robots was just better.  There is definitely a lot we could learn from these teams.  The final winner of this year’s competition ended up being Skuba from Thailand, who beat ZJUNLict from China.  Both teams analyzed each others strategies for days, but only one team could come out on top.  And now for the fourth year in a row, Skuba remains the undefeated winner of the competition.

Other Leagues in RoboCup

During our idle time, we walked around the other rooms to see how the other teams were working.  RoboCup has many different competitions under its name, while our Small Size League competition is only one small part of it.  Leagues range from soccer robots, rescue, simulation, to even home care robotics.  In the home care robotics league, the competition involved a robotic navigating through a mock house to perform certain chores such as picking up objects to hand to people, speaking and hearing instructions, etc.  It was an admittedly difficult task to do for these robots, but many teams were quite successful at it.


Accidents Happen

Just like in the North American Open, there was yet again another accident involving batteries.  Except this time, nobody noticed and the whole battery lit up in flames.  Somebody just yelled “fire, fire!” and started trying to pat it down with something.  Knowing that I was too far away to do anything, I just took out my camera and snapped a picture of the whole thing.  Eventually, someone just poured lots of water over it to put our the fire.  In retrospect, that might not have been a good idea since water in an electrical fire is not really a good thing.  Nobody got hurt though, which is good.  Afterward, the organizers didn’t let us charge batteries nearby our work space anymore.

Some Design Shortcomings

Knowing that our ball kicker would be able to withstand impacts of the ball, what we had forgotten to analyze was how well the kicker would hold up if it hit a object fixed to the ground.  We found out the hard way at the competition after a few games when we discovered that our robot kicker head was bent out of shape.  We also had a lot of turf buildup inside the robot that was enough to slow down the wheel during the game.  This turf had to be cleaned out after every match.

For the kicking mechanism, the robot uses a solenoid/plunger mechanism.  Activating the coil would cause the plunger inside the core to move quickly to hit the ball.  A rubber band secured to the end of it would allow the plunger to return to its initial position.  The problem with this setup was that the rubber band would easily break and had to be replaced after every game.  When we took out the rubber band, we could always see cut marks along it.  In another instance, a chipper solenoid on a robot almost popped out.  It’s not really clear why this happened at all, but it could have been a screw that was not very tight to begin with.

RoboCup Closing

To close the competition, there was a soccer game where humans played against the middle size league robots.  It was pretty funny to see the robots struggle to take the ball away from people who could handle the ball way better.  At the same time, the humans were really scared of the robots since if a human ever got hit by the kicker head from the robot, it would break bones.  The robot goalie however, proved quite competent in blocking shots – better than the human goal from what I saw.  Or maybe the human goalie wasn’t trying very hard.  I’m not sure who won the game since I didn’t watch the whole thing, but it was still really interesting to see.

Afterward, all the teams packed up their things and waited for the closing banquet.  At the closing banquet, they served a standard meal for everyone.  It was a really good chance for teams to celebrate their achievements and finally relax a little bit after the competition.  Everyone deserved a rest after all of that.

First Real Tour of Mexico – Teotihuacan

After the competitions ended, most teams stayed an extra day or two to see the sights in Mexico City.  The organizers of the Small Size League were nice enough to organize a tour for everyone the day after the competition ended.  Most of the SSL teams went with us to the Aztec pyramids in Teotihuacan.  The tour first showed us how their predecessors used different plants and minerals to make tools such as knives and sewing thread.  That part was interesting at first, but I think what a lot of us really wanted to see were the pyramids.  Afterward, the tour guide led us to the gift shop.  For some reason, most of the people were so interested there, it took about an hour for everyone to finish so that we could move on with the tour.  After the gift shop, we finally made it to the pyramids.


After walking up and down the pyramids, we had lunch and went back to Mexico City to see the Basilica of Our Lady of Guadalupe.  This was one of the most visited Catholic shrines in the world.  But because I had already visited so many churchs and cathedrals from my tour around Europe, this part of the tour was less interesting for me.

Historic City Center

The team would fly back to Vancouver on the day after visiting the pyramids.  But before leaving, we made sure to visit the Metropolitan Cathedral of the Assumption of Mary of Mexico City and the Plaza de la Constitución.  In the plaza, hung a giant flag of Mexico.  This is where the city center used to be, at least during the 19th century.

Going Home

After 10 days in Mexico, we all longed to go home.  It had been a long week – full of stress, adrenaline pumping excitement and overall a good experience.  But after all that, we were ready to go.  We flew out in the afternoon from Mexico City.  Apparently, at around the same time that we were at the airport in Mexico City, three cops had been shot to death.  While we were there though, we didn’t hear anything of it.  We safely arrived in Dallas for a brief stopover and arrived back in Vancouver at about 8:30 PM, just in time to go home, wash up and go to bed.