CSCE 452/752 Robotics and Spatial Intelligence, Fall 2025

15. Motion planning

Introduction

Motion planning algorithms generate continuous paths through the robot's configuration space.
Overview: $ \def\R{\mathbb{R}} \def\C{\mathcal{C}} \def\Cfree{\C_{\rm free}} \def\Cobst{\C_{\rm obst}} $

Configuration Space

Motivation

Suppose we want to plan the motions for a circular robot amongst some known obstacles.
a robot among obstacles
Though it may be tempting, we cannot use a visibility graph to solve this problem. (Why not?)

Intuition

Informally, we want to shrink the robot down to a point and expand the obstacles by the same amount.
a robot among obstacles
a point robot among expanded obstacles
If we keep the center point out of the “expanded” obstacles, then the entire robot will stay out of the real workspace obstacles.

...but this intuition can only take us so far.

What if the robot is not a circle? What if we want to plan motions for a multi-link manipulator to grasp a distant object?
a polygonal robot among obstacles
an articulated robot arm among obstacles

Definition

It looks like we'll need to think about this more carefully.
The configuration space (C-space) $\C$ of a system contains one point for each combination of values for the robot's position, orientation, and internal joint positions.
Comments:

C-spaces for our examples

To find the configuration space for a given system, think about what parameters are needed to describe the robot's situation.

Common C-spaces

There are some C-spaces that occur in many different contexts: (How many dimensions do each of these C-spaces have?)

Free space and obstacle space

The configuration space itself just describes where the robot is. It doesn't take the obstacles into account.
Obstacles:
Free space:

Back to our examples

For the disc robot:
configuration space for a disc robot
For the rectangle robot:
configuration space for a polygonal robot

Motion planning algorithms

The problem

The motion planning problem has these inputs:
complex robots moving a piano
This is sometimes called the piano movers' problem.

Combinatorial approaches

Good news: Combinatorial algorithms exist to solve this problem.
Bad news: These algorithms are:
More bad news: This problem is PSPACE-complete. (PSPACE-complete is at least as bad as NP-complete, and likely even worse.) So we shouldn't expect to ever come up with an efficient algorithm.

What's the problem?

The complexity of the problem comes from the fact that the C-space obstacles can be difficult to compute and represent.

Collision detection

Instead of representing $\Cobst$ explicitly, efficient algorithms are built around collision detection.
Given a configuration, determine whether or not it's an obstacle configuration.
Or, more generally:
Given a short path in configuration space, determine whether or not any configuration along that path is an obstacle configuration.

Collision detection overview

To perform collision tests, one can transform (that is, translate, rotate, and adjust joints) the geometric model of the robot, then test whether this transformed version intersects any obstacles.
We'll treat collision detection basically as a black box, but there are efficient geometric algorithms for this, especially if we are willing to accept an approximation.
a complex robot for collision detection

Sampling based motion planning

Using collision detection queries, we can design algorithms that work well for many common types of instances.
The best existing algorithms of this type are sampling-based algorithms. The differences between sampling based algorithms are in the details of how the samples are used, and in what kind of graph is constructed.

Probabilistic roadmaps

The probabilistic roadmap (PRM) builds an arbitrary graph.
a snapshot of a PRM under construction
a snapshot of a PRM under construction
a snapshot of a PRM under construction

PRM example

a PRM in a real environment

Rapidly-exploring random trees

The rapidly-exploring random tree (RRT) builds a tree.
a snapshot of an RRT under construction
a snapshot of an RRT under construction
a snapshot of an RRT under construction
a snapshot of an RRT under construction

RRT details

Some comments:

RRT example

an RRT in a realistic environment

Comparison between algorithms

PRMs are most useful when:
RRTs are most useful when:

Completeness

If a solution exists, can we guarantee that the PRM or RRT algorithms will find it? No! Success depends on the sequence of samples we select.
However, we can use a weaker notion of completeness:
A motion planner is probabilistically complete if the probability of failure goes to zero as the number of samples increases. \[ \lim_{n \to \infty} P(\text{failure}) = 0 \]
Both the PRM and the RRT methods are probabilistically complete.

When is motion planning hard? Narrow corridors

motion planning problems with narrow corridors

Example: Alpha puzzle

Example: Deformable objects

Example: “Wreckless” driving

Example: Grasping