Giter Site home page Giter Site logo

ite's Introduction

Intelligent Trial & Error (Limbo experiment)

ITE 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.

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.
  • map_elites_hexapod: MAP-Elites code for the hexapod

Authors

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

How to compile

Dependencies

  • robdyn: Dynamic simulator
    • 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.
  • limbo: A lightweight framework for Bayesian and model-based optimisation of black-box functions
    • Get the code: git clone https://github.com/jbmouret/limbo.git
    • For more advanced options, look at limbo's repo.
  • ROS (optional):
    • If you want to run the experiment on the real robot, you need to have ROS installed. Please check the official instructions to download and install ROS.
  • hexa_control (optional):
    • If you want to run the experiment on the real robot, you need to have the hexa_control ROS package to control the robot. See hexa_control's repo for instructions.

Compiling

  • Make sure you have all the dependencies installed/downloaded.
  • Go to your limbo root directory
  • Configure for compilation: ./waf configure
  • Compile limbo with: ./waf
  • Create an experiment folder (if there's none) and cd to it: mkdir exp && cd exp
  • Clone ITE: git clone [email protected]:resibots/ITE.git
  • Go back to your limbo root dir
  • Compile the ITE experiment: ./waf --exp ITE
    • You need to add --robot true if you want to run ITE on the real robot
    • You can add --disable-graphics true if you want to not build the graphic version (requires OSG)

How to execute an experiment

Nature version

./build/exp/ITE/hexa_bomean_variant path_to_archive [matern_kernel_l_value] [leg_indices]
  • Parameters:
    • [] means that the parameter is optional
    • the order must be followed
    • hexa_bomean_variant - there are 2 variants: hexa_bomean_robot (this exists only if you have compiled with --robot true) and hexa_bomean_graphic
    • path_to_archive - path for the MAP Elites archive to use
      • There are some available archives in the archives folder
    • matern_kernel_l_value - l value for the matern kernel (optional - 0.4 is the default)
    • leg_indices - leg_indices should not be more than 5 in number and in [0-5] range - this parameter is useful only when simulating
    • Example: ./build/exp/ITE/hexa_bomean_graphic ./exp/ite/archives/archive.dat 0.5 1
      • This will run a simulated robot using the "./exp/ite/archives/archive.dat", setting the l value to 0.5 and removing leg 1 from the robot.

Generated MAP Elites archives are located in the archives directory.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.