所有关于电路
技术文章

传感器融合如何工作

2016年7月19日通过杰里米·李

传感器融合是将多个物理传感器结合在一起,以产生精确的“地面真相”的艺术,即使每个传感器本身可能不可靠。

传感器融合是将多个物理传感器结合在一起,以产生精确的“地面真相”的艺术,即使每个传感器本身可能不可靠。了解传感器融合背后的原理和原因。

你怎么知道你在哪里?什么是真的?这是传感器融合要回答的核心问题。不是用哲学的方式,而是字面上的“我要自动撞进白宫吗?”因为我被告知不要这样做”这种方式已经被内置在商用四轴飞行器的固件中。

传感器远非完美的设备。每个人都有让他们发疯的条件。

惯性测量单元是一种经典案例 - 有IMU芯片在纸上看起来优越,但在经历某些条件时,在现场中“锁定”的声誉,例如在没有橡胶垫上的Quadcopter上飞过空气。

一个IMU芯片。图片礼貌密歇根大学

在这些情况下,IMU可以受到振动 - 而在内部规格 - 可以与微机械部件匹配谐波。IMU可能被设计用于带有摇摆器的手机,而不是在嗡嗡声中以20,000 rpm的多个电机旁边使用。突然,机器人认为它颠倒了(当它不是)并旋转以补偿。有些飞行员用数据记录器飞行,并捕获了IMU在壮观碰撞前立即噪声突出的那一刻。

那么,我们如何应对不完美的传感器呢?我们还可以增加更多,但这不是加剧了问题吗?

你的盲点越来越小,你的传感器越多。但是数学变得越来越难以处理所产生的模糊性。用于进行传感器融合的现代算法是“信仰传播”系统 - 卡尔曼滤波器是经典示例。

Naze32飞行控制器带有机载“传感器融合”惯性测量单元。这只已经飞了很多次了。

的卡尔曼滤波器

该算法的核心是为每个传感器都有一套“信念”因素。在每一个循环中,来自传感器的数据被用于统计上改进位置猜测,但传感器的质量也被判断。

机器人系统还包括编码现实世界知识的约束条件,即物理对象在空间中平稳而连续地移动(通常在轮子上),而不是像GPS坐标样本所暗示的那样远距离移动。

这意味着,如果一个传感器总是给出优秀的、一致的值,开始告诉你不可能的、坦白地说不可能的事情(比如当你进入隧道时的GPS/无线电系统),那么传感器的可信度在几毫秒的迭代中会下降,直到它开始讲道理。

这比仅仅是平均或投票的更好,因为卡尔曼滤波器可以应对多数它的传感器会暂时疯狂,只要有一个保持合理。它成了机器人度过黑暗时光的生命线。

卡尔曼滤波器是Markov链和贝叶斯推断的更一般概念的应用,这是使用证据迭代地改进猜测的数学系统。这些是旨在帮助科学本身测试想法的工具(以及我们称之为“统计意义”的基础)。

卡尔曼滤波器的表示。图片由Petteri Aimonen via维基共享

因此,可以诗意地说,一些传感器融合系统表达了科学的本质,每秒一千倍。

Kalman滤镜已被用于轨道站 - 在几十年内保持空间卫星,并且他们在机器人中遭受流行,因为现代微控制器能够实时运行算法。

PID过滤器

更简单的机器人系统功能PID过滤器。这些可以被认为是由一个传感器馈送的原始卡尔曼滤波器,所有迭代调谐被攻击,并用三个固定值替换。

即使是在PID值是自动调整或手动设置的情况下,整个“调整”过程(调整、调整、判断、重复)也是一个由人进行信念传播步骤的Kalman的外部化版本。基本原则仍然存在。

自定义过滤器

真正的系统通常是介于两者之间的混合体。

完整的卡尔曼包括对机器人有意义的“控制命令”术语,如:“我知道我把方向盘往左转了。”指南针说我在往左走,GPS认为我还在直行。我相信谁?”

即使对于恒温器(经典的最简单的控制回路),卡尔曼滤波器也知道它可以通过拨弄旋钮来判断温度计和加热器的质量,然后等着看会发生什么。

个别传感器通常不会影响现实世界,因此这些术语丢弃了数学和大量的权力。但是,即使我们无法完全关闭控制循环,您仍然可以应用交叉检查信仰传播思路和“不传送”约束,

交易了传感器

在本文的其余部分,我们将关注物理位置,但同样的概念适用于任何你想测量的量。您可能会认为,相同类型的多个备份传感器是可行的,但这往往以令人遗憾的方式结合了它们相同的弱点。混合系统更强大。

让我们说明一般问题,因为“我不希望我的Quadcopter崩溃”,定义失败条件作为快速飞行机器人与称为“未浮断地面”的分形表面的交叉点。

