Cornell robot soccer teams Italy and Brazil compete in Upson Hall in May, in preparation for the world championships in Stockholm. Nicola Kountoupes/University Photography
News spread quickly when Cornell's team won the Robot World Cup, known as RoboCup, in Stockholm on Aug. 4: More than a million people watched the final game live on Swedish television and over the Internet, and word has since spread to enthusiasts and alumni around the world.
But less well known is the arduous path that led to the victory. Last week the team's project manager and instructor, assistant professor of mechanical and aerospace engineering Raffaello D'Andrea, revealed just how it was done.
In a talk he called "Building the Best Robot Soccer Team in the World," given in a packed Statler Auditorium Sept. 6, he explained that one of Cornell's team secrets was having an unusually diverse student group: 40 percent undergraduate and 60 percent graduate, from computer science, mechanical engineering and electrical engineering.
"The project mission is to provide an environment where students can work in interdisciplinary teams and design, construct and test a complex system using state-of-the-art design tools," said D'Andrea.
The idea to enter RoboCup emerged in a systems engineering design class (Mechanical and Aerospace Engineering 690), part of an interdisciplinary systems engineering curriculum endowed by a College of Engineering alumnus. For the 1998-99 academic year, the students decided to build a system of artificially intelligent robots to compete in the RoboCup '99 small league.
The systems approach was largely what set Cornell's team apart from their international competitors, according to D'Andrea. "Most people at the competition looked at this as purely an artificial intelligence problem. They didn't understand the dynamics of the system. We did. That's why you see our robots, instead of just moving in a straight line, they can curve and go around other robots," he said.
The team had three objectives. First, obviously, to win RoboCup '99. Second, to win RoboCup '00 and beyond. "That's key," said D'Andrea. "If you only want to win one year, you design things much differently than if you want to succeed in other years. For example, you wouldn't have a research and development plan. You wouldn't document things as much."
The third objective concerned the two teams formed by the students, named Italy and Brazil, to win their own internal competition last May to produce the most competitive team to send to Stockholm. "If you were on Team Italy, you wanted Italy to win. But that was the last objective. So there was a lot of collaboration between the teams, a lot of knowledge being passed around. It wasn't really a competitive atmosphere, which I think was very important," said D'Andrea.
But well before that, during last year's fall semester, each team of students had researched and designed its robot system using the computer-assisted design program Pro-Engineer. Construction began at the end of the semester and continued throughout this past spring.
The students machined all of the robot parts themselves to within .001-inch resolution. They programmed more than 1,000 lines of code for the microcontrollers, in excess of 3,000 for the vision system and at least 10,000 for artificial intelligence. According to D'Andrea, the entire project would have taken one person, working alone, approximately eight years to complete.
For most of the academic year, D'Andrea spent several hours each week meeting with the two sets of team leaders, systems groups and subgroups. He said, "By the time February and March came around, these meetings were unnecessary because I essentially lost control of the project -- in a good way. In other words, I could no longer understand the details. It was just too complex."
The team decided on a role-based system of control for the robots. "At the highest level, we have the information about where the robots are, where the opponents are, and their velocities. Based on that information we determined this robot should be a goalie, this robot should be a defender, this player should be a striker and go for the ball, this other player should be a poacher and just attempt to get itself into open space to intercept the ball. That's the only centralized intelligence we have in our system," said D'Andrea.
He continued: "I think in a way this is really how we play soccer. You have a coach at the beginning of the game that tells you various strategies, but when you're out there you don't communicate with your players, to a certain extent. You need to do what you think is the right thing to do, and you get this emergent behavior."
| Cornell Chronicle Front Page | | Table of Contents | | Cornell News Service Home Page |