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 口,切换软件前先断开连接。
二、飞控固件烧写(ArduRover)
ArduPilot 的 Rover 固件同时适用于轮式小车和水面无人船,官方固件名称为 ArduRover。烧写前先明确飞控硬件型号(如 Pixhawk 系列、Cube、Matek 等),因为不同硬件对应不同的固件目标(如 fmuv3、fmuv5、CubeOrange)。选错目标会导致刷写后无法启动。
在 Mission Planner 中进入"设置 → 安装固件",用 USB 连接飞控。若飞控已有固件,软件会识别其板型并提示"已连接",此时点击对应固件版本即可在线下载并烧写;若飞控是空板或引导程序损坏,则需按住安全开关或使用 DFU 模式强制刷写。烧写过程中不要断电、不要拔线,进度条走完后飞控会自动重启,蜂鸣器发出启动音,Mission Planner 重新识别到飞控即表示成功。
烧写完成后进入"设置 → 必要硬件 → 机架类型",选择 Rover 对应的机架(如"船"或"地面车")。这一步决定了舵机/电机输出映射和默认参数集,选错会让后续的转向与油门通道对应关系全部错位。示例:某 1.2 米双体船采用差速双桨,机架选择"Boat"后,SERVO1 与 SERVO3 分别对应左右推进器,若误选"车"类机架,转向通道会映射到舵机输出,导致船体只转不前进。
三、驱动配置与连接测试
驱动问题集中在 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 转串口驱动未装 | 安装 CP210x/FTDI 驱动,或重装 Mission Planner |
| 有 COM 口但打不开 | 端口被其他软件占用 | 关闭 QGC、串口助手等占用程序 |
| 连接后无心跳 | 波特率不匹配 / 数据线仅供电 | 改试 57600/115200,更换数据线 |
| 烧写后飞控不启动 | 固件目标选错 | 按板型重刷对应 fmuv3/fmuv5/CubeOrange |
| 参数能读不能写 | 飞控处于解锁或安全开关未按 | 断开动力、按下安全开关后重试 |
完成以上步骤后,飞控应处于"固件正确、机架匹配、链路通畅、参数可读写"的状态。此时不要急于下水,先在桌面上做一次电机转向测试:解锁后轻推油门,观察左右推进器转向是否符合"前进时两桨向后推水"的约定,若相反则通过 SERVOx_REVERSED 参数或调换电机线序纠正。转向与油门方向的定义必须在整门课程中保持一致——本课程约定"油门正向为船头前进方向,转向正向为船头右转",后续的航点、返航和避障逻辑都以此为准。连接测试通过,才具备进入传感器校准与遥控器校准的条件。