Skip to content

Commit 7169f77

Browse files
Remove nested section titles (#29)
* Fix duplicate TOC entries for Create3 Republisher * Remove duplicate TOC entries for Discovery Server * Remove duplicate TOC entries for simple discovery
1 parent e6e9c9e commit 7169f77

File tree

3 files changed

+101
-86
lines changed

3 files changed

+101
-86
lines changed

setup/discovery_server.md

Lines changed: 56 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -339,30 +339,49 @@ You may also need to call `ros2 topic list` twice to get a full list of topics.
339339

340340
## Example Configuration
341341

342+
### 2 Robots and 1 User Computer
343+
344+
#### Recommended Architecture
345+
342346
{% tabs discovery %}
343347
{% tab discovery galactic %}
344348
```warning
345349
**ROS 2 Galactic is no longer supported.** Please consider upgrading to a newer release
346350
```
347351

348352
There is currently no example for Galactic.
349-
350353
{% endtab %}
351354
{% tab discovery humble %}
355+
Each robot is always configured with its own discovery server. This allows each robot to operate independently even if the WiFi is disconnected. Since there are two robots and therefore two discovery servers in the system, the discovery servers must be assigned unique server IDs. In this case, the first robot will be assigned server ID 0 and the second robot will be assigned server ID 1. Similarly, the robots need unique namespaces in order for their topics to be distinguished from each other. In this case they will be assigned as `/robot1` and `/robot2`.
352356

353-
### 2 Robots and 1 User Computer
357+
Although both robots are present in the same system, this example will not include direct inter-robot communication. Each robot's discovery server will be isolated from the other. Instead, the robots will both communicate with the user computer which can be thought of as a command center. This allows for the number of robots to be scaled up while minimizing the load on the network.
354358

355-
#### Recommended Architecture
359+
The user computer will connect to both discovery servers, allowing the user computer to see all of the ROS nodes / topics from each of the robots. Each of the robots will be able to see all of the ROS nodes / topics from the user computer as well. This allows the user computer to send commands to each of the robots, coordinating the system and sharing information across the fleet as necessary.
360+
361+
Although one could run another discovery server on the user computer, this would add significant load on all of the robots unless done in such a way that the server was isolated from the robot servers. This is not recommended for most use cases.
362+
{% endtab %}
363+
{% tab discovery jazzy %}
356364
Each robot is always configured with its own discovery server. This allows each robot to operate independently even if the WiFi is disconnected. Since there are two robots and therefore two discovery servers in the system, the discovery servers must be assigned unique server IDs. In this case, the first robot will be assigned server ID 0 and the second robot will be assigned server ID 1. Similarly, the robots need unique namespaces in order for their topics to be distinguished from each other. In this case they will be assigned as `/robot1` and `/robot2`.
357365

358366
Although both robots are present in the same system, this example will not include direct inter-robot communication. Each robot's discovery server will be isolated from the other. Instead, the robots will both communicate with the user computer which can be thought of as a command center. This allows for the number of robots to be scaled up while minimizing the load on the network.
359367

360368
The user computer will connect to both discovery servers, allowing the user computer to see all of the ROS nodes / topics from each of the robots. Each of the robots will be able to see all of the ROS nodes / topics from the user computer as well. This allows the user computer to send commands to each of the robots, coordinating the system and sharing information across the fleet as necessary.
361369

362370
Although one could run another discovery server on the user computer, this would add significant load on all of the robots unless done in such a way that the server was isolated from the robot servers. This is not recommended for most use cases.
371+
{% endtab %}
372+
{% endtabs %}
363373

364374
#### Example Robot Setup
365375

376+
{% tabs example21 %}
377+
{% tab example21 galactic %}
378+
```warning
379+
**ROS 2 Galactic is no longer supported.** Please consider upgrading to a newer release
380+
```
381+
382+
There is currently no example for Galactic.
383+
{% endtab %}
384+
{% tab example21 humble %}
366385
<table>
367386
<tr style="text-align:center">
368387
<th>Robot 1</th>
@@ -417,46 +436,8 @@ Although one could run another discovery server on the user computer, this would
417436
</td>
418437
</tr>
419438
</table>
420-
421-
422-
#### Example User Computer Setup
423-
From the robot configuration the robot server IDs and the ROS Domain ID are known, and from the robots themselves or the router the IP addresses are known. It is recommended that the robot IPs be reserved on the router so that they always remain the same and this process does not need to be repeated. Running the user computer configuration script as described above, would look as follows:
424-
425-
```
426-
ROS_DOMAIN_ID [0]: 0
427-
Enter the information for the first discovery server
428-
Discovery Server ID [0]: 0
429-
Discovery Server IP: 192.168.131.5
430-
Discovery Server Port [11811]:
431-
Re-enter the last server (r), add another server (a), or done (d): a
432-
Enter the information for the next discovery server
433-
Discovery Server ID [0]: 1
434-
Discovery Server IP: 192.168.131.6
435-
Discovery Server Port [11811]:
436-
Re-enter the last server (r), add another server (a), or done (d): d
437-
Configuring:
438-
ROS_DOMAIN_ID=0
439-
ROS_DISCOVERY_SERVER="192.168.131.5:11811;192.168.131.6:11811;"
440-
[sudo] password for cpr-1234:
441-
Source your ~/.bashrc file to apply changes
442-
```
443-
444439
{% endtab %}
445-
{% tab discovery jazzy %}
446-
447-
### 2 Robots and 1 User Computer
448-
449-
#### Recommended Architecture
450-
Each robot is always configured with its own discovery server. This allows each robot to operate independently even if the WiFi is disconnected. Since there are two robots and therefore two discovery servers in the system, the discovery servers must be assigned unique server IDs. In this case, the first robot will be assigned server ID 0 and the second robot will be assigned server ID 1. Similarly, the robots need unique namespaces in order for their topics to be distinguished from each other. In this case they will be assigned as `/robot1` and `/robot2`.
451-
452-
Although both robots are present in the same system, this example will not include direct inter-robot communication. Each robot's discovery server will be isolated from the other. Instead, the robots will both communicate with the user computer which can be thought of as a command center. This allows for the number of robots to be scaled up while minimizing the load on the network.
453-
454-
The user computer will connect to both discovery servers, allowing the user computer to see all of the ROS nodes / topics from each of the robots. Each of the robots will be able to see all of the ROS nodes / topics from the user computer as well. This allows the user computer to send commands to each of the robots, coordinating the system and sharing information across the fleet as necessary.
455-
456-
Although one could run another discovery server on the user computer, this would add significant load on all of the robots unless done in such a way that the server was isolated from the robot servers. This is not recommended for most use cases.
457-
458-
#### Example Robot Setup
459-
440+
{% tab example21 jazzy %}
460441
<table>
461442
<tr style="text-align:center">
462443
<th>Robot 1</th>
@@ -511,9 +492,19 @@ Although one could run another discovery server on the user computer, this would
511492
</td>
512493
</tr>
513494
</table>
514-
495+
{% endtab %}
496+
{% endtabs %}
515497

516498
#### Example User Computer Setup
499+
{% tabs computer21 %}
500+
{% tab computer21 galactic %}
501+
```warning
502+
**ROS 2 Galactic is no longer supported.** Please consider upgrading to a newer release
503+
```
504+
505+
There is currently no example for Galactic.
506+
{% endtab %}
507+
{% tab computer21 humble %}
517508
From the robot configuration the robot server IDs and the ROS Domain ID are known, and from the robots themselves or the router the IP addresses are known. It is recommended that the robot IPs be reserved on the router so that they always remain the same and this process does not need to be repeated. Running the user computer configuration script as described above, would look as follows:
518509

519510
```
@@ -534,6 +525,27 @@ Configuring:
534525
[sudo] password for cpr-1234:
535526
Source your ~/.bashrc file to apply changes
536527
```
528+
{% endtab %}
529+
{% tab computer21 jazzy %}
530+
From the robot configuration the robot server IDs and the ROS Domain ID are known, and from the robots themselves or the router the IP addresses are known. It is recommended that the robot IPs be reserved on the router so that they always remain the same and this process does not need to be repeated. Running the user computer configuration script as described above, would look as follows:
537531

532+
```
533+
ROS_DOMAIN_ID [0]: 0
534+
Enter the information for the first discovery server
535+
Discovery Server ID [0]: 0
536+
Discovery Server IP: 192.168.131.5
537+
Discovery Server Port [11811]:
538+
Re-enter the last server (r), add another server (a), or done (d): a
539+
Enter the information for the next discovery server
540+
Discovery Server ID [0]: 1
541+
Discovery Server IP: 192.168.131.6
542+
Discovery Server Port [11811]:
543+
Re-enter the last server (r), add another server (a), or done (d): d
544+
Configuring:
545+
ROS_DOMAIN_ID=0
546+
ROS_DISCOVERY_SERVER="192.168.131.5:11811;192.168.131.6:11811;"
547+
[sudo] password for cpr-1234:
548+
Source your ~/.bashrc file to apply changes
549+
```
538550
{% endtab %}
539-
{% endtabs %}
551+
{% endtabs %}

setup/simple_discovery.md

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ To use the TurtleBot 4 with Simple Discovery, the Create® 3 should be connected
1818
The Create® 3 can only be connected to 2.4 GHz Wi-Fi networks.
1919
```
2020

21-
{% tabs wifi %}
22-
{% tab wifi galactic %}
23-
2421
### Wi-Fi Setup
2522

23+
{% tabs wifi %}
24+
{% tab wifi galactic %}
2625
Access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver), then navigate to the <b>Connect</b> tab.
2726
Enter your Wi-Fi SSID and password, and then click 'Connect'. Wait for it to initiate the WiFi connection, and then play a "happy sound" to signal successful connection. This may take a couple minutes. Click on the <b>Connect</b> tab once again and it should now show an IP address if the connection was successful. If the light ring turns yellow during this process, it indicates an error in connection. See [the Create® 3 documentation](https://iroboteducation.github.io/create3_docs/hw/face/) to understand what the different light ring colors indicate.
2827

@@ -34,22 +33,8 @@ If the Create® 3 is unable to connect to your 2.4 GHz WiFi network and the ligh
3433
<img src="media/create3_connect.png" alt="Create® 3 connect" style="width: 100%"/>
3534
<figcaption>Connecting the Create® 3 to Wi-Fi</figcaption>
3635
</figure>
37-
38-
### Application Configuration
39-
40-
Access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver), then navigate to the <b>Application Configuration</b> tab.
41-
Set ROS 2 Domain ID to 0, ROS 2 Namespace to an empty string, and RMW_IMPLEMENTATION to the [default](networking.md#dds) for your ROS 2 version. Additionally, make
42-
sure that the Fast DDS discovery server is disabled.
43-
44-
<figure class="aligncenter">
45-
<img src="media/webserver_config.png" alt="Create® 3 config" style="width: 80%"/>
46-
<figcaption>Configuring the Create® 3 application for Galactic</figcaption>
47-
</figure>
4836
{% endtab %}
4937
{% tab wifi humble %}
50-
51-
### Wi-Fi Setup
52-
5338
Access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver), then navigate to the <b>Connect</b> tab.
5439
Enter your Wi-Fi SSID and password, and then click 'Connect'. Wait for it to initiate the WiFi connection, and then play a "happy sound" to signal successful connection. This may take a couple minutes. Click on the <b>Connect</b> tab once again and it should now show an IP address if the connection was successful. If the light ring turns yellow during this process, it indicates an error in connection. See [the Create® 3 documentation](https://iroboteducation.github.io/create3_docs/hw/face/) to understand what the different light ring colors indicate.
5540

@@ -61,9 +46,28 @@ If the Create® 3 is unable to connect to your 2.4 GHz WiFi network and the ligh
6146
<img src="media/create3_connect.png" alt="Create® 3 connect" style="width: 100%"/>
6247
<figcaption>Connecting the Create® 3 to Wi-Fi</figcaption>
6348
</figure>
49+
{% endtab %}
50+
{% tab wifi jazzy %}
51+
The Create® 3 must _not_ be connected to Wifi when using ROS 2 Jazzy. All communication between the Raspberry Pi and the Create® 3 is done over the internal wired connection. The [`create3_republisher`](../software/create3.md#create-3-republisher) node ensures that all ROS 2 topics, services, and actions from the Create® 3 are accessible by other computers on the same wireless network.
52+
53+
To disconnect the Create® 3 from wi-fi, access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver) and choose the "Forget wi-fi settings" item from the menu at the top of the screen.
54+
{% endtab %}
55+
{% endtabs %}
6456

6557
### Application Configuration
6658

59+
{% tabs application %}
60+
{% tab application galactic %}
61+
Access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver), then navigate to the <b>Application Configuration</b> tab.
62+
Set ROS 2 Domain ID to 0, ROS 2 Namespace to an empty string, and RMW_IMPLEMENTATION to the [default](networking.md#dds) for your ROS 2 version. Additionally, make
63+
sure that the Fast DDS discovery server is disabled.
64+
65+
<figure class="aligncenter">
66+
<img src="media/webserver_config.png" alt="Create® 3 config" style="width: 80%"/>
67+
<figcaption>Configuring the Create® 3 application for Galactic</figcaption>
68+
</figure>
69+
{% endtab %}
70+
{% tab application humble %}
6771
Use the [`turtlebot4-setup`](../software/turtlebot4_setup.md) tool to configure the Create® 3. You can access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver) and navigate to the <b>Application Configuration</b> tab to confirm the configuration as follows:
6872
- ROS 2 Domain ID is `0`
6973
- ROS 2 Namespace is empty
@@ -75,16 +79,7 @@ Use the [`turtlebot4-setup`](../software/turtlebot4_setup.md) tool to configure
7579
<figcaption>Configuring the Create® 3 application for Humble</figcaption>
7680
</figure>
7781
{% endtab %}
78-
{% tab wifi jazzy %}
79-
80-
### Wi-Fi Setup
81-
82-
The Create® 3 must _not_ be connected to Wifi when using ROS 2 Jazzy. All communication between the Raspberry Pi and the Create® 3 is done over the internal wired connection. The [`create3_republisher`](../software/create3.md#create-3-republisher) node ensures that all ROS 2 topics, services, and actions from the Create® 3 are accessible by other computers on the same wireless network.
83-
84-
To disconnect the Create® 3 from wi-fi, access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver) and choose the "Forget wi-fi settings" item from the menu at the top of the screen.
85-
86-
### Application Configuration
87-
82+
{% tab application jazzy %}
8883
Use the [`turtlebot4-setup`](../software/turtlebot4_setup.md) tool to configure the Create® 3. You can access the [Create® 3 webserver](./basic.md#accessing-the-create-3-webserver) and navigate to the <b>Application Configuration</b> tab to confirm the configuration as follows:
8984
- ROS 2 Domain ID is `0`
9085
- ROS 2 Namespace is `/_do_not_use`

0 commit comments

Comments
 (0)