Colabs
Introduction to EAGERx
The best way to get introduced to EAGERx is to play around with the 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.
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:
switching between different
Engine,performing domain randomization.
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.
Developer Tutorials
Next to the introduction tutorials, a set of developer tutorials is also available:
The solutions are available in here.
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:
How to train a policy with the
BaseEnv.
2. Reset and Step
This tutorial covers:
Extracting observations in the
stepResetting states using
reset()The window argument of the
connect()methodSimulating delays using the delay argument of the
connect()method
3. Space and Processors
This tutorial covers:
4. Nodes and Graph Validity
This tutorial covers:
5. Adding Engine Support for an Object
This tutorial covers:
Adding an engine-specific implementation to an
ObjectInitializing the corresponding
EngineTrain with the newly added engine-specific implementation
6. Defining a new Object
This tutorial covers:
Defining a new
Object
7. More Informative Rendering
Create a layover
Nodethat augments a raw image sensorsConnect the layover
Nodeand use it for renderingDemonstrate that rendering is agnostic to the selected physics-engine