RobustRLlib

A Unified Library and Benchmark for Robust Reinforcement Learning Algorithms

Overview of RobustRLlib: an algorithm library, a composable shift toolbox and one evaluation platform.
Overview of RobustRLlib.
  1. A robust RL algorithm library

    Robust online, offline and safe methods in one reusable codebase.

  2. An enhanced evaluation platform

    Shifts that compose, from standard control to Isaac Lab and VLA tasks.

  3. An up-to-date capability map

    Where current robust methods remain effective, and where gaps persist.

Quick start

Evaluate your algorithm under a shifted environment.

RobustRLlib is installed from a source checkout and used from the root of the checkout. The tutorial quick start runs these steps with their outputs.

1Install

# Python 3.8 or newer; the documentation was run with 3.11
conda create -n robustrllib python=3.11 && conda activate robustrllib
pip install -e ".[mujoco]"
pip install -r requirements.txt
pip install pyyaml torch minari

2Create a shifted environment

from robustrllib import make_robust, ShiftSpec

# A deployment condition is an ordered list of shifts; the list order is the stacking order.
env = make_robust("Hopper-v5", shifts=[
    ShiftSpec("dynamics", "scale", {"param": "gravity", "factor": 1.3}),  # Dynamic shift
    ShiftSpec("observation", "gauss", {"sigma": 0.05}),                 # Observation shift
], seed=0)

obs, info = env.reset(seed=0)
obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
print(round(env.unwrapped.model.opt.gravity[2], 3))
-12.753

3Train a method and evaluate it under shift

# One experiment card names an algorithm, a task and an evaluation grid.
python baselines/train.py -c robustrllib/configs/experiment/rorl_hopper.yaml --seed 0

# The frozen checkpoint is scored on every condition of the grid: 20 paired episodes per
# condition, the same episodes for every method, unclipped normalized score.
python baselines/evaluate.py --run runs/rorl_hopper/seed0

How it works

Configuration cards feed the algorithms and the shifted environment; the frozen checkpoint and the shifted episodes meet in the evaluation.
Three parts. Configuration cards name an algorithm, a task and an evaluation grid; the algorithm trains on the task with its own recipe while make_robust stacks the declared shifts on the environment; the evaluator runs the frozen checkpoint on every condition of the grid and writes one result file.

Learn more

Algorithms

Robust RL algorithm library construction.

The sixteen robust methods are grouped by data regime and by where robustness enters: the learner, the environment it collects from, or the data it learns from. Each row names the shift the method claims and the base algorithm it is built on.

FamilyMethodClaimed robustnessBase algorithm Shifted-env
rollout
Adversarial
network
Learned
model
Robust Onlinelearns through continued environment interaction
Learner-centricATLAObservationPPO✓
ATLA-SAObservationPPO✓
RSCSemanticSAC✓
Environment-centricRARLDynamicPPO / TRPO✓✓
DRDynamicSAC / PPO✓
Robust Offlinelearns from a fixed dataset without environment interaction
Learner-centricRFQIDynamicFQI
RORLObservationSAC
ATLA-IQLObservationIQL✓
Data-centricRSC-IQLSemanticIQL✓
RAMBODynamicSAC✓✓
Data-centric
(generative model)
ROMBDynamicIQL✓✓
FWMDynamicIQL✓
PLR-PVLDynamicIQL✓
Robust Safeadds a cost constraint that must hold under shift
Robust safeRAMUDynamicPPO
SPiDRDynamicPPO✓✓

Shifted-env rollout: rollouts collected from a deliberately perturbed environment. Adversarial network: a learned adversary optimised against the policy. Learned model: a trained next-state predictor used by the robustness mechanism. The six standard references (IQL, TD3+BC, MOPO, SynthER, PPO, SAC) are on the algorithm pages.

Shift toolbox

Six shift sources, five modes, six task families.

A shift has a source, which says what is perturbed, and a mode, which says how the intervention is built: stochastic, adversarial, parametric, non-stationary through a schedule, or a composition of several shifts. A shifted environment is a base task with one wrapper per shift; the task code is not modified.

The six shift sources on the loop between agent and environment: observation, action, dynamics, reward/cost, latency and semantic.
Where the six sources act. Four sources act on one component of the agent–environment loop; the latency and semantic shifts act at several points.
Shift sourceWhat it perturbsTargetMode namesDemo
Dynamic shiftPhysical parameters, external forces, the simulator state.dynamics, transitiongauss uniform loguniform push scale set translate
Observation shiftThe observation returned to the policy.observationgauss uniform relative bias adversarial shift
Action shiftThe action between policy and simulator.actiongauss uniform adversarial oppose rotate oppose_goal shift
Reward/cost shiftThe reward, or the cost of a constrained task.reward, costgauss uniform shift
Latency shiftWhen actions, observations and rewards arrive.latencybuffer substep interp fixed delay
Semantic shiftColours, lights, cameras and object positions.appearancegauss uniform loguniform hue tint swap scale set translate

