rlenvscpp

rlenvscpp is an effort to provide implementations and wrappers of environments suitable for training reinforcement learning agents using C++. In addition, the library provides various utilities such as experiment tracking, representing trajectories via waypoints and simple implementation of popular dynamics such as quadrotor dynamics.

Various RL algorithms using the environments can be found at cuberl.

Gymnasium environments

Currently, rlenvscpp provides the following Gymnasium environments. Note that you will need to have Gymnasium installed.

The Gymnasium (former OpenAI-Gym) environments utilise a REST API to communicate requests to/from the environment and rlenvscpp.

Gymnasium vector environments

Some environments have a vector implementation meaning multiple instances of the same environment. Currently, rlenvscpp provides the following vector environments:

Webots environments

In order to use the Webots environments, you need to have webots installed on your machine. You also need to set the variable ENABLE_WEBOTS to ON when configuring the library.

Working with webots-based environments is a bit different. See the dedicated instructions.

Miscellaneous environments

  • GymWalk: TODO

  • gym-pybullet-drones: TODO

  • GridWorld: example_5

  • Connect2: example_7

  • MultiArmedBandits: TODO

Dynamics

Apart from the exposed environments, rlenvscpp exposes classes that describe the dynamics of some popular rigid bodies:

Miscellaneous examples