我该如何纠正传感器从外部环境的漂移?

时间:2019-01-04 00:18:33

标签: machine-learning sensor drift

我有一个电磁传感器,报告其在太空中读取多少电磁场强度。 我还有一个发射电磁场的设备。它占地1米。

因此,我想使用传感器的读数来预测传感器的位置。 但是传感器受金属影响,因此位置预测会漂移。

这就像读数为1,然后将其放在金属上,得到2。  这样的事情。不只是噪音,而是永久的漂移。除非您除去金属,否则它将始终显示2。

要从2中恢复1,我一般需要学习哪些技术或主题? 假设金属固定在空间中的某个位置,那么我可以先将传感器放在金属附近来进行校准。

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

1 个答案:

答案 0 :(得分:1)

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

sensor_output = emitter_effect + environment_effect

您想获得emitter_effect而无需添加environment_effect。因此,您当然需要减去:

emitter_effect = sensor_output - environment_effect 

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

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

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

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

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

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