嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

噪声、传感器融合和遗失的无人机

近年来,运动和环境传感器技术取得了长足的发展。即使如此,没有什么是完美的,具有模糊视野的无人驾驶汽车无法安全上路。

shutterstock_453806701_bbfa0bf367051ddafbc73c8a24f8f8e9af001bf7.jpg

任何自主设备的一大前提条件是知道自己在运行环境中的确切位置。准确程度取决于车辆的运行范围。一个小型机器人可能设计在一个小空间内运行,位置只需要精确到几毫米以内。汽车的空间分辨率需要精确到厘米,飞机需要精确到米,而太空探测器则需要精确到上百米。但是如果探测器计划绕轨道运行或甚至在星球上着落,就必须采用更准确的数据。一般来说,任何运动中的物体都需要能够跟踪运动的传感器,而这通常是非常快的运动。传感器以更慢的速度读取数据的静态应用包括气象监测和家庭自动化。

  • 动态传感器:加速计、速率陀螺仪、磁力计和旋光度

  • 静态传感器:温度、湿度、光和气压

这些实用设备的一大共同点是具有或大或小的输出噪声。噪声意味着出错,而使用原始传感器数据可能导致气象观察(和后期预测)不准确,或者更糟的是,无人驾驶车辆失控,造成死亡事故。

定义噪声

噪声,就是噪声。它是在安静环境中聆听录音时听到的“嘶嘶”声。它是老旧的非数字电视上的“雪花”,它是无人驾驶汽车计算机用于避免碰撞事故的距离传感器发出的无规律的模糊输出。为了设计合适的降噪滤波器,必须具有数字特征。噪声不可预测(不确定),因此应排除线性公式并采用统计学。为了评估新滤波器设计的性能,必须使用某种噪声数字模型。最常用的是加性高斯白噪声 (AWGN)。它并不完美,但是足以证明设计是否适用于“真正”的噪声。主要特点如下:

  • 只需添加在信号中即可,这也是加性噪声一词的由来。
  • 它在时间域中呈现正态分布,平均值为零(图 1)。因此在长时间内积分信号叠加噪声可去除噪声。
  • 理论上,频域从 -∞ 至 +∞,功率密度始终平坦。这也是白噪声一词的由来。

幸运的是,对于设计师而言,MATLAB 等模拟程序有内置 AWGN 噪声生成器。


Sensor_Fusion_blog_3_f54d15b2ee9dab078babd003fc4f266f73f741f0.png

上面的 AWGN 公式中需要注意的重点是,它定义了信号上的噪声总量:它不提供指定时刻的准确噪声电压偏差。变量 σ 是标准偏差,表示噪声的“严重程度”。图 1 中的主图已用 σ = 1 计算。它显示了信号在特定时间点偏差特定值 n 的概率 P(n)。大家马上可以看到,在特定时间点,有 40% 的概率 (P = 0.4) 信号完全不会偏离真实值。随着曲线下滑,噪声影响信号,但是大幅偏差(正或负)的概率快速减小。曲线始终不能到达水平轴,因此始终有很小的概率出现大于 3σ 的“突起”。插图则显示增大 σ 数值的情况:曲线变得平坦,无偏差概率减小,噪声偏差量增大。换句话说,随着 σ 增大,噪声整体变得更加严重。

静态传感器噪声

定义了“敌方”后,让我们来看看一些依赖于准确传感器测量以可靠运行的嵌入式系统。“静态”传感器一般用于环境监测,通常只需在较长的间隔内生成一次读数。例如,气象站可能只需每隔 15 分钟读取一次气温、湿度、气压。在此期间,它以极低的功耗运行或进入“休眠”模式,几乎没有任何操作。这类远程感应站通过电池或太阳能供电,并使用无线通信连接。测量速率如此慢,因此有许多时间可采取“大量”样本,也许在数秒中的时间内,或者使用简单的平均算法以排除随机噪声。从技术角度来说,这仍然是一个实时系统,但在运行中的时间范围相当于等待油漆干燥的漫长时间。因此无需精密的滤波。

通过传感器融合进行动态传感器降噪

