The Open Motion Planning Library
The Open Motion Planning Library (OMPL) consists of a set of sampling-based motion planning algorithms. The content of the library is limited to these algorithms, which means there is no environment specification, no collision detection or visualization. The library is designed so it can be easily integrated into systems that provide the additional needed components. For examples of complete systems using OMPL, see OMPL.app and MoveIt!. We have also developed a educational module on motion planning that is centered around OMPL.app. We are looking for educational partners to use and further develop the material. Please contact us for more information.
OMPL is intended to be efficient, thread safe, easy to use, easily extensible and freely available (visit this project on Bitbucket).
Contents of This Library
- OMPL contains implementations of many sampling-based algorithms such as PRM, RRT, EST, SBL, KPIECE, SyCLOP, and several variants of these planners. See available planners for a complete list.
- All these planners operate on very abstractly defined state spaces. Many commonly used state spaces are already implemented (e.g., SE(2), SE(3), Rn, etc.).
- For any state space, different state samplers can be used (e.g., uniform, Gaussian, obstacle based, etc.).
- API overview
- The OMPL primer provides a brief background on sampling-based motion planning, and an overview of OMPL.
- Download and install OMPL.
- Demos and tutorials.
- Frequently Asked Questions.
- Familiarize yourself with the Boost structures used throughout OMPL.
- Learn how to integrate your own code with OMPL's build system.
- Learn more about how OMPL is integrated within other systems (such as MoveIt!, OpenRAVE, and MORSE).
- If interested in using Python, make sure to read the documentation for the Python bindings.
- OMPL for education.
- Gallery of example uses of OMPL.
- If you use ROS, the recommended way to use OMPL is through MoveIt!.
- Third-party contributions. (Contribute your own extensions!)
News & Events
- At ROSCON 2013, Sachin Chitta gave a presentation about MoveIt!, the new software framework for motion planning in ROS. It provides a common interface to motion planning libraries (including OMPL). The old ROS arm_navigation stack is now deprecated and all ROS users are encouraged to switch to MoveIt!.
- ICRA 2013 Tutorial on Motion Planning for Mobile Manipulation: State-of-the-art Methods and Tools. Both OMPL and MoveIt! were heavily featured in this tutorial.
- OMPL has won the 2012 Open Source Software World Grand Challenge!
- An article about OMPL has been accepted for publication in IEEE's Robotics & Automation Magazine! It will appear in the December 2012 issue.
- At ROSCON 2012, Sachin Chitta and Ioan Șucan gave a talk about MoveIt!, the new motion planning stack in ROS. It provides a common interface to motion planning libraries in ROS (including OMPL). It will eventually replace the arm navigation stack.
- IROS 2011 Tutorial on Motion Planning for Real Robots. This hands-on tutorial described how to use the ROS and OMPL, but it also provided some background on sampling-based motion planning.