Reinforcement Learning-based Adaptive Control Barrier Functions using Receding Horizon Control for Safety-Critical Systems
The repository contains the simulation code for the paper "Reinforcement Learning-based Adaptive Control Barrier Functions using Receding Horizon Control for Safety-Critical Systems" accepted at CDC 2024 [paper].
This code has been tested on Ubuntu 22.04. Although there should be no difficulty with running it on windows 10+
Please setup the conda environment by running the following command.
conda env create -n envName -f environment.yml
Then download/clone the repository.
We have proposed a control method based on RHC using MPC with CBFs which can provably guarantee safety in safety-critical control systems.
This is the video of the simulation results presented in the paper as a concept of proof for feasiblity improvement.
To generate the numerical results shown in the table I for the proposed approach, please run the following command.
python train_RL_env_MPC_AV.py method=RL_MPC_CBF
To generate the results for the baseline case you need specify modes with which you can run the experiments, conservative, moderately conservative, moderately aggressive, aggressive denoted by 'c', mc,'ma','a' in the code. For example in order to run the baseline-conservative, the following command has to be run:
python train_RL_env_MPC_AV.py method=baseline type=c
Please note that all the runs can be with or without visualization (the default is with Visualization). To disable visualization the following command can be run:
python train_RL_env_MPC_AV.py render_mode=None
This project is licensed under the MIT License - see the LICENSE file for details.
Thanks to the following people who have contributed to this project: