With his longtime interest in computer science, Sam Edwards naturally headed toward the department's robotics demonstration on his first visit to the college as a prospective student. What no one in the room expected was that the high school student actually fixed the demo when it wasn't working properly.
"My hobbies in computer science radically change from month to month, but this is one of my pet projects, like game programming," says Edwards, now a freshman at CU-Boulder.
Edwards is just the kind of student Assistant Professor Nikolaus Correll is looking for to join his advanced robotics class, an honors course offered for the first time last fall. An introductory robotics course is also available, allowing students to learn basic concepts before moving into the advanced class.
"The advanced course is a hands-on class with the long-term goal of designing a multi-robot team that can assemble intelligent structures from modular building blocks," says Correll, who joined the CU engineering faculty in fall 2009 after two years as a postdoc at the Massachusetts Institute of Technology.
Each semester, the class will take on a piece of the robotics challenge; future classes will work on different "grand challenges" that reflect the state of the art at the time. In fall 2010, an interdisciplinary group of six students at various levels in their engineering education tackled two projects—autonomous navigation and development of an advanced robotic arm.
Edwards solved the autonomous navigation piece by creating an electronic map of Andrews Hall (a newly remodeled residence hall that is home to Engineering Honors Program and BOLD Center students) and outfitting a simple Roomba-type robot with an infrared sensor that can "read" its location using tags mounted on walls through-out the complex.
Edwards worked together with Correll's graduate student Michael Otte, who is writing his PhD thesis on multi-robot path planning, to accomplish the task. The resulting robot employs a laser scanner to help it avoid obstacles, such as furniture—or potentially other robots—in its path.
In a similar class taught at MIT with Professor Daniela Rus, Correll co-developed the Distributed Robotic Garden, a project whose long-term goal is to implement an autonomous greenhouse based on autonomous robots and sensors. The project received worldwide news coverage and Correll plans to continue work on it at CU-Boulder as another application of mobile manipulation.
Using open-source software (ROS, OpenRAVE, and SwisTrack), a robotic platform known as iRobot Create, and off-the-shelf plastic servos, the CU students already have turned the device that Correll worked with at MIT into a significantly more capable machine. The robotic arm of the new "PrairieDog" robot has seven degrees of mechanical freedom—compared to four in the robotic garden project—and can achieve every possible position and orientation within its range, explains mechanical engineering undergraduate Eitan Cher.
Teammate D. J. Sutton, a computer science senior, conducted "kinematics planning" for the robotic arm, which computes the role of each motor in achieving a desired position, while also planning collision-free paths around obstacles.
The robot's "vision" was handled by master's student Michelle Bourgeois, who developed a face detection-like algorithm that allows the robot to recognize a certain kind of object—in this case, multicolored building blocks.
Other students in the fall 2010 class were undergraduate Kody Mallory, who focused on power electronics, and doctoral student Erik Komendera, who mastered the system architecture. An independent study master's student, Patrick Cromer, meanwhile, is working on the problem of multi-robot coordination.
On the last day of the fall semester, the team was proud of its progress: the robotic arm was able to "see" and scoop up building blocks in its path. The next class of students will take the project further.
"This course gave me the opportunity to be a part of a truly interdisciplinary engineering team," says Cher. "Each student brought his or her unique skill set to the table, like expertise in a particular programming environment, or experience with circuit design, or in my case, advanced skills in mechanical design and CAD.
"While I designed the robotic arm, I had to consider the effects my design choices would have on the other team members. Did the arm ever get in the way of the navigation systems? Where should the camera be mounted to optimize the search for objects in the room? We had to learn to communicate well with people outside our own disciplines to make all the robot's systems function harmoniously."
Correll attributes the success of the course to a teaching style he calls peer-to-peer learning, which assigns the students to read current research, figure out on their own how to apply the information to the project, and share their findings with the rest of the class.
"The most learning occurs when they are doing it themselves, and the second best learning comes by looking at someone else who is doing something complementary," he says.
"Technology developed by robotics researchers has already made its way into our cars, farm equipment, medical devices, and toys, and will be a key technology of the 21st century. Teaching robotics—engineering at the system level—will help CU-Boulder grads to keep the big picture and make them leaders in this emerging field."