Difference between revisions of "Advantech Robotic Suite/ROS DOMAIN ID"
Line 1: | Line 1: | ||
= Introduction = | = Introduction = | ||
− | <span style="font-size:larger;"> | + | <span style="font-size:larger;">ROS2 uses for communication is DDS. In DDS, the primary mechanism for having different logical networks share a physical network is known as the Domain ID. ROS2 nodes on the same domain can freely discover and send messages to each other, while ROS2 nodes on different domains cannot. All ROS2 nodes use domain ID 0 by default. To avoid interference between different groups of computers running ROS2 on the same network, a different domain ID should be set for each group.</span> |
<br><br> | <br><br> | ||
− | <span style="font-size: larger;">The ROS2 Suite offers a convenient method for modifying the | + | <span style="font-size: larger;">The ROS2 Suite offers a convenient method for modifying the ROS_DOMAIN_ID (default is 0).</span> |
− | |||
= Prerequisite = | = Prerequisite = | ||
Line 10: | Line 9: | ||
Supported Platform: x86_64 | Supported Platform: x86_64 | ||
− | |||
= How to = | = How to = | ||
Line 35: | Line 33: | ||
=== Note === | === Note === | ||
− | If you want to set ROS_DOMAIN_ID in host or container by manually, | + | If you want to set ROS_DOMAIN_ID in host or container by manually, please refer to [[ROS2_Suite/Q&A#How to set ROS_DOMAIN_ID|Q&A : How to set ROS_DOMAIN_ID]] |
Revision as of 04:08, 2 June 2023
Introduction
ROS2 uses for communication is DDS. In DDS, the primary mechanism for having different logical networks share a physical network is known as the Domain ID. ROS2 nodes on the same domain can freely discover and send messages to each other, while ROS2 nodes on different domains cannot. All ROS2 nodes use domain ID 0 by default. To avoid interference between different groups of computers running ROS2 on the same network, a different domain ID should be set for each group.
The ROS2 Suite offers a convenient method for modifying the ROS_DOMAIN_ID (default is 0).
Prerequisite
Supported Version: ROS2 Suite v1.3.0 or higher.
Supported Platform: x86_64
How to
Set ROS_DOMAIN_ID
Script to set ROS_DOMAIN_ID in range 0~101.
$ cd /usr/local/Advantech/ros $ ./change-ros-domain-id.sh
Confirm whether the variable is modified successfully in host.
$ echo $ROS_DOMAIN_ID
Confirm whether the variable is modified successfully in container.
$ docker exec -it edge-ros2-foxy bash $ echo $ROS_DOMAIN_ID
Note
If you want to set ROS_DOMAIN_ID in host or container by manually, please refer to Q&A : How to set ROS_DOMAIN_ID