Skip to content

Commit

Permalink
Update documentation for working with GurumDDS (#4823)
Browse files Browse the repository at this point in the history
Co-authored-by: gurum <[email protected]>
(cherry picked from commit 1cce6f6)
  • Loading branch information
Hyunsoo0o0 authored and mergify[bot] committed Oct 25, 2024
1 parent 8f27b46 commit e2e9630
Showing 1 changed file with 36 additions and 40 deletions.
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.

0 comments on commit e2e9630

Please sign in to comment.