Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MAP-Elites - Nature version (Sferes2 experiment)

MAP-Elites code for the experiments published in Cully et al. (2015), Nature.

Full reference: Cully, Antoine, Jeff Clune, Danesh Tarapore, and Jean-Baptiste Mouret. "Robots that can adapt like animals." Nature 521, no. 7553 (2015): 503-507.

See in particular the supplementary information.

Video (click on it to play):

Robots that can adapt like animals

Other parts of the experiments published in the paper:

  • limbo: A lightweight framework for Bayesian and model-based optimisation of black-box functions
  • Sferes2: A high-performance, multi-core, lightweight, generic C++98 framework for evolutionary computation.
  • ITE: Intelligent Trial & Error algorithm

Authors

  • Original author : Antoine Cully
  • Other contributions: Jean-Baptiste Mouret, Konstantinos Chatzilygeroudis

How to compile

Dependencies

  • robdyn: Dynamic simulator
    • Make sure you have installed ODE by sources and using this trick.
    • Get the code: git clone https://github.com/jbmouret/robdyn.git
    • Configure for compilation/installation: ./waf configure
    • Compile with ./waf
    • Install robdyn on your computer: sudo ./waf install
    • For more advanced options, look at robdyn's repo.
  • Sferes2: A high-performance, multi-core, lightweight, generic C++98 framework for evolutionary computation.
    • Get the code: git clone https://github.com/sferes2/sferes2
    • For more advanced options, look at Sferes2's repo.

Compiling

  • Make sure you have all the dependencies installed/downloaded.
  • Go to your sferes2 root directory
  • Create a modules folder (if there's none) and cd to it: mkdir modules && cd modules
  • Create a symbolic link to robdyn module (or you can copy it): ln -s your_robdyn_dir/sferes/robdyn
  • Configure for compilation: ./waf configure --robdyn=robdyn_install_dir
    • You can add other options if you want, like: --cpp11=yes to force C++11 compilation
  • Compile sferes2 with: ./waf
  • Create an experiment folder (if there's none) and cd to it: mkdir exp && cd exp
  • Clone map_elites_hexapod: git clone https://github.com/resibots/map_elites_hexapod.git
  • Go back to your sferes2 root directory
  • Compile the experiment: ./waf --exp map_elites_hexapod

How to run

  • Compile the experiment (as shown above)
  • Run it (assuming you are on sferes2 root dir):
    • ./build/default/exp/map_elites_hexapod/hexa_duty_text
    • ./build/debug/exp/map_elites_hexapod/hexa_duty_text for the debug version

Funding

This work has been funded by the ANR Creadapt project (ANR-12-JS03-0009) and the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement number 637972 - ResiBots).

LICENSE

CeCILL

About

*Sferes2 experiment* MAP-Elites code for the experiments published in Cully et al. (2015), Nature.

Resources

License

Releases

No releases published

Packages

No packages published