Researchers at Cornell University have built a four-legged robot that changes its programming to adapt to injury.
The underlying algorithm, according to the team, could be used to build more complex robots that can deal with uncertain situations, like space exploration, and may help in understanding human and animal behavior.
The robot works out how to control itself in a process similar to the way human and animal babies discover and manipulate their bodies. The ability to build this "self-model" is what makes it able to adapt to injury.
The robot, which looks like a four-legged starfish, starts out knowing only what its parts are, not how they are arranged or how to use them to move forward, its pre-programmed goal. It applies the scientific method theory followed by experiment followed by refined theory to learn how to walk.
The robot begins by building a series of models of how its parts might be arranged, at first just putting them together randomly. Then it develops commands to send to its motors and test the models. A key step, the researchers say, is the selection of commands most likely to produce different results depending on which model is correct. It executes those commands and revises the models based on results. This cycle repeats 15 times before it attempts to move.
"The robot does not have a single model of itself, but many. The models compete for the best explanation of past experiences," says Hod Lipson, Cornell assistant professor mechanical and aerospace engineering. The result is usually an ungainly but functional gait. The most effective gait so far is a sort of inchworm motion with the robot alternately moving its legs and body.
When the team removes one of the robot's legs, it again builds and tests 16 simulations to develop a new gait. Researchers limit the test cycles with space exploration in mind. "You don't want an injured robot on Mars thrashing around in the sand, causing more damage," says team member Josh Bongard of the University of Vermont. Cornell graduate student Viktor Zykov is also a team member.