Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

OMPL

Sampling-based motion planning library powering MoveIt and countless robotics applications

License

BSD-3-Clause

Overview

OMPL, the Open Motion Planning Library, is a collection of sampling-based motion planning algorithms such as RRT, RRT* and PRM, developed at Rice University. It is the default motion planning backend for MoveIt. It has a C++ API with Python bindings, a modular design for custom state spaces, and tools for benchmarking planners.

OMPL (Open Motion Planning Library) is a collection of sampling-based motion planning algorithms developed at Rice University. It's the default motion planning backend for MoveIt.

Key features include: - Extensive algorithm collection (RRT, RRT*, PRM, etc.) - Modular architecture for custom state spaces - Optimization-based planners - Multi-query and single-query planners - Python bindings (OMPL.py) - Benchmark and visualization tools - Well-documented API - Active research community

OMPL is used in countless robotics applications from manipulation to autonomous vehicles. Its sampling-based approach makes it effective for high-dimensional planning problems.

Why it matters

OMPL is the algorithmic engine behind MoveIt and dozens of other motion planning systems. Its collection of state-of-the-art sampling-based planners (RRT, PRM, and many variants) provides the core algorithms that robot arms use worldwide to plan collision-free paths.

Problem it solves

Robot arms need to find collision-free paths through complex environments, and implementing motion planning algorithms correctly is extremely difficult. OMPL provides validated, optimized implementations that the community trusts.

Key takeaways

  • State-of-the-art sampling-based motion planning algorithms
  • Foundation of MoveIt motion planning — the most used manipulation framework
  • RRT, PRM, and dozens of algorithm variants included
  • Clean C++ API with Python bindings
  • Benchmark tools for comparing planning algorithm performance

Who it is for

  • Robotics engineers implementing motion planning
  • MoveIt users who need to understand the planning backend
  • Researchers developing new motion planning algorithms
  • Teams building custom planning solutions

Limitations

  • Sampling-based — optimality only guaranteed asymptotically, by some planners
  • Requires separate collision checking library (FCL, etc.)
  • C++ API has a learning curve for custom state spaces
  • Primarily kinematic planning — dynamics-aware planning is separate

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.