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
- UAV1-9:
- 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 localhost127.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_DISTROis set tojazzyRMW_IMPLEMENTATIONis set tormw_zenoh_cpp- No leftover ROS 1 variables like
ROS_MASTER_URIorROS_IPare 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.