finds.dev← search

// the find

whoenig/libMultiRobotPlanning

★ 1,039 · C++ · MIT · updated Aug 2023

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

A C++14 template library of multi-agent path and task planning search algorithms: single-agent A*, focal search, and SIPP, plus CBS, ECBS, and their task-assignment variants CBS-TA and ECBS-TA, along with a min-cost-flow assignment solver. It is aimed at researchers and engineers who want reference implementations to build on, not a ready-made planning framework.

Single-agent search (A*, focal search, SIPP) and multi-agent solvers (CBS, ECBS) live in one codebase, so you can compare bounded-suboptimal and optimal solvers without stitching three projects together. CBS is implemented over generalized graphs with optional wait actions, not only 4-connected grids, which matters if your agents use motion primitives. The assignment side covers a flow-based minimum sum-of-cost solver with no fixed agent or task count, and a best-next-assignment mode that enumerates successive optimal solutions. The repo ships 32x32 obstacle benchmark instances at 10, 20, and 100 agents, so you have fixed inputs to regress against.

The last push was in August 2023, and the README still says it was tested on Ubuntu 16.04. Nothing covers Windows or macOS, and the build is a bare cmake and make, so expect to fix the toolchain yourself. The roadmap annotation and visualization tooling assumes a 2D Euclidean embedding with straight-line edges, so generalized roadmaps in other spaces need your own tooling. The test runner and the visualizers are Python scripts, which adds a second toolchain to what is otherwise a C++ library. Adopting it for production means pinning a commit in a repo that has not moved in over three years.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →