Colabs

Introduction to EAGERx

The best way to get introduced to EAGERx is to play around with the colab tutorials that are available. They also contain exercises that address common challenges of robotic reinforcement learning and how to overcome them using EAGERx.

The following introductory tutorials are available:

The solutions are available in here.

alternate text

In the advanced usage tutorial you will learn a quadruped to walk in circles within four minutes of training.

1. Getting Started

This tutorial covers:

  • constructing a Graph and an environment using BaseEnv,

  • switching between different Engine,

  • performing domain randomization.

../../_images/colab-badge.svg

2. Advanced Usage

In this notebook, you will learn to use EAGERx to create a gym-compatible environment. This tutorial covers:

  • how to initialize a robot (Go 1 Quadruped Robot).

  • how to add pre-processing nodes (i.e. low-level controllers).

  • how to fine-tune low-level controllers to achieve the desired behavior.

  • how to (de)select various sensors to investigate its effect on the learning performance.

../../_images/colab-badge.svg

Developer Tutorials

Next to the introduction tutorials, a set of developer tutorials is also available:

The solutions are available in here.

alternate text

The tutorials cover common challenges of robotic reinforcement learning and how to overcome them using EAGERx. The classic control problem of swinging up an underactuated pendulum is used as an example.

1. Environment Creation and Training

This tutorial covers:

../../_images/colab-badge.svg

2. Reset and Step

This tutorial covers:

  • Extracting observations in the step

  • Resetting states using reset()

  • The window argument of the connect() method

  • Simulating delays using the delay argument of the connect() method

../../_images/colab-badge.svg

3. Space and Processors

This tutorial covers:

../../_images/colab-badge.svg

4. Nodes and Graph Validity

This tutorial covers:

../../_images/colab-badge.svg

5. Adding Engine Support for an Object

This tutorial covers:

  • Adding an engine-specific implementation to an Object

  • Initializing the corresponding Engine

  • Train with the newly added engine-specific implementation

../../_images/colab-badge.svg

6. Defining a new Object

This tutorial covers:

../../_images/colab-badge.svg

7. More Informative Rendering

  • Create a layover Node that augments a raw image sensors

  • Connect the layover Node and use it for rendering

  • Demonstrate that rendering is agnostic to the selected physics-engine

../../_images/colab-badge.svg

8. Reset Routines

  • Defining the reset routine with a ResetNode

  • Reset the Object’s with the reset routine.

../../_images/colab-badge.svg