Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentation for working with GurumDDS (backport #4823) #4826

Merged
merged 1 commit into from
Oct 25, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,90 +1,82 @@
.. redirect-from::

Working-with-GurumNetworks-GurumDDS
Working-with-GurumNetworks-GurumDDS

GurumNetworks GurumDDS
======================

rmw_gurumdds is a implementation of the ROS middleware interface using GurumNetworks GurumDDS.
More information about GurumDDS is available on our website: https://gurum.cc/index_eng
``rmw_gurumdds`` is an implementation of the ROS middleware interface using GurumNetworks GurumDDS. For more information about GurumDDS, visit the `GurumNetworks website <https://gurum.cc/index_eng>`_.


Prerequisites
-------------
This guide assumes you have completed the ROS 2 environment setup process, either by :doc:`Installing ROS 2 via Deb Packages <../Ubuntu-Install-Debs>` or :doc:`Building ROS 2 from source on Ubuntu <../Alternatives/Ubuntu-Development-Setup>`.

The following description assumes that you have completed the 'Environment setup' process
from the :doc:`Installing ROS 2 via deb Packages <../Ubuntu-Install-Debs>` or
from the :doc:`Building ROS 2 on Ubuntu Linux <../Alternatives/Ubuntu-Development-Setup>`.

rmw_gurumdds requires version of GurumDDS-2.8.x.
Deb packages of GurumDDS are provided in the ROS 2 apt repositories on Ubuntu.
Windows binary installer of GurumDDS will be supported soon.
Version Requirements (`see the README for details <https://github.com/ros2/rmw_gurumdds>`_):

GurumDDS requires a license. See the next page: https://gurum.cc/free_trial_eng.html
================ ================
ROS 2 Distro GurumDDS Version
================ ================
rolling >= 3.2.0
jazzy >= 3.2.0
humble 3.1.x
================ ================

After requesting a trial license, please download the license from the license homepage.
After getting a license, move it to the following location.
Deb packages of GurumDDS are provided in the ROS 2 apt repositories on Ubuntu.
Windows binary installer of GurumDDS will be available soon.

============= ================
DDS Version License Location
============= ================
<= 2.7.2860 /etc/flame
>= 2.7.2861 /etc/gurumnet
2.8.x /etc/gurumnet
============= ================
You can obtain a free trial license from the `GurumDDS Free Trial page <https://gurum.cc/free_trial_eng.html>`_.

After acquiring a license, place it in the following location: ``/etc/gurumnet``

Install packages
----------------

The easiest way is to install from ROS 2 apt repository.
When ros-{DISTRO}-rmw-gurumdds-cpp is installed, gurumdds-2.8 is also installed.
Installation
------------
Option 1: Install from the ROS 2 apt repository (Recommended)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: bash

sudo apt install ros-{DISTRO}-rmw-gurumdds-cpp

Build from source code
----------------------

Building from source code is also another way to install.
This installs both ``rmw_gurumdds_cpp`` and ``gurumdds``.

First, clone rmw_gurumdds in the ROS 2 workspace source directory.
Option 2: Build from source code
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1. Clone the repository

.. code-block:: bash

cd ros2_ws/src
git clone https://github.com/ros2/rmw_gurumdds -b {DISTRO} ros2/rmw_gurumdds

Then, install necessary packages for GurumDDS.
2. Install dependencies:

.. code-block:: bash

cd ..
rosdep install --from src -i --rosdistro {DISTRO}

Finally, run colcon build.
3. Build the worksapce using Colcon:

.. code-block:: bash

colcon build --symlink-install

Switch to rmw_gurumdds
------------------------

Switch from other rmw to rmw_gurumdds by specifying the environment variable.
Switch to rmw_gurumdds
----------------------
Switch from other RMW implementations to rmw_gurumdds by setting the environment variable:

.. code-block:: bash

export RMW_IMPLEMENTATION=rmw_gurumdds_cpp

See also: :doc:`Working with multiple RMW implementations <../../How-To-Guides/Working-with-multiple-RMW-implementations>`
For more information on working with multiple RMW implementations, see :doc:`Working with multiple RMW implementations <../../How-To-Guides/Working-with-multiple-RMW-implementations>`.

Run the talker and listener
---------------------------

Now run ``talker`` and ``listener`` to test GurumDDS.
Don't forget to set up environment by setup script.
Testing the installation
------------------------
Run the ``talker`` and ``listener`` nodes to verify your installation:

.. code-block:: bash

Expand All @@ -93,3 +85,7 @@ Don't forget to set up environment by setup script.
.. code-block:: bash

ros2 run demo_nodes_cpp listener

If the nodes communicate successfully, your installation is working correctly.

.. note:: Remember to source your ROS 2 setup script before running these commands.