This repository provides implementations of various PDEs including hyperbolic PDEs(Burger's Equation) and parabolic PDEs (Reaction-Diffusion/Heat Equations), and 2-D Navier Stokes PDEs that are all wrapped under a gym designed for control algorithms.
Installing PDE Control Gym is simple, requires few dependencies, and is set to work with most Python Environments. This installation guide assumes you are familiar with either conda or virtual env in creating and installing python modules.
-
First create a new enviornment for Python 3.10+
-
Install the dependencies. PDE ContRoL Gym requires
- Gym Version 0.28.1 (Available here)
- Numpy Version 1.26.2 (Available here)
-
To run the examples listed below or any reinforcement learning algorithm, the gym is currently setup using Stable-Baselines3 Version 2.2.1.
-
Once dependencies are installed, clone the repository using
git clone https://github.com/lukebhan/PDEControlGym.git -
Then navigate to the working folder
cd PDEControlGym -
Install the package using pip in the main folder
pip install -e . -
Enjoy your fully functional PDE Control library! For usage, see the examples in either
./PDEControlGym/examplesor in the documentation or below in the examples section of this file!
Documentation for all the environments as well as tutorials are available here
Jupyter notebooks are made in the examples folder (Hyperbolic and Parabolic subfolders) that detail all the examples for both Hyperbolic and Parabolic PDEs. Additionally, full details on numerical implementation and solvers are available in the documentation. These include tutorials on how to train your own RL controller, implemented backstepping controllers as well as plotting comparisons to analyze all of your work. For managing the training of your RL controller, we recommend you use tensorboard as outlined in the notebooks. For pretrained models, please see the downloaded files on Hugging Face.
Contributions to the gym are both welcome and encouraged. Please see the contribution guidelines. Any questions are welcome to email the author Luke at [email protected]
@misc{https://doi.org/10.48550/arxiv.2302.14265,
doi = {10.48550/ARXIV.2302.14265},
url = {https://arxiv.org/abs/2302.14265},
author = {Bhan, Luke and Shi, Yuanyuan and Krstic, Miroslav},
keywords = {Systems and Control (eess.SY), Optimization and Control (math.OC), FOS: Electrical engineering, electronic engineering, information engineering, FOS: Electrical engineering, electronic engineering, information engineering, FOS: Mathematics, FOS: Mathematics},
title = {Neural Operators for Bypassing Gain and Control Computations in PDE Backstepping},
publisher = {arXiv},
year = {2023},
copyright = {Creative Commons Attribution 4.0 International}
}
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

