在过去的几天中,我一直在研究Extended Kalman滤波器的实现,而我一直在努力解决“传感器融合”的概念。

以GPS / IMU组合的融合为例,如果我对两个传感器都应用卡尔曼滤波器,我将要使用哪个传感器?


转换两个传感器以提供相似的测量值(例如x,y,z),对两个传感器应用卡尔曼滤波器,并返回估计值的平均值
转换两个传感器以提供相似的测量值(例如x,y,z ),应用卡尔曼滤波器,然后基于某个参数(测量噪声协方差)返回我更信任的传感器的估算值?


#1 楼

我知道这个问题已经有一个可以接受的答案,但我想提供一些补充意见。传感器融合的问题是一个很好的问题,但是根据应用的不同,您通常不需要“转换”(即两次积分)IMU以获得xyz位置。坦率地说,以我的经验,EKF框架中已经提供了融合移动机器人(直升飞机,无人地面飞行器等)的GPS和IMU数据的最佳方法:


机器人的工厂过程模型和相关过程噪声。

2a。识别GPS

2b的观测模型和相关的测量噪声。确定IMU的观测模型和相关的测量噪声

tl:dr:回答您的特定问题:您什么都不做! IMU为过程模型提供加速度校正,而GPS为过程模型提供位置校正。传感器融合方面或多或少是基于过程噪声和测量噪声的加权平均值。当然,纯运动过程模型可以充当双重积分器,但这不是过程模型的唯一选择。这听起来像是语义,但我认为这是对Kalman滤波器的一个基本误解,即“转换” IMU以提供xyz校正。

其他思想:

工厂过程模型可以是简单的运动学模型(恒定速度或恒定加速度),也可以是复杂的动力学模型。通常最好是从简单开始,然后在需要时增加复杂性。过程模型通常是从​​第一性原理(物理学)发展而来的,但是如果遇到困难,您可能会在网上找到一些不错的模型。 GPS和IMU传感器的观测模型也是如此。

测量噪声统计信息可以从制造商的数据表中或通过实验找到。
[此外:如果您使用的是真正的仪器,则最好尝试获取有关测量噪声的数据。如果静态测试可以为您提供代表性数据,请将传感器放在工作台上,收集一堆数据,然后确定测量噪声统计信息。提示:噪声的标准偏差(aka sigma)通常与采样频率的平方根成反比,例如,以10Hz而不是1KHz进行采样会使sigma降低一个数量级。您可以通过算出期望值来从数学上看到这一点。]

使用GPS和IMU,更复杂的动态工厂过程模型可能会改善线速度的估计。根据GPS的更新速率以及您对速度估算值的关注程度,对于给定的应用程序,动态模型可能不会增加复杂性。如果您具有良好的线速度传感器,则几乎不需要动态模型。已经采用运动学过程模型向受尊重的期刊和会议撰写并接受了许多论文。

[此外:动态模型的难点在于其准确性取决于以下方面:1.模型的结构。 2.模型中使用的参数(质量,阻力等)。模型的结构通常可以从第一性原理发展而来,但是即使对于已知的模型结构,参数估计也可能很困难。在线性情况下,卡尔曼证明了不管噪声如何,KF都会收敛(我们了解如何通过线性系统传播高斯分布),但是对于非线性扩展而言,情况并非如此。关于估计非线性模型的过程噪声,有很多论文。这仍然是一个活跃的研究领域。我的建议是在达到可接受的性能之前,先处理过程中的噪音。

另外:接受的答案中链接的论文当然很有趣,但远非最简单的方法。基于快速扫描,该论文的目的是报告一种基于模糊逻辑和“上下文变量”实时拒绝来自IMU或GPS的不良数据的新方法/方法。注意:同样,在EKF的情况下,“不良数据”是指与预期测量噪声不一致的数据。这是一个需要解决的重要问题,因为EKF的准确性(甚至稳定性)取决于以下观点:来自仪器的测量数据具有您指定的噪声特性。

这是关键的重要点因为这意味着任何额外的仪器,无论噪声有多糟糕,都不会使状态估计更糟。前提是EKF中使用的测量噪声与实际测量数据中的噪声匹配。注意对于KF,这可以用数学方法证明,但对于EKF,则不能用数学方法证明,尽管它在大多数情况下都能按预期工作并具有合理的过程噪声。 ..在您已经实现了可以处理异步测量和IMU测量偏差的EKF之后。从简单开始,增加复杂性。

希望这会有所帮助。

#2 楼

据我所知,通常首选第二种方法。您提到的“某些参数”用于定义“上下文”或“有效性域”,在每个传感器或另一个传感器中,每个传感器都应受到更多信任。由于涉及的传感器的特性和局限性,这些域通常固有地是模糊的。

6月发表的标题为“使用多传感器卡尔曼滤波的GPS / IMU数据融合:上下文方面的介绍”的文章。 2006年发行的Science Direct,与您在问题中描述的完全一样,描述了使用GPS和IMU的多传感器融合算法的开发。

评论


$ \ begingroup $
$ \ endgroup $
–池
19-6-26在3:42



#3 楼



Sensor Fusion,发布于2019年6月5日,作者是Jose R.F Junior(机器学习工程师)

评论


$ \ begingroup $
欢迎来到机器人初级Osho。感谢您的回答,但我们希望答案尽可能独立存在。链接容易腐烂,因此,如果链接的内容消失,依赖链接的答案可能会变得无用。如果您从链接中添加更多上下文,那么人们很可能会发现您的答案很有用。
$ \ endgroup $
– Mark Booth♦
19年6月10日在10:20

$ \ begingroup $
嗨,IA智利工程师Jose R.F Junior,您有这篇文章的英文版本吗?
$ \ endgroup $
–drerD
19年6月19日在18:29