Thanks to Willow Garage for their support of building the SBPL library!

This library currently contains implementations of the following graph searches:

  • ARA*
  • Anytime D*
  • ANA* (by Jur van den Berg et al.)
  • R*
  • Multi-Heuristic A*

It also contains implementations of the following planning domains:

  • 2D (x,y) navigation
  • 3D (x,y,orientation) navigation
  • 3D (x,y,orientation) navigation with full-body collision checking
  • planar robot arm of variable DOF (from 6 to 20)

The library is structured so that addition of new graph searches and new planning domains should be pretty simple. Feel free to send me any questions you may have (my email is given at my homepage).


SBPL can be downloaded from the following page


Example for how to use SBPL is in src/test/main.cpp. Please follow the examples carefully - it will save you a lot of debugging time since currently there is no documentation available for the library. The library contains a number of planning problem examples, stored as ascii files. These files (with extension .cfg) should be passed in as arguments into the main function in main.cpp. The files can be found in env_examples directory.


Under windows, SBPL can be compiled using a project inside win32_build/test. Under unix/linux, it can be compiled from within the cmake_build directory. Or you can use ROS build system to compile SBPL. In case of the latter, you need to download the whole ROS package (see If you go this route and do get ROS, then theoretically you don't have to compile anything but SBPL. Just go to the root directory of SBPL and have ROS build this package.

Web Site Hosting
Web Site Hosting