Skip to main content

UAV Check

The uav_check script validates that the onboard computer is correctly configured. Run it after completing all previous setup steps to catch any misconfigurations before flight.

Running the Check

cd ~/git/install_script/uav_check
./3Check_UAV_f4f.sh

This is a wrapper that runs 3Check_UAV.sh with the f4f parameter, which adjusts expected network values for the F4F subnet.

What Gets Checked

The script runs the following validation checks in order:

1.Ubuntu Version

Verifies that the system is running Ubuntu 20.04.

2.Hostname Match

Checks that the UAV_NAME environment variable matches the system hostname in /etc/hostname. These must be identical (e.g., both set to uav1).

Fix: Edit /etc/hostname or update the UAV_NAME variable in ~/.bashrc.

3.Netplan Configuration

Validates the network configuration:

  • wlan0 interface exists in netplan
  • wlan0 has a static IP address assigned
  • wlan0 IP matches the expected value based on the UAV number:
    • UAV1-9: 192.168.11.10X/24 (F4F subnet)
    • UAV10+: 192.168.11.1XX/24
  • eth0 interface exists in netplan
  • eth0 has a static IP matching 10.10.20.10X/24
  • NetworkManager is not running (should be disabled in favor of systemd-networkd)

Fix: Run the Network Configuration steps from the setup utility.

4. /etc/hosts

Validates that /etc/hosts contains the required entries:

  • 127.0.0.1 localhost
  • 127.0.1.1 <hostname>
  • <wlan0_ip> <hostname> (exactly one entry)

Fix: Manually edit /etc/hosts to add missing entries.

Device Check

Looks for expected device symlinks in /dev/:

  • Pixhawk (/dev/pixhawk) - always required

Fix: Set up udev rules. Ensure the UAV is battery-powered (Pixhawk won't appear over USB alone).

Swap Size

Verifies that swap is at least ~16GB.

Fix: Run the Set Swap to 16GB step from the setup utility.

ROS Environment Variables

Checks that:

  • ROS_DISTRO is set to jazzy
  • RMW_IMPLEMENTATION is set to rmw_zenoh_cpp
  • No leftover ROS 1 variables like ROS_MASTER_URI or ROS_IP are set

Pixhawk Diagnostics

After the software checks, the script automatically runs Pixhawk diagnostics if a Pixhawk was detected at /dev/pixhawk. This validates the Pixhawk firmware configuration and parameters.

If the Pixhawk is not connected or the UAV is not battery-powered, this section is skipped with a warning.

Interpreting Results

Each check prints a colored result:

  • Green: Check passed
  • Red: Check failed (with a suggestion for how to fix it)
  • Yellow: Warning or suggestion

At the end, the script reports the total number of failed checks. All checks must pass before proceeding to tmux session setup and test flights.

----------- All checks passed -----------

If any checks fail:

----------- N checks failed -----------

Fix the reported issues and re-run the check until all pass.

Next Steps

Once all checks pass, proceed to the Tmux Session Preparation section to set up the flight session.