What is the eagerx_tutorials package?
October 14, 2024 ยท View on GitHub
EAGERx Tutorials
.. image:: https://img.shields.io/badge/License-Apache_2.0-blue.svg :target: https://opensource.org/licenses/Apache-2.0 :alt: license
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: codestyle
.. image:: https://github.com/eager-dev/eagerx_tutorials/actions/workflows/ci.yml/badge.svg?branch=master :target: https://github.com/eager-dev/eagerx_tutorials/actions/workflows/ci.yml :alt: Continuous Integration
.. contents:: Table of Contents :depth: 2
What is the eagerx_tutorials package?
This repository/package contains Jupyter Notebooks with examples on how to use EAGERx. EAGERx (Engine Agnostic Graph Environments for Robotics) enables users to easily define new tasks, switch from one sensor to another, and switch from simulation to reality with a single line of code by being invariant to the physics engine.
The core repository is available here <https://github.com/eager-dev/eagerx>_.
Full documentation and tutorials (including package creation and contributing) are available here <https://eagerx.readthedocs.io/en/master/>_.
Tutorials
The following tutorials are currently available.
Introduction to EAGERx
Tutorial 1: Getting started <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/icra/getting_started.ipynb>_Tutorial 2: Advanced usage <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/icra/advanced_usage.ipynb>_
The solutions are available in here <https://github.com/eager-dev/eagerx_tutorials/tree/master/tutorials/icra/solutions/>_.
Developer tutorials
Tutorial 1: Environment Creation and Training with EAGERx <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/1_environment_creation.ipynb>_Tutorial 2: Reset and Step <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/2_reset_and_step.ipynb>_Tutorial 3: Space and Processors <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/3_space_and_processors.ipynb>_Tutorial 4: Nodes and Graph Validity <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/4_nodes.ipynb>_Tutorial 5: Adding Engine Support for an Object <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/5_engine_implementation.ipynb>_Tutorial 6: Defining a new Object <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/6_objects.ipynb>_Tutorial 7: More Informative Rendering <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/7_rendering.ipynb>_Tutorial 8: Reset Routines <https://colab.research.google.com/github/eager-dev/eagerx_tutorials/blob/master/tutorials/pendulum/8_reset_routine.ipynb>_The solutions are available in here <https://github.com/eager-dev/eagerx_tutorials/tree/master/tutorials/pendulum/solutions/>_.
How to run the tutorials locally?
As an alternative to running the tutorials in Google Colab, they can also be run locally in order to speed up computations.
..
Prequisites: Install Poetry <https://python-poetry.org/docs/master/#installation>_.
Clone this repository and go to its root:
.. code-block:: bash
git clone git@github.com:eager-dev/eagerx_tutorials.git
cd eagerx_tutorials
Optional Create and source a virtual environment, (if venv is not installed run python3 -m pip install --user virtualenv):
.. code-block:: bash
python3 -m venv tutorial_env
source tutorial_env/bin/activate
Install the eagerx_tutorials package:
.. code-block:: bash
pip3 install -e .
Start Jupyter Lab:
.. code-block:: bash
jupyter lab
You will find the tutorials in the tutorials directory.
Cite EAGERx
If you are using EAGERx for your scientific publications, please cite:
.. code:: bibtex
@article{vanderheijden2024eagerx,
author={van der Heijden, Bas and Luijkx, Jelle and Ferranti, Laura and Kober, Jens and Babuska, Robert},
journal={IEEE Robotics \& Automation Magazine},
title={Engine Agnostic Graph Environments for Robotics (EAGERx): A Graph-Based Framework for Sim2real Robot Learning},
year={2024},
volume={},
number={},
pages={2-15},
keywords={Robots;Engines;Robot sensing systems;Delays;Robot learning;Physics;Codes},
doi={10.1109/MRA.2024.3433172}
}
Acknowledgements
EAGERx is funded by the OpenDR <https://opendr.eu/>_ Horizon 2020 project.