This repository contains the implementation of refineCBF, accompanying the paper Refining Control Barrier Functions using HJ Reachability by Sander Tonkens and Sylvia Herbert, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2022.
This project combines CBFs and reachability, to refine learned or analytical CBFs and for making backup policy-based CBFs explicit.
In particular:
- The
refine_cbfsdirectory contains code to define a tabular CBF (a CBF defined over a grid) and provides an interface withhj_reachabilityandcbf_optto define its dynamics. - The
examplesfolder provides the simulation results for the paper mentioned above
hj_reachability: Toolbox for computing HJ reachability leveragingjax:pip install --upgrade hj-reachability. Requires installingjaxadditionally based on available accelerator support. See JAX installation instructions for details.cbf_opt: Toolbox for constructing CBFs and implementing them in a safety filter (usingcvxpy). Runpip install "cbf_opt>=0.6.0"or install locally using the Github link and runpip install -e .in DIR to install.experiment_wrapper: Self-contained toolbox for running experiments that have analytically defined dynamics and measurement models. Runpip install "experiment-wrapper>=1.1"Github link and runpip install -e .in DIR to install