The Explorers framework is aimend at creating, testing and comparing autonomous exploration strategies of sensorimotor spaces. The framework is largely strategy-agnostic, and is aimed as expressing motor babbling, goal babbling and intrinsically motivated exploration algorithms, among other. It is also able to express strategies that feature transfer learning, such as the reuse algorithm we introduce in (Benureau, Fudal & Oudeyer, 2014).

At the center of the framework, an explorer receives observations and provides motor commands for the environment to execute.

An Explorer

We can then easily express a typical goal babbling architecture (the feedback and update is subsequently assumed for all explorers and not pictured).

Goal babbling architecture

Here, the explorer interacts with the environment, rather than the inverse model. Such an architecture allows to filter motor commands that are proposed by the inverse model, and eventually to select another goal if the motor command is not satisfactory or possible to execute.

The framework is organized in a modular way. This allows to create flexible hierarchical architectures made of several, atomic or themselves composite, exploration strategies.

A multi-explorer architecture

Likewise, multi-learners architecture are completely natural.

A multi-learner architecture


The explorers python package is an implementation of the Explorer framework. Examples are provided; they run in a few seconds, and allow for instance to quickly understand the difference between motor and goal babbling, and how the different environmental and exploration parameters affect the result.

Static Notebook

Precomputed ipython notebook examples of goal babbling and reuse are available, so you examine an execution without installing anything. To modify the values of the parameters and see the results, you need to install the code though.


# the forest package has to be installed manually for now.
git clone
cd forest; python install; cd ..;

pip install numpy bokeh environments explorers "ipython[notebook]"

Running Examples

Download the examples.

git clone
cd explorers/examples/

You can run the commented notebook examples on goal_babbling. You can zoom and interact with every graph. :

ipython notebook goal_babbling.ipynb
ipython notebook reuse_example.ipynb

Alternatively, you can execute the python files. The resulting graphs will automatically open in a browser; while the commentary is available in the code.


The code should, but might not, work out of the box. Should you have any problem setting up the examples or any questions about the algorithms or the library, contact or create an issue on github.