Table of Contents
Fetching ...

The Python LevelSet Toolbox (LevelSetPy)

Lekan Molu

TL;DR

This paper describes open-source scientific contributions in python surrounding the numerical solutions to hyperbolic Hamilton-Jacobi partial differential equations, and provides a CPU implementation in python that is significantly faster than existing alternatives.

Abstract

This paper describes open-source scientific contributions in python surrounding the numerical solutions to hyperbolic Hamilton-Jacobi (HJ) partial differential equations viz., their implicit representation on co-dimension one surfaces; dynamics evolution with levelsets; spatial derivatives; total variation diminishing Runge-Kutta integration schemes; and their applications to the theory of reachable sets. They are increasingly finding applications in multiple research domains such as reinforcement learning, robotics, control engineering and automation. We describe the library components, illustrate usage with an example, and provide comparisons with existing implementations. This GPU-accelerated package allows for easy portability to many modern libraries for the numerical analyses of the HJ equations. We also provide a CPU implementation in python that is significantly faster than existing alternatives.

The Python LevelSet Toolbox (LevelSetPy)

TL;DR

This paper describes open-source scientific contributions in python surrounding the numerical solutions to hyperbolic Hamilton-Jacobi partial differential equations, and provides a CPU implementation in python that is significantly faster than existing alternatives.

Abstract

This paper describes open-source scientific contributions in python surrounding the numerical solutions to hyperbolic Hamilton-Jacobi (HJ) partial differential equations viz., their implicit representation on co-dimension one surfaces; dynamics evolution with levelsets; spatial derivatives; total variation diminishing Runge-Kutta integration schemes; and their applications to the theory of reachable sets. They are increasingly finding applications in multiple research domains such as reinforcement learning, robotics, control engineering and automation. We describe the library components, illustrate usage with an example, and provide comparisons with existing implementations. This GPU-accelerated package allows for easy portability to many modern libraries for the numerical analyses of the HJ equations. We also provide a CPU implementation in python that is significantly faster than existing alternatives.

Paper Structure

This paper contains 17 sections, 34 equations, 3 figures, 1 table.

Figures (3)

  • Figure 1: Implicitly constructed geometric shapes in our library: (a) a sphere on a 3D grid; (b) union of two 3D spheres implicitly constructed on a 2D grid; (c) the union of rectangles on a 2D grid; (d) the union of multiple cylinders on a 3D grid.
  • Figure 2: Motion of two rockets on a Cartesian $\bm{xz}$-plane with a thrust inclination in relative coordinates given by $\theta:=u_p- u_e$.
  • Figure 3: (Left to Right): Backward reachable tubes (capture surfaces) for the rocket system (cf. \ref{['fig:rocket_relative']}) optimized for the paths of slowest-quickest descent in equation \ref{['eq:ham_def']} at various time steps during the differential game. In all, the BRTs were computed using the method outlined in Crandall1984LevelSetsBookMitchell2020. We set $a_e = a_p = 1ft/sec^2$ and $g=32 ft/sec^2$ as in Dreyfus' original example.