by whoenig

Library with search algorithms for task and path planning for multi robot/agent systems

164 Stars 75 Forks Last release: Not found MIT License 53 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Build Status


libMultiRobotPlanning is a library with search algorithms primarily for task and path planning for multi robot/agent systems. It is written in C++(14), highly templated for good performance, and comes with useful examples.

The following algorithms are currently supported:

  • Single-Robot Algorithms

    • A*
    • A* epsilon (also known as focal search)
    • SIPP (Safe Interval Path Planning)
  • Multi-Robot Algorithms

    • Conflict-Based Search (CBS)
    • Enhanced Conflict-Based Search (ECBS)
    • Conflict-Based Search with Optimal Task Assignment (CBS-TA)
    • Enhanced Conflict-Based Search with Optimal Task Assignment (ECBS-TA)
    • Prioritized Planning using SIPP (example code for SIPP)
  • Assignment Algorithms

    • Minimum sum-of-cost (flow-based; integer costs; any number of agents/tasks)
    • Best Next Assignment (series of optimal solutions)


Tested on Ubuntu 16.04.

mkdir build
cd build
cmake ..


  • make
    : Build examples, only
  • make docs
    : build doxygen documentation
  • make clang-format
    : Re-format all source files
  • make clang-tidy
    : Run linter & static code analyzer
  • make run-test
    : Run unit-tests

Run specific tests

python3 ../test/ TestNextBestAssignment.test_1by2

Run example instances


./ecbs -i ../benchmark/32x32_obst204/map_32by32_obst204_agents10_ex1.yaml -o output.yaml -w 1.3
python3 ../example/ ../benchmark/32x32_obst204/map_32by32_obst204_agents10_ex1.yaml output.yaml

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.