Tutorials

Historical SBPL tutorials preserved from the legacy sbpl.net site.

The tutorials below were authored for SBPL roughly 2012–2015. The content of each tutorial is preserved in the legacy snapshot under /archive/legacy-drupal/. They reference older versions of SBPL but the underlying concepts (graph search, lattice planning, motion primitives) are still current.

Primer to Search-Based Motion Planning

The theoretical background: state spaces, graph search, A* / weighted A* / ARA*, heuristics, motion primitives, and how search-based planning compares with sampling-based approaches.

Primer to the Search-Based Planning Library (SBPL)

A walk-through of how the SBPL C++ library is organised: planners, environments, motion primitives, and how to write your own SBPLPlanner/DiscreteSpaceInformation pair.

SBPL Overview

A brief overview of how the SBPL repository is structured and which files implement which planners.

Planning with SBPL: Example in (x, y, θ) State Space

Worked example of planning for a 2-D footprint robot in (x, y, θ).

Builds on the previous tutorial to handle exploration of an unknown environment.

Kinematic Constraints and Motion Primitives

How kinematic constraints are encoded in SBPL.

Generating Motion Primitives

How to use the Matlab scripts in SBPL to generate custom motion primitives.

Forward Arc Motion Primitives

The arc-based motion primitive formulation used in SBPL.

Building, Installing, and Using SBPL

Build instructions (CMake on Linux/macOS/Windows) and a minimal example of invoking a planner.

Arm Planning

Tutorials and repository links for the legacy PR2 arm planner.


If any of these links is broken in the published site, the source markdown lives under archive/legacy-drupal/content/pages/ in this repository.