Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
This is a multi-agent path planning(also known as Multi-Agent Path Finding, MAPF) algorithm package for ROS/ROS2.
| Date | Stars |
|---|---|
| 2026-07-24 | 250 |
| 2026-07-25 | 250 |
| 2026-07-28 | 251 |
| 2026-07-30 | 251 |
| 2026-07-31 | 250 |
| 2026-08-06 | 250 |
Today
— stars today
This week
-1 stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Multi-Agent Path Finding (MAPF) in ROS <div align='center'> <img src='./doc/logo.jpg'/> </div> <div align='center'> English | <a href='./README.zh-CN.md'>中文</a> </div> --- ## Introduction In order to verify the multi-agent path planning algorithms on **ROS2**, this repository writes a **ROS2 wrapper** on the core code of some mapf algorithms(which mainly come from [HERE](https://github.com/whoenig/libMultiRobotPlanning)) as **ros2 plugins**. The content of [this repository](https://github.com/atb033/multi_agent_path_planning) also provides a lot of help. The following algorithms are currently implemented: + Conflict-Based Search (CBS) + Enhanced Conflict-Based Search (ECBS) + Prioritized Planning using SIPP(**example code** for SIPP, the code to check swap has not been written yet) ## Example The test case repository shown in gif is in [https://github.com/speedzjy/ridgeback_mapf](https://github.com/speedzjy/ridgeback_mapf/tree/humble)  ### Conflict-Based Search (CBS) Conflict Based Search(CBS) guarantees **optimal** solutions. CBS is a two-level algorithm where the high level search is performed in a constraint tree (CT) whose nodes include constraints on time and location for a single agent. At each node in the constraint tree a low-level search is performed to find new paths for all agents under the constraints given by the high-level node. On the low-level of the implementation, A* is used to find paths for individual agents. #### Reference - [Conflict-based search for optimal multi-agent path finding](https://doi.org/10.1016/j.artint.2014.11.006) ### Enhanced Conflict-Based Search (ECBS) Enhanced Conflict-Based-Search (ECBS) provides a **suboptimal** solution for multi-agent path finding. In other words, ECBS provides a "quick" solution, rather than the optimal solution provided by CBS. #### Reference - [Suboptimal Variants of the Conflict-Based Search Algorithm for the Multi-Agent Pathfinding Problem](https://doi.org/10.1609/socs.v5i1.18315) ### Prioritized Planning using SIPP Safe Interval Path Planning(SIPP) is a local planner for a single agent, using which, a collision-free plan can be generated, after considering the static and dynamic obstacles in the environment.In the case of multi-agent path planning with priority, the other agents in the environment are considered as dynamic obstacles. The trajectory of the agent that plans first will be regarded as the dynamic obstacle trajectory attached to the constraints of the agents that plan later. The implementation of Prioritized Planning using SIPP is an **example code**. The code to check swap has not been written yet. #### Reference - [SIPP: Safe Interval Path Planning for Dynamic Environments](https://www.cs.cmu.edu/~maxim/files/sipp_icra11.pdf) ## Build ``` mkdir -p mapf_ws/src && cd mapf_ws/src git clone -b humble https://github.com/speedzjy/mapf_ros.git cd .. colcon build --symlink-install ``` ## Launch The launch file is placed in the [mapf_base/launch](https://github.com/speedzjy/mapf_ros/blob/humble/mapf_base/launch/mapf_example.launch.py) There are two param files that need to be configured: [mapf_params.yaml](https://github.com/speedzjy/mapf_ros/blob/humble/mapf_base/params/mapf_params.yaml), [costmap_params](https://github.com/speedzjy/mapf_ros/blob/humble/mapf_base/params/costmap_params.yaml). ### Notes: (very importment) It is **strongly recommended** to use **low-resolution maps for mapf planning** search and **high-resolution maps for local planning** with a single robot. The reasons are as follows: - Both CBS and ECBS are space-time searches, if the map dimension is too high, the search will be extremely time-consuming. Solving MAPF optimally (i.e., finding a conflict-free solution of minimal cost) is NP-Complete. - Since the paths planned by mapf have time steps, in order to ensure that the robots do not collide, the minimum distance between each time step must be greater than the diame
Excerpt of 7,428 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:26a01c6db8c142eb, topic:robotics, topic:ros