3. 传感器基础:IMU、气压计、磁力计、GPS/RTK与视觉传感器

各位同学,欢迎来到传感器基础这一章。说实话,做多旋翼自主降落,传感器就是你的眼睛和耳朵。我见过太多项目,算法写得天花乱坠,结果传感器数据一塌糊涂,最后全白搭。所以这一章,咱们把底层的传感器摸透。

核心观点:没有完美的传感器,只有会融合的工程师。每种传感器都有脾气,你得顺着它来。

3.1 IMU:加速度计与陀螺仪

IMU,惯性测量单元,说白了就是两个东西:加速度计和陀螺仪。加速度计测的是比力,也就是物体受到的加速度(包括重力)。陀螺仪测的是角速度,也就是你转得有多快。

加速度计:我习惯把它想象成一个弹簧上的小球。你加速,小球就往后跑。它输出的是三轴加速度值。有个坑要注意——它测不出重力加速度和运动加速度的区别。所以悬停时,它告诉你Z轴有9.8m/s²,那是重力,不是你在往上飞。

陀螺仪:这个更直接,测角速度。你把它积分,就能得到角度。但问题来了——积分会漂移。我曾经做过一个实验,把陀螺仪放桌上不动,10分钟后积分出来的角度偏了30度。嗯,这就是为什么你不能只用陀螺仪做姿态估计。

我的经验:实际项目中,我一般用加速度计做长期姿态参考(因为它不漂移),用陀螺仪做短期动态响应。两者通过互补滤波或卡尔曼滤波融合。别想着只用一种,会翻车的。

IMU的选型参数,我列个表给你参考:

参数 说明 常见值
量程 能测的最大加速度/角速度 ±2g~±16g / ±250°/s~±2000°/s
零偏稳定性 静止时输出的波动 消费级:10°/h,工业级:1°/h
噪声密度 单位带宽内的噪声水平 越低越好,一般看数据手册

3.2 气压计

气压计,测大气压强的。为什么用它?因为GPS在垂直方向精度太差,而气压计能给你厘米级的相对高度变化。

原理很简单:气压随高度增加而降低。但有个问题——天气变化也会影响气压。你想想看,一阵冷空气过来,气压变了,你的高度读数就飘了。

避坑指南:我曾经在室内做降落实验,空调一开,气压计读数直接跳了半米。后来我学乖了,要么加个温湿度补偿,要么只用短时间内的相对变化,别信绝对高度。

实际使用中,我一般把气压计和IMU的Z轴加速度融合。气压计提供低频的高度趋势,IMU提供高频的垂直加速度。这样出来的高度估计,既平滑又响应快。

3.3 磁力计

磁力计,就是电子罗盘。它测的是地球磁场方向,用来告诉你机头朝哪。但说实话,这玩意儿在无人机上是最让人头疼的传感器之一。

为什么?因为电机、电调、大电流导线都会产生强磁场干扰。你想想看,四轴飞行器四个电机一转,磁场乱成一锅粥。磁力计读出来的方向,可能偏了30度都不止。

我的做法:每次装机后,必须做磁力计校准。让飞机绕各个轴转几圈,软件会拟合出硬铁和软铁干扰参数。而且,我建议把磁力计尽量远离电机和电源线,至少5厘米以上。

小技巧:磁力计和IMU融合时,我一般给磁力计的权重设得很低。只在GPS信号好、磁场环境干净的时候才用它修正航向。室内?直接关掉磁力计,用视觉或光流来定航向。

3.4 GPS与RTK

GPS,全球定位系统。民用单点定位精度大概2-5米。对于自主降落来说,这个精度远远不够。你想降到一个直径1米的平台上,GPS告诉你平台在5米范围内,这跟没告诉你有啥区别?

所以就有了RTK,实时动态差分定位。它通过一个地面基准站和飞机上的流动站,利用载波相位差分,把定位精度推到厘米级。

