1. 课程导入
无人机自主降落是飞行控制中风险最高、也最能体现感知—决策—控制闭环能力的环节。GPS 在室内、林下、城市峡谷或强电磁干扰环境中往往失效,气压计与 IMU 又会随时间漂移,仅靠惯性无法把降落误差收敛到厘米级。视觉定位提供了一条不依赖外部基础设施的解决路径:用机载相机观测地面合作标志,通过图像几何关系反解无人机相对标志的位置与姿态,再交给飞控完成精确对准与缓降。
本课程围绕 AprilTag 这一成熟、轻量、鲁棒的合作视觉标志展开,目标是让学习者能够独立完成从相机标定、标签检测、位姿解算、坐标变换,到与 PX4/ArduPilot 飞控联调、最终实现自动降落的完整链路。学完本课程,你应当能够回答三个问题:无人机现在相对降落点在哪里?它正以什么姿态接近?如何把视觉结果安全地变成飞控能执行的指令?
为什么选择 AprilTag 作为视觉定位标志
AprilTag 是一种基于二维条形码思想的基准标志系统,由密歇根大学 APRIL 实验室提出。它由黑色边框和内部二进制编码构成,检测算法利用四边形边缘拟合与编码校验,能在低分辨率、运动模糊、部分遮挡和倾斜视角下稳定识别。相比 ArUco,AprilTag 的家族设计(Tag36h11、Tag25h9、Tag16h45 等)在误检率与识别距离之间提供了更清晰的取舍;相比二维码,它不依赖纠错冗余,解码更快,更适合实时闭环。
对无人机降落而言,AprilTag 的价值在于三点:其一,单目即可解算 6DoF 位姿,硬件成本低;其二,标签 ID 唯一,可支持多降落点切换与编队降落;其三,尺寸已知,可直接把像素尺度换算为米制尺度,便于与飞控的 NED/ENU 坐标对接。
课程知识框架
课程按“感知—解算—控制—验证”四层递进组织,共 30 章。前段打基础,中段做实现,后段做系统集成与实战复盘。
| 模块 | 核心内容 | 关键产出 |
|---|---|---|
| 视觉基础 | 针孔模型、内参、畸变、标定 | 可用相机内参与去畸变图像 |
| 标签检测 | 边缘拟合、编码校验、ID 解析 | 稳定输出的角点像素坐标 |
| 位姿解算 | PnP、IPPE、重投影误差 | 相机系下的 R、t |
| 坐标变换 | 相机—机体—世界坐标对齐 | 飞控可用的位置与偏航 |
| 控制与降落 | 位置环、速度限幅、降落状态机 | 自动对准与缓降逻辑 |
| 仿真与实飞 | Gazebo、真机调参、故障复盘 | 可复现的降落实验报告 |
核心原理一图看懂
下图给出本课程最关键的信号链:从相机成像到飞控执行,每一级都标注了实际使用的对象与参数。请把它当作整门课的“地图”,后续章节会逐段展开。
方法流程:从一帧图像到一条降落指令
为了让抽象链路可落地,下面给出最小可运行的处理流程。它既是课程实验的骨架,也是你调试时的检查顺序。
- 采集:相机以固定分辨率与曝光采集图像,避免运动模糊导致角点漂移。
- 去畸变:用标定得到的内参与畸变系数校正图像,保证像素与角度关系正确。
- 检测:在灰度图上做自适应阈值、边缘拟合与编码校验,输出标签 ID 与四角点。
- 解算:以标签物理边长为已知量,调用 PnP 求相机系下的旋转与平移。
- 变换:按相机安装角把结果转到机体系,再转到世界系,得到相对降落点偏差。
- 控制:将偏差送入位置环,限幅后输出速度或位置设定值,进入降落状态机。
- 判定:当水平误差与下降速度同时满足阈值,且触地检测触发,结束降落。
# 典型检测与解算参数(示例)
tag_family = "tag36h11"
tag_size = 0.16 # 米
camera_matrix = [[620.3, 0, 320.1],
[0, 619.8, 240.5],
[0, 0, 1]]
dist_coeffs = [-0.31, 0.12, 0.001, -0.002, 0.0]
detect_quad_decimate = 2.0 # 远距离可增大以提速
reproj_err_threshold = 1.5 # 像素
案例与场景
设想一个典型任务:无人机在室外起飞,飞至 8 米高度后收到“返航降落”指令,此时 GPS 被干扰,只能依靠下视相机寻找地面 0.16 米边长的 Tag36h11 标签。初始时标签在画面中仅约 30 像素,检测不稳定;随着无人机下降,标签逐渐增大到 120 像素以上,位姿解算精度显著提升。控制器先做水平对准,把标签中心拉到画面主点附近,再以 0.3 m/s 缓降;当高度低于 0.5 米时切换为垂直下降,最终触地。
这个场景揭示了两个工程事实:第一,视觉精度随距离变化,远距离时不要急于相信位姿,应结合滤波与限幅;第二,降落是状态切换问题,不是单一控制问题,必须设计清晰的进入与退出条件。
常见误区与复盘要点
- 误区一:忽略相机标定。 用出厂参数直接解算,会导致远距离系统性偏差,降落点整体偏移。
- 误区二:混淆坐标系。 相机光轴、机体前向、世界北向三者不一致,是“越飞越偏”的最常见原因。
- 误区三:只看检测成功,不看重投影误差。 误检标签会产生跳变位姿,必须用误差阈值与连续性校验过滤。
- 误区四:下降速度过快。 低空时视觉更新延迟被放大,容易触发触地误判或硬着陆。
本课程后续将沿着上面这张信号链逐段深入:先解决“看得见、算得准”,再解决“对得齐、降得稳”。当你能够独立复现整条链路,并用数据证明每一级的误差都在可控范围内,你就真正掌握了无人机视觉定位与降落的核心能力。