Racing With Evolutionary Algorithms
There is an interesting comparison among different evolutionary algorithms on the control of three legged robots. From the paper abstract:
"Abstract:
Building a three legged robot is an extremely challenging task. Since three legged walking is not yet common neither in nature nor in technology it is not a priori clear what a three legged walking gait should look like. The term paper compares several techniques to find feasible gaits, using different numerical optimization strategies including IDEA, CMA-ES and Lazy Learning. All calculations have been on a specifically developed mechanics model."
See here an animation of the racing of the four robots got by the evolutionary algorithms applied.
The evolutionary algorithms applied were:
1. CMA-ES (Covariance Matrix Adaptation Evolution Strategy).
2. IDEA (Iterated Density Estimation Evolutionary Algorithm, an EDA).
3. Random Search.
4. Lazy Learning.
We can clearly see that the CMA-ES outperformed the other three evolutionary algorithms. CMA-ES is a poweful evolutionary algorithm and uses very small populations - such as two or few individuals. It can deal with problems which exhibit some or all the following features:
01. Ill-conditioning.
02. Non-separability/Non-decomposability.
03. Noise.
04. Rotation (or transformations in general) of the coordinate system.
05. Multi-modality.
06. Non-smooth.
It is well known that genetic algorithms (and other approaches) have difficulty when dealing with problems that exhibit some (or all) of those features above.
There is another animation of a solution (robot) got by the CMA-ES, see here. Click here for a summary upon the subject.
Could CMA-ES also be applied to control much more complex robots? See below some speculations.
More than three legs!
A multi-legged robot roaming through a rocky environment:
Even Martians could use a CMA-ES to control their three legged robots!
:-)