Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2025-04-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 3.6.4 |
| rmw_gurumdds_cpp | 3.6.4 |
README
rmw_gurumdds
Implementation of the ROS middleware interface using GurumNetworks GurumDDS. Installation guide is available.
Requirements
Required version of GurumDDS depends on the version of this project.
| rmw_gurumdds | GurumDDS |
|---|---|
| 3.6.0 or higher | higher than 3.1.0 |
| 3.4.2 or higher | higher than 3.0.0 |
| 3.3.0 or higher | higher than 2.8.3165 |
| 3.2.0 or higher | 2.8.3140 or higher |
| 3.1.2 or higher | 2.8.x |
| 3.1.1 or lower | 2.7.x |
Packages
This project consists of three packages, gurumdds_camke_module, rmw_gurumdds_cpp and demo_nodes_cpp_native_gurumdds.
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
If GurumDDS is normally installed through the debian package, GURUMDDS_HOME will be set automatically.
For example, if GURUMDDS_HOME=~/gurumdds is set, the directory ~/gurumdds will be:
gurumdds
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── dds.h
│ ├── typesupport.h
│ └── xml.h
└── lib
└── libgurumdds.so
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation.
For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=~/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true.
gurumdds.yaml will be located in /etc/gurumnet/gurumdds if gurumdds is installed through the debian package.
If you are not familiar with YAML, please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
rmw_gurumdds_shared_cpp
This package was integrated into rmw_gurumdds_shared_cpp contains some functions used by rmw_gurumdds_cpp.rmw_gurumdds_cpp.
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos.
This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are three active branches in this project: master, iron, humble. New changes made in ROS2 repository will be applied to the master branch. If you want to use this project with ROS2 Rolling Ridley or Iron Irwini, please use master or iron branch, respectively.
Implementation Status
Currently some features are not fully implemented.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2025-05-26 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 5.0.0 |
| rmw_gurumdds_cpp | 5.0.0 |
README
rmw_gurumdds
Implementation of the ROS 2 middleware interface using GurumNetworks GurumDDS. Installation guide is available here.
Requirements
Required version of GurumDDS depends on the version of this project. | rmw_gurumdds | GurumDDS | |————————–|—————————–| | >= 5.0.0 | >= 3.2.0 | | >= 3.6.0, < 5.0.0 | 3.1.x | | >= 3.4.2, < 3.6.0 | 3.0.x | | >= 3.3.0, < 3.4.2 | >= 2.8.3165, < 3.0.0 | | 3.2.x | >= 2.8.3140, < 2.8.3165 | | >= 3.1.2, < 3.2.0 | >= 2.8.0, < 2.8.3140 | | <= 3.1.1 | 2.7.x |
Packages
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
If GurumDDS is normally installed through the debian package, GURUMDDS_HOME will be set automatically.
For example, if GURUMDDS_HOME=~/gurumdds is set, the directory ~/gurumdds will be:
gurumdds
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── dds.h
│ ├── typesupport.h
│ └── xml.h
└── lib
└── libgurumdds.so
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation.
For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=~/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true.
gurumdds.yaml will be located in /etc/gurumnet/gurumdds if gurumdds is installed through the debian package.
Please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos. This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are three active branches in this project: rolling, jazzy, and humble.
New changes made in ROS2 repository will be applied to the rolling branch.
Implementation Status
Following features are not fully implemented yet.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2025-08-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 6.0.1 |
| rmw_gurumdds_cpp | 6.0.1 |
README
rmw_gurumdds
Implementation of the ROS 2 middleware interface using GurumNetworks GurumDDS. Installation guide is available here.
Requirements
Required version of GurumDDS depends on the version of this project. | rmw_gurumdds | GurumDDS | |————————–|—————————–| | >= 6.0.0 | >= 3.2.9 | | >= 5.0.0 | >= 3.2.0 | | >= 3.6.0, < 5.0.0 | 3.1.x | | >= 3.4.2, < 3.6.0 | 3.0.x | | >= 3.3.0, < 3.4.2 | >= 2.8.3165, < 3.0.0 | | 3.2.x | >= 2.8.3140, < 2.8.3165 | | >= 3.1.2, < 3.2.0 | >= 2.8.0, < 2.8.3140 | | <= 3.1.1 | 2.7.x |
Packages
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
If GurumDDS is normally installed through the debian package, GURUMDDS_HOME will be set automatically.
For example, if GURUMDDS_HOME=~/gurumdds is set, the directory ~/gurumdds will be:
gurumdds
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── dds.h
│ ├── typesupport.h
│ └── xml.h
└── lib
└── libgurumdds.so
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation.
For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=~/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true.
gurumdds.yaml will be located in /etc/gurumnet/gurumdds if gurumdds is installed through the debian package.
Please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos. This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are three active branches in this project: rolling, jazzy, and humble.
New changes made in ROS2 repository will be applied to the rolling branch.
Implementation Status
Following features are not fully implemented yet.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2025-08-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 6.0.1 |
| rmw_gurumdds_cpp | 6.0.1 |
README
rmw_gurumdds
Implementation of the ROS 2 middleware interface using GurumNetworks GurumDDS. Installation guide is available here.
Requirements
Required version of GurumDDS depends on the version of this project. | rmw_gurumdds | GurumDDS | |————————–|—————————–| | >= 6.0.0 | >= 3.2.9 | | >= 5.0.0 | >= 3.2.0 | | >= 3.6.0, < 5.0.0 | 3.1.x | | >= 3.4.2, < 3.6.0 | 3.0.x | | >= 3.3.0, < 3.4.2 | >= 2.8.3165, < 3.0.0 | | 3.2.x | >= 2.8.3140, < 2.8.3165 | | >= 3.1.2, < 3.2.0 | >= 2.8.0, < 2.8.3140 | | <= 3.1.1 | 2.7.x |
Packages
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
If GurumDDS is normally installed through the debian package, GURUMDDS_HOME will be set automatically.
For example, if GURUMDDS_HOME=~/gurumdds is set, the directory ~/gurumdds will be:
gurumdds
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── dds.h
│ ├── typesupport.h
│ └── xml.h
└── lib
└── libgurumdds.so
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation.
For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=~/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true.
gurumdds.yaml will be located in /etc/gurumnet/gurumdds if gurumdds is installed through the debian package.
Please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos. This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are three active branches in this project: rolling, jazzy, and humble.
New changes made in ROS2 repository will be applied to the rolling branch.
Implementation Status
Following features are not fully implemented yet.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | galactic |
| Last Updated | 2024-03-27 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 2.5.0 |
| rmw_gurumdds_cpp | 2.5.0 |
| rmw_gurumdds_shared_cpp | 2.5.0 |
README
rmw_gurumdds
Implementation of the ROS middleware interface using GurumNetworks GurumDDS.
Requirements
Required version of GurumDDS depends on the version of this project.
| rmw_gurumdds | GurumDDS |
|---|---|
| 2.5.0 or higher | 3.1.0 or higher |
| 2.4.0 or higher | 3.0.1 or higher |
| 2.3.0 or higher | 2.8.3140 or higher |
| 2.2.0 or higher | 2.8.x |
| 2.1.0 or higher | 2.7.x |
| 2.0.1 or lower | 2.6.x(deprecated) |
Packages
This project consists of four packages, gurumdds_camke_module, rmw_gurumdds_cpp, rmw_gurumdds_shared_cpp and demo_nodes_cpp_native_gurumdds.
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
For example, if you set GURUMDDS_HOME=~/gurumdds, the directory ~/gurumdds should look like this:
gurumdds
├── gurumdds.lic
├── gurumdds.yaml
├── examples
│ └── ...
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── typesupport.h
│ └── xml.h
├── lib
│ └── libgurumdds.so
├── Makefile
└── tool
└── gurumidl
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation. For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=$GURUMDDS_HOME/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true. If you are not familiar with YAML, please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
rmw_gurumdds_shared_cpp
rmw_gurumdds_shared_cpp contains some functions used by rmw_gurumdds_cpp.
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos. This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are four active branches in this project: master, humble, galactic and foxy. New changes made in ROS2 repository will be applied to the master branch. If you want to use this project with ROS2 Rolling Ridley, Humble Hawksbill or Foxy Fitzroy, please use master, humble or foxy branch, respectively.
Implementation Status
Currently some features are not fully implemented.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Repository Summary
| Description | Implementation of the ROS middleware interface using GurumNetworks GurumDDS. |
| Checkout URI | https://github.com/ros2/rmw_gurumdds.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2025-08-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gurumdds_cmake_module | 6.0.1 |
| rmw_gurumdds_cpp | 6.0.1 |
README
rmw_gurumdds
Implementation of the ROS 2 middleware interface using GurumNetworks GurumDDS. Installation guide is available here.
Requirements
Required version of GurumDDS depends on the version of this project. | rmw_gurumdds | GurumDDS | |————————–|—————————–| | >= 6.0.0 | >= 3.2.9 | | >= 5.0.0 | >= 3.2.0 | | >= 3.6.0, < 5.0.0 | 3.1.x | | >= 3.4.2, < 3.6.0 | 3.0.x | | >= 3.3.0, < 3.4.2 | >= 2.8.3165, < 3.0.0 | | 3.2.x | >= 2.8.3140, < 2.8.3165 | | >= 3.1.2, < 3.2.0 | >= 2.8.0, < 2.8.3140 | | <= 3.1.1 | 2.7.x |
Packages
gurumdds_cmake_module
gurumdds_cmake_module looks for GurumDDS, and provides the information to other packages.
For gurumdds_cmake_module to work properly, you need to set GURUMDDS_HOME environment variable to where GurumDDS is located.
If GurumDDS is normally installed through the debian package, GURUMDDS_HOME will be set automatically.
For example, if GURUMDDS_HOME=~/gurumdds is set, the directory ~/gurumdds will be:
gurumdds
├── include
│ └── gurumdds
│ ├── dcps.h
│ ├── dcpsx.h
│ ├── dds.h
│ ├── typesupport.h
│ └── xml.h
└── lib
└── libgurumdds.so
rmw_gurumdds_cpp
rmw_gurumdds_cpp is the rmw implementation. You can use this rmw implementation by setting environment variable RMW_IMPLEMENTATION=rmw_gurumdds_cpp after installation.
For rmw_gurumdds_cpp to work properly, make sure to set environment variable GURUMDDS_CONFIG=~/gurumdds.yaml and set allow_loopback variable in gurumdds.yaml to true.
gurumdds.yaml will be located in /etc/gurumnet/gurumdds if gurumdds is installed through the debian package.
Please note that YAML only supports spaces, not tabs, for indentation.
DATA:
allow_loopback: true
dynamic_buffer: true
mtu: auto # auto | number(1472)
bitmap_capacity: 256
buffer_capacity: 512
demo_nodes_cpp_native_gurumdds
demo_nodes_cpp_natvie_gurumdds is similar to demo_nodes_cpp_native from ROS2 demos. This demo shows how to access the native handles of rmw_gurumdds_cpp.
This package is disabled by default.
Branches
There are three active branches in this project: rolling, jazzy, and humble.
New changes made in ROS2 repository will be applied to the rolling branch.
Implementation Status
Following features are not fully implemented yet.
- DDS Security
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.