Lab 7 - Motion Planning (RRT)


Before starting this lab, review Lecture 14 to ensure you are familiar with the material.

The goal of this lab is to provide you with tools that will help you in a head-to-head race on a race track. After finishing this lab, your car should be able to do something like this.
Learning Outcomes:
The following fundamentals should be understood by the students upon completion of this lab:
  • Motion Planning basic concepts.

    • Configuration space vs. Workspace: you should understand the difference between configuration space and workspace, and the advantages and disadvantages of planning in each of them.

    • Free space vs. Obstacle space: you should understand the difference between free space and obstacle space.

    • Occupancy grids and Costmaps: you should understand what occupancy grids and costmaps are, how to use them, and how to create them.

  • Motion Planning algorithms. You should understand the basic ideas of these following planning algorithms, their advantages and disadvantages, and when to use them.

    • Grid-based search: Dijkstra’s, A*, and their variants

    • Sampling based algorithms: RRT and its variants

Required Skills: ROS, Python/C++

Allotted Time: 1.5 week

Repository: Github Repository
The repository contains the latex source files as well as any skeleton code. Compile the latex source files to view the most up to date handout.