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.
FrozenLake 4x4 map: example_1
FrozenLake 8x8 map: example_1
Blackjack: example_1
CliffWalking: example_1
CartPole: TODO
MountainCar: TODO
Taxi: example_1
Pendulum: example_1
LunarLander: box2d
Acrobot: TODO
LunarLander: `https://github.com/pockerman/rlenvscpp/blob/master/examples/box2d/box2d_example.cpp`_
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:
AcrobotV: example_8
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.
EpuckSimpleGridWorld: world 1
Working with webots-based environments is a bit different. See the dedicated instructions.
Miscellaneous environments¶
Dynamics¶
Apart from the exposed environments, rlenvscpp exposes classes that
describe the dynamics of some popular rigid bodies:
Differential drive: example_9
Quadrotor: example_10
Bicycle vehicle: TODO
Miscellaneous examples¶
Environment trajectory: example_3
WaypointTrajectory : example_11
TensorboardServer : example 12