The best and worst part of the DARPA Robotics Challenge Finals was watching all of those huge expensive humanoids topple over in a series of epic faceplants. Faceplants are called faceplants because you’re planting your face into the ground as a means of breaking your fall, which usually also breaks your face, among other things. This tends to happen when you’re unprepared for falling, which with most robots, is 100 percent of the time. Now researchers at Georgia Tech want to teach humanoid robots to fall more safely with techniques adapted from judo, which might protect them enough to actually be able to get up again.
Falling safely (or, as safely as you can), assuming that you have very little control over the nature of your fall, is all about controlling exactly when and how your body crashes down. During a fall, your body is busy converting potential energy to kinetic energy, all of which has to go somewhere when you hit the ground. If your face hits the ground first, then that’s where all the energy goes at once, but if you can manage to contact the ground with a bunch of different parts of your body at different times on the way down, the energy will be spread out. Ideally, the energy gets spread out to the point where each individual impact doesn’t do enough damage to hurt you in a permanent sort of way. Or, to put it more research-papery:
The robot will discover an appropriate contact sequence online to minimize the damage of the fall. Our algorithm reacts to a wide range of initial perturbations by automatically determining the total number of contacts, the order of contacts, and the position and timing of contacts. The sequence of contact is optimized such that the initial momentum is dissipated with minimal damage on the robot.
Here’s the algorithm in action; make sure and watch all the way to the ATLAS simulations:
How well does all of this work? The short answer is, very well, reducing impact energy of the robot’s head (usually the expensive bit) by between 30 and 90 percent (!). For the long answer, have some tables:
Right now, the algorithm takes between 1 and 10 seconds to figure out what to do, making it impractical for use on robots in real-time, but that seems like a solvable problem, with one option being to precompute a whole bunch of plans and then just select whichever one most closely matches the pre-fall state of the robot. The algorithm also only handles planar falls (forward and backward), not sideways tipping over, as that will require a much more complex model.
The next step is to get the robot to take the next step: the current generation of the planner stops once the robot is stable, although the stable pose may be a really weird one, so it would be useful to get it back to a balanced, upright posture.
“Multiple Contact Planning for Minimizing Damage of Humanoid Falls,” by Sehoon Ha and C. Karen Liu from Georgia Tech, was presented this month at IROS 2015 in Hamburg, Germany.
[ Georgia Tech ]