The objective of this half-day course is to provide a hands-on tutorial on using the Object-Oriented Programming System for Motion Planning (OOPSMP) software package. This software contains implementations of most state-of-the-art motion planning algorithms. It is designed to be highly modular and easily accessible. To use the existing motion planners in OOPSMP one only has to write simple XML files specifying the motion planning problem and the desired solver. The motion problem description includes a specification of the environment and the robot(s). The solver description includes a high-level planner, a low-level local planner, and algorithm parameters. It is designed to be very accessible and no previous programming experience is required to use the existing functionality.
However, OOPSMP is flexible enough to be extended with other sampling-based motion planning algorithms. We will also cover what is needed to add one's own algorithms. Many of the basic data structures used in motion planning algorithms are, of course, already implemented, so that trying out new ideas will be easy.
The hands-on part of the tutorial is preceded with an overview of the current state-of-the-art motion planning algorithms. The emphasis will be more on the relative merits of each motion planning method rather than the details of each algorithm. This should allow an OOPSMP user to make an informed decision on choosing a particular motion planning algorithm and its parameters for a given problem.
OOPSMP is both a teaching tool as well as a research testbed for developing new motion planning algorithms. The tutorial is thus intended for those who teach robotics classes and researchers in the field of motion planning.
9:00–9:45 Introduction to state-of-the-art motion planning algorithms — Konstantinos Tsianos
10:30–10:45 Coffee break
10:45–11:05 Overview of OOPSMP code structure — Ioan Sucan
11:05–11:25 Case study #1: adding support for a physics engine, new planner for modular robots — Ioan Sucan
The case studies will provide a walk-through of implementing new algorithms while reusing many of the low-level primitives where possible.
The OOPSMP software described in this tutorial is available here. We will be available after the tutorial to provide one-on-one assistance.