Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 如何校正传感器与外部环境的偏差?_Machine Learning_Sensors_Drift - Fatal编程技术网

Machine learning 如何校正传感器与外部环境的偏差?

Machine learning 如何校正传感器与外部环境的偏差?,machine-learning,sensors,drift,Machine Learning,Sensors,Drift,我有一个电磁传感器,它可以报告它在太空中读取的电磁场强度。 我还有一个发射电磁场的装置。它占地1米 所以我想用它的读数来预测传感器的位置。 但由于传感器受金属的影响,使得位置预测漂移 就像读数是1,你把它放在金属附近,你得到2。 差不多吧。这不仅仅是噪音,这是一个永久的漂移。除非移除金属,否则读数始终为2 一般来说,我需要学习哪些技巧或主题来恢复阅读1和阅读2? 假设金属被固定在空间的某个地方,我可以先把它放在金属附近来校准传感器 一般来说,你可以提出任何关于消除漂移的建议。另外,请考虑我可以让

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

所以我想用它的读数来预测传感器的位置。 但由于传感器受金属的影响,使得位置预测漂移

就像读数是1,你把它放在金属附近,你得到2。 差不多吧。这不仅仅是噪音,这是一个永久的漂移。除非移除金属,否则读数始终为2

一般来说,我需要学习哪些技巧或主题来恢复阅读1和阅读2? 假设金属被固定在空间的某个地方,我可以先把它放在金属附近来校准传感器


一般来说,你可以提出任何关于消除漂移的建议。另外,请考虑我可以让另一个发射器放在某处,这样我就可以更容易地恢复真正的阅读。

< P>让我建议你把你的传感器输出视为两个因素的组合:

sensor_output = emitter_effect + environment_effect
并且您希望获得
发射器效果
,而无需添加
环境效果
。所以,你当然需要减去:

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

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

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

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


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

我基本上了解卡尔曼滤波,我将其用作平滑器。所以对我来说,它就像一个函数,接收时间序列并输出平滑的时间序列。因此,如果输入已经漂移,它将不知道如何取消漂移。我还没有学会如何使用卡尔曼融合多个传感器,所以我不能说太多。但是谢谢你的建议,我会调查的。