Your ROS 2 robot, live in Rerun.
the project · where it's going
Every team building machines that act in the physical world has one place to build, deploy and observe them.
Take the friction out of working with real robots — so the loop from running, to understanding, to shipping is simple and fast.
autonomous mobile robots · humanoids · drones · industrial automation · autonomous driving · embodied AI
One product, shipped: the bridge. Free today, and free forever.
Where that actually is today
Closed source for now. The business model isn't the bridge.
history · the model · the gaps
nuScenes — lidar, cameras and radar from a drive. Grab it and move the camera.
An entity-component system — with a time axis bolted through it.
3D · 2D · Time series · Text log · Map · Graph · Dataframe
Every view is a query over that tree — and the layout is data too, so two people can watch the same stream completely differently.
Rerun is a viewer and a log format. It has never claimed to be a middleware.
Everything on the right is a documented decision — which is exactly why the interesting work sits at the edge: getting live robot data in, without asking the robot for permission.
four attempts, and what they ran into
“We are in the process right now of hiring someone who will own the ROS 2 integration full time. There will be a bridge but there were some technical maturity issues with the approach in this repo.”
Nikolaus West, Co-founder & CEO, Rerun
rerun-io/rerun-ros issue #14 · 1 April 2025
16 modalities onto real archetypes. Everything else falls back to schema reflection — queryable, not drawn. ROS 1, never.
Every row lands on the right of that line — and getting there needs rosbag2, which means ROS 2 on the robot.
Foxglove's viewer is ROS-free — its bridge isn't. That's the distinction worth being precise about.
And these aren't mutually exclusive: rviz for the control loop you're debugging, rewire for the recording you send to someone who has no ROS at all.
what it does · how it holds up · a live demo
It never joins your graph. Rewire is a passive observer on the wire — norclcpp, no setup.bash, no ROS install, no load on your nodes.
rewire + rewire-viewerSensors, geometry, nav, TF and the URDF map to Rerun archetypes on their own.
74 built-in types
The same conventions Rerun uses for MCAP
Any custom message, mapped in JSON5. No code, no recompile.
Your own types
Scaffolded from your live graph
A recorded bag runs through the same mappings as the live bridge — at recorded pace, or as fast as the machine allows.
Bag playback
rewire play · MCAP in, viewer or .rrd out
Point it at a graph and sensors, geometry, nav, the TF tree and the URDF map to Rerun archetypes on their own — the same conventions Rerun uses for MCAP.
| ROS 2 type | Rerun archetype |
|---|---|
| sensor_msgs/Image | Image · DepthImage |
| sensor_msgs/CompressedImage | EncodedImage · VideoStream |
| sensor_msgs/PointCloud2 | Points3D |
| sensor_msgs/CameraInfo | Pinhole |
| nav_msgs/OccupancyGrid | GridMap |
| nav_msgs/Odometry | InstancePoses3D · Ellipsoids3D · Scalars |
| sensor_msgs/Temperature, +4 more | Measurements |
| tf2_msgs/TFMessage | Transform3D · CoordinateFrame |
| String on /robot_description | Asset3D |
Every proprietary message is just fields. Point each one at a Rerun archetype in a small JSON5 file — and it renders like a built-in.
/tf.Every metric is a Rerun entity — plotted on the same timeline as your robot's data, in the same recording.
A publisher outpaces the queue: Hz craters, drops jump. One scrub bar shows both.
No rmw, no middleware to match. Rewire reads the transport itself — and it reads both at the same time.
Humble · Jazzy · Kilted · Lyrical · Rolling
one binary
Live demo.
Rewire finds every topic on its own and streams it into Rerun in real time.
What to watch
No config. No topic list.
Data: Computer Vision and Aerial Robotics group (CVAR), Universidad Politécnica de Madrid
My attendance at this conference was supported by SHEREC — Safe, Healthy and Environmental Ship Recycling — funded by the European Union under Horizon Europe.
Grant agreement 101136056 · HORIZON-CL4-2023-HUMAN-01-CNECT
The Computer Vision and Aerial Robotics group (CVAR), Universidad Politécnica de Madrid — for the racing-drone flight in the demo, and for Aerostack2.
Rewire is independent: it is not affiliated with, endorsed by or sponsored by Rerun Technologies AB. Rerun is a trademark of Rerun Technologies AB; ROS and ROS 2 are trademarks of Open Robotics.
One command to install. One command to visualize.
Newv0.14.0 · macOS & Linux
prefix.dev·APT·GitHub Releases
Questions or feedback? github.com/rewire-run/rewire/discussions