Freshen up the readme (#131)
This commit is contained in:
parent
6effe6bbc0
commit
9a4f567c6b
1 changed files with 29 additions and 28 deletions
57
README.md
57
README.md
|
@ -1,35 +1,36 @@
|
||||||
# A ROS2 RMW implementation for Eclipse Cyclone DDS
|
# ROS2 RMW for Eclipse Cyclone DDS
|
||||||
|
|
||||||
With the code in this repository, it is possible to use [*ROS2*](https://index.ros.org/doc/ros2)
|
**Easy, fast, reliable, small [Eclipse Cyclone DDS](https://github.com/eclipse-cyclonedds/cyclonedds) middleware** for ROS2. Make your **🐢 run like a 🚀** [Eclipse Cyclone DDS has great adopters](https://iot.eclipse.org/adopters/) and contributors in the ROS community and is an [Eclipse Foundation](https://www.eclipse.org) open source project of [Eclipse IoT](https://iot.eclipse.org) and [OpenADx](https://openadx.eclipse.org) (autonomous driving).
|
||||||
with [*Eclipse Cyclone DDS*](https://github.com/eclipse-cyclonedds/cyclonedds) as the underlying DDS
|
|
||||||
implementation.
|
|
||||||
|
|
||||||
## Getting, building and using it
|
This package lets [*ROS2*](https://index.ros.org/doc/ros2) use [*Eclipse Cyclone DDS*](https://github.com/eclipse-cyclonedds/cyclonedds) as the underlying DDS implementation.
|
||||||
|
Cyclone DDS is ready to use. It seeks to give the fastest, easiest, and most robust ROS2 experience. Let the Cyclone blow you away!
|
||||||
|
|
||||||
All it takes to get Cyclone DDS support into ROS2 is to clone this repository into the ROS2 workspace
|
1. Install:
|
||||||
source directory, and then run colcon build in the usual manner:
|
|
||||||
|
|
||||||
cd ros2_ws/src
|
```
|
||||||
git clone https://github.com/ros2/rmw_cyclonedds
|
apt install ros-eloquent-rmw-cyclonedds-cpp
|
||||||
git clone https://github.com/eclipse-cyclonedds/cyclonedds
|
```
|
||||||
cd ..
|
or
|
||||||
|
```
|
||||||
|
apt install ros-dashing-rmw-cyclonedds-cpp
|
||||||
|
```
|
||||||
|
|
||||||
|
2) Set env variable and run ROS2 apps as usual:
|
||||||
|
|
||||||
|
```export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp```
|
||||||
|
|
||||||
|
3) Confirm RMW: In Eloquent, to confirm which RMW you're using:
|
||||||
|
|
||||||
|
```ros2 doctor --report```
|
||||||
|
|
||||||
|
|
||||||
|
## Building from source and contributing
|
||||||
|
|
||||||
|
Note the `master` branch maintains compatibility with ROS releases Dashing and later, including the not-yet-released [*Foxy*](https://index.ros.org/doc/ros2/Releases/Release-Foxy-Fitzroy/).
|
||||||
|
|
||||||
|
If building ROS2 from source ([ros2.repos](https://github.com/ros2/ros2/blob/master/ros2.repos)), you already have this package and Cyclone DDS:
|
||||||
|
|
||||||
|
cd /opt/ros/master
|
||||||
rosdep install --from src -i
|
rosdep install --from src -i
|
||||||
colcon build
|
colcon build
|
||||||
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
|
||||||
This seems to work fine on Linux with a binary ROS2 installation as well as when building ROS2 from
|
|
||||||
source. On macOS it has only been tested in a source build on a machine in an "unsupported"
|
|
||||||
configuration (macOS 10.14 with SIP enabled, instead of 10.12 with SIP disabled), and apart from a
|
|
||||||
few details that are caused by the machine configuration, that works fine, too. There is no reason
|
|
||||||
why it wouldn't work the same on Windows, but I haven't tried.
|
|
||||||
|
|
||||||
If you want to use a pre-existing installation of Cyclone DDS, you don't need to clone it, but you
|
|
||||||
may have to tell CMake where to look for it using the `CycloneDDS_DIR` variable. That also appears
|
|
||||||
to be the case if there are other packages in the ROS2 workspace that you would like to use Cyclone
|
|
||||||
DDS directly instead of via the ROS2 abstraction.
|
|
||||||
|
|
||||||
## Known limitations
|
|
||||||
|
|
||||||
Cyclone DDS doesn't yet implement the DDS Security standard, nor does it fully implement
|
|
||||||
the Lifespan, Deadline and some of the Liveliness QoS modes. Consequently these features
|
|
||||||
of ROS2 are also not yet supported when using Cyclone DDS.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue