All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Third-Party Contributions

This page includes a list of extensions to OMPL provided by the community. The contributed code can be found under the ompl/src/ompl/contrib directory in the OMPL source code. The contributed code has been written and tested by their respective authors listed below. Maintenance and support is also provided by the same authors. Please read the directions on writing a contribution and the suggested style guide if you would like to submit your own contribution.

ROS Interface to OMPL

Authors: Sachin Chitta and E. Gil Jones

The ompl_ros_interface ROS package wraps OMPL such that motion planners can be easily set up for your robot. Most configuration is automated. However, you will have to specify the parts of the robot for which you want to create a motion planner.

RRT* and Extensions

Authors: Alejandro Perez and Sertac Karaman

  • RRT* (optimal RRT) is an asymptotically-optimal incremental sampling-based motion planning algorithm. RRT* algorithm is guaranteed to converge to an optimal solution, while its running time is guaranteed to be a constant factor of the running time of the RRT. The RRT* algorithm was introduced and analyzed in:

    • S. Karaman and E. Frazzoli, Sampling-based algorithms for optimal motion planning Int. Journal of Robotics Research, 2011. To appear. Also available at http://arxiv.org/abs/1105.1186.

    For more information on RRT* and its variants see http://ares.lids.mit.edu/rrtstar/.

  • Ball Tree RRT* is an implementation of RRT* that incorporates Ball Trees to approximate connected regions of free space with volumes in configuration space instead of points. Every vertex added to the tree has an initial volume of an infinite radius associated with it. This radius is gradually reduced as collisions are found. All samples within any of the existing volumes are discarded. However, discarded samples are collision checked. If a collision is found, the nearest volume is trimmed at the collision point. Information from all collision checking procedures within iterations is also used to trim volumes accordingly. The Ball Tree RRT* was introduced in:
    • A. Perez, S. Karaman, M. Walter, A. Shkolnik, E. Frazzoli, and S. Teller, Asymptotically-optimal manipulation planning using incremental sampling-based algorithms, in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2011.

University of Nevada at Reno Contribution

Authors: James Marble

Generalized the implementation of PRM so that different variations can be created by passing connection strategies and filters. Provided such functions for PRM and PRM*.