Skip to main content

large-scale safety-critical control benchmarks for reinforcement learning algorithms

Project description

controlgym

Description

Controlgym provides 36 industrial control environments and 10 infinite-dimensional PDE-based control problems with continuous, unbounded action and observation spaces that are inspired by real-world applications. This project supports the Learning for Dynamics & Control (L4DC) community, focusing on vital issues: convergence of reinforcement learning (RL) algorithms in policy development, stability, and robustness of learning-based controllers, and the scalability of RL algorithms to high and potentially infinite-dimensional systems. We provide a detailed description of controlgym in this paper.

Installation

Clone the Repository

To get started, clone the controlgym repository and navigate to folder:

git clone https://github.com/xiangyuan-zhang/controlgym.git
cd controlgym
Windows Installation
# Step 1: create and activate a virtual environment (Optional)
# Example a: using venv
py -3.10 -m venv controlgym-env
.\controlgym-env\Scripts\activate.bat
# Example b: using conda
conda create -n controlgym-env python=3.10
conda activate controlgym-env

# Step 2: install pytorch with cuda (optional)
pip3 install --upgrade pip
pip3 install torch --index-url https://download.pytorch.org/whl/cu121Install the repository

# Step 3: install the controlgym repository
# Example a: using pip
pip3 install -e .
# Example b: using poetry
poetry install

# Step 4: deactivate the virtual environment (Optional)
# For venv
.\controlgym-env\Scripts\deactivate.bat
# For conda
conda deactivate
Linux/MacOS Installation
# Step 1: Create and activate a virtual environment (Optional)
# Example a: using venv
python3.10 -m venv controlgym-env
source controlgym-env/bin/activate
# Example b: using conda
conda create -n controlgym-env python=3.10
conda activate controlgym-env

# Step 2: Install the controlgym repository
# Example a: using pip
pip3 install -e .
# Example b: using poetry
poetry install

# Step 3: Deactivate the virtual environment (Optional)
# For venv
deactivate
# For conda
conda deactivate

Getting Started

Check out our code examples in this Jupyter notebook file.

Reference

@article{zhang2023controlgym,
    title = {Controlgym: Large-Scale Control Environments for Benchmarking Reinforcement Learning Algorithms},
    author = {Zhang, Xiangyuan and Mao, Weichao and Mowlavi, Saviz and Benosman, Mouhacine and Ba{\c{s}}ar, Tamer},
    journal = {arXiv preprint arXiv:2311.18736},
    year = {2023}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

controlgym-1.0.0.tar.gz (850.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

controlgym-1.0.0-py3-none-any.whl (885.5 kB view details)

Uploaded Python 3

File details

Details for the file controlgym-1.0.0.tar.gz.

File metadata

  • Download URL: controlgym-1.0.0.tar.gz
  • Upload date:
  • Size: 850.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.0 Darwin/23.3.0

File hashes

Hashes for controlgym-1.0.0.tar.gz
Algorithm Hash digest
SHA256 efd5a248061466b33f879368c8fcf10ee8498c3578be47a9661ff1189f428c38
MD5 85a8bad5297671fba4cbda0d2b69b97d
BLAKE2b-256 5eef79e6f346d98c627ae61b39596411c28d6ede0ada8acac2c1e207ebff9cf3

See more details on using hashes here.

File details

Details for the file controlgym-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: controlgym-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 885.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.0 Darwin/23.3.0

File hashes

Hashes for controlgym-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bff518859de814aa618d58a721b8dd5b86a2cd94d3c10051c8896fe8fc48ac7
MD5 d43e8c28fb6797f8588e28b4b9d22c4a
BLAKE2b-256 b2e1d67732e5c43d7a9593bc0bb00d27d6d529beb3ac7fec5d3dc62d4b1e9727

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page