2. 无人机平台与传感器基础

要让深度学习模型真正驱动无人机避障,第一步不是写网络,而是搞清楚“飞的是什么、看的是什么、量的是什么、算在哪”。本节围绕平台与传感器展开,建立后续数据采集、模型训练与实机部署的物理基础。

一、常见无人机类型与选型逻辑

避障任务对平台的要求集中在载荷能力、续航、算力与稳定性上。常见类型可归纳为四类:

  • 多旋翼(四旋翼为主):可悬停、机动灵活、起降场地要求低,是视觉避障研究最常用的平台;缺点是续航短(通常 20~40 分钟)、载荷有限。
  • 固定翼:续航长、速度快,适合大范围巡检;但无法悬停,避障响应窗口短,对前视感知距离要求高。
  • 复合翼(垂直起降固定翼):兼顾垂直起降与长航时,结构复杂、成本高,多用于行业应用。
  • 无人直升机:载荷大、续航长,但机械结构复杂、维护成本高,视觉避障研究中使用较少。

选型时优先确认三个参数:最大起飞重量(决定能挂多少传感器与算力板)、有效载荷余量(建议保留 20% 以上)、以及飞控是否开放姿态与位置接口(决定能否接入自定义避障指令)。

二、相机与深度传感器

视觉避障的“眼睛”分为被动与主动两类。被动相机(单目、双目、RGB-D 中的 RGB 通道)成本低、帧率高,但单目无法直接获得尺度,需要靠运动或先验估计深度。主动传感器(结构光、ToF、激光雷达)可直接输出深度,但受阳光、反射材质与量程限制。

传感器输出典型量程优点局限
单目相机RGB 图像—轻、便宜、帧率高无绝对尺度,依赖算法估深
双目相机RGB + 视差0.5~20 m可算稠密深度弱纹理、远距离精度下降
RGB-D(结构光/ToF)RGB + 深度图0.3~5 m直接给深度室外强光下易失效
激光雷达点云10~100 m精度高、量程远重、贵、点云稀疏

工程上常见组合是“前视双目 + 下视 ToF + 激光雷达”做冗余:双目负责中近距离语义避障,ToF 负责低空定高,激光雷达提供远距离安全边界。

三、IMU 与 GPS:状态估计的两条腿

IMU(惯性测量单元)由三轴加速度计与三轴陀螺仪组成,输出高频(100~1000 Hz)的角速度与比力,短时精度高但会积分漂移。GPS 提供低频(1~10 Hz)的绝对位置,长期稳定但易受遮挡与多径影响。二者通过卡尔曼滤波或因子图融合,得到无人机的位置、速度与姿态估计。

关键认识:视觉避障的输出不是“往哪飞”,而是“障碍物在哪、相对我多远”。这个“相对”必须建立在可靠的自身状态估计之上。IMU/GPS 漂移会直接让避障决策偏移。

典型数据流如下:

IMU(200Hz) ─┐
GPS(5Hz)  ──┼─► 状态估计(EKF/UKF) ─► 位置/速度/姿态
相机(30Hz)─┘         ▲
                     └── 视觉里程计/深度网络提供相对观测

四、坐标系与标定:让所有传感器说同一种语言

无人机上至少存在四套坐标系:世界系(ENU/NED)、机体系(前-右-下)、相机系(光心为原点,Z 向前)、图像系(像素坐标)。避障算法要把障碍物从图像系变换到机体系,再变换到世界系,任何一步外参错误都会导致“看到障碍却撞上去”。

标定分三步:

  1. 相机内参标定:用棋盘格求焦距、主点与畸变系数,常用张正友标定法。
  2. 相机-IMU 外参标定:求相机与 IMU 之间的旋转与平移,常用 Kalibr 工具。
  3. 机体系对齐:确认相机光轴与机体前向的夹角,写入飞控参数。
# 相机内参标定示例(OpenCV)
python calibrate.py --pattern 9x6 --square 0.025 \
  --images ./calib_imgs --output camera.yaml

# 相机-IMU 外参标定(Kalibr)
kalibr_calibrate_cameras --bag data.bag --topics /cam0
kalibr_calibrate_imu_camera --bag data.bag --cam cam.yaml --imu imu.yaml
标定不是一次性工作。碰撞、更换镜头、温度变化都会让外参漂移。建议每次重要飞行前做一次快速校验:让无人机对准已知距离的标靶,检查重投影误差是否小于 1 像素。

五、案例与常见误区

某团队在室内做避障测试时模型表现良好,搬到室外后频繁误判。复盘发现:室内用 RGB-D,室外强光下深度图大面积失效,而模型训练时从未见过“深度缺失”的输入。修正方案是加入深度置信度通道,并在训练集中混入缺失掩码样本。

另一个高频误区是忽略时间同步。相机 30 Hz、IMU 200 Hz、GPS 5 Hz,若不做硬件触发或时间戳对齐,融合后的状态估计会出现“鬼影”,避障框位置抖动。工程上应统一使用飞控时间戳,并检查各传感器时间偏移是否小于 5 ms。

不要用“能飞”代替“能安全避障”。平台振动、相机曝光、GPS 遮挡、IMU 温漂都会在实飞中放大。建议先在仿真中验证坐标系与标定链路,再上真机。
无人机感知与坐标系链路 无人机平台 四旋翼 / 载荷 / 飞控 最大起飞重量 · 续航 视觉传感器 单目 / 双目 / RGB-D 激光雷达 · ToF IMU 加速度计 + 陀螺仪 100~1000 Hz GPS 绝对位置 1~10 Hz 状态估计融合(EKF / 因子图) 位置 · 速度 · 姿态 · 时间同步 世界系 ENU / NED 机体系 前-右-下 相机系 光心 · Z 向前 图像系 像素 u,v R,t 外参 内参 标定:内参 → 相机-IMU 外参 → 机体系对齐 重投影误差 < 1 px · 时间偏移 < 5 ms

把平台、传感器、状态估计与坐标系标定串成一条链路后,后续的深度网络训练与避障策略才有可靠的输入。任何一环的物理误差,都会在模型输出端被放大成飞行风险。