UniROS / MultiROS / RealROS ecosystem

A ROS-based reinforcement-learning framework for robots, spanning Gazebo simulation and real-world hardware. Built on Gymnasium and Stable Baselines 3.

The ecosystem is split into four core framework packages plus two application packages that ship pre-built environments and training scripts. You can use the framework on its own or pull in the applications as ready-made examples.

Core framework: UniROS, MultiROS, RealROS, sb3_ros_support.

Applications: rl_environments, rl_training_validation.

Package

What it provides

UniROS API reference

The unified abstraction layer. Hosts the canonical multiprocessing gym-env proxy class (uniros._proxy.GymProxy) and the shared ROS utility modules used by every package below. Bundles MultiROS and RealROS as git submodules.

MultiROS API reference

Gazebo-based simulation environments. Spawn multiple gym envs in parallel against a single rosmaster, run roscores on arbitrary ports, manage Gazebo physics. An experimental MuJoCo backend is available (see MuJoCo backend (experimental)).

RealROS API reference

The real-hardware counterpart to MultiROS. Same gym API, talks to physical robots instead of Gazebo.

sb3_ros_support API reference

Stable Baselines 3 algorithm wrappers (PPO, A2C, DDPG, TD3, SAC, DQN, plus goal-conditioned variants) configured for ROS-based training scripts.

rl_environments API reference

Pre-built gym environments for the supported robots and tasks.

rl_training_validation API reference

Working training and validation scripts for the pre-built envs.

About these docs

This documentation is written and maintained alongside the UniROS codebase and the Sensors paper. Every change is reviewed before being committed.

Even so, docs can drift out of sync with the code — a renamed API, a stale example, or a subtle factual error. If you find an inaccuracy, please open an issue at github.com/ncbdrck/UniROS/issues.

Citation

If this ecosystem is useful in your work, please cite the paper:

@Article{s25185679,
  AUTHOR  = {Kapukotuwa, Jayasekara and Lee, Brian and Devine, Declan and Qiao, Yuansong},
  TITLE   = {UniROS: ROS-Based Reinforcement Learning Across Simulated and Real-World Robotics},
  JOURNAL = {Sensors},
  VOLUME  = {25},
  YEAR    = {2025},
  NUMBER  = {18},
  PAGES   = {5679},
  URL     = {https://www.mdpi.com/1424-8220/25/18/5679},
  ISSN    = {1424-8220},
  DOI     = {10.3390/s25185679},
}

Indices