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)
|
||||
with [*Eclipse Cyclone DDS*](https://github.com/eclipse-cyclonedds/cyclonedds) as the underlying DDS
|
||||
implementation.
|
||||
**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).
|
||||
|
||||
## 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
|
||||
source directory, and then run colcon build in the usual manner:
|
||||
1. Install:
|
||||
|
||||
cd ros2_ws/src
|
||||
git clone https://github.com/ros2/rmw_cyclonedds
|
||||
git clone https://github.com/eclipse-cyclonedds/cyclonedds
|
||||
cd ..
|
||||
```
|
||||
apt install ros-eloquent-rmw-cyclonedds-cpp
|
||||
```
|
||||
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
|
||||
colcon build
|
||||
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