machine-learning - 如何纠正传感器因外部环境而产生的漂移?

标签 machine-learning sensors drift

我有一个电磁传感器,可以报告它在太空中读取到的电磁场强度。 我还有一个发射电磁场的装置。它占地 1 米。

所以我想使用其读数来预测传感器的位置。 但传感器受金属影响,导致位置预测出现漂移。

这就像如果读数为 1,并将其放在金属附近,则会得到 2。 类似的事情。这不仅仅是噪音,而是永久的漂移。除非您移除金属,否则读数始终为 2。

为了恢复从 2 中读取 1,我需要学习哪些技巧或主题? 假设金属固定在太空中的某个地方,我可以先将传感器放在金属附近来校准传感器。

您可以提出任何有关消除一般漂移的建议。另请考虑我可以在某个地方放置另一个发射器,这样我应该能够更轻松地恢复真实读数。

最佳答案

我建议您将传感器输出视为两个因素的组合:

sensor_output = emitter_effect + environment_effect

并且您希望在不添加environment_effect的情况下获得emitter_effect。所以,你当然需要减去:

emitter_effect = sensor_output - environment_effect 

减去环境对传感器的影响通常称为补偿。为了进行补偿,您需要能够模拟或预测环境(周围漂浮的额外金属)对传感器的影响。环境效果模型的形式可以非常简单,也可以非常复杂。

简单的方法通常使用单独的传感器来估计environment_effect。我不确定您的具体情况是什么,但您也许可以选择一个传感器来独立测量您的设置中的干扰(金属)量。

更复杂的方法可以执行补偿,而无需引用独立的传感器来测量干扰。例如,如果您预计距离平均为 10.0,只有偶尔的偏差,则可以使用该事实来估计存在多少干扰。根据我的经验,这种方法不太可靠;具有独立传感器来测量干扰的系统更加可预测和可靠。

如果您对基于模型的估计感兴趣,您可以开始阅读有关卡尔曼滤波的内容:

https://en.wikipedia.org/wiki/Kalman_filter

这是一个复杂的主题,因此您应该有一个陡峭的学习曲线。卡尔曼滤波(以及相关的贝叶斯估计方法)是从“不良传感器读数”转换为“校正传感器读数”的正式方法。

关于machine-learning - 如何纠正传感器因外部环境而产生的漂移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031594/

相关文章:

windows-7 - VMWare Windows 7 客户机中存在巨大的时间漂移

machine-learning - 如何在Azure机器学习中构建卷积神经网络?

c++ - 方向传感器的 Windows Sensor API C++ COM 集成未在 Windows 10 上定期更新

c# - 如何从定时事件中恢复功能

android - 检查 Sensor.TYPE_SIGNIFICANT_MOTION 是否受硬件支持

amazon-ec2 - 如何处理Amazon EC2的时钟漂移?

python - 对于 MultinomialNB,Sklearn 偏向正值

machine-learning - 用于序列推理的深度学习

python - CNN 对猫/狗图像二元分类的准确度并不比随机分类好