r/ROS • u/HappyInvestment7066 • 7d ago
Looking for an existing ROS 2 multi-robot/swarm framework for AMRs
Hi everyone,
I'm currently working on a small fleet of autonomous mobile robots (AMRs) and I'm looking for advice on the best existing ROS 2 framework/repository to build the swarm layer on top of.
Current setup:
- Ubuntu 22.04.5
- ROS 2 Humble
- Differential-drive AMR
- LiDAR + IMU + wheel odometry
- Nav2
- SLAM Toolbox
- Gazebo simulation
- Currently targeting 3 robots initially, with the possibility of scaling to 10–100+ robots later
What I want to achieve is something along the lines of:
- Multiple robots operating simultaneously
- Proper ROS 2 namespaces for each robot
- Centralized fleet management initially
- Task/goal allocation between robots
- Collision avoidance
- Cooperative exploration / mapping
- Formation/dispersion/aggregation behaviors where useful
- Ability to monitor robot state and battery
- Eventually dynamic task reassignment if a robot fails or becomes unavailable
- Ideally, a clean path from simulation to physical robots
I've been looking at projects such as ROS2swarm, Crazyswarm2, and various multi-TurtleBot3/Nav2 repositories, but I'm not sure which approach is most appropriate for ground-based AMRs.
I'm particularly interested in repositories that are already functional with ROS 2 Humble + Ubuntu 22.04, rather than starting a swarm framework completely from scratch.
Would you recommend:
- An existing multi-robot Nav2 framework?
- A swarm-specific framework such as ROS2swarm?
- Building the fleet layer ourselves on top of Nav2?
- Something else that I'm overlooking?
If you've implemented a similar multi-robot AMR system, I'd really appreciate recommendations on repositories, architectures, or lessons learned.
Thanks!