Skip to content

Commit ed79bed

Browse files
brianabouchardDarya Clarkkwujciakalsora
authored
Addition of discovery server instructions (#417)
* Create new page + images on using Fast DDS discovery server * Add example configuration files --------- Co-authored-by: Darya Clark <[email protected]> Co-authored-by: kwujciak <[email protected]> Co-authored-by: Alberto Soragna <[email protected]>
1 parent 15d99f2 commit ed79bed

File tree

7 files changed

+81
-1
lines changed

7 files changed

+81
-1
lines changed

docs/setup/data/app-config.png

134 KB
Loading

docs/setup/data/fastdds.png

71.1 KB
Loading

docs/setup/data/logs.png

45.1 KB
Loading
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<dds>
3+
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
4+
<participant profile_name="super_client_profile" is_default_profile="true">
5+
<rtps>
6+
<builtin>
7+
<discovery_config>
8+
<discoveryProtocol>SUPER_CLIENT</discoveryProtocol>
9+
<discoveryServersList>
10+
<RemoteServer prefix="44.53.00.5f.45.50.52.4f.53.49.4d.41">
11+
<metatrafficUnicastLocatorList>
12+
<locator>
13+
<udpv4>
14+
<address>VM_IP</address>
15+
<port>11811</port>
16+
</udpv4>
17+
</locator>
18+
</metatrafficUnicastLocatorList>
19+
</RemoteServer>
20+
</discoveryServersList>
21+
</discovery_config>
22+
</builtin>
23+
</rtps>
24+
</participant>
25+
</profiles>
26+
</dds>

docs/setup/discovery-server.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Fast DDS Discovery Server
2+
3+
This page gives instructions on how to use a Fast DDS discovery server with the Create® 3 robot as a client.
4+
For more information on the Fast DDS discovery server, please refer to the [eProsima documentation](https://fast-dds.docs.eprosima.com/en/latest/fastdds/ros2/discovery_server/ros2_discovery_server.html).
5+
6+
*We’ll use the term "computer" to refer to any SBC (single board computer), virtual machine, personal computer, etc.*
7+
8+
## Configure Server
9+
10+
1. Start the discovery server on the computer that you wish to use as your server by replacing <SERVER_IP> with the computer's IP address.
11+
12+
fastdds discovery -i 0 -l <SERVER_IP> -p 11811
13+
14+
![](./data/fastdds.png)
15+
16+
## Configure Create® 3 Robot as a Client
17+
!!! important
18+
If you have enabled the discovery server previously and wish to change the Wi-Fi network you are connected to, make sure the discovery server is disabled in the configuration settings **before** connecting it to a **new** Wi-Fi network.
19+
The discovery server can be disabled by unchecking the "Enable Fast DDS discovery server?" checkbox in the [webserver application settings](../../webserver/application/), and then saving and restarting the application.
20+
21+
1. Make sure your Create® 3 robot is connected to Wi-Fi. If it isn't, follow the directions [here](../provision/).
22+
23+
1. Navigate to the robot’s web server via its IP address.
24+
Go to [webserver application settings](../../webserver/application/) and enable the checkbox for the discovery server.
25+
In the field `Address and port of Fast DDS discovery server`, enter the IP address of your server followed by `:11811` (the default port for the Fast DDS discovery server is `11811`, but it is configurable).
26+
27+
1. If you intend on connecting multiple robots to the same discovery server, make sure to give the Create® 3 robot a namespace.
28+
Restart the application after saving all settings.
29+
![](./data/app-config.png)
30+
31+
!!! attention
32+
It is recommended you check the [logs](../../webserver/logs/) to confirm the discovery server has been enabled on the robot. ![](./data/logs.png)
33+
34+
## Configure Other Devices as Super Clients
35+
When using a discovery server with a Create® 3 Robot, all other devices connected to the discovery server must be set up as super clients in order to communicate with the Create® 3 Robot.
36+
Other devices could be any device that runs ROS 2 and wants to communicate with the Create® 3 Robot.
37+
38+
1. Before starting, stop the ROS 2 Daemon with `ros2 daemon stop`.
39+
40+
1. Download the .xml file found [here](data/super_client_configuration_file.xml) and replace VM_IP with your device’s IP address.
41+
42+
1. Navigate to your device and open terminal. If the super client and server are on the same computer, make sure to open a new terminal (separate terminal from where the server is running).
43+
44+
1. Assign your .xml file as your default profile by entering the following.
45+
46+
export FASTRTPS_DEFAULT_PROFILES_FILE=/path/to/the/xml/profile
47+
48+
1. Now, try looking for the Create® 3 topics list by running `ros2 topic list`.

docs/setup/network-config.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ However, multicasting is often disabled on enterprise networks, and the [creator
2121
A complete overview of the multicast disabling process for both RMWs is outlined on the [ROS 2 Middleware Configuration](../xml-config) page.
2222

2323
#### Dedicated Network
24-
In cases where multiple robots will be using a busy network (e.g., university or corporate networks) or the existing network configuration is non-functional, creating a dedicated network for your Create® 3 robot can mitigate most issues.
24+
In cases where multiple robots will be using a busy network (e.g., university or corporate networks) or the existing network configuration is non-functional, creating a dedicated network for your Create® 3 robot can mitigate most issues.
25+
26+
#### Fast DDS Discovery Server
27+
The Fast DDS Discovery Server further limits discovery traffic by routing discovery through a single server.
28+
This can avoid known issues with scaling and multicasting.
29+
Instructions on how to set up a discovery server are outlined [here.](../discovery-server)
2530

2631
## Ethernet Over USB
2732
The Create® 3 robot has a USB-C® port that allows for ethernet network connectivity over USB.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ nav:
9696
- Galactic Config: setup/pi4galactic.md
9797
- Humble Config: setup/pi4humble.md
9898
- Network Time Protocol: setup/compute-ntp.md
99+
- Fast DDS Discovery Server: setup/discovery-server.md
99100
- APIs:
100101
- ROS 2 Interface: api/ros2.md
101102
- Docking: api/docking.md

0 commit comments

Comments
 (0)