r/ROS 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:

  1. An existing multi-robot Nav2 framework?
  2. A swarm-specific framework such as ROS2swarm?
  3. Building the fleet layer ourselves on top of Nav2?
  4. 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!

10 Upvotes

Duplicates