This package implements a series of continuous control problems with continuous and discrete symmetries. The environments are base on DeepMind Control Suite.
Rotate Suite is a series of visual control tasks with the goal of rotating a 3D object along its axes to achieve a goal orientation. Symmetries of the environment are declared by symmetries of the object. Thus, some environments have discrete symmetries, while others have continuous symmetries.
If you use our code, please cite our paper:
@article{panangaden2023policy,
title={Policy Gradient Methods in the Presence of Symmetries and State Abstractions},
author={Panangaden, Prakash and Rezaei-Shoshtari, Sahand and Zhao, Rosie and Meger, David and Precup, Doina},
journal={arXiv preprint arXiv:2305.05666},
year={2023}
}
- Install the following libraries needed for Mujoco and DeepMind Control Suite:
sudo apt update
sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3
- We recommend using a conda virtual environment to run the code. Create the virtual environment:
conda create -n rotate_env python=3.9
conda activate rotate_env
pip install --upgrade pip
- Install Mujoco and DeepMind Control Suite following the official instructions.
- Clone this package and install its dependencies:
pip install -r requirements.txt
- Finally install the
contextual_control_suite
package withpip
:
pip install -e .
- A demo script showing how to use the contexts is available here.