/hj_reachability

Hamilton-Jacobi reachability analysis in JAX.

Primary LanguagePythonMIT LicenseMIT

hj_reachability: Hamilton-Jacobi reachability analysis in JAX

This package implements numerical solvers for Hamilton-Jacobi (HJ) Partial Differential Equations (PDEs) which, in the context of optimal control, may be used to represent the continuous-time formulation of dynamic programming. Specifically, the focus of this package is on reachability analysis for zero-sum differential games modeled as Hamilton-Jacobi-Isaacs (HJI) PDEs, wherein an optimal controller and (optional) disturbance interact, and the set of reachable states at any time is represented as the zero sublevel set of a value function realized as the viscosity solution of the corresponding PDE.

This package is inspired by a number of related projects, including:

Installation

To accommodate different JAX versions (i.e., CPU-only vs. JAX with GPU support), this package does not list JAX as a dependency in requirements.txt. Therefore, to use this package you must first install JAX (with your preferred accelerator support); see the JAX installation instructions for details.

Then, install this package using pip:

pip install --upgrade hj-reachability

TODOs

Aside from the specific TODOs scattered throughout the codebase, a few general TODOs: