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, θ).
Navigation with SBPL 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.