Learning to walk again when a leg is damaged or inoperable is a complicated problem for a machine. A living creature doesn’t have to worry about how each joint is moving and how fast to contract muscles–you just walk. A robot’s locomotion is described by a series of parameters for each joint in the leg. The program needs to know the velocity and acceleration of each joint every second, and changing that to compensate for damage is a computationally expensive task.
The Sorbonne University team got around the problem by doing all the high level parameter calculations ahead of time. The test robot was a hexapod with 18 motors powering its six legs–that’s 36 parameters to deal with. The team took 13,000 possible gaits and indexed them by the amount of time each leg was on the ground. When one of the robot’s legs was damaged, it simply looked through the list of pre-calculated gaits and chose a few that used the broken leg the least. It measured its speed with each of the possible gaits, then selected the best one and off it went.
The robot was able to make its selection in less than two minutes, which is pretty astonishing. Some of the programs selected by the hexapod were dynamic and involved leaping forward, which was not part of the original programming. It was even able to improve the standard walking gait without any damage. Selecting from the indexed list, the robot was able to choose a gait that was 30% faster than its default hexapod movements.
Once refined, this approach to robotic locomotion could prove invaluable as we continue to use machines in challenging environments. Robots have the potential to keep humans safe by taking on dangerous tasks, but it’s no good if they can’t walk the moment something goes wrong. This may also be used to construct ultra-robust killbots when the robot apocalypse is upon us, but you can’t have everything.