Convex hull reachability analysis library. Contains code to reproduce results in (T. Lew, R. Bonalli, M. Pavone, "Convex Hulls of Reachable Sets", IEEE Transactions on Automatic Control, 2025, available at https://arxiv.org/abs/2303.17674).
The examples in the scripts folder reproduce the results in the paper:
- For the spacecraft control results, run
python scripts/spacecraft.py - For the Dubins car result with rectangular disturbance sets, run
python scripts/dubins_rectangle.py - for the Dubins car result with non-invertible disturbance dynamics, run
python scripts/dubins_non_invertible.py - For the neural feedback loop analysis results, see https://github.com/StanfordASL/nn_robustness_analysis/tree/disturbances_and_initial_states
Other examples can be found in the scripts/ and tests/ folder.
This code was tested with Python 3.8.0 on Ubuntu 18.04.6.
We recommend installing the package in a virtual environment. First, run
python -m venv ./venv
source venv/bin/activateThen, all dependencies (numpy, scipy, jax, osqp, and matplotlib) can be installed by running
python -m pip install -r requirements.txt
and the package can be installed by running
python -m pip install -e .
The following command should run successfully:
python -m pytest
