1. 课程导入与无人船自动驾驶概览
无人船(Unmanned Surface Vehicle,USV)是近年来快速发展的水上智能装备,广泛应用于水质监测、水文测绘、水域巡检、应急救援和科研教学等场景。要让一艘无人船真正"自己跑起来",核心在于一套可靠的自动驾驶系统。ArduPilot 作为开源自动驾驶领域的成熟生态,凭借其 Rover 固件对水面载具的良好支持,成为无人船开发中最常被选用的飞控软件之一。
本课程围绕"用 ArduPilot 把一艘无人船配置到可自主航行"这一目标展开,共 30 个章节,从环境搭建、固件烧录、传感器标定,到船型参数、导航调参、任务规划与故障排查,逐步推进。本章作为导入,先帮助读者建立整体认知:ArduPilot 在无人船领域扮演什么角色、课程要解决哪些问题、需要准备哪些软硬件,以及学习路径如何安排。
ArduPilot 在无人船领域的定位
ArduPilot 是一套开源自动驾驶固件与配套地面站工具链,支持多旋翼、固定翼、车/船(Rover)、潜艇等多种载具类型。无人船对应的是 Rover 固件,其控制逻辑本质上是"地面车辆"的二维平面运动控制:通过差速或舵机+油门的方式控制航向与速度,再叠加 GPS/罗盘提供的定位与航向信息,实现航点导航、自动返航、定速巡航等功能。
与多旋翼相比,无人船的控制有几个显著特点:水面没有刹车,减速依赖水阻与反向推力,惯性大、响应慢;航向受水流、风、浪影响明显,罗盘易受船体金属与电机磁场干扰;GPS 天线需要高出水面并远离干扰源。这些特点决定了无人船的调参重点与多旋翼不同,也是本课程后续章节反复强调的内容。
选择 ArduPilot 的理由主要有三点:一是生态成熟,Mission Planner、QGroundControl 等地面站功能完善;二是参数体系透明,几乎所有行为都可通过参数调整并复现;三是社区资料丰富,遇到问题容易找到参考。对于教学与工程验证场景,这三点尤为重要。
课程目标与学习路径
完成本课程后,读者应能独立完成一艘小型无人船从硬件连接到自主航点任务的完整配置,并具备基本的故障判断能力。具体目标可归纳为:理解 Rover 固件的控制框架与关键参数含义;能正确完成飞控、GPS、罗盘、电调、舵机的接线与标定;能根据船体尺寸与动力配置设定巡航速度、转向速率与导航参数;能规划并执行一条航点任务,并对偏航、打转、不返航等常见问题做出判断。
学习路径按"环境—固件—传感器—船体—导航—任务—排障"的顺序组织。下图展示了各阶段之间的依赖关系:前一层未稳定,后一层的调试就缺乏可信基础。例如罗盘未标定就调导航参数,偏航原因将难以区分是传感器问题还是控制参数问题。
所需软硬件环境
硬件方面,一套最小可用的无人船配置包括:支持 ArduPilot 的飞控(如 Pixhawk 系列或同类开源飞控)、GPS/罗盘模块(建议选用带外置罗盘的 M8N/M9N 级别模块)、电子调速器与推进电机、转向舵机(差速船可省去舵机)、遥控器与接收机、动力电池与稳压供电模块,以及船体本身。船体建议先用小尺寸、低功率的平台做验证,降低试航风险。
软件方面,需要一台安装地面站的电脑。常用地面站为 Mission Planner(Windows 友好)与 QGroundControl(跨平台)。此外还需准备固件烧录工具(地面站内置即可)、参数备份文件管理工具,以及用于记录试航日志的 SD 卡。建议在正式下水前,先在桌面完成固件烧录、参数读取与传感器标定的预演。
关键概念先建立起来
在进入实操前,有几个概念需要先明确,它们会贯穿整个课程。飞行模式在 Rover 中对应 MANUAL、STEERING、HOLD、AUTO、RTL 等,不同模式决定飞控如何解释遥控输入与导航指令。航向以正北为 0°、顺时针增加,罗盘读数与船头方向必须一致,否则导航会朝错误方向修正。航点半径决定船到达航点多近才算"到达",水面惯性大,半径过小会导致反复绕圈。转向速率限制最大偏航角速度,是抑制打转的关键参数。
这些概念在后续章节会逐一展开。本章只需记住它们的存在与大致含义,不必急于调参。学习无人船配置最常见的误区,是跳过传感器标定直接调导航参数,结果把传感器误差误判为控制参数问题,反复试航却找不到原因。
建议的起步动作
如果读者手头已有硬件,建议本章结束后先做三件事:第一,把飞控与地面站连通,确认能正常读取参数并备份一份原始参数;第二,烧录 Rover 固件并选择与船体匹配的机型框架;第三,在室内完成加速度计与罗盘的初步标定,记录标定结果。这三步不涉及下水,风险低,却能为后续章节打下可信基础。若硬件尚未到位,可先通读环境与固件章节,梳理采购清单与接线规划。
无人船的调试是一个"先稳后快、先静后动"的过程。把基础打牢,后面的航点任务与参数调优才会顺利。接下来的章节将从软硬件环境的具体搭建开始,一步步把上述路径落到实处。