The final round of competition in the U.S. Defense Advanced Research Projects Agency’s (DARPA) contest to design control systems for a humanoid robot that could climb a ladder, remove debris, drive a utility vehicle, and perform several other tasks related to a hypothetical disaster shows the team representing MIT setting a high goal.
But before the competition, the team’s leader, Russ Tedrake, an associate professor of computer science and engineering, said, “I feel as if we’ve already won, because of all the amazing research our students did” — including a paper that won the overall best-paper award at the 2014 International Conference on Humanoid Robots. Tedrake decided that the MIT team’s control algorithms would solve optimization problems on the fly. That required innovation on multiple fronts. He also set the ambitious goal of a system that could evaluate information from the robot’s sensors and readjust the trajectories of its limbs 1,000 times a second, or at a rate of one kilohertz.
During the process of the research the MIT researchers found a way to generalize that approach to more complex motions in three dimensions. So their planner also factors in contacts between the robot’s arms, and even the objects the robot is manipulating, and the surrounding environment.
That sounds daunting, but as Tedrake explains, past a certain point, the high sampling rate actually becomes an advantage. One one-thousandth of a second allows so little time for circumstances to change that the imposition of new constraints usually occurs piecemeal. From one sensor reading to the next, the algorithm rarely has to meet more than one or two new constraints, which it can usually manage with just a small adjustment.
As one test of the kilohertz controller, members of the MIT team instructed their robot to dismount from the utility vehicle they’d been using to test its driving skills; once it had transferred all its weight to one foot, they started jumping up and down on the vehicle’s fenders. The robot maintained its balance. For several of the robot’s tasks, the MIT researchers exploited the fact that the contest allowed human operators to communicate with their robots — although their communication links would be erratic.
Although the robot has an onboard camera, its chief sensor is a laser rangefinder, which fires pulses of light in different directions and measures the time they take to return. This produces a huge cloud of individual points — some of which belong to the same objects, and some of which don’t. Resolving that point cloud into distinct objects is an extremely difficult task, which computer vision researchers have been wrestling with for decades. It would be almost impossible to perform in real time.
From the robot’s sensor readings, the algorithm automatically determines the extent of the safe areas, by locating the first significant changes in altitude. So if the operator clicks at a single point on an uncluttered floor, the interface highlights an expanse of space that extends outward from that point to the first obstacles the rangefinder registers. Similarly, if the operator clicks a single point on one step of a staircase, the algorithm highlights most of the rest of the step, but stops short of its edges.
“If you look at what happened at DRC [DARPA Robotics Challenge], it was a lot of teleoperation, a lot of scripted pieces of movement, and then a human telling the robot which movement to execute in great detail,” says Emanuel Todorov, an associate professor of electrical engineering and computer science at the University of Washington. “Humans are smart, and at least for the time being, if you put them in the loop, they outperform the autonomous controllers Russ and others built. But eventually it’s going to turn the other way around, because these are complicated machines, and there’s only so much a human can figure out in real time. The approach that Russ was taking was in some sense the right approach. This is what robotics should look like five or 10 years from now.”