我们很快就会发现,没有哪一种商品传感器是我们100%绝对信任的。那么为什么机器人没有从天而降呢?因为每个人都解决了一个更大的数独谜题的不同部分,直到剩下的只有真相。

让我们扫过一些典型的传感器,您可以在Quadcopter上找到,并在传感器融合的“数独拼图”中讨论其优势,劣势和整体位置。

全球定位系统(GPS)

这是显而易见的方法,但是哦,这有局限性!样本误差大概是2米,这个偏差会随着卫星漂移。

如果你想使用GPS来获得精确到厘米的位置,你需要把它钉在合适的位置上,并在几天内进行测量。这不是我们想要的。在高速飞行时,即使是一个100Hz的GPS设备也无法做到时间平滑。这比飞行控制器的主事件循环慢20倍。

GPS也不能告诉你你面对的是哪个方向。只有你移动的方向。

此外,Z-分辨率(高度)可以是1/10,可靠地作为纬度和经度。我们必须为leeway提供20米。

哦,单靠GPS无法告诉你上面有多远地面你是,只是多高而已海平面。逻辑修复是在起飞前进行读取 - 但是我们在混合中有另一个20米的错误栏。并且存在对飞行中不同的GPS信号的地面效应,因此我们不能认为错误将取消长期 - 尽管他们起初!

它仍然不会阻止我们飞入山丘。

商品GPS接收器,可以使用微控制器轻松接地2C。

一个GPS不够。我们无法在平台的20-40米范围内可靠地飞行,这是空中至少五个故事,这是安全保证金的漫长方式。不要让我错了,能够用20米的垂直误差边缘找到世界上的任何地方都是令人惊叹的......但它不会阻止我们崩溃。在循环中没有没有差分GPS地面站,昂贵的高速接收器,以及一些该死的良好拓扑图。

声纳,激光雷达,雷达/光流

所以,如果用卫星对自己进行三角定位并不是避开地面的最佳方法,那就让我们试着直接“看到”它吧!

现在至少有三种现成的测距技术可以发射ping信号,看看需要多长时间才能反弹回来:声纳、激光雷达和雷达模块。

但是,这些传感器具有缺点:

  • 吸收

一些表面只是不反弹信号。窗帘和地毯吸收超声波,深色涂料吸收激光器,水吸收微波。你无法避免你看不到的东西。

  • 相声

当您将多个相同的传感器彼此靠近时,会发生不那么明显。你怎么知道你检测到的'ping'是你的吗?即使是单个传感器也必须从自己那里应对跨谈,等待足够长的回声褪色。

我们可以对信号进行“编码”(基本上就是对信号进行加密),这样每个ping信号都是独一无二的,但这增加了设备的复杂性。第二种最好的解决方案是半随机化您的ping调度,这样您就不会锁定时间,而总是被同步ping欺骗。

光流传感器是一种不同的方法,使用相机来观察拍摄中的物体是变大(表示地面/墙壁正在快速上升)还是变小(当障碍物消失时)或向侧面滑动。相机不像声纳那样相互干扰,如果你真的很聪明,你可以估计倾斜和其他3D属性。

光学流动传感器仍然遭受“吸收”弱点。你需要一个漂亮的纹理表面,让他们看到流量,就像他们的光学小鼠一样,它们基于不适用于玻璃。它们变得流行,因为流量计算现在可以适合FPGA或快速嵌入式计算机。

图像传感器(如2K分辨率的树莓派相机)可用于“光流”避障。
  • 几何学

最后一个问题是几何问题。考虑一下在四轴飞行器上飞行的物理传感器。如果你处于一个角度,那么毕达哥拉斯说地面看起来会比它实际的距离更远。倾斜到一定程度,我们就看不见了,尽管我们离坠毁还有几厘米的距离。

要纠正,我们需要了解我们的倾向。这意味着...

陀螺仪

陀螺仪和加速计一起被称为“IMU”,但它们经常一起出现的原因是它们很自然地掩盖了彼此的主要弱点。它们是经典的融合对。

但是,单独地,陀螺仪是您将用于连续位置测量的最佳和最清晰的传感器数据来源。

在没有进入太多细节的情况下,陀螺仪由蚀刻到芯片表面的微机械调谐叉构建。当芯片旋转时,在一些调谐叉上存在力,并且它们彼此互相改变间距。(唉,没有小型旋转顶部 - 这太简单了。)

MEMS陀螺几乎对每个运动的免疫除了旋转。即使是严重的振动也不会影响它们(在特定范围内),因为那是横向加速度。

如果您查看多电泳的内部控制环路,它是飞行控制器使用的陀螺仪在空中保持水平。一些速率模式飞行员完全转换加速度计,以使陀螺更多带宽。这是一个线索,陀螺仪是多么重要。

MEMS陀螺仪传感器内部。图片由极客妈妈项目

