domain_bridge package from domain_bridge repo


Package Summary

Tags No category tags.
Version 0.3.0
License Apache 2.0
Build type AMENT_CMAKE

Repository Summary

Checkout URI
VCS Type git
VCS Version galactic
Last Updated 2021-07-08
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS 2 Domain Bridge

Additional Links

No additional links.


  • Jacob Perron


No additional authors.


A ROS 2 domain bridge. Bridges ROS communication between different ROS domain IDs.

See the design document for more details about how the bridge works.


  • ROS 2 (Galactic or newer)


Ubuntu 20.04

Replace $ROS_DISTRO with the ROS codename (e.g. galactic):

sudo apt install ros-$ROS_DISTRO-domain-bridge

From source


mkdir -p domain_bridge_ws/src
cd domain_bridge_ws
git clone src/
colcon build



There is a standalone executable that can be configured via a YAML file.

You must provide the path to a YAML configuration file as the last argument to the executable. For example,

ros2 run domain_bridge domain_bridge examples/example_bridge_config.yaml

There are also options to override the domain IDs set for all entities in the YAML config, for example,

ros2 run domain_bridge domain_bridge --from 7 --to 8 examples/example_bridge_config.yaml

Use the --help option for more usage information:

ros2 run domain_bridge domain_bridge --help


You can also use the example launch script, which takes a required launch argument config:

ros2 launch domain_bridge domain_bridge.launch.xml config:=examples/example_bridge_config.yaml

You can also override domain IDs with optional launch arguments from_domain and to_domain.

Here is an example of including the domain bridge launch script into your own:

  <include file="$(find-pkg-share domain_bridge)/launch/domain_bridge.launch.xml">
    <arg name="config" value="$(find-pkg-share domain_bridge)/examples/example_bridge_config.yaml" />
    <!-- Optionally override domain IDs -->
    <arg name="from_domain" value="42" />
    <arg name="to_domain" value="43" />

C++ library

There is a C++ API that can be integrated into your own process, you can find the API docs here.


Changelog for package domain_bridge

0.3.0 (2021-05-20)

  • Override handle_serialized_message (#21)
  • Do not crash if there\'s an error querying endpoint info (#20)
  • Add topic remapping (#19)
  • Fix doc link in readme (#18)
  • Contributors: Chris Lalancette, Jacob Perron, Tully Foote

0.2.0 (2021-04-08)

  • Stop installing test resources (#17)
  • Add explicit link against stdc++fs (#16)
  • Contributors: Scott K Logan

0.1.0 (2021-04-05)

  • Change default value of deadline and lifespan (#15)
  • Include rclcpp from-source in CI
  • Add missing test dependency
  • Add QoS overriding
  • Add launch file (#9)
  • Ignore generated Python files (#12)
  • Add \'--from\' and \'--to\' options to executable + add tests (#7)
  • Automatically match QoS settings across the bridge (#5)
  • Refactor YAML parsing and allow default domain IDs (#6)
  • Support for configuring domain bridge with YAML (#4)
  • Fix topic bridge less operator (#3)
  • Add GitHub workflow for CI
  • Add unit tests
  • Add domain bridge library (#1)
  • Contributors: Jacob Perron

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files


No service files found


No plugins found.

Recent questions tagged domain_bridge at