Robotics

Rewire — stream ROS 2 topics to Rerun with zero ROS 2 build dependencies

A single Rust binary that streams live ROS 2 topics to Rerun without requiring any ROS 2 installation.

Deep Dive

Developer alvgaona has launched Rewire, a novel tool designed to eliminate the friction of visualizing ROS 2 data. Unlike traditional methods that require pulling in ROS 2 dependencies and building packages, Rewire is a single, standalone Rust binary. It connects directly to a robot's DDS or Zenoh network as a passive observer, meaning it doesn't join the ROS graph or require any ROS 2 installation on the host machine. This allows developers and researchers to instantly start visualizing live data streams with a simple command like `rewire record -a`.

Rewire supports 53 pre-mapped ROS 2 message types from common packages like `sensor_msgs` and `geometry_msgs`, covering critical data such as Image, PointCloud2, LaserScan, and TF transforms. For unsupported types, users can define custom mappings via a JSON5 config file without recompilation. The tool also provides per-topic diagnostics (Hz, bandwidth, latency) rendered within Rerun and includes platform support for Linux and macOS. By offering a dependency-free bridge, Rewire significantly lowers the barrier to real-time robotics data inspection and debugging.

Key Points
  • Zero ROS 2 dependencies: A single Rust binary that speaks DDS/Zenoh protocols directly, requiring no ROS 2 installation or build.
  • Supports 53 message types: Pre-mapped visualization for sensor_msgs (Image, PointCloud2), geometry_msgs, TF trees, and more, with custom JSON5 mapping.
  • Passive network observer: Installs via shell script and runs with `rewire record -a` to subscribe to all topics without joining the ROS graph.

Why It Matters

Drastically simplifies real-time robotics debugging by removing complex ROS 2 setup, enabling faster iteration and data inspection.