In a leap for robot development, the Massachusetts Institute of Technology (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 in tall—more than half of the robot’s own height—while maintaining an average running speed of 5 mph.
“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 msec 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.
Read more: Cheetah robot lands the running jump