Skip to content

Commit 8174b62

Browse files
Merge pull request #329 from clearpathrobotics/jazzy-netplan
Netplan configuration for Jazzy
2 parents d6eedfc + e262238 commit 8174b62

File tree

5 files changed

+165
-84
lines changed

5 files changed

+165
-84
lines changed

Diff for: docs_robots/outdoor_robots/husky/a300/user_manual_husky.mdx

+8-8
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ Additional items may need to be addressed based on the site-specific operating e
402402
**Never attempt to have Husky A300 climb curbs higher than 150 mm, operate near overhanging obstacles,
403403
or drive across gaps or depressions in the ground more than 200 mm deep, such as the top of stairs,
404404
at a cliff edge, or at large potholes.**
405-
405+
406406
This may result in damage to the robot drive systems, attachments, or accessories.
407407

408408
:::
@@ -425,7 +425,7 @@ current signage on Husky A300.**
425425
Loading Husky A300 with accessories, attachments, or payloads whose combined weight
426426
exceeds the maximum payload specified on the Nameplate will prevent Husky A300 from
427427
correctly determining stopping distances and may also damage the robot, attachment,
428-
accessory, or payload.
428+
accessory, or payload.
429429

430430
:::
431431

@@ -670,7 +670,7 @@ other components.
670670

671671
The maximum current draw of the system is limited by the output of the batteries. The maximum
672672
continuous output for the 2-battery, 4-battery, and 6-battery configurations is 60 A, 120 A, and 150 A, respectively.
673-
Higher outputs are possible for short periods of time.
673+
Higher outputs are possible for short periods of time.
674674

675675
Husky A300's motors are rated to draw 17 A continuous, but they will spike to several times higher
676676
than this, particularly when traversing rough terrain and when turning on the spot.
@@ -761,7 +761,7 @@ to ensure that no hazards are present in the target operating environment.
761761

762762
<br />
763763

764-
| Payload Mass | Incline | Terminal Speed |
764+
| Payload Mass | Incline | Terminal Speed |
765765
| :----------- | :------- | :------------------|
766766
| 0 kg || 0 m/s |
767767
| 100 kg || 0 m/s |
@@ -1031,7 +1031,7 @@ a charger is connected to the robot.
10311031
The rear of the robot has an access panel, protected by a Lock-Out, that contains the Battery Charge Port, Battery Breaker,
10321032
Debug Ports, and Wireless Emergency Stop Bypass. Opening the access panel cover puts the robot into a stop condition to
10331033
prevent the robot from driving while cables may be connected. To clear the stop condition, close the access panel cover
1034-
and press the Safety Restart Button.
1034+
and press the Safety Restart Button.
10351035

10361036
<center>
10371037
<figure>
@@ -1689,8 +1689,8 @@ Husky can be configured to connect to an existing Wi-Fi network.
16891689
To get Husky connected to your local Wi-Fi network, follow the setup below.
16901690

