Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ros2/rmw_gurumdds
Implementation of the ROS middleware interface using GurumNetworks GurumDDS.
https://github.com/ros2/rmw_gurumdds
Last synced: about 1 month ago
JSON representation
Implementation of the ROS middleware interface using GurumNetworks GurumDDS.
- Host: GitHub
- URL: https://github.com/ros2/rmw_gurumdds
- Owner: ros2
- License: apache-2.0
- Created: 2019-06-05T05:14:53.000Z (over 5 years ago)
- Default Branch: rolling
- Last Pushed: 2024-10-25T01:59:59.000Z (about 2 months ago)
- Last Synced: 2024-10-25T02:14:19.062Z (about 2 months ago)
- Language: C++
- Homepage: http://gurum.cc
- Size: 930 KB
- Stars: 13
- Watchers: 4
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# rmw_gurumdds
Implementation of the ROS 2 middleware interface using [GurumNetworks GurumDDS](https://www.gurum.cc/index_eng).
Installation guide is available [here](https://docs.ros.org/en/humble/Installation/DDS-Implementations/Working-with-GurumNetworks-GurumDDS.html).## 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](https://github.com/ros2) will be applied to the `rolling` branch.## Implementation Status
Following features are not fully implemented yet.
- DDS Security