ROS 2 Bridge
The fastest way to integrate a robot that already runs ROS 2.
ROS 2 robots integrate through an external bridge that translates ROS 2 (DDS) topics to and from the local Zenoh Cap'n Proto topics the agent consumes. The agent itself always uses the local-Zenoh Cap'n Proto path, so from its perspective a bridged ROS 2 robot looks identical to a native one.
How it fits
ROS 2 stack (DDS) <──► ROS 2 ↔ Zenoh bridge <──► local Zenoh (Cap'n Proto) <──► rover-agent <──► cloud
- Uplink: the bridge subscribes to your ROS 2 telemetry/feedback topics, converts them
to Cap'n Proto, and publishes them on the local Zenoh
robot/**key space. - Downlink: the bridge subscribes to the local
commandkey, converts commands into ROS 2 messages, and publishes them onto your ROS 2 graph.
The local Zenoh keys carry no robot id — the agent adds the robot's identity when it relays to and from the cloud.
See Architecture for the end-to-end flow.
What you do
- Install the agent on the robot's Linux host by running its bootstrap command, which installs and enrolls the robot in one step.
- Clone and build the bridge. Clone the Rover Nexus ROS 2 bridge repository into your ROS 2 workspace and build it with your usual ROS 2 build tool (for example,
colcon build), then run it alongside your ROS 2 stack (same host or same DDS domain). . - Map topics between your ROS 2 message types and the Rover Nexus messaging contract:
- Telemetry, faults/events, objects, mission feedback → uplink.
- Mission commands, teleop, mode/velocity, settings, field rules → downlink. See Telemetry Mappings. The target Cap'n Proto message definitions are available via the client libraries.
- Declare capabilities so the cloud can match missions to the robot.
Topic mapping (conceptual)
| ROS 2 side | Direction | Local Zenoh key |
|---|---|---|
| Your telemetry/odometry/status topics | Uplink | a sub-key of robot/**, e.g. robot/telemetry/motion |
| Your fault/diagnostic topics | Uplink | a sub-key of robot/**, e.g. robot/fault |
| Your command/teleop topics | Downlink | command (or command/**) |
You run the bridge by cloning the Rover Nexus ROS 2 bridge repository into your ROS 2 workspace and building it. The supported ROS 2 distributions and the bridge's configuration/topic-mapping format are coming soon — contact support@rovernexus.com for early access.
Next steps
- Telemetry Mappings
- Messaging reference
- Capabilities
- Client Libraries — the Cap'n Proto message definitions the bridge translates to and from, plus Rust/Python/C++ bindings.