不久前,实现惯性导航的加速计和陀螺仪还非常庞大、笨重、易碎,且价格昂贵。只有军队、宇宙航天器和民用飞机制造部门才能使用惯性导航单元。MEMS(微机电系统)技术的发展改变了这一切。几乎是一夜之间,惯性导航单元从大小和重量与家用冰箱相当的设备,变为 5 平方厘米的印刷电路板,成本大约为 30 英镑。这意味着业余 R/C 飞机可以安装数年前只有战斗机才能安装的制导系统。地面移动机器人也因此获益。图 2 显示了两类移动机器人的陀螺仪设备分布。一种系统通过测量“倾斜”角度来平衡直立。而另一种用于维持移动机器人朝理想方向移动。


Sensor_Fusion_blog_4_51058a90086dd9b3a70bb1e0e6b997647159ce8f.png

无论哪种情况,都需要测量角度 θ。更明显的选择是使用速度陀螺仪,它可以测量沿轴线的旋转速度(角度/秒)。积分输出可得到角度。陀螺仪对变化的响应速度很快,而且对沿轴线方向的振动噪声不敏感,然而它确实有一个缺陷:如果速度输出有小幅偏差,积分后会产生角度错误,时间越长时错误越严重。换句话说,它会漂移,而专用于零均值噪声的滤波器无法纠正这种逐渐增大的错误。这就是第二种传感器发挥作用的地方。对于机器人平衡,使用两个轴线彼此呈 90°的加速计。机器人垂直时,Z 轴加速计的输出为 +1g(受重力影响)。倾斜角度 θ 可通过插入已测得的 az 和 ay 数值得到,公式如下:

θ = arctan(ay/az)  这里的 az、ay 已标准化,位于 ±1g 范围内

这里的问题是,加速计响应变化的速度相对较慢,而且在有振动时(例如来自电机),它们通常会产生很大的输出噪声。因此现在我们有两个角度传感器,每个都提供基本相同的数据,但是存在不同的缺陷。答案是结合或“融合”两者,消除缺陷,生成单一的准确输出信号。

补偿滤波以平衡机器人

从上面的 az 和 ay 得出倾斜角度 θa,然后低通滤波,消除所有高频噪声,剩下变化较慢或静态的 θa 值。同时,陀螺仪速度输出积分得到 θg,然后经过高通滤波去除漂移信号。然后对两个信号进行加权,叠加,得到无漂移的响应“倾斜”测量值。加权因子为在编程时设置的常数,或许是陀螺仪 0.95,加速计补偿 0.05。这类融合假定传感器性能不随时间变化或不受短时强干扰的影响。还有其它算法,例如卡尔曼滤波器,这种滤波器可通过当传感器输出降低时减小传感器权重来适应变化的噪声条件。

Kalman卡尔曼滤波器

卡尔曼滤波器算法于 20 世纪 60 年代推出,目的是去除干扰信号的零均值噪声,适用于任何可用线性公式描述的系统。它因用于 NASA 阿波罗制导计算机上运行的惯性导航程序而名声大噪(至少在工程界)。它性能强大,以至于大多数噪声环境下的实时传感器驱动应用今天仍在使用它。是什么让卡尔曼滤波器如此聪明?它使用看似简单的两步处理法来预测输出,然后将预测结果与测量结果对比,以更新下一次预测。同时,它还会更新与传感器测量相关“不确定”因素。如果传感器输出噪声开始变大,卡尔曼算法就会减小测量对输出的影响,增大自身估计的权重。不幸的是,该算法过于复杂,无法简单描述,但是此文是我见过的,对此话题介绍最详尽的文章,且包含处理过的“现实世界”示例和 MATLAB 模拟代码和结果。它详细讲解了矩阵数学,因此我建议对此不熟悉的读者进行这方面的学习。如需决定是否可以/需要使用这种算法,以下是需要了解的重点:

  • 待测量的过程必须用线性系统描述。例如基于加速度、速度和位置的简单线性运动系统。NASA 研究人员研究出扩展的卡尔曼滤波器,用于处理非线性系统,但是运算过程更为复杂。
  • 传感器测量包含均值和变量。为了达到最佳性能,不仅系统模型必须准确,而且信号输入变量也必须准确。你可能可以在数据表中找到正确的数值,但是一些实验室测试是必要的。
  • 噪声必须为零均值噪声(就像 AWGN)。滤波器将把任何不为零均值的测量部分(例如之前提到的陀螺仪漂移)有效假定为需要的信号:这部分不会被认定为噪声,因此也不会消除。

