4. 飞控与传感器基础

终于到了真正飞起来的这一刻。说实话,每次带学生做首次飞行测试,我都会想起自己当年第一次推油门时手抖的样子。别紧张,只要按流程走,ArduPilot 其实比你想象中要可靠得多。

这一节,我们重点解决三个问题:用什么模式飞、飞之前检查什么、飞完怎么看数据。把这三件事做扎实,你的无人机才算真正入了门。

4.1 核心飞行模式:从 Stabilize 到 Auto

ArduPilot 有几十种飞行模式,但新手阶段你只需要掌握五个。我习惯把它们分成两类:手动模式和自动模式。

模式 类型 核心行为 适用场景
Stabilize 手动 自稳姿态,无位置保持 起飞、降落、基础操控练习
AltHold 手动 锁定高度,水平需操控 悬停练习、高度控制训练
Loiter 自动 锁定位置+高度 定点悬停、航线等待、安全兜底
Auto 自动 执行预设任务航线 自主任务飞行
RTL 自动 自动返航并降落 紧急回收、任务结束

Stabilize 模式——你的第一把油门

这是最基础的增稳模式。飞控会帮你把飞机姿态拉平,但不会管位置和高度。你推油门它就上升,松油门它就下降,摇杆回中它就水平停住。

我个人建议:首次起飞一定用 Stabilize。为什么?因为它的响应最直接,你能立刻感受到飞控在帮你做什么。我在项目里见过有人一上来就切 Loiter,结果 GPS 信号不好,飞机直接飘走——那场面,嗯,不太好看。

AltHold 模式——解放你的油门

切到 AltHold 后,飞控会通过气压计和加速度计锁定当前高度。你只需要管前后左右,油门不用再操心。这个模式最大的价值是让你专注练习水平操控。

有个坑我必须提一下:气压计受气流影响很大。如果你在强风天或者靠近地面有涡流的地方切 AltHold,高度可能会上下漂个一两米。这不是飞控坏了,是物理限制。

Loiter 模式——真正的「放手飞」

Loiter 是 GPS 参与控制后的第一个重要模式。飞控不仅锁高度,还锁经纬度。你松开摇杆,飞机就悬停在原地,像钉在空中一样。

我曾经在测试一个测绘任务时,中途需要换电池。切 Loiter,飞机稳稳停在 10 米高度,我花了五分钟换完电池再切回 Auto——任务继续执行,完全没掉链子。

重要原则:Loiter 的精度取决于 GPS 质量。HDOP(水平精度因子)小于 1.5 时,Loiter 才能稳定在 1 米以内。如果 HDOP 大于 2.0,建议不要依赖 Loiter 做精细悬停。

Auto 模式——任务规划的核心

Auto 模式就是让飞机按照你在 Mission Planner 里画好的航线飞。起飞、巡航、拍照、降落,全自动完成。这个模式是整门课的核心,但我们今天只做一件事:确认它能正确执行。

首次测试 Auto 时,我建议航线不要超过 3 个航点,高度设在 15-20 米,速度 5m/s。飞完一圈就切回 Loiter 或 RTL。别一上来就搞 50 个航点的测绘任务——我见过有人这么干,结果第三个航点就撞树了。

RTL 模式——最后的保险

RTL 是 Return To Launch 的缩写。一旦触发,飞机会先爬升到预设的 RTL 高度,然后直线飞回起飞点,最后自动降落。

这个模式是你最可靠的退路。我个人的习惯是:每次飞行前,确保遥控器上有一个物理开关直接映射到 RTL。不要依赖菜单切换,紧急情况下你根本没时间翻屏幕。

⚠️ 重要提醒:RTL 依赖 GPS。如果起飞时 GPS 没有锁定(少于 6 颗星),RTL 不会生效。所以每次起飞前,请确认 Mission Planner 右上角的卫星数 ≥ 10,HDOP ≤ 1.5。

4.2 安全飞行检查清单

我见过太多炸机案例,90% 都可以通过一份简单的检查清单避免。下面这份清单是我自己用了五年的版本,每次飞行前逐项过一遍,不跳项。

起飞前检查(地面阶段)

  1. 结构检查:机臂无裂纹、螺旋桨无缺口、螺丝无松动。用手轻轻掰一下每个电机座,确认不晃动。
  2. 电池检查:电压 ≥ 3.7V/片(4S 电池就是 14.8V),电芯温差 ≤ 2°C。插头插紧,绑带扎牢。
  3. GPS 状态:Mission Planner 状态栏显示卫星数 ≥ 10,HDOP ≤ 1.5。3D Fix 图标亮起。
  4. 罗盘校准:磁偏角正确,罗盘健康度显示绿色。如果刚换过场地,建议重新校准一次。
  5. 遥控器对频:摇动摇杆,Mission Planner 的 RC 输入通道数值正常变化。确认模式切换开关映射正确。
  6. 安全开关:ArduPilot 的安全开关(如果有)必须按下解锁。解锁后飞控 LED 变为蓝色常亮或双闪。
  7. 紧急预案:确认 RTL 开关位置,确认遥控器失控保护设置为「RTL 或降落」。