RTK的原理:说白了就是基准站知道自己精确坐标,它算出GPS信号的误差,然后把这个误差发给飞机。飞机用这个误差修正自己的定位。这样出来的位置,精度可以到2-3厘米。

关键点:RTK需要基准站和飞机之间保持通信链路。一旦断链,就会降级到普通GPS。我在项目中遇到过,降落过程中RTK信号突然丢失,飞机直接偏了2米。所以,一定要有降级策略,不能完全依赖RTK。

GPS/RTK的选型参数:

  • 定位精度:单点2-5m,RTK 2-5cm
  • 更新率:一般5-20Hz,越高越好
  • 卫星跟踪数:越多越好,至少10颗以上
  • 多频段:L1/L2/L5,多频段抗干扰能力强

3.5 视觉传感器

视觉传感器,这是自主降落的核心。没有视觉,你没法精确知道降落平台的位置和姿态。常用的有三种:单目、双目、深度相机。

单目相机:只有一个摄像头。它的问题很明显——没有深度信息。你看到一张图片,不知道那个目标离你多远。但单目便宜、轻便、功耗低。我一般用它做目标检测和跟踪,深度信息靠其他传感器补。

双目相机:两个摄像头,模仿人眼。通过左右眼的视差,可以算出深度。但计算量比较大,而且基线长度限制了有效测距范围。基线越长,测距越远,但相机体积也越大。

深度相机:比如Intel RealSense、Kinect。它主动发射红外光,通过飞行时间或结构光来测距。好处是直接输出深度图,不用算视差。但缺点也很明显——室外强光下容易失效,而且功耗高。

类型 优点 缺点 适用场景
单目 便宜、轻便、功耗低 无深度信息 目标检测、跟踪
双目 被动测距、室外可用 计算量大、基线限制 中距离定位、避障
深度相机 直接输出深度、精度高 室外易失效、功耗高 近距离精确降落

我的教训:有一次用深度相机做降落,大太阳底下,深度图全是噪点。后来才知道,红外光在强阳光下会被淹没。所以室外场景,我强烈建议用双目或者单目+其他传感器融合。

3.6 传感器融合:为什么需要?

好了,上面讲了这么多传感器,各有各的毛病。IMU漂移、气压计受天气影响、磁力计受磁场干扰、GPS精度不够、视觉受光照限制。那怎么办?

答案就是融合。用卡尔曼滤波或者因子图,把多个传感器的优势结合起来。比如:

  • IMU提供高频的姿态和加速度
  • GPS/RTK提供低频的绝对位置
  • 视觉提供相对位置和姿态
  • 气压计提供高度参考

这样出来的状态估计,既高频又准确,还不容易受单一传感器失效的影响。

我的建议:刚开始做融合时,别贪多。先做IMU+GPS,跑通了再加视觉。每加一个传感器,都要做充分的测试和验证。我曾经一次性加了四个传感器,结果出了问题都不知道是哪个传感器在捣乱。

多旋翼自主降落传感器融合架构 IMU (加速度计+陀螺仪) 气压计 磁力计 GPS/RTK 视觉 传感器预处理:校准、滤波、时间戳对齐、异常检测 多传感器融合 (卡尔曼滤波 / 因子图) 姿态估计 + 位置估计 + 速度估计 自主降落控制指令 反馈校正

这张图展示了整个传感器融合的流程。从底层传感器数据采集,到预处理(校准、滤波、时间戳对齐),再到核心的融合算法,最后输出控制指令。注意那个反馈箭头——融合后的状态估计会反过来用于校正传感器偏差,形成一个闭环。

总结一下:传感器是自主降落的基础。每种传感器都有它的长处和短处。我的经验是,不要试图用一个传感器解决所有问题,而是通过融合,让它们互相弥补。下一章我们会深入讲视觉SLAM的具体算法,到时候你会看到这些传感器是怎么在算法层面协同工作的。

专注资料整理