Daily Updates from the Virginia Tech RoboCup Team in Atlanta:
Click Photos for Larger Version
Jesse's last minute programing adjustments before the game against team JEAP from Osaka University.
DARwIn 2B bullying the opponents by pushing and kicking them - they fall like bowling pins. Bad robot, DARwIn, Bad robot!
TEAM: SPRInt (from left: Dr. Dennis Hong, Jesse Hurdes, Robert Mayo, Karl Muecke, Brad Pullins) and Professor Oscar von Stryk from Technische Universitaet Darmstadt.
Friday (Day 0)
After a long drive from Blacksburg, we arrived at Atlanta (Georgia Tech) late night. Among VT's RoboCup team "TEAM: SPRInt" members, Karl Muecke, Robert Mayo, Jesse Hurdus, Brad Pullins, and our advisor Dr. Hong are attending the competition. We brought DARwIn 2a (goal keeper) and DARwIn 2b (striker) to be the actual players for the competition, but we also brought DARwIn 1 just for exhibition. We pretty much stayed up all night tweaking the walking gaits and calibrating the vision system and putting the final touches to the robots. The campus is filled with fellow robot enthusiasts from all around the world, and you can feel the excitement in the air. It should be a very interesting week.
Saturday (Day 1)
The main competition venue is at the CRC (Campus Recreation Center) at Georgia Tech, and today we were able to enter the soccer field for the first time. Surprisingly, the actual soccer field carpet texture was drastically different from what we have been using for testing, thus the dynamic walking gait algorithms were not able to handle it in a stable manner. Also the lighting condition was so different from what we have been using so far, our IEEE1394 cameras were having a difficult time seeing the field and the ball. We stayed at the CRC until it closed at 10PM trying to adjust and fix things to make it work right. It looks like there is still lots of work to do to perfect DARwIn's soccer playing skills. Though DARwIn performed well in our lab in a controlled environment, we are realizing the importance of making the system robust enough to handle different environments.
Sunday (Day 2)
Today we got to meet many of the robots and members from the other teams. We are the only team that passed the qualification rounds from the US in the humanoid division, and there were many teams from Japan and Germany in particular. Seeing all the other robots was quite a humbling experience as they were all very impressive. Some of the robots, especially those from Technische Universitaet Darmstadt looked like they had an actual "personality". Their agility, autonomous behaviors, intelligence, and even the soccer playing skills were very impressive. It looks like it will be quite a challenge for us to bring home the trophy but we will try our best. At least we will have a strong showing at the competition, especially as first time rookies. Go Hokies! Go TEAM: SPRInt! Go DARwIn!
Monday (Day 3)
Today is the last practice day before the actual competition tomorrow. Dr. Hong says he is getting a lot of email and phone calls from the many fans from VT and other universities cheering for us. It looks like we have a big fan club following after our cult status YouTube video on the internet and the article in July's issue of Popular Science magazine. Though we have tweaked most of the system to work well, we just found out that one of the computers (the one in DARwIn 2b) is suddenly not working! This could be a big problem as our first competition is tomorrow at 2PM. I guess we have another long night ahead... We have been living on pizza and hamburgers to save time for working, so today, Dr. Hong took us to a nice restaurant for a good meal - he said he was worried about our health more than that of the robots. We took DARwIn 1 to the restaurant and gave him a seat. He was quite popular there. After a quick nap, we cam back to the dorm where we are staying and took over the lounge area and set up our work shop and testing field. Dr. Hong joined us and stayed up all night with us helping out on the last trouble shooting. Hopefully we will be able to fix everything so DARwIn can play a good game against the other robots tomorrow. Wish us luck!
Tuesday (Day 4)
[Game 1]
Finally, today we have our very first game! We are going against team TKU from TanKang University, a RoboCup veteran since 2000. However, the situation for DARwIn does not look too good. We were struggling to fix the problem of DARwIn 2B's PC104 computer all night, but could not find the problem why it was not communicating with the rate gyros and motors through it's serial port. After much discussion, we have made a decision to swap the computers between DARwIn 2B and DARwIn 2A, and thus having the non-functioning DARwIn 2A as the goal keeper, essentially making it a "brick" in front of the goal, hoping that it would simply block the shots from our opponents by just sitting there. After a long and difficult surgery to swap their brains, we have finally made DARwIn 2B, the striker, functional again. Due to the difference in texture of the playing field carpet, we were not able to use our analytically generated awesome gaits, but rather manually recorded some hand tweaked gaits on the spot so that it could at least walk on the field and play the game. The new walking gait is not as fast or impressive as what we had before, but it should do it's job. At least it looks like we have the strongest kick in the entire humanoid league.
30 minutes before the start of the game, we realized that the lighting conditions on the actual field that DARwIn will be playing is differed again from that we used to calibrate the computer vision cameras, and thus it could not see the ball! Last minute tweaking did not help much but the game had to begin. What a disaster!
Our very first game is about to start. Robots in position. You can feel the tension in the air. The striker 2B is having a difficult time locating the ball, but when it did, it dribbled it towards the goal but it misses the goal. It did not really kick the ball but pushed it with its toe because it could not accurately see the location of the ball and did not know when to give it the full kick. The robots from TKU took small but quick steps, intercepting our ball and kicking it towards our goal. Unfortunately, our goal keeper 2A, though it had an impressive pose, was essentially a sitting duck and could not block the ball. Score 1:0. You could actually see from its body language that 2B was struggling to recognize it's surroundings and the ball. The light was reflecting off from every direction, confusing him. Hopefully during half time we can readjust the vision settings to improve it's performance.
The second half starts. Our striker 2B gets tripped by the robot from team TKU and falls face forward! You could see and hear the impact it took from the fall. Even with the protective guards on its chest, the inertial force from the mass of the cameras mounted on the head caused them to shift. The pan and tilt motors on its head to orient the camera does not work anymore! While trying to get up, team TKU scores another goal. DARwIn 2B, trying to run back to block the kick, falls forward again, and alas, this time the neck completely snaps off, leaving its head (camera) on the filed... DARwIn is now playing blind, without a head! You could see DARwIn walking around in circles headless, trying to understand why everything is pitch black. The game ends like that, with a score of 2:0. With all that went wrong, at least we were lucky that we only allowed 2 goals.
After the game, we tried to fix the pan and tilt unit, but decided to just bolt the camera down directly on the chest. Now DARwIn 2B essentially does not have a neck, and thus needs to move it's upper body to look around. We think we can re-calibrate our sensors for tomorrow's game, but probably no time to further optimize the gaits. It was sad to see DARwIn fall and break its neck on the filed, but it could have been worse. At least it was our very first game, but with no beginner's luck. I guess we won't be able to get any sleep tonight again...
Wednesday (Day 5)
[Game 2]
Murphy's law... All that could go wrong are actually happening right now. After fixing the camera last night, now the computer problem that disabled 2A yesterday is happening to 2B as well! The computer turns on, but the the IRQ settings get corrupted and the CMOS hangs. Both DARwIns are now vegetables! The game is about to start but none of our robots are able to even power up. The game is against team FUmanoid from Freie Universitaet from Berlin. We request a 2 minute timeout at the start of the game, and we some how manage to boot up the computer of 2B during the time out period. DARwIn tries to search for the ball on the field, but without its pan and tilt head, it takes some time to locate the ball. But as soon as it finds and dashes toward the ball, it somehow rips out its own power cable and shuts down, catastrophically collapsing in the middle of the field... What a disaster! Essentially we don't have any players, none of our robots are operational. We are doomed...
Unfortunately, the game ends with us withdrawing, and the score is automatically set to 10:0. The entire team is in shock and very disappointed. With two non functioning robots in our hands, the team moral is down to the ground. We had high hopes for this game, even believing that we had a good chance of winning, but the electrical and computing hardware are just not cooperating. We got about 5 hours before the next game. Time to figure out how to resurrect our robots and make a miracle happen, some how...
[Game 3]
It's 2PM, no time for lunch. Game starts in an hour. Professor Dan Lee from University of Pennsylvania stops by to cheer for our team. Professor Oscar von Stryk from Technische Universitaet Darmstadt also stops by to check on us. Praying for a miracle, Karl some how makes the computer boot up, just 10 minutes before the game! Hallelujah! The computer seems to be working fine, but none of its motors are moving and thus cannot stand up! 7 minutes before the start of the game, Jessie finds out that a RS-485 cable is missing inside DARwIn's body which is causing the malfunction. Since everything was at the last minute, and it was so hectic, we forgot to install this crucial cable when putting back the robot together! 6 minutes before the start of the game, Robert runs out the stadium, back to the dorm room to get the soldering equipment and wires. Robert literally strips the wires, making the cable as he runs back to the CRC! The game has already started without a functioning robot. Here we go again... Then 2 minutes into the game, Robert finishes making the cable. We have never seen anyone make a cable so fast. His hands were moving so fast with a soldering iron in one hand and a bundle of wires in the other, soldering multiple wires at the same time! Just amazing. Then Jessie opens up DARwIn's chest and sneaks the newly made cable into the tiny gap between the circuit boards to install the cable and somehow manages to do so. An impossible task that he somehow accomplishes without any special tools. Then Brad boots up the computer and throws DARwIn on the field. It gets up and starts to play soccer! A huge cheer from the audience! Go DARwIn, go! The goal keeper 2A throws its body to block the kick from team B-Human's striker! Our striker 2B dribbles the ball and pushes it towards the goal but gets blocked by team B-Human. Team B-Human's robot walks next to 2B and 2B pushes it away making it fall down next to the the ball. Then 2B kicks team B-Human's robot in the head, instead of the ball next to it. What a bully DARwIn is! A big laugh from the audience! It was probably the most entertaining game in RoboCup history. The referees were surprised to see our robots rise up from the dead, and actually play an impressive game. With all that went wrong, this was truly a miracle! The audience cheered for the underdog (that would be us) and though we lost with a score of 1:0, we were the true winners of this game. Fast thinking, great team work, skillful hands, and leadership made the impossible happen today. Though we have lost, we celebrated our first successful game with a late lunch and started preparing for tomorrow. We have a fantastic team with impressive robots.
Today is the 4th of July, and we celebrated it with DARwIn, with a beautiful game of robot soccer...
Thursday (Day 6)
[Game 4]
After spending all that time fixing the electronics and tweaking the sensors, we are feeling very confident that we could show the world what we've really got. Game 4 is against team JEAP from Osaka University, Japan. Their work bench is located right next to ours, thus we have been closely observing their robots which were quite impressive, especially their software. They were using a modified, off the shelf robot hardware, which performance wise was not too impressive, but a very stable mechanical hardware platform. We pride ourselves with our custom design of DARwIn, but have to admit that the autonomous soccer plying software that we have developed in the short period of time is quite basic at this stage, but still good enough to play an impressive game. As long as we have a good stable mechanical platform, evolving the software should be a relatively easier task than the other way around.
Game starts. Both the striker 2B, and the goal keeper 2A, are proudly standing on the playing field with a confident stance, as if they were showing that they are ready for the game. After a few seconds delay, 2B searches for the ball and locates it. We have a rather large crowd around us today in the upper level spectators area cheering. 2B dashes to the ball but over shoots. Adjusts its position by side stepping which looked quite impressive. The real secret weapon of DARwIn is it's very impressive powerful kick! It can shoot the ball from one end of the playing filed to the goal all the way on the other side with impressive speed and power. Only if it could reach the ball in time without the opponents blocking, we would have an excellent chance of scoring a goal. And this is that chance! Team JEAP is on the side still searching for the ball and their goal keeper is out for minor adjustments. We have a wide open goal! We have a chance to score! As 2B adjusts it position to aim for the goal, and winds back his left leg to kick the ball, the excitement builds up and the crowed is going crazy!!! Here comes the kick! ... Ah, the mighty powerful DARwIn's left kick digs into the ground and DARwIn falls down. A big sigh from the audience, and a great sound of relief from team JEAP. It looks like the mechanical calibration was a bit off of it's ankle and thus it dug into the ground. Meanwhile the goal keeper 2A, with it's still malfunctioning computer, is performing some amusing acrobatic motions including summersaults and backflips. As 2A can't really see with its broken camera, we have decided to pre program it to perform these types of random motions, hoping that it would block the ball in case the opponents get a chance to kick it towards our goal. It turns out that 2A was the real crowd pleaser with its almost comical acrobatic motions. Meanwhile 2B is constantly trying to search, dash to, aim and kick the ball, but every time it tries to kick it, it constantly digs its left foot into the ground and falls down... During the match this happened four times, each time an excellent opportunity to score but missing it. 2B has multiple battle scars from its falls; a bent forearm link, a loose camera cable which blinded it for a few minutes, broken off protection guard posts, and a few nuts that fell off from the body. Most of them were fixed during the half time period, but could not figure out why the left foot was digging into the ground when it kicked the ball. Everything worked perfect up until the game! The game ended with a tie with a score of 0:0. It was one of the most tense and exciting game we had so far, and 2B's performance was spectacular besides its problems with the kick, and 2A's amusing acrobatic performance was surly a crowd pleaser. Though it was a tie, it was an excellent game. We're back!
[Game 5]
Since we were not advancing to the semi-finals, this would be our last game for RoboCup 2007. We are playing against team Hephaestus from Tsinghua University. They have impressive looking robots with fast and stable gaits, but from what we've seen during practice runs, their robot's kicks are very weak and inaccurate. Since this would be our last game for this year, and since we have not successfully scored even a single goal yet (though we scored a few goals during practice runs and had some really good games) our "goal" for this game is to at least score one goal, wether we win or loose. Thus we adjusted the program to focus on the offensive side and just kick the ball with it's famous power kick whenever it has a chance.
Game 5 starts and both teams' robots are dashing to the ball and trying to dribble it towards the opponent's goals. They keep on bumping into each other and both fall down. Both teams' robots have a hard time getting up by themselves, thus we manually reset them. Then they again dash to the ball at the same time and collide and fall again. And again and again. It looks more like a head-butting wrestling match than a game of soccer. At one point, the ball is near the corner of our goal and both teams' robots dash to it; the robot from team Hephaestus dashing to kick the ball into the goal, and DARwIn 2B dashing to block it from going into the goal. It is a race to the ball! Whom ever gets there first controls this game! As both robots get closer to the ball, the audience all scream and cheer for each robot! 1 m, 80 cm, 60 cm, 40 cm, 20 cm... Getting closer and closer. But with a tad bit faster walking gait, team Hephaestus' robot reaches the ball first! It readjusts it's position to aim it toward our goal while DARwIn 2 B is almost near the ball as well! The crowd shouts "Fall DARwIn! Fall!" because DARwIn's position is such that if it falls, it's head will be able to safely block the ball if team Hephaestus' robot gets to kick it. The opponent's robot winds up it's right leg to shoot a goal! Crises! DARwIn is 10 cm behind the ball! It tries to block it, but too late... Team Hephaestus's robot taps the ball ever so gently, but the ball very slowly rolls into our goal... Score 0:1. First half ends.
It is not yet the end of the game. As long as we score even just one goal, we would consider our mission a success. We would like to tweak our gait to make it go faster but we do not have enough time to do that. DARwIn accurately sees the ball but this time, it just can't get to the ball fast enough. Second half starts. Team Hephaestus' robots are aggressively attacking and getting to the ball first, kicking it towards our goal. There were several close moments, but luckily their kicks are very weak, so the ball either does not reach the goal or misses the goal due to the low accuracy. DARwIn just can't seem to get to the ball before the opponents do. It is very frustrating, but at least we are glad to see that finally(!) DARwIn is behaving as we have programmed it. It sees the ball correctly, locates the goal correctly, though slow it walks, it kicks though falls down after that, and it plans following the strategies we have taught it. Like proud parents watching their kids' soccer game, we all applaud as we hear the whistle signaling the end of the game. Final score 1:0...
Professor Oscar von Stryk from Technische Universitaet Darmstadt was watching the game with us and cheered for our robots. He says we have done a fantastic job for a first time rookie team. No single team in RoboCup history has advanced to the semi finals in their first year, he says. We miraculously resurrected both dead robots at the last minute, bravely attempted risky strategies to improve it's play, cleverly entertained the audience with the malfunctioning DARwIn 2A's acrobatic motions, and diligently fixed and tweaked the robots all night with little sleep. To us, we are the true winners, and we are still proud to represent Virginia Tech, and the United States!
We have completed all of our 5 games and we will be checking out the other division's competitions, final matches, and attending other talks and events for the next 3 days. When we first decided to start a RoboCup team, we really did not know what to expect. Though we were not able to win, it was an excellent experience working on this project. We have learned a lot and made a lot of friends from all around the world. Shared our passion for robotics and ideas to improve each other's robots. We would like to thank all of our team members including those who could not make it here to Atlanta, our fellow lab mates at RoMeLa whom helped out till the whee hours into the morning in the lab, our sponsors, our fans from all around the world with the encouraging emails, and our advisor Dr. Hong for his love and care for us, his passion for robotics, and for his constant support.
We shall return next year! With the next generation robot, DARwIn 3, we will be a formidable opponent, and a force to be reckoned with. We will be ready to become the RoboCup 2008 champion! DARwIn says; "I'll be back!
Message from the Dean 07/06/07:
Dear Dennis (Hong),
Thank you for these fabulous updates! I felt that I was with you at RoboCup. (Who says that engineers can't write?!) Please let all of the team members know --- including those who couldn't make the trip --- how proud I am of them. You are great representatives of Virginia Tech, and, indeed, of the United States. When I see how well the team responded to both engineering and sporting challenge, I am as certain as you are that DARwIn "will be back." Bravo!!!
Dick
(Dick Benson, Dean of the College of Engineering)
For More Information:
- RoMeLa (Robotics & Mechanisms Laboratory)
- TEAM: SPRInt (Soccer Playing Robot with Intelligence)