3. ArduPilot固件与地面站软件安装

无人船的控制核心是运行 ArduPilot 固件的飞控板,而人机交互的窗口则是地面站软件。本节要完成三件事:在地面电脑上装好 Mission Planner 或 QGroundControl,把 ArduRover(Rover 车/船固件)烧写进飞控,再通过 USB 或数传链路完成驱动配置与连接测试。这三步是后续所有参数配置、传感器校准和自动航行的前提,任何一步出错都会导致后面"连不上、读不出参数、解锁失败"。

一、地面站软件的选择与安装

Mission Planner 与 QGroundControl 都能完成固件烧写和参数配置,但定位不同。Mission Planner 是 Windows 平台的老牌工具,参数树完整、日志分析(MAVExplorer 集成)和航点编辑功能强,对 Rover 固件的支持最成熟,适合做深度调参和故障排查。QGroundControl 跨 Windows/macOS/Linux/Android,界面现代,固件刷写和基础校准流程更"傻瓜化",适合外场用平板或手机快速检查。建议本课程以 Mission Planner 为主力,QGroundControl 作为移动端备份。

安装 Mission Planner 时从官网下载 MSI 安装包,安装过程会一并部署 .NET Framework 与 ArduPilot 相关驱动。首次启动若弹出 Windows 防火墙提示,应允许其访问专用网络,否则后续 UDP 连接可能被拦截。QGroundControl 为绿色版,解压后直接运行,但 Windows 下需要允许其安装串口驱动。两者不要同时占用同一个 COM 口,切换软件前先断开连接。

安装完成后先不要急着连飞控。打开设备管理器,确认没有带黄色感叹号的"未知设备",这是判断 USB 转串口驱动是否就绪的最快方法。

二、飞控固件烧写(ArduRover)

ArduPilot 的 Rover 固件同时适用于轮式小车和水面无人船,官方固件名称为 ArduRover。烧写前先明确飞控硬件型号(如 Pixhawk 系列、Cube、Matek 等),因为不同硬件对应不同的固件目标(如 fmuv3、fmuv5、CubeOrange)。选错目标会导致刷写后无法启动。

在 Mission Planner 中进入"设置 → 安装固件",用 USB 连接飞控。若飞控已有固件,软件会识别其板型并提示"已连接",此时点击对应固件版本即可在线下载并烧写;若飞控是空板或引导程序损坏,则需按住安全开关或使用 DFU 模式强制刷写。烧写过程中不要断电、不要拔线,进度条走完后飞控会自动重启,蜂鸣器发出启动音,Mission Planner 重新识别到飞控即表示成功。

烧写完成后进入"设置 → 必要硬件 → 机架类型",选择 Rover 对应的机架(如"船"或"地面车")。这一步决定了舵机/电机输出映射和默认参数集,选错会让后续的转向与油门通道对应关系全部错位。示例:某 1.2 米双体船采用差速双桨,机架选择"Boat"后,SERVO1 与 SERVO3 分别对应左右推进器,若误选"车"类机架,转向通道会映射到舵机输出,导致船体只转不前进。

固件烧写与连接测试链路 地面站电脑 Mission Planner QGroundControl USB / 数传 / UDP 飞控板 ArduRover 固件 机架:Boat / Rover COM 口 / 波特率 115200 执行与传感 左/右推进器 转向舵机 GPS / IMU / 罗盘 烧写/参数 PWM 输出 连接测试与状态判读 ① 端口识别 设备管理器无感叹号 MP 自动列出 COM 口 ② 心跳与姿态 HUD 显示横滚/俯仰 消息栏出现 EKF 状态 ③ 参数读写 参数树可加载 写入后回读一致 通过:可进入传感器校准 心跳稳定、参数可写、无预解锁报错 排查:驱动/波特率/供电 无心跳→查 COM 口与波特率;掉线→查供电

三、驱动配置与连接测试

驱动问题集中在 USB 转串口芯片上。Pixhawk 类飞控常用 CP210x 或 FTDI 芯片,Windows 10/11 一般能自动识别,但部分精简系统或旧版驱动会导致"设备已连接但无法打开端口"。此时在设备管理器中右键该端口 → 更新驱动 → 手动选择厂商驱动目录,或安装 Mission Planner 自带的驱动包。若使用数传电台(如 3DR 915MHz/433MHz),还需为电台的 USB 端单独安装驱动,并注意数传两端波特率必须一致,常见配置为 57600。

连接测试按"端口—心跳—参数"三层递进。在 Mission Planner 右上角选择正确的 COM 口,波特率一般选 115200(USB 直连)或 57600(数传),点击"连接"。连接成功的标志是:HUD 姿态仪开始随飞控晃动而变化,消息栏出现"EKF2 IMU0 is using GPS"之类的初始化信息,左下角显示电池电压。若一直停在"等待心跳",先换一个 USB 口、换一根数据线(很多线只供电不传数据),再检查飞控是否已上电、安全开关是否按下。

参数读写是更深一层的验证。进入"配置/调试 → 全部参数表",点击"加载参数",若能列出数百项参数(Rover 固件约 1000 项以上),说明 MAVLink 链路正常。此时可做一次写入回读测试:把 FS_ACTION 或某个无关紧要的参数改一个值,点击"写入参数",再点"刷新"确认数值已变,最后改回原值。这一步能提前暴露"能连上但写不进参数"的隐性故障,避免到校准阶段才发现问题。

# 连接测试关键检查项(示例)
端口:COM5(USB 直连)
波特率:115200
心跳:HUD 姿态随动,消息栏出现 EKF 初始化
参数:全部参数表可加载,写入后刷新一致
电压:电池监测显示 12.4V(3S 满电附近)
预解锁:无 "PreArm: Hardware safety switch" 报错
若连接后频繁掉线,优先怀疑供电而非软件。USB 口供电不足(尤其笔记本前置口)会让飞控在初始化 GPS 时瞬间掉电重启,表现为"连上几秒又断开"。改用后置 USB 口或带外部供电的 USB Hub 通常可解决。

四、常见问题与判断依据

把本节最容易踩的坑归纳成一张对照表,便于现场快速定位:

现象可能原因处理方式
设备管理器出现未知设备USB 转串口驱动未装安装 CP210x/FTDI 驱动,或重装 Mission Planner
有 COM 口但打不开端口被其他软件占用关闭 QGC、串口助手等占用程序
连接后无心跳波特率不匹配 / 数据线仅供电改试 57600/115200,更换数据线
烧写后飞控不启动固件目标选错按板型重刷对应 fmuv3/fmuv5/CubeOrange
参数能读不能写飞控处于解锁或安全开关未按断开动力、按下安全开关后重试

完成以上步骤后,飞控应处于"固件正确、机架匹配、链路通畅、参数可读写"的状态。此时不要急于下水,先在桌面上做一次电机转向测试:解锁后轻推油门,观察左右推进器转向是否符合"前进时两桨向后推水"的约定,若相反则通过 SERVOx_REVERSED 参数或调换电机线序纠正。转向与油门方向的定义必须在整门课程中保持一致——本课程约定"油门正向为船头前进方向,转向正向为船头右转",后续的航点、返航和避障逻辑都以此为准。连接测试通过,才具备进入传感器校准与遥控器校准的条件。