Mode names are the values a ShiftSpec accepts; schedules and compositions apply to every source. Each source has a tutorial page with its parameters.

Tasks

Six task families across three simulators and the Isaac Lab and VLA stacks. Each card shows a trained policy on the nominal task, the shift factors its evaluation grid perturbs, and the shift sources the toolbox offers on it.

Hopper-v5

Locomotion · MuJoCo · online / offline

gravity, morphology, actuator gear

Walker2d-v5

Locomotion · MuJoCo · online / offline

gravity, morphology, actuator gear

HalfCheetah-v5

Locomotion · MuJoCo · online / offline

gravity, morphology, actuator gear

Pusher-v5s

Manipulation · MuJoCo · online

dynamics, observation, control rate, goal displacement

PointMaze_UMaze-v3

Navigation · MuJoCo · online

actuator gear, dry friction, adversary

PointMaze_Open-v3

Navigation · MuJoCo · offline

actuator gear, dry friction, adversary

FetchReachDense-v3

Manipulation · MuJoCo · online

actuator gear, morphology

AdroitHandDoor-v1

Manipulation · MuJoCo · offline

actuator gear, latch

LunarLanderContinuous-v3

Vehicle control · Box2D · offline

engine power, gravity, wind

CarRacing-v2

Vehicle control · Box2D · online

friction, actuator gear, morphology

DoorCausal

Manipulation · robosuite · online

scene rebound, appearance

Unitree G1 locomotion

Humanoid · Isaac Lab · online

terrain, pushes, physical parameters, cost constraint

Drawer opening

Manipulation · Isaac Lab · online

physical parameters, object placement, cost constraint

Insert mouse battery (π0.5)

Vision-language-action · Bimanual arms · evaluation

execution delay, command noise, proprioception noise, image blur, brightness, gravity, damping, dry friction

  • Dynamic shift
  • Observation shift
  • Action shift
  • Reward/cost shift
  • Latency shift
  • Semantic shift

Results

A capability map of robust RL algorithms.

Every number comes from the same protocol: the frozen checkpoint of each method, 20 paired episodes per condition, five training seeds, and the normalized score in which 0 is a random policy and 100 the reference policy, unclipped. Shift magnitudes are grouped into quartiles Q1–Q4 by displacement from the nominal setting.

Normalized scores of every robust method on the library-wide grid, by regime and mechanism family, with the standard baselines.
The full library under controlled distribution shift. Every coloured bar is one of the fourteen robust methods, keyed by mechanism family and online/offline regime. Scores average magnitudes within a shift source, sources within a task, and then tasks with equal weight; the aggregation covers 20 algorithms across 220 perturbation configurations.
Mechanism family gains over the base algorithms and over the pooled standard mean, and the pooled standard and robust scores across the magnitude quartiles.
Mechanism families and robustness across magnitude. Left: each family's gain in normalized score; the dark column is the gain over each member's own base algorithm, the light column the gain over the pooled Standard RL mean. Right: pooled Standard and Robust RL scores across the magnitude quartiles Q1–Q4.

Leaderboard

All 22 algorithms on 220 perturbation configurations: pick a regime, a task, a shift factor or a magnitude, and read the same numbers as a table.

Findings

Related benchmarks

Comparison with related benchmarks.

BenchmarkRobust algorithmsMDP shiftsLatencySemanticCompoundTask expansion
RLlib00/4✗✗✗✓
RRLS42/4✗✗◐✓
ODRL01/4✗✗✗✗
Robust-Gymnasium44/4✗✓✓✓
RWRL Suite03/4✓✗✓◐
RoAd-RL01/4✗✗✗✓
RobustRLlib (ours)164/4✓✓✓✓

✓ supported · ◐ partial · ✗ absent. MDP shifts counts observation, action, transition and reward/cost. Robust algorithms counts the robust or robust safe methods a benchmark evaluates, without standard algorithms.

BibTeX

@inproceedings{robustrllib2027,
  title     = {RobustRLlib: A Unified Library and Benchmark for
               Robust Reinforcement Learning Algorithms},
  author    = {Anonymous Authors},
  booktitle = {Submitted to the International Conference on
               Learning Representations (ICLR)},
  year      = {2027},
  note      = {Under review}
}