起飞后检查(空中阶段)

  1. 悬停测试:在 2-3 米高度悬停 10 秒,观察飞机是否平稳、有无异常抖动或偏航。
  2. 模式切换测试:依次切换 Stabilize → AltHold → Loiter,每个模式停留 5 秒,确认行为符合预期。
  3. 油门响应:快速推拉油门一次,确认飞机能迅速响应且不出现掉高或窜高。
  4. RTL 触发测试:在 10 米高度切 RTL,确认飞机先爬升到预设高度,然后直线返航并降落。

💡 我的习惯:我会在 Mission Planner 的「飞行数据」页面打开「状态」面板,实时监控 GPS 星数、电池电压和 CPU 负载。这三个参数只要有一个异常,我立刻切 RTL 降落。

4.3 手动飞行测试:从悬停到航线

理论说完了,我们来实操。下面是一个标准的手动飞行测试流程,你可以在空旷的操场或草地上完成。

第一步:Stabilize 模式起飞

解锁后缓慢推油门,让飞机离地 1 米。保持摇杆回中,观察飞机是否水平。如果有明显倾斜,降落检查重心和水平校准。

第二步:AltHold 悬停练习

在 3 米高度切 AltHold,松开油门。飞机应该停在当前高度。前后左右打杆,感受水平移动的响应速度。我建议你在这个模式飞 3-5 分钟,直到你习惯「不用管油门」的感觉。

第三步:Loiter 定点悬停

切 Loiter,松开所有摇杆。飞机应该停在原地。用手轻轻推一下飞机(注意安全),感受飞控的反推修正。如果飞机开始漂移,说明 GPS 精度不够或罗盘需要校准。

第四步:简单航线飞行

在 Mission Planner 里画一个矩形航线,4 个航点,高度 15 米,速度 5m/s。上传后切 Auto,观察飞机是否按顺序飞过每个航点。飞完一圈后切 RTL 降落。

⚠️ 安全底线:手动飞行测试全程,你的右手拇指应该始终放在 RTL 开关上。一旦出现任何异常——飞机失控、GPS 丢失、电池电压骤降——立刻切 RTL。不要犹豫,不要尝试手动救机。

4.4 日志分析基础:第一次看 log 该看什么

飞完回来,别急着收工。日志(log)才是你真正学到东西的地方。ArduPilot 每次飞行都会自动记录几百个参数,但新手不需要全看。我教你一个「三看」法。

一看:模式切换时间线

打开 Mission Planner 的「日志分析」页面,加载 .bin 文件。在 MODE 通道上,你能看到整个飞行过程中模式切换的时间点。确认你的每次切换都正确记录,没有意外跳变。

二看:GPS 质量曲线

找到 GPS 相关的参数:GPS_NSats(卫星数)和 GPS_HDOP(水平精度)。看整个飞行过程中这两个值是否稳定。如果 HDOP 突然跳升到 2.0 以上,说明那个时间段 GPS 信号不好,Loiter 或 Auto 模式可能会出现位置漂移。

三看:振动水平

找到 IMU_AccX、IMU_AccY、IMU_AccZ 三个参数。在悬停阶段,这三个值的波动范围应该在 ±3 m/s² 以内。如果超过 ±5 m/s²,说明你的飞机振动过大,需要检查螺旋桨平衡或电机安装。

一个实用的技巧:在日志里找到 CTUN_ThrOut(油门输出百分比)。悬停时这个值应该在 40%-60% 之间。如果超过 70%,说明飞机太重或电池电压太低;如果低于 30%,说明动力过剩或重心偏前。这个参数是调参的重要参考。

4.5 本章知识体系

下面这张图总结了首次飞行测试的核心逻辑。你可以把它当作每次飞行前的「脑内地图」。

首次飞行测试知识体系 首次飞行测试核心知识体系 首次飞行测试 飞行模式详解 Stabilize:自稳姿态 AltHold:锁定高度 Loiter:定点悬停 Auto:自主航线 RTL:自动返航 安全飞行检查清单 起飞前:结构/电池/GPS/罗盘 遥控器对频/安全开关 起飞后:悬停/模式切换 油门响应/RTL触发 紧急预案确认 手动飞行测试 Stabilize 起飞 AltHold 悬停练习 Loiter 定点悬停 Auto 简单航线 RTL 返航降落 日志分析基础 模式切换时间线 GPS 质量曲线 振动水平分析

这张图把本章内容串成了一条线:先理解模式 → 再做好检查 → 然后动手飞 → 最后看日志。四个环节缺一不可。我见过太多人跳过安全检查直接飞,或者飞完不看日志——结果下次飞还是同样的毛病,炸机只是时间问题。

好了,这一节的内容就到这里。拿起你的遥控器,找个好天气,按流程飞一次。相信我,当你看到飞机稳稳悬停在 Loiter 模式下,那种成就感是模拟器给不了的。