From 9 to 16 June, the RoboCup Small Size League North American Open 2012 was held in Vancouver, Canada at the University of British Columbia. There were three participating teams: Thunderbots (University of BC, Vancouver, Canada), ER-Force (Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen, Germany), and ZJUNLict (Zhejiang University, Zhejiang, China). This was the chance for these three teams to pit their robots against each other in preparation for the even bigger RoboCup competition in Mexico City.
Beginning of the Competition
On the first day of the competition, there was a work day for all the teams to use to get their robots ready again after a long flight to Canada. As the current mechanical team lead for the Thunderbots, I too had to get our own robots ready to play. The mechanical systems had already been completed some weeks ago, but unfortunately, even now, the electrical board testing and firmware coding still had not been completed yet and some parts that we needed were still not in. For the next day and a half, the team was scrambling to get everything finished in preparation for the first game on Sunday. Because, the only critical tasks remaining were the electrical testing and coding, only the electrical team had the know-how to tackle those tasks. The mechanical and software teams could only wait for results. As the electrical team worked, everybody else on the team became more and more stressed. We all kept wondering whether the team would have working robots for the first game. We were all helpless in this situation. The electrical team worked throughout the day and night trying to finish. Some of the other team members stayed in anticipation while others went home to rest hoping for results in the morning.
Throughout this work day, the Chinese team continued testing their robots on the field. They seemed like the most ready team. The German team however, had lots of work to do as well. Their flight to London from Germany was delayed and as a result, they missed their flight from London to Vancouver. They arrived in Vancouver on Saturday night. They had even less time than we did to get their robots working. When each team set up their work space, they each made sure to put up their mascots. For the Chinese team, they had a panda plush of about 1.5 ft tall and the Germans had a full size German flag.
Game Days
On the game day, I woke at up 5:30 AM and arrived bright and early on campus at 8 AM. When I arrived, the electrical team was still at it and seemingly not even close to finishing. This led to a change in the team’s strategy to the competition. We would try to repair the electrical boards from last year’s robots. These old boards had a different size than the new ones and had different mounting holes, but luckily, somebody on the team had the great idea of including mounting holes for these old boards for this year’s robots. Otherwise, we would have had a really hard time hacking that together. Given only the few hours we had to hack this set up together, the mech team and I worked as fast as we could to finish. We each probably ran up and down the stairs at the UBC Engineering Design Center about 20 times that day looking for tools and delivering robots.
The first game was supposed to be at 9:30 AM, but my team certainly was not ready. It seemed like the other teams weren’t completely ready either, so the game was postponed until the afternoon. The Thunderbots was supposed to play the first game, but due to our lack of readiness, China and Germany played each other instead. When it became our turn we play, we managed to get three robots out of six on the field. None of these robots had a working break beam sensor (the sensor on the robot that is designed to detect ball possession). Without break beams, the robots did not know they could kick the ball, since it would never know if it had ball possession. The robots did not have a controller that worked well either (the controller determines how much voltage to apply to each of the motors such that the robot can move smoothly from A to B). A controller that didn’t work well meant the robots drove about on the field seemingly confused. “Derp” is probably the best word to describe it. Despite the shortcomings of these three robots, they played their best against ZJUNLIct from China and the Thunderbots were defeated 10-0.
On the following few days, the mech team tried to help the electrical team the best they could with tasks such as building extra connectors. We also tried to get the old break beam sensors working again. It was something that had to be on the robot if it were to ever kick the ball properly. After toiling for a few hours, we managed to get two out of three of them working. We probably could have gotten more if we knew more about the electrical design. There was little to go on in terms of the wiring schematic and spare parts. It was also hard to troubleshoot since ambient lighting largely affected the sensor. If it worked upstairs in our work space, it wouldn’t work downstairs on the playing field. It took us a while to figure that out.
In our second game, we played against ER-Force from Deutschland. For this game, we still only had three robots, but this time they were a little bit better equipped. Even then, the robots still had trouble kicking because the lights being used on the field emitted too much infrared light, which obstructed the break beam sensors. It was very frustrating to see the robots not knowing when to kick even though they were handling the ball perfectly. But somehow, we still managed to score a goal. In the end we lost the game 6 to 1.
In the final game between China’s ZJUNLict and Germany’s ER-Force, the Chinese team was victorious. Both teams had a full fleet of robots to play six on six. A modest crowd of spectators also watched the whole game being played and in general people were quite impressed at this engineering feat.
Team Social
To allow the teams to better know one another, there was a social event planned by the organizers of the North American Open. There, I met a lot of the members of the German and Chinese teams. It was nice that that I could talk to each team in their native languages. Although my German wasn’t that good to keep up a conversation for a long time, it was enough to get the Germans wondering how I knew it at all. The last thing they’d expect is for a Chinese guy to start speaking German to them. My Mandarin was at a level that I could talk to people in it, but there were still some occasions where I didn’t understand what they said. It was probably because of me not having a lot of practice with Mandarin (I speak Cantonese normally) and them having an accent from their region that I didn’t recognize.
Press Conference
The organizers made sure to invite as much of the press as they could. More publicity meant that the team could potentially get more money in sponsorship. More money means better robots. The administrative members of the team were in the spotlight and talked to most of the people from the press, while the technical members of the team continued to do their work. The team leads from mech, software and electrical also had a brief interview with the 24 Hours Vancouver newspaper. The team was also featured in the Ubbyssey here and on MacLean’s magazine here.
The Chinese team also put on a show for the press by putting all 12 of their robots on the field so they could they play against themselves six on six. The performance went quite smoothly as there were not random break downs and the press were very impressed.
Engineering Failures
As with these student projects, an accident was bound to happen. This one was with a battery. There was have been a defective battery that the Chinese team unknowingly brought and when they charged it, the battery started puffing up – not a good sign for a battery. One of our team members was quick to notice and instantly dunked it in soap water and disposed of it.
For our team, we had problems where the solenoid kicker would get stuck after being used repetitively. Heat from the power dissipation in the solenoid windings would heat up the whole assembly and cause the solenoid housing to permanently deform. The solenoid was produced out of stacked layers of poly-carbonate sheets. This stacking of layers allowed each layer to deform individually. To fix this problem, we printed out new housings made of ABS plastic. By having one solid solenoid housing, it was more difficult for it to deform.
The German team had some problems with the turf getting dug out of the carpet and getting everywhere inside the problem and also with their robot shells not staying on properly. The turf inside the robot meant that gears could get stuck intermittently and could also get in the way of other mechanical components. Their solution solution for now was to clean it all out every game. During games, the shells of the robot would pop out randomly whenever there was an intense impact with a ball or another robot.
Getting Ready for Mexico
On the Friday before all three teams left for Mexico City, everybody had to pack up all of their things. The German and Chinese teams could pack everything easily since they had packed everything once before when they had to fly to Vancouver. For us, our tools were scattered all over the place. It took us about 4 hours to find all tools to pack into the the luggage containers. The approach to packing was that we would pack any tool that was ours and was already lying out on the table. This is because if we took it out of the tool closet, it meant that the team used it for something. Naturally all of the hex keys, screw drivers and the like were packed. All spare parts were packed. Every tool that we had sitting around was packed. Even electrical equipment like a power supply and an oscilloscope was packed. We had everything we needed for RoboCup 2012 in Mexico City. Even though not everything was done in time for this competition, everybody was confident that things would be better in the competition in Mexico.
More photos here