16911691
1. Follow the steps for [Connecting to Husky over an Ethernet Connection](#ethernet-connection).
1692-
1. Run `sudo clearpath-computer-setup` and follow the [Custom Networking](/docs/ros/networking/computer_setup#custom-networking)
1693-
instructions for setting up the Wi-Fi connection.
1692+
1. Follow the [Wi-Fi connection](/docs/ros/networking/computer_setup#connecting-to-an-existing-wi-fi-network)
1693+
instructions for setting up the Wi-Fi network.
16941694

16951695
### Connecting and Using the Controller {#controller}
16961696

@@ -1733,7 +1733,7 @@ See [Husky A300 Maintenance](maintenance_husky) for details on Husky maintenance
17331733

17341734
## Disposal
17351735

1736-
Always observe environmental protection regulations valid to your region.
1736+
Always observe environmental protection regulations valid to your region.
17371737

17381738
If disassembling the Husky A300 for disposal, pass on any commercially-viable disassembled
17391739
components for recycling. Separate materials as far as possible by type.
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
The `clearpath_computer_setup` package offers a terminal menu tool for configuring a robot computer.
2-
The main feature of this tool is the ability to generate `netplan` configurations. The `clearpath_computer_setup`
3-
package is available on the [Clearpath package server](../../ros/installation/robot.mdx#clearpath-package-server).
1+
Clearpath robots use `netplan` to configure all network connections, including wired and
2+
wireless interfaces. The `netplan` package is installed on Ubuntu by default.
43

5-
It should be installed on the robot's computer:
6-
7-
```
8-
sudo apt install python3-clearpath-computer-setup
9-
```
10-
11-
To run the tool, call:
12-
13-
```
14-
sudo clearpath-computer-setup
15-
```
4+
To edit the `netplan` configuration files you will also need a text editor. The `nano` and
5+
`vi` editors are included by default, but additional editors such as `vim` or `emacs` can
6+
also be installed using the `apt` command.

Diff for: docs_versioned_docs/version-ros2jazzy/components/networking/_standard_clearpath_bridge_setup.mdx

+46-8
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,51 @@ the IP address `192.168.131.1`. See [Standard IP Addresses](../../ros/networking
99

1010
:::
1111

12-
To configure the default bridge:
13-
1. Run `sudo clearpath-computer-setup`
14-
2. Navigate to **Netplan Setup** -> **Pre-set Configurations**.
15-
3. Select **Standard Clearpath Bridge** and generate the configuration by following the instructions.
16-
4. Return to the **Netplan Setup** menu and select **Apply Configuration Changes**.
12+
To configure the default bridge, create or edit `/etc/netplan/50-clearpath-standard.yaml` to
13+
contain the following:
1714

18-
This will create a `/etc/netplan/50-clearpath-standard.yaml` file and apply the changes to `netplan`.
15+
```yaml
16+
network:
17+
version: 2
18+
renderer: networkd
19+
ethernets:
20+
bridge_enp:
21+
match:
22+
name: "enp*"
23+
dhcp4: false
24+
dhcp6: false
25+
bridge_enx:
26+
match:
27+
name: "enx*"
28+
dhcp4: false
29+
dhcp6: false
30+
bridge_eth:
31+
match:
32+
name: "eth*"
33+
dhcp4: false
34+
dhcp6: false
35+
bridges:
36+
br0:
37+
addresses:
38+
- "192.168.131.1/24"
39+
dhcp4: true
40+
dhcp6: false
41+
interfaces:
42+
- bridge_eth
43+
- bridge_enx
44+
- bridge_enp
45+
```
1946
20-
Once the network settings have been applied, call `ip a` to check that the network bridge has been created, and
21-
that the computer has been assigned the `192.168.131.1` IP address.
47+
This will bridge all physical ethernet ports together into the `br0` bridge, which is assigned
48+
the static address `192.168.131.1`. The bridge can also be used to connect to a wired DHCP
49+
server to provide internet access to the robot.
50+
51+
After editing the file, run the following commands to apply the changes:
52+
53+
1. `sudo netplan --debug generate` -- this will verify your netplan configuration files and
54+
notify you if there are errors. Correct any errors before proceeding.
55+
2. `sudo netplan try` -- this will try running the new configuration, but will automatically
56+
roll back if it doesn't work correctly.
57+
3. `sudo netplan apply` -- this will apply the new configuration. Note that if you are logged in
58+
over SSH from a remote computer you may lose your SSH connection if the active interface was
59+
modified.

Diff for: docs_versioned_docs/version-ros2jazzy/ros/installation/robot.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import ComputerNetworkingSetupInstall from "../../components/networking/_compute
1313
## Operating System (OS) {#operating-system}
1414

1515
ROS 2 Jazzy uses Ubuntu 24.04 as its Tier 1 operating system.
16-
Though other operating systems are supported, it is highly recommended to use Ubuntu 24.04.
16+
Though other operating systems are supported, it is highly recommended to use Ubuntu 24.04.
1717
The preferred method is using the Clearpath Robotics ISO image, which is covered in this section.
1818

1919
:::note
@@ -143,7 +143,7 @@ wget -c https://raw.githubusercontent.com/clearpathrobotics/clearpath_computer_i
143143

144144
<StandardClearpathBridgeSetup />
145145

146-
For details on setting up custom network interface settings see [Clearpath Computer Setup](../networking/computer_setup.mdx).
146+
For details on setting up custom network interface settings see [Robot Network Configuration](../networking/computer_setup.mdx).
147147

148148
#### Robot YAML
149149

@@ -209,7 +209,7 @@ sudo systemctl daemon-reload && sudo systemctl start clearpath-robot.service
209209

210210
<StandardClearpathBridgeSetup />
211211

212-
For details on setting up custom network interface settings see [Clearpath Computer Setup](../networking/computer_setup.mdx).
212+
For details on setting up custom network interface settings see [Robot Network Configuration](../networking/computer_setup.mdx).
213213

214214
#### Clearpath Robot metapackage
215215

Diff for: docs_versioned_docs/version-ros2jazzy/ros/networking/computer_setup.mdx

+103-51
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Clearpath Computer Setup
2+
title: Robot Network Configuration
33
sidebar_position: 2
44
---
55
import ComputerNetworkingSetupInstall from "../../components/networking/_computer_networking_setup_install.mdx";
@@ -13,56 +13,108 @@ import StandardClearpathBridgeSetup from "../../components/networking/_standard_
1313

1414
### Connecting to an Existing Wi-Fi Network
1515

16-
Use the `clearpath-computer-setup` tool to connect your robot to your existing wireless network.
17-
18-
1. Run `sudo clearpath-computer-setup`
19-
1. Navigate to **Netplan Setup**
20-
<center>
21-
<figure>
22-
<img
23-
src={require("./img/clearpath_setup-netplan.png").default}
24-
width="888"
25-
/>
26-
</figure>
27-
</center>
28-
1. Navigate to **WiFi Setup**
29-
<center>
30-
<figure>
31-
<img
32-
src={require("./img/clearpath_setup-wifi.png").default}
33-
width="888"
34-
/>
35-
</figure>
36-
</center>
37-
1. Select the wireless interface you wish to configure. Most computers will only have one wireless
38-
interface, but some may have more than one.
39-
<center>
40-
<figure>
41-
<img
42-
src={require("./img/clearpath_setup-interface.png").default}
43-
width="888"
44-
/>
45-
</figure>
46-
</center>
47-
1. Enter the SSID and password for your wireless network.
48-
<center>
49-
<figure>
50-
<img
51-
src={require("./img/clearpath_setup-ssid.png").default}
52-
width="888"
53-
/>
54-
</figure>
55-
</center>
56-
1. Select **Save Settings** and press `ENTER`.
57-
58-
### Custom Networking
59-
60-
The `clearpath-computer-setup` tool can also be used to set up custom network interfaces.
61-
62-
1. Navigate to the **Netplan Setup** menu and use the bridge, Ethernet, or Wi-Fi setup menus to add configurations.
63-
2. Once you are done configuring, return to the **Netplan Setup** menu and select **Write Configuration YAML**. You will be prompted for a file name. The file should be
64-
placed under `/etc/netplan/` to take effect, and the naming convention is a two digit number followed by a unique name.
65-
For example, `/etc/netplan/50-home-wifi.yaml`.
16+
Use `netplan` to connect your robot to an existing wireless network.
17+
18+
First, determine the name of your wireless interface by running `iwconfig` you should see
19+
an entry similar to this:
20+
21+
```
22+
wlp59s0 IEEE 802.11 ESSID:off/any
23+
Mode:Managed Access Point: Not-Associated Tx-Power=off
24+
Retry short limit:7 RTS thr:off Fragment thr:off
25+
Power Management:on
26+
```
27+
28+
The interface name is in the left column, starting with `w`.
29+
30+
Once you have identified your interface, edit or create a file
31+
called `/etc/netplan/60-wifi.yaml` containing the following:
32+
33+
```yaml
34+
network:
35+
wifis:
36+
MY_WIFI_INTERFACE:
37+
optional: true
38+
access-points:
39+
MY_WIFI_SSID:
40+
password: MY_WIFI_PASSWORD
41+
dhcp4: true
42+
```
43+
44+
with the following substitutions:
45+
1. Replace `MY_WIFI_INTERFACE` with the name of the interface you identified in the first step,
46+
e.g. `wlp59s0`
47+
2. Replace `MY_WIFI_SSID` with the SSID of your network.
48+
3. Replace `MY_WIFI_PASSWORD` with your network's password.
49+
50+
For example:
51+
52+
```yaml
53+
network:
54+
wifis:
55+
wlp59s0:
56+
optional: true
57+
access-points:
58+
BabCom:
59+
password: peekaboo
60+
dhcp4: true
61+
```
62+
63+
This configuration will connect your robot via DHCP to your WPA2/3 wireless network. If you
64+
need to use a static IP address, modify the file to contain the following:
65+
66+
```yaml
67+
network:
68+
wifis:
69+
MY_WIFI_INTERFACE:
70+
optional: true
71+
access-points:
72+
MY_WIFI_SSID:
73+
password: MY_WIFI_PASSWORD
74+
dhcp4: false
75+
dhcp4-overrides:
76+
send-hostname: true
77+
addresses:
78+
- MY_STATIC_IP/MY_SUBNET
79+
nameservers:
80+
addresses:
81+
- MY_NAMESERVER
82+
```
83+
84+
with the same substitutions noted earlier, plus
85+
1. Replace `MY_STATIC_IP` with the desired static IP address.
86+
2. Replace `MY_SUBNET` with the length of your network's subnet mask (typically `24` or `16`)
87+
3. Replace `MY_NAMESERVER` with the IP address of your DNS server You may add multiple DNS servers
88+
with each one on its own line.
89+
90+
For example:
91+
92+
```yaml
93+
network:
94+
wifis:
95+
wlp59s0:
96+
optional: true
97+
access-points:
98+
BabCom:
99+
password: peekaboo
100+
dhcp4: false
101+
dhcp4-overrides:
102+
send-hostname: true
103+
addresses:
104+
- 10.25.0.134/16
105+
nameservers:
106+
addresses:
107+
- 10.25.0.10
108+
- 8.8.8.8
109+
- 8.8.4.4
110+
```
111+
112+
Once you have edited the netplan configuration file, run the following two commands:
113+
1. `sudo netplan --debug generate` -- this will verify that the netplan configuration files can
114+
be read properly. Correct any errors before proceeding.
115+
2. `sudo netplan try` -- this will try running the new configuration, but will automatically
116+
roll back if it doesn't work correctly.
117+
3. `sudo netplan apply` -- this will apply the new configuration to your network interfaces.
66118

67119
:::note
68120

0 commit comments

Comments
 (0)