_images/banner.png license codestyle Documentation Status Continuous Integration Test Coverage

What is EAGERx

You can use EAGERx (Engine Agnostic Graph Environments for Robotics) to easily define new (Gymnasium compatible) environments with modular robot definitions.

It enables users to:

  • Define environments as graphs of nodes

  • Visualize these graph environments interactively in a GUI

  • Use a single graph environment both in reality and with various simulators

EAGERx explicitly addresses the differences in learning between simulation and reality, with native support for essential features such as:

  • Safety layers and various other state, action and time-scale abstractions

  • Delay simulation & domain randomization

  • Real-world reset routines

  • Synchronized parallel computation within a single environment

You can find the open-source code on Github.

_images/box_pushing_pybullet.gif _images/pendulum_sim.gif _images/crazyfly_sim.gif _images/box_pushing_real.gif _images/pendulum_real.gif _images/crazyfly_real.gif

Sim2Real: Policies trained in simulation and zero-shot evaluated on real systems using EAGERx. On the left the successful transfer of a box-pushing policy is shown, in the middle for the classic pendulum swing-up problem and on the right a task involving the crazyfly drone.


Modular: The modular design of EAGERx allows users to create complex environments easily through composition.


GUI: Users can visualize their graph environment. Here we visualize the graph environment that we built in this tutorial. See the documentation for more information.



EAGERx enables a unified pipeline for real-world and simulated learning across various simulators. The following engines/simulators are already available for training and evaluation:

Users can easily add their own engines by implementing the Engine interface.


If you are using EAGERx for your scientific publications, please cite:

    author  = {van der Heijden, Bas and Luijkx, Jelle, and Ferranti, Laura and Kober, Jens and Babuska, Robert},
    title = {EAGERx: Engine Agnostic Graph Environments for Robotics},
    year = {2022},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/eager-dev/eagerx}}


EAGERx is currently maintained by Bas van der Heijden (@bheijden) and Jelle Luijkx (@jelledouwe).

How to contact us

For any question, send an e-mail to eagerx.dev@gmail.com.


EAGERx is funded by the OpenDR Horizon 2020 project.

delft_logo opendr_logo