Table of Contents
Fetching ...

SRMP: Search-Based Robot Motion Planning Library

Itamar Mishani, Yorai Shaoul, Ramkumar Natarajan, Jiaoyang Li, Maxim Likhachev

TL;DR

SRMP presents a novel search-based motion planning framework for robotic manipulation that delivers reliable, repeatable trajectories for both single and multi-robot systems. Implemented in C++ with Python bindings and operable as a standalone library or a MoveIt! plugin, SRMP emphasizes completeness and bounded sub-optimality, and integrates with major simulators and hardware. The paper demonstrates that SRMP achieves lower costs and higher consistency than OMPL across manipulation tasks, particularly excelling in multi-robot scenarios via xECBS, while maintaining practical planning times. This work fills a critical gap by providing native multi-arm planning with strong guarantees, enabling more stable data collection, safer industrial automation, and more reproducible research pipelines.

Abstract

Motion planning is a critical component in any robotic system. Over the years, powerful tools like the Open Motion Planning Library (OMPL) have been developed, offering numerous motion planning algorithms. However, existing frameworks often struggle to deliver the level of predictability and repeatability demanded by high-stakes applications -- ranging from ensuring safety in industrial environments to the creation of high-quality motion datasets for robot learning. Complementing existing tools, we introduce SRMP (Search-based Robot Motion Planning), a new software framework tailored for robotic manipulation. SRMP distinguishes itself by generating consistent and reliable trajectories, and is the first software tool to offer motion planning algorithms for multi-robot manipulation tasks. SRMP easily integrates with major simulators, including MuJoCo, Sapien, Genesis, and PyBullet via a Python and C++ API. SRMP includes a dedicated MoveIt! plugin that enables immediate deployment on robot hardware and seamless integration with existing pipelines. Through extensive evaluations, we demonstrate in this paper that SRMP not only meets the rigorous demands of industrial and safety-critical applications but also sets a new standard for consistency in motion planning across diverse robotic systems. Visit srmp.readthedocs.io for SRMP documentation and tutorials.

SRMP: Search-Based Robot Motion Planning Library

TL;DR

SRMP presents a novel search-based motion planning framework for robotic manipulation that delivers reliable, repeatable trajectories for both single and multi-robot systems. Implemented in C++ with Python bindings and operable as a standalone library or a MoveIt! plugin, SRMP emphasizes completeness and bounded sub-optimality, and integrates with major simulators and hardware. The paper demonstrates that SRMP achieves lower costs and higher consistency than OMPL across manipulation tasks, particularly excelling in multi-robot scenarios via xECBS, while maintaining practical planning times. This work fills a critical gap by providing native multi-arm planning with strong guarantees, enabling more stable data collection, safer industrial automation, and more reproducible research pipelines.

Abstract

Motion planning is a critical component in any robotic system. Over the years, powerful tools like the Open Motion Planning Library (OMPL) have been developed, offering numerous motion planning algorithms. However, existing frameworks often struggle to deliver the level of predictability and repeatability demanded by high-stakes applications -- ranging from ensuring safety in industrial environments to the creation of high-quality motion datasets for robot learning. Complementing existing tools, we introduce SRMP (Search-based Robot Motion Planning), a new software framework tailored for robotic manipulation. SRMP distinguishes itself by generating consistent and reliable trajectories, and is the first software tool to offer motion planning algorithms for multi-robot manipulation tasks. SRMP easily integrates with major simulators, including MuJoCo, Sapien, Genesis, and PyBullet via a Python and C++ API. SRMP includes a dedicated MoveIt! plugin that enables immediate deployment on robot hardware and seamless integration with existing pipelines. Through extensive evaluations, we demonstrate in this paper that SRMP not only meets the rigorous demands of industrial and safety-critical applications but also sets a new standard for consistency in motion planning across diverse robotic systems. Visit srmp.readthedocs.io for SRMP documentation and tutorials.

Paper Structure

This paper contains 17 sections, 5 figures.

Figures (5)

  • Figure 1: SRMP is a robot motion planning software that efficiently generates consistent motion plans for one or many robots. SRMP supports modern simulators, is available through C++ and Python APIs, and integrates with MoveIt! via a plugin.
  • Figure 2: Single arm consistency evaluations. Top: Bin picking and placing. Bottom: Shelf-to-shelf movement. For each scenario, algorithms repeated each of 15 planning problems 10 times, every time with a slight variation in their goal configuration. We compare intra-problem coefficient of variance (CV), overall average solution costs (annotated with success rates), and planning times. On the right of each figure, two anytime algorithms -- ARA* and RRT* -- run until finding an optimal solution or reaching a five-second time limit. The left-side images illustrate our experimental scenarios, alongside an example of an end-effector trajectory generated using SRMP (blue) and one generated by OMPL (yellow).
  • Figure 3: Planning for a single robot (left) and multiple robots (right) with the srmp Python API.
  • Figure 4: Multi-arm motion planning evaluations. Top: Four robotic arms plan concurrent motions for picking and placing objects in bins. Bottom: Three robotic arms move between pick-poses on shelves. These problems exhibit a significant degree of interaction between the arms, especially with three arms placed close to each other. For each scenario, algorithms repeated each of 15 planning problems 5 times, each time with a slight variation in their goal configuration. We compare intra-problem coefficient of variance (CV), overall average solution sum-of-costs (annotated with success rates), and average effective planning time ratios.
  • Figure 5: Evaluating single arm planners of SRMP in a variety of diverse manipulation domains from the Motion Benchmarker chamzas2022-motion-bench-maker. We compare the search-based planners of SRMP with the sampling-based planners available in OMPL, namely, (i) wA* vs RRT-C, (ii) MHA* vs BiEST and (iii) anytime planners ARA* vs RRT*. We also provide results from a parallelized search algorithm (wPA*SE) pase. Although OMPL's sampling-based planners have lower planning times in a few instances, their solution paths are long and unpredictable making their planning cost orders of magnitude higher (note the log-scale in the planning cost plot) with large variance. All the planners presented in this evaluation had a maximum planning time of 10s. wPA*SE was allowed to used a maximum of 6 parallel threads.