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.

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)