Environments
All environments implement the Environment interface. Some of them, e.g. grid worlds, are finite Markov Decision
Processes: they extend the FiniteMDP class, exposing the transition probability matrix, the reward matrix and the
initial state distribution, so that they can also be solved with the dynamic programming solvers.
An environment is built either by calling its constructor directly, or by name through
make(), which looks it up in the registry every environment adds itself to with
register. Environments standing for a family of tasks accept the task after a '.' separator, e.g.
Environment.make('Gymnasium.Pendulum-v1').
The tables below index every registered environment. The names are the keys make()
accepts. The spaces are the ones the environment reports in MDPInfo when built with its default arguments; where the
environment stands for a family of tasks they are task dependent, and where it is built from a user-supplied model
— FiniteMDP and LQR — they follow the size of that model. Environments requiring an extra dependency are
registered only if that dependency imports successfully, so an environment missing from
Environment.list_registered() means its extra is not installed.
Built-in
|
Class |
Observations |
Actions |
Extra dependency |
|---|---|---|---|---|
CarOnHill |
Box (2) |
Discrete (2) |
— |
|
CartPole |
Box (2) |
Discrete (3) |
— |
|
FiniteMDP |
Discrete |
Discrete |
— |
|
GridWorld |
Discrete (9) |
Discrete (4) |
— |
|
GridWorldVanHasselt |
Discrete (10) |
Discrete (4) |
— |
|
InvertedPendulum |
Box (2) |
Box (1) |
— |
|
LQR |
Box |
Box |
— |
|
PuddleWorld |
Box (2) |
Discrete (5) |
— |
|
Segway |
Box (3) |
Box (1) |
— |
|
ShipSteering |
Box (4) |
Box (1) |
— |
|
SimpleChain |
Discrete (5) |
Discrete (2) |
— |
|
Taxi |
Discrete (252) |
Discrete (4) |
— |
External libraries
|
Class |
Observations |
Actions |
Extra dependency |
|---|---|---|---|---|
Atari |
Box (image) |
Discrete |
|
|
Gymnasium |
task dependent |
task dependent |
|
|
DMControl |
task dependent |
task dependent |
|
|
MiniGrid |
Box (3, H, W) |
Discrete |
|
|
MiniGridRGB |
Box (grayscale image) |
Discrete |
|
MuJoCo
|
Class |
Observations |
Actions |
Extra dependency |
|---|---|---|---|---|
Ant |
|
Box (27) |
Box (8) |
|
HalfCheetah |
|
Box (17) |
Box (6) |
|
Hopper |
|
Box (11) |
Box (3) |
|
Walker2D |
|
Box (17) |
Box (6) |
|
BallInACup |
Box (23) |
Box (7) |
|
|
Reach |
|
Box (32) |
Box (7) |
|
Push |
|
Box (37) |
Box (7) |
|
Pick |
|
Box (45) |
Box (8) |
|
PegInsertion |
|
Box (45) |
Box (7) |
|
AirHockeyHit |
Box (13) |
Box (3) |
|
|
AirHockeyDefend |
Box (13) |
Box (3) |
|
|
AirHockeyPrepare |
Box (13) |
Box (3) |
|
|
AirHockeyRepel |
Box (13) |
Box (3) |
|
PyBullet
|
Class |
Observations |
Actions |
Extra dependency |
|---|---|---|---|---|
AirHockeyHitBullet |
Box (12) |
Box (3) |
|
|
AirHockeyDefendBullet |
Box (12) |
Box (3) |
|
|
AirHockeyPrepareBullet |
Box (12) |
Box (3) |
|
|
AirHockeyRepelBullet |
Box (12) |
Box (3) |
|
Isaac Sim
The Isaac Sim environments are not registered: mushroom_rl/environments/__init__.py does not import
isaacsim_envs, so they are not reachable through make() and must be
imported from their module explicitly, e.g.
from mushroom_rl.environments.isaacsim_envs.cartpole import CartPole. They are vectorized environments: they
step a batch of simulated copies at once, and are driven through the vectorized Core.