ROS 2 Bridge
The fastest way to integrate a robot that already runs ROS 2.
ROS 2 robots integrate through the public
rover_ros2_bridge package.
The bridge translates ROS 2 (DDS) topics, services, and actions to and from the
same Cap'n Proto messages the agent consumes over a
Unix domain socket. From the agent's perspective a
bridged ROS 2 robot looks identical to a native one.
How it fits
ROS 2 stack (DDS) <──► rover_ros2_bridge <──► Unix domain socket (Cap'n Proto) <──► rover-agent <──► cloud
- Uplink: the bridge subscribes to your ROS 2 telemetry and feedback topics, converts them to Cap'n Proto, and sends them to the agent over the socket.
- Downlink: the bridge receives commands from the agent, converts them into ROS 2 messages, and publishes them onto your ROS 2 graph.
See Architecture for the end-to-end flow and Unix Domain Socket for the hop the bridge uses.
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.
- Enable the Unix domain socket hop in
robot.tomlso the agent listens on the socket the bridge connects to (default/run/rover-agent/agent.sock). See Unix Domain Socket. - Clone and build the bridge. Clone
rover_ros2_bridgeinto your ROS 2 workspace assrc/rover_ros2_bridgeand follow that repository's install and build scripts. Then run it alongside your ROS 2 stack on the same host as the agent. - Map topics between your ROS 2 message types and the Rover Nexus messaging contract using the bridge's YAML configuration (editable from its built-in web UI):
- 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.
Requirements
- ROS 2 Jazzy on Ubuntu 24.04
- The bridge runs on the same host as the agent (the socket hop is local)
- The agent's
[local_transport]is set touds
The repository documents launch, systemd, the mapping schema, Nav2, geodesy, and TF.
Next steps
- Set Up the ROS 2 Bridge
- Copper Bridge: the equivalent path for copper-rs robots
- Telemetry Mappings
- Messaging reference
- Coordinate Frames
- Capabilities
- Client Libraries: the Cap'n Proto message definitions the bridge translates to and from, plus Rust/Python/C++ bindings.