The installation of the OffWorld Gym is OS agnostic and gives you access to real physical environments and their simulated replicas (via Docker).


Please run your scripts using Python versions 3.7-3.10.


The communication with a real physical OffWorld Gym environment does not require anything other than Python, but you will need Docker if you want to make use of the simulated environments:


git clone
cd offworld-gym
pip3 install -ve .

Verify the installation

To test your installtion and the connectivity with the physical enviroment, do the following:

  1. Book your time slot at

  2. export OFFWORLD_GYM_ACCESS_TOKEN=paste_your_token_here using the OffWorld Gym Access Token from (consider adding it to your ~/.bashrc)

  3. Run the minimal example python3 examples/sim/

  4. Open in your browser to see the live camera feed from the environment!

To run a simulated environment:

  1. python3 examples/sim/

  2. The terminal will print out a link that you can paste into your browser to visualize the Gazebo simulation!


Additional steps to run the examples that based on Pytorch, Tianshou and Stable-baselines 3

If you are interested in running or building upon the QR-DQN examples provided in the examples/ directory you will need to install Pytorch, tianshou and stable-baselines3 libraries:

  1. pip install torch==1.10.0 tianshou==0.4.3 stable-baselines3==1.1.0

we have created an easy script that will create a virtual environment that everything you need, please see the Examples section for details.

Local Ubuntu installation without Docker (Deprecated)

If for some reason you would like to avoid using Docker for running simulated environments, you can install all the necessary components directly on your system (tested on Ubuntu 16.04).

Install ROS Kinetic by following the corresponding installation instructions.

For GPU support also install

Run the installation script scripts/ (tested on Ubuntu 16.04):

git clone
cd offworld-gym/scripts
export OFFWORLD_GYM_ROOT=`pwd`/..

To test the Sim installation open two terminals, start the environment in the first one

source $OFFWORLD_GYM_ROOT/scripts/
roslaunch gym_offworld_monolith env_bringup.launch

and a Gazebo instance in another

source $OFFWORLD_GYM_ROOT/scripts/

To test the real installation please follow the steps in the section above.