2. Monitor Domain¶
This application is able to track different Entities that belong to the DDS communication protocol or are, in some sense, related to it. The DDS communication protocol (see DDS specification) divides a DDS network in independent partitions referred to as Domain. These Domains ensure that only entities in the same Domain can discover and communicate with each other, which depends on the Discovery Protocol being used. This application implements two different Discovery Protocols that could be used to monitor entities.
Several Domains could be monitored at the same time, and the Logical Entities and the DDS Entities under any Domain would never be shared with others (except for the special case of the Locator). This is not the case for the Physical Entities, which can be shared between entities in different Domains. Thus, the same Host or the same Locator could be related to entities in several Domains.
For the propose of monitoring a Domain, the application offers the button Initialize DDS Monitor, where a user can manually specify the configuration of a Discovery type. Once a Monitor is initialized in a specific Domain, the entities in this Domain will start to be discovered and their data collected. Every new entity or data discovered will be notified as a callback in the Issues Panel.
Note
Be aware that the discovery of the Fast DDS Monitor entities is made by DDS protocol, and so it will not be instantaneous or simultaneous.
2.1. Simple Discovery Monitor¶
The DDS Simple Discovery Protocol (SDP) relies on the discovery of individual entities through multicast communication. No prior knowledge of the network or its architecture is required in order to create a new monitor that connects with the Participants already running in the same network. In order to configure this kind of Domain monitoring, only the number of the Domain that is going to be tracked is needed. Additional options can be configured using the Advanced Options button (see Advanced Options).
2.2. Discovery Server Monitor¶
The Discovery Server discovery protocol is a Fast DDS feature that centralizes the discovery phase in a single or a network of Discovery Servers. This has been demonstrated to be very useful in order to reduce the discovery traffic and to avoid certain problems that could appear with the Simple Discovery Protocol and multicast.
In configure this type of Domain monitoring, a string with different
network addresses is required.
This string consists of one or several network addresses in the format of ip_address:port
, where each address
represents the IP-port pair where a Discovery Server is listening. Multiple network addresses are separated with
;
. It is only necessary to connect successfully to one of the specified addresses, as interconnected Discovery
Servers create a redundant and robust network. However, connecting to all servers is not required.
The following command demonstrates how to connect to one Discovery Server in your own localhost
listening in port 11811
, one in the same local network in address 192.168.1.2:12000
and a third
one in an external network in address 8.8.8.8:12345
.
"127.0.0.1:11811;192.168.1.2:12000;8.8.8.8:12345"
In order to clarify how to set this parameter, please visit the Discovery Server CLI tutorial. The parameter of the Discovery Server Init New Monitor button in this application will be used additionally as the input to the CLI command.
2.3. Advanced Options¶
Fast DDS Monitor allows configuring additional parameters using the Advanced Options button in the Initialize Monitor dialog.
In case of enabling some of the supported advanced options, OK button will be enabled only if all inputs are correct, so user must ensure of introducing the right values.
The list of supported advanced options is the following:
Easy Mode: It allows the user to specify the IP address of the remote discovery server used in a ROS 2 Easy Mode scenario. In case of enabling this option, the user must introduce a valid IPv4 address in the text input.