Software

Planning libraries, ROS packages, and utilities released by the lab.

For setup help with the libraries below, see the Tutorials page. The most maintained software is hosted on the lab’s GitHub organisation.

Core Libraries

SBPL — Search-Based Planning Library

The core planning library, written in C++ with no required dependencies. Implements ARA*, AD*, Anytime D*, R*, weighted A*, SIPP, Experience Graphs, and lattice-based planners.

SBPL Geometry Utilities

Geometry helpers used across SBPL packages.

ROS Planners and Plugins

SBPL MoveIt! Plugin

Generic SBPL planner plugin for MoveIt!.

Lattice Planner (3-D Navigation)

A global planner for move_base based on motion primitives.

3-D Navigation with Full-Body Collision Checking (PR2)

A move_base global planner that performs full-body collision checks. PR2 specific.

Single-Arm Planning

Can be used with the ROS arm_navigation stack (move_arm). PR2 support plus an experimental “Any Robot” branch.

Dual-Arm Planning (PR2)

Cart Planning

Experience Graphs (E-Graphs)

E-Graphs are built from experience (previously planned paths or user demonstrations). The planner reuses parts of these prior paths to plan faster.

Utilities

PViz

PR2 visualisation library. With one function call you can visualise the PR2 in RViz with any joint configuration; the original meshes are drawn as visualisation markers.


See also: Old Software — historical SVN/Mercurial links and ROS Diamondback/Electric/Fuerte branches from the sbpl.net era.