Discovery Files

What can an undergrad learn from a robot?

Researchers work to incorporate mobile robots into computer science coursework

Robots are becoming increasingly common in introductory college and university computer science classrooms, but they're not exactly R2-D2. Often, they consist of tabletop machines, such as arms with gripper claws or simple Lego creations.

A number of factors -- from cost to programming complexity -- make those basic robots logical choices for introductory courses. But that doesn't make them engaging, says Zack Butler, a computer science professor at Rochester Institute of Technology (RIT).

"There's a challenge in what one might call the drier portions of computer science," Butler says. "Those robots don't really have a practical use outside of teaching programming."

Funded through the National Robotics Initiative, a multi-agency effort led by the National Science Foundation (NSF), Butler and a team of RIT researchers are now reconceptualizing what undergraduate computer science looks like by incorporating inexpensive mobile robots into coursework that students can program, manage and test. Instead of having the capability to traverse a table, these robots can roam the halls of research buildings and interact with people inside.

"We've named different locations around our building," Butler says. You can say 'robot, go do this.'"

Except, of course, if you're a computer science student assigned to program the robot to get some candy, you would have to tell it something like this:

pos = robot.get_pos()

p = robot.nav_to("Vending").wait()

robot.request_confirm("Buy me M&Ms please").wait()

robot.nav_to_xy(pos).wait()

The machines that Butler and his team have developed still won't be mistaken for something out of Star Wars -- they resemble laptops mounted on robotic vacuum cleaners -- but for as little as $1,000 each, they hit a critical sweet spot of low price combined with high adaptability. Unlike basic mobile robots that programmers can essentially provide with directions (the equivalent of "Go 10 feet; then take a right."), these have mounted cameras and are capable of receiving programming for more autonomous tasks, such as judging whether a moving object is approaching or retreating, then deciding how to get around it.

That means they can be used to teach a wider variety of lessons in robotics than their tabletop cousins or more expensive mobile models intended for teaching robotics. The team has made its designs open-source and public, so others can build their own for classroom use.

But the researchers face an even tougher challenge than building robots: finding ways to effectively integrate them into the student experience. So far, the researchers have used the machines in a database course and found students were receptive. Butler says they found the idea of building a database for a robot more interesting than for, say, a website.

"They're very excited about it," he says.

From an education standpoint, however, translating that interest into learning experiences can face one basic issue: programming for mobile robots, even basic ones, is a complex process. Students at the introductory level may enter what seem to be simple programs sending the robots on errands, but then find themselves overwhelmed by debugging in a hardware context.

Currently, the team has found the robots more useful in individual student projects, and the researchers are collecting data from those with the goal of further classroom integration. Those projects have also demonstrated another benefit of the robots' adaptability. They offer students at different course levels to collaborate on projects.

Butler says that for one RIT robotics project, an undergraduate is handling simple movement and direction while a master's student is tackling the more complicated issue of programming the robot to "see" and differentiate mobile from immobile obstacles and avoid them appropriately.

Another master's student is working on an augmented reality debugging system for mobility programming that would allow users to "see" through the robot's camera eyes, with programming defects and problems popping up along the machine's journey. That, in turn, could result in an interface that provides undergrads a more understandable way to approach more complex debugging work.

"These students actually work together across different areas of computer science," Butler says. "That's something we haven't been able to do to this extent before."

Butler says that kind of collaboration could be critical to ensure robots become an even more familiar sight in university classrooms -- and buzzing around their hallways.