Robot Learning class foreshadows personal robots
Someday you may have a personal robot to help around the house. It will move smoothly from room to room, avoiding obstacles, people and pets. It will pack your suitcases, clear the table and do the dishes. It might even be programmed to assign chores to the kids or wait for the cable guy. We might see such appliances first as assistants for the disabled and elderly.
Students at Cornell are figuring out how to make robots do all these tasks and more. Their work was on display May 17 in the Duffield Atrium as a final exercise in the course Robot Learning, taught by Ashutosh Saxena, assistant professor of computer science.
The students presented an array of small projects, each demonstrating the ability to perform one special task. But eventually all the programming could be combined into one robot, Saxena said. He pointed to a device about the size of a dorm refrigerator with a robot arm mounted on top, rolling across the Duffield floor on a base taken from a Segway. "It could all go on that platform, which we call Polar [for PersOnaL Assistant Robot]" he said. Since Cornell's mascot is a bear, three of the recent robots have been named Polar, Panda and Blue.
Industrial robots can be programmed to do just one thing and do it perfectly over and over, Saxena explained, but a personal robot needs to be able to learn about its environment and adapt to changes. The underlying technology is what computer scientists call "machine learning," in which a computer program takes note of events and in effect reprograms itself in response.
With that in mind, some teams of students connected computers to a standard industrial robot to manipulate objects that are not always the same size and shape or in exactly the same place. Using a camera cannibalized from a Microsoft game console, the computer builds a 3D image of its working area. Students train it by showing it how to manipulate a few basic shapes, such as a plate, a bowl, a cup or a wine glass. Then it learns the right way to pick up and handle objects, picking up a plate by its edge, for example, and sliding it on an angle into the plate holder in a dish rack, or picking up a wine glass by its stem and inverting it before setting it in the rack. From there, the robot can generalize to even unfamiliar objects.
Another program lets the robot manipulate an object with bendable parts, in order to place objects in a cardboard box and then close the flaps of the box. One application described as a primitive construction worker finds blocks wherever they are on the table and stacks them in a prearranged order.
Microsoft Kinect cameras, designed to control video games by observing body movements, are a feature of many projects. (There's a pile of leftover video game parts in a corner of the lab.) Students use them for object avoidance, mapping an unfamiliar area, following a human and controlling a robot with hand gestures. One project enables a robot to identify human activity -- to discern, for instance, if a person is standing, sitting, lying down or perhaps drinking coffee.
A whimsical but slightly ominous project has a robot delegating tasks to humans. Give it something to do and it will try to find a human to perform the action. In a demonstration it was asked to "Find Susie." Rolling up to people, it would ask them, using synthesized speech, to point to Susie. If the person didn't know Susie, the robot would ask for directions to someone who might know. Ask it to bring you a cup of coffee and it will go to the coffee machine and try to find a human who can pour one.
Some projects are aimed at search and rescue applications. Several student teams modified Quadrotors -- a flying toy you can buy for about $300 -- to avoid objects, follow humans, go to predetermined GPS coordinates or act as sentries, checking the ID of anyone who approaches. One flyer has been taught to escape from a building by flying through hallways looking for exit signs and open doors.
A personal robot integrating all these capabilities could be made inexpensively, selling for perhaps $2,000 to $20,000, Saxena said, depending on whether it has a robot arm. "While the hardware is getting there, we need software that can make these robots truly smart," he said.