Cheetah robot lands the running jump (w/ Video)
In a leap for robot development, the MIT researchers who built a robotic cheetah have now trained it to see and jump over hurdles as it runs—making this the first four-legged robot to run and jump over obstacles autonomously.
To get a running jump, the robot plans out its path, much like a human runner: As it detects an approaching obstacle, it estimates that object's height and distance. The robot gauges the best position from which to jump, and adjusts its stride to land just short of the obstacle, before exerting enough force to push up and over. Based on the obstacle's height, the robot then applies a certain amount of force to land safely, before resuming its initial pace.
In experiments on a treadmill and an indoor track, the cheetah robot successfully cleared obstacles up to 18 inches tall—more than half of the robot's own height—while maintaining an average running speed of 5 miles per hour.
"A running jump is a truly dynamic behavior," says Sangbae Kim, an assistant professor of mechanical engineering at MIT. "You have to manage balance and energy, and be able to handle impact after landing. Our robot is specifically designed for those highly dynamic behaviors."
Kim and his colleagues—including research scientist Hae won Park and postdoc Patrick Wensing—will demonstrate their cheetah's running jump at the DARPA Robotics Challenge in June, and will present a paper detailing the autonomous system in July at the conference Robotics: Science and Systems.
See, run, jump
Last September, the group demonstrated that the robotic cheetah was able to run untethered—a feat that Kim notes the robot performed "blind," without the use of cameras or other vision systems.
Now, the robot can "see," with the use of onboard LIDAR—a visual system that uses reflections from a laser to map terrain. The team developed a three-part algorithm to plan out the robot's path, based on LIDAR data. Both the vision and path-planning system are onboard the robot, giving it complete autonomous control.
The algorithm's first component enables the robot to detect an obstacle and estimate its size and distance. The researchers devised a formula to simplify a visual scene, representing the ground as a straight line, and any obstacles as deviations from that line. With this formula, the robot can estimate an obstacle's height and distance from itself.
Once the robot has detected an obstacle, the second component of the algorithm kicks in, allowing the robot to adjust its approach while nearing the obstacle. Based on the obstacle's distance, the algorithm predicts the best position from which to jump in order to safely clear it, then backtracks from there to space out the robot's remaining strides, speeding up or slowing down in order to reach the optimal jumping-off point.
This "approach adjustment algorithm" runs on the fly, optimizing the robot's stride with every step. The optimization process takes about 100 milliseconds to complete—about half the time of a single stride.
When the robot reaches the jumping-off point, the third component of the algorithm takes over to determine its jumping trajectory. Based on an obstacle's height, and the robot's speed, the researchers came up with a formula to determine the amount of force the robot's electric motors should exert to safely launch the robot over the obstacle. The formula essentially cranks up the force applied in the robot's normal bounding gait, which Kim notes is essentially "sequential executions of small jumps."
Optimal is best, feasible is better
Interestingly, Kim says the algorithm does not provide an optimal jumping control, but rather, only a feasible one.
"If you want to optimize for, say, energy efficiency, you would want the robot to barely clear the obstacle—but that's dangerous, and finding a truly optimal solution would take a lot of computing time," Kim says. "In running, we don't want to spend a lot of time to find a better solution. We just want one that's feasible."
Sometimes, that means the robot may jump much higher than it needs to—and that's OK, according to Kim: "We're too obsessed with optimal solutions. This is one example where you just have to be good enough, because you're running, and have to make a decision very quickly."
The team tested the MIT cheetah's jumping ability first on a treadmill, then on a track. On the treadmill, the robot ran tethered in place, as researchers placed obstacles of varying heights on the belt. As the treadmill itself was only about 4 meters long, the robot, running in the middle, only had 1 meter in which to detect the obstacle and plan out its jump. After multiple runs, the robot successfully cleared about 70 percent of the hurdles.
In comparison, tests on an indoor track proved much easier, as the robot had more space and time in which to see, approach, and clear obstacles. In these runs, the robot successfully cleared about 90 percent of obstacles.
Kim is now working on getting the MIT cheetah to jump over hurdles while running on softer terrain, like a grassy field.