Environment Families¶
In CARL we provide several contextually extended environments where we can set and augment their contexts. With this we can analyze how the context and its augmentation influences the agent’s generalization capabilities, learning and behavior.
![Screenshot of each environment included in CARL.](../../../_images/envs_overview.png)
Although each environment has different tasks, goals and mechanics, the behavior of the dynamics and the rewards is influenced by physical properties.
CARL currently contains the following benchmarks which are contextually extended:
Classic Control¶
OpenAI gym classic control suite extended with several physics context features like gravity or friction
Box2D¶
OpenAI gym Box2D BipedalWalker, LunarLander and CarRacing, each with their own modification possibilities like new vehicles to race
Brax¶
All Brax locomotion environments with exposed internal features like joint strength or torso mass
DeepMind Control Suite¶
Selected environment from the DeepMind Control Suite with controllable physics.
Mario¶
Super Mario (TOAD-GAN), a procedurally generated jump’n’run game with control over level similarity
RNA Design¶
RNADesign, an environment for RNA design given structure constraints with structures from different datasets to choose from
Overview Table¶
Below every environment is listed with its number of context features and the type of action and observation space.
Env. Family |
Name |
# Context Features |
Action Space |
Obs. Space |
---|---|---|---|---|
classic_control |
CARLMountainCarEnv |
11 |
Discrete(3) |
Box(-inf, inf, (13,), float32) |
classic_control |
CARLPendulumEnv |
5 |
Box(-2.0, 2.0, (1,), float32) |
Box(-inf, inf, (8,), float32) |
classic_control |
CARLAcrobotEnv |
10 |
Discrete(3) |
Box(-28.274333953857422, 282.74334716796875, (16,), float32) |
classic_control |
CARLCartPoleEnv |
6 |
Discrete(2) |
Box(-3.4028234663852886e+38, inf, (10,), float32) |
classic_control |
CARLMountainCarContinuousEnv |
10 |
Box(-1.0, 1.0, (1,), float32) |
Box(-inf, inf, (12,), float32) |
box2d |
CARLLunarLanderEnv |
16 |
Discrete(4) |
Box(-inf, inf, (24,), float32) |
box2d |
CARLVehicleRacingEnv |
1 |
Box(-1.0, 1.0, (3,), float32) |
Box(0, 255, (96, 96, 3), uint8) |
box2d |
CARLBipedalWalkerEnv |
20 |
Box(-1.0, 1.0, (4,), float32) |
Box(-inf, inf, (44,), float32) |
brax |
CARLAnt |
7 |
Box(-1.0, 1.0, (8,), float32) |
Box(-inf, inf, (94,), float32) |
brax |
CARLHalfcheetah |
6 |
Box(-1.0, 1.0, (6,), float32) |
Box(-inf, inf, (29,), float32) |
brax |
CARLHumanoid |
5 |
Box(-1.0, 1.0, (17,), float32) |
Box(-inf, inf, (304,), float32) |
brax |
CARLFetch |
9 |
Box(-1.0, 1.0, (10,), float32) |
Box(-inf, inf, (110,), float32) |
brax |
CARLGrasp |
9 |
Box(-1.0, 1.0, (19,), float32) |
Box(-inf, inf, (141,), float32) |
brax |
CARLUr5e |
9 |
Box(-1.0, 1.0, (6,), float32) |
Box(-inf, inf, (75,), float32) |
dmc |
CARLDmcFishEnv |
14 |
Box(-1.0, 1.0, (5,), float64) |
Box(-inf, inf, (24,), float32) |
dmc |
CARLDmcFingerEnv |
18 |
Box(-1.0, 1.0, (2,), float64) |
Box(-inf, inf, (9,), float32) |
dmc |
CARLDmcQuadrupedEnv |
14 |
Box(-1.0, 1.1, (12,), float64) |
Box(-inf, inf, (78,), float32) |
dmc |
CARLDmcWalkerEnv |
14 |
Box(-1.0, 1.0, (6,), float64) |
Box(-inf, inf, (24,), float32) |
RNA |
CARLRnaDesignEnv |
5 |
Discrete(4) |
Box(-inf, inf, (11,), float32) |
Mario |
CARLMarioEnv |
4 |
Discrete(10) |
Box(0, 255, (4, 64, 64), uint8) |