ROS2Forge CLI tool diagnoses multi-machine setups in one command
A first-year IIT Bombay student's tool catches DDS failures and clock drift instantly.
A first-year engineering student from the IIT Bombay Mars Rover team has open-sourced ros2forge, a command-line tool built to diagnose the exact ROS2 multi-machine networking issues that plague developers. The student was losing days to DDS discovery failures, UFW silently blocking UDP, clock drift causing handshake failures, and simple multicast misconfigurations. The tool condenses these checks into a single command: `pip install ros2forge && rosforge doctor`. It covers ROS2 installation status, RMW/DDS configuration, ROS_DOMAIN_ID mismatches, network interface multicast support, UFW and iptables rules, DDS port availability on UDP 7400, NTP synchronization, daemon health, and ICMP/UDP peer reachability. Every failure is paired with a ready-to-run fix command.
Beyond diagnostics, ros2forge includes a workspace scaffolder (`rosforge scaf`) that interactively builds a complete ROS2 workspace with preconfigured DDS settings, install scripts, and node boilerplate. The project is hosted on GitHub (emphiasarmlorn/ros2forge) but currently lacks a license, which a community member (tfoote) noted could hinder contributions—suggesting Apache-2.0 or offering the checks as plugins to the existing ros2doctor tool. This tool directly addresses the most painful aspects of ROS2 multi-machine setup, turning hours of troubleshooting into seconds.
- Detects 10+ failure categories including DDS discovery, UFW port blocking, clock drift, and multicast misconfigurations.
- Each detected failure outputs the exact terminal command to fix it, not just a generic error message.
- Includes a workspace scaffolder (`rosforge scaf`) that interactively sets up a complete ROS2 environment with DDS config and node templates.
Why It Matters
Saves hours of debugging for ROS2 developers deploying multi-robot systems in research and industry.