Difference between revisions of "Advantech Robotic Suite/ROS DOMAIN ID"

From ESS-WIKI
Jump to: navigation, search
Line 16: Line 16:
 
=== Set ROS_DOMAIN_ID  ===
 
=== Set ROS_DOMAIN_ID  ===
  
<span style="font-size:larger;">Script for set ROS_DOMAIN_ID.</span>
+
<span style="font-size:larger;">Script to set ROS_DOMAIN_ID in range 0~101.</span>
 
<pre>$ cd /usr/local/Advantech/ros
 
<pre>$ cd /usr/local/Advantech/ros
 
$ ./change-ros-domain-id.sh
 
$ ./change-ros-domain-id.sh

Revision as of 05:03, 2 June 2023

Introduction

ROS 2 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. ROS 2 nodes on the same domain can freely discover and send messages to each other, while ROS 2 nodes on different domains cannot. All ROS 2 nodes use domain ID 0 by default. To avoid interference between different groups of computers running ROS 2 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
ROS2 set ROS_DOMAIN_ID

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