文献中常常使用一个传感器输入对卡尔曼滤波器进行图解,但是在传感器融合的前提下,它可以处理两个或更多的输入。当然,实时处理要求,即使是单一信号,负荷也相当大,如果处理更多的信号,情况将更严重。直到最近,这还是一个严重的瓶颈,但是现在有了带浮点运算单元的 32 位微控制器、DSP,甚至使用 ARM NEON 等单指令流多数据流 (SIMD) 硬件的并行数据处理,负荷要轻很多。“出于实用目的”,通过把许多变量假定为 1 或 0,可简化算法本身,但是这需要非常谨慎,才能不影响自适应降噪的神奇能力。通过卡尔曼滤波进行传感器融合还带来其它优势:通过智能冗余提高稳定性。

通过传感器融合提高稳定性

近年来,小型多电动机直升机或无人机深受无线遥控飞机爱好者和商业空中摄影师的欢迎。这很大程度上是由于运动传感器、电子罗盘(磁力计)和强大的微控制器技术的成熟使得机载飞行控制系统成为可能。如果没有“遥控”的计算机稳定系统,四轴飞行器和六轴飞行器都将成为无稽之谈。即使如此,这些新传感器运行的环境相当不利,即使资深的“飞行员”也可能失控,导致“带垂直向下轨迹的稳定”。在加速计和陀螺仪受到电机振动和高重力影响时,就可能出现这种情况。GPS 数据常与惯性测量单元输出融合,以改善导航,在无法依赖惯性测量单元时维持稳定飞行。尽管如此,GPS 可能在关键时候失去准确性,因此专业无人机常常携带两个 GPS 模块,并且通过卡尔曼滤波器“融合”惯性测量单元,利用其自适应功能选择最佳传感器数据,忽略最差数据。这种冗余设计可能导致下降的航线剖面,但是这比“非可控飞行撞地”要好得多。

Oemichen2_f7d436792a9cd48960dfdb61493becd45688e5fa.jpg

惯性测量单元

尽管加速计和陀螺仪能够以带模拟输出的单芯片形式出售,但是现在的趋势是购买集成的单一设备,这些设备常常配备低通滤波器和 ADC,向输出引脚输出 SPI 或 I2C 总线格式的串行数据。它们通常为“3D”设备,可提供三轴运动数据,并具备内部信号处理功能,主要用于纠正陀螺仪漂移。有的还包含 3D 磁力计,并被描述为“9-DOF”(自由度)。对于电子设计而言,印刷电路板走线布局和芯片在板上的相对位置始终是成功运行的关键。这些 MEMS 芯片可增加机械问题考虑的维度。例如,焊接质量不良或安装孔的布局不佳,可导致不必要的机械应力,从而影响校准,或者带来更严重的后果。请阅读制造商的设计指导

 

最后…

本文仅仅是简单介绍了传感器融合的基础知识:我还未提到卡尔曼滤波器的替代方案,例如由 Madgwick 和 Mahony 提出的方案;也没有讨论无人驾驶车辆的激光雷达和雷达视频摄像头数据的融合。有一点可以肯定:无论你从事的是自动化工厂、无人驾驶车辆还是太空探测器相关的工作,运动传感器融合从未如此热门。

如果您暂时想不出做什么,可以关注我在 Twitter 上发布的文章。我会贴出关于新的电子产品和相关技术的文章链接,也会转发我读到的关于机器人、空间探索以及其它话题的文章。

Engineer, PhD, lecturer, freelance technical writer, blogger & tweeter interested in robots, AI, planetary explorers and all things electronic. STEM ambassador. Designed, built and programmed my first microcomputer in 1976. Still learning, still building, still coding today.