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_cbfs
directory contains code to define a tabular CBF (a CBF defined over a grid) and provides an interface withhj_reachability
andcbf_opt
to define its dynamics. - The
examples
folder provides the simulation results for the paper mentioned above
hj_reachability
: Toolbox for computing HJ reachability leveragingjax
:pip install --upgrade hj-reachability
. Requires installingjax
additionally 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