The genetic algorithm can be used to evolve solutions to all types of problem. The latest work demonstrates how it can evolve "soft robots" with body parts built from a range of materials.
In just 1000 generations the genetic algorithm creates some amazing solutions to the task of getting from A to B as fast as possible.
Building on the work of Karl Sims and his biomorphs, the team of researchers at Cornell allowed the robots to have bodies made of a mixture of soft and rigid materials. The idea is that evolving bodies using the genetic algorithm had hit a ceiling on the level of sophistication achievable because they were all restricted to mainly rigid components. More natural organisms might result from evolution applied to more natural materials.
The second novel feature of this experiment is the coding used. This is a common difficulty with implementing the genetic algorithm. You need to find a genetic coding that allows the full range of possible types to be represented in a natural way. The shape and behavior of the robots was determined using a Compositional Pattern Producing Network. This is like a neural network but the nodes can output using any function of the inputs. The network can be driven with the location in the body of the voxel (volume pixel)and it can output properties for that voxel. The network itself can be evolved using genetic algorithm.
The CPPN generates the make up of each robot according to the position of each voxel
Each voxel in the robot was either an active unit which expanded and contracted at a specified frequency or a passive unit which possessed only material properties - soft or hard. In the videos green voxels are periodic with an amplitude of 20%, light blue are soft and passive, red are periodic but counter phase to green and dark blue are passive and stiff. The experiment created a generation of robots and tested them in how quickly they could move. The fastest robots were used to breed the next generation. Variations on the measure of fitness were used in the experiments to see the effect of different selective pressures.
You can see the results and how one line of effective walkers evolved over time in this video. As the poster of the video, Jeff Clune, comments:
"Evolution produces a diverse array of fun, wacky, interesting, but ultimately functional soft robots. Enjoy!"
The key finding is that the more complex encoding resulted in much better performance than the simpler direct encodings used in the past. Changing the measure of fitness mainly altered the body composition of the best robots. Overall it is suggested that the method created life-like complex robots with plausible modes of locomotion.
Some of the walking methods that evolved: L-Walker, Incher, Push-Pull, Jitter, Jumper and Wings.
The question arises where next?
The researchers conclude the paper with:
Our results suggest that investigating soft robotics and modern generative encodings may offer a path towards eventually producing the next generation of impressive, computationally evolved creatures to ﬁll artiﬁcial worlds and showcase the power of evolutionary algorithms.
I'm looking forward to the next paper and especially the next video.
And I, for one, welcome our new squishy robotic overlords...
At the turn of the year we always take a look at the dubious results offered by the TIOBE index. Don't get too hung up on issues of accuracy, this is more about the feeling of the programming communit [ ... ]