OMPL

OMPL (Open Motion Planning Library) is a software package for computing motion plans using sampling-based algorithms. The content of the library is limited to motion planning algorithms, which means there is no environment specification, no collision detection or visualization. This is intentional as the library is designed to be easily integrated into systems that already provide the additional needed components. For example, OMPL is integrated with ROS and MoveIt!. In 2012 OMPL won the Grand Prize at the Open Source Software World Challenge.

Implementation
OMPL is written in C++ but also offers Python bindings. The library includes implementations for a large number of planning algorithms, all of these being implemented on top of the same base functionality. The base functionality OMPL provides for planners is thread safe. Adding new motion planning algorithms to OMPL is easy, thus facilitating comparisons between existing algorithms and evaluations of new ideas.

Teaching
One of the design goals for OMPL is clarity of concepts used. This equates to having C++ classes that correspond to concepts found in the literature. Such a design facilitates using OMPL for education. Furthermore, the authors provide free course materials and assignments for use in conjunction with OMPL.

Industrial use
The first use for OMPL was actually at Willow Garage, where the library was started, to do motion planning for the PR2 arms. As such, the library was hardened to run reliably and efficiently. Afterwards OMPL started to be used (via ROS and MoveIt!) for hundreds of different types of robots .

Research
OMPL includes tools for benchmarking, providing a common platform for easily developing and testing new algorithms.