An autonomous exploration library
Jupyter Notebook Python
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc Define a basic poppy environment adapted to the poppy robots (both re… Feb 12, 2016
explauto Fixes the tree class3 Mar 15, 2018
tests/testmodule added notebook exec tests Nov 15, 2017
.gitignore Ignore .eggs directory Jun 28, 2017
.travis.yml added testing framework, travis and codecov Nov 15, 2017
LICENSE Add the license May 28, 2014 re-using 2to3 automatically -- be careful it does not allow dev mode … Nov 16, 2017
requirements.txt added notebook exec tests Nov 15, 2017 re-using 2to3 automatically -- be careful it does not allow dev mode … Nov 16, 2017

Explauto: A library to study, model and simulate intrinsically motivated multitask learning and exploration in virtual and robotic agents

Build Status codecov

Explauto is a framework developed in the Inria FLOWERS research team which provides a common interface for the implementation and benchmarking of active and online sensorimotor learning algorithms. In particular, this framework considers algorithms where exploration is driven by models of intrinsic motivation/curiosity at multiple levels of abstraction (from the active choice of parameterized motor primitives to the choice of parameterized problems/goals to the choice of learning strategies - e.g. deciding when to self-explore or ask input from an external expert). It is designed and maintained by Clément Moulin-Frier, Pierre Rouanet, and Sébastien Forestier.

Explauto provides a high-level API for an easy definition, use and evaluation of:

  • Virtual and robotics setups (Environment level)
  • Sensorimotor learning iterative models (Sensorimotor level)
  • Active choice of sensorimotor experiments (Interest level)

It is crossed-platform and has been tested on Linux, Windows and Mac OS. Do not hesitate to contact us if you want to get involved! It has been released under the GPLv3 license.


Scientific grounding

Explauto's scientific roots trace back from Intelligent Adaptive Curiosity algorithmic architecture [Oudeyer, 2007], which has been extended to a more general family of autonomous exploration architecture by [Baranes, 2013] and recently expressed as a compact and unified formalism [Moulin-Frier, 2013]. We strongly recommend to read this short introduction into developmental robotics before going through the tutorials.

If you use the library in a scientific paper, please cite (follow the link for bibtex and pdf files):

Moulin-Frier, C.; Rouanet, P. & Oudeyer, P.-Y. Explauto: an open-source Python library to study autonomous exploration in developmental robotics International Conference on Development and Learning, ICDL/Epirob, Genova, Italy, 2014


Most of Explauto's documentation is written as IPython notebooks. If you do not know how to use them, please refer to the dedicated section.


Explauto's API can be found on a html format here.


The best way to install Explauto at the moment is to clone the repo and use it in development mode. It is also available as a python package. The core of explauto depends on the following packages:

For more details, please refer to the installation section of the documentation.