如果你知道你在半毫秒的地方,你想知道自从此改变了什么,Gyros很快,准确,可靠。它们不需要弹性表面或卫星。在没有他们的情况下,四边形就字面上无法直立。

陀螺的缺点是漂移。不管你怎么努力,它们似乎都在缓慢地绕着一个随机轴旋转。每转一圈需要几分钟,但即使是一个不动的砖块也会看起来轻轻地旋转。累积相对样本以获得“绝对”估计也会增加误差条。上升的陀螺误差需要用一个外部的绝对参考标记定期“归零”。

加速度计

这就是为什么加速度计是Gyro的最佳朋友:因为它检测到绝对的“下”参考(至少在地球的重力时)。

好吧,平均无论如何。从时刻到瞬间,它正在拾起重力,线性加速,离心力,来自旋转,振动,响亮的声音,以及传感器缺陷。

因此,加速度计数据是一些最嘈杂,最不值得信赖的,尽管采样率高,但良好的MEMS传感器精度通常与陀螺仪一样好。它正在拾取必须消除的多个“信号”。但这是对所有这些不同信号的敏感性,使其如此多才多艺。听到了一切

加速也是我们真正想要了解的东西的两个集成步骤 - 所以我们必须总结大量的Δ和错误栏,从测量的加速到估计速度,然后我们必须再次执行此操作估计位置。错误堆积起来。

这就是为什么GPS是加速度计最好的朋友:因为它经常“零”增长的位置误差,同样的方式,加速度计轻轻地零陀螺的方向误差。

加速度计传感器芯片的例子。图片由视差

磁力计

不应该忽视好的OL'指南针。然而,与加速度计一样,它通常用作长期陀螺漂移中的统治方式。了解哪种方式比了解哪种方式是磁性北方,但与两者都有,我们可以知道我们在地球上的真正绝对方向。

磁力计的样本也有很大的噪声,特别是当你附近有电动机的时候。它们会受到各种环境影响,无论是钢结构的建筑框架还是有趣的岩石。

他们经常与GPS接收器配对,因为再次,他们在彼此紧密匹配时互相反驳彼此的最大弱点。一个给出粗糙的绝对位置,而另一个给出粗糙的绝对方向。如果你的机器人被限制在车轮上的地面(而不是像傻瓜一样飞行),那真的是你所需要的。

强大的两倍。两次致命!

“传感器融合”现在显然就是把所有这些输入连接到卡尔曼滤波器之类的东西上的过程。请注意我们想要知道的东西,“离地面的距离”,并不是任何传感器都能直接测量的东西。(即使是声纳/雷达脉冲也可以测量到一些地面)。关于地面的真相是推断。

超出卡尔曼过滤器的逻辑阶段是隐藏的马尔可夫模型(HMMS),我们通过称之为有一个称为垂直高度的“隐藏”属性,我们不直接观察到(尽管我们在间接地表达了许多测量是)。尽管存在嘈杂的样本数据,我们可以很好地结束证据后,我们可以非常答案。

或者,至少,某种足够的不崩溃。

颞灭

听起来你想要将所有传感器数据拉到你的主要微控制器中并在那里进行数学,但是是非常小心时间混叠效果。如果一个传感器的时间相对于其他传感器发生漂移,那么融合结果就会以奇怪的方式变得紧张不安。

想象一下,如果你有一个传感器块,你把它滑过桌子,但在一半的时候,你把它翻转90度,会发生什么。

IMU应该认为,“滑动侧面,旋转90,向上滑动” - 将其集成到空间中的真实位置,您应该得到一个平坦的直线。但是,如果“翻转90”陀螺仪延迟(或只是时间戳严重),则加速度计矢量不会正确地旋转回到每个时间瞬间的桌子的平面上,并且会有一些垂直漂移作为运动“泄漏到错误的轴上。不是由于传感器中的任何不准确性,但纯粹是因为加工序列。

这就是为什么有些imus自己自己做的原因。流行微控制器- 6050它有自己的固件,一个陀螺仪和板载加速度计,还可以有一个外部磁力计连接。融合后,IMU报告一个理想的运动矢量给微控制器,提供更一致的结果。当然,总有一个折衷:融合的动作更新(至少对这个芯片来说)比原始值的速度要低。

如果你有一个复杂的控制过滤器,原始传感器值是一个更“诚实”的输入算法,蓬勃发展的信息。但如果你不介意慢而精确(或者你只关心最终的答案),让芯片为你做融合。

2的评论
  • 希思狂欢 2016年8月5日

    一个复杂主题的伟大总结!

    喜欢。 回复
  • WOJCIECH BATOG. 2016年11月07日

    我有一个关于GPS的问题。你怎么解释GPS延迟?如果我理解正确,GPS总是落后于其他传感器,不仅因为它有较慢的环路在20赫兹左右?
    那么如何纠正过去发生的错误呢?

    喜欢。 回复