Motion planning is an important and common problem for mobile robotics. In its simplest form, we want to move a robot from a starting location to a goal location while avoiding obstacles. Our task is to plan the robot motion from the start point to the goal point. This plan is not a pre-computed sequence of steps to be executed, but rather a policy to deal with the possible obstacles that the robot may encounter along the way.

Problem Set-up

We are given:

  • A workspace that is a subset of or .
  • Some obstacles
  • A start point and a goal point
  • A robot described by a moving point (we assume the robot has zero size for simplicity)

We define the free workspace as:

This denotes the set of points in that are outside all obstacles.

Robot Assumptions

We assume the robot:

  • Knows the direction towards the goal
  • Knows the straight-line distance between itself and the goal
  • Does not know anything about the obstacles
  • Has a contact sensor that allows it to locally detect obstacles
  • Can move in either a straight line toward the goal or follow an obstacle boundary using its contact sensor
  • Has limited memory in which it can store distances and angles.

Environment Assumptions

We assume the following about the environment:

  • The workspace is bounded
  • There are a finite number of obstacles
  • The start and goal endpoints exist in the free workspace
  • Any straight line drawn in the environment crosses the boundary of each obstacle only a finite number of times.