Algorithm 如何计算与加速度计的距离

Algorithm 如何计算与加速度计的距离,algorithm,embedded,Algorithm,Embedded,我是嵌入式世界的初学者。目前我正在研究MPU9250运动传感器。我的项目目标是使用加速度计实时计算距离。e、 g.如果我在点A(即位于X轴上的5cm处)并且我愿意向点B移动(即位于X轴上的50cm处),则从A->B的移动应显示距离变化为5,6,7,--10---50cm。类似地,从B->A的移动应显示距离变化为50,49,48----30,29----5厘米 我的项目是非常通用的,它是在嵌入式处理器上实现的,所以我不需要像Kalman等更昂贵的算法。我已经通过了许多论坛来完成这项任务。我使用双重

我是嵌入式世界的初学者。目前我正在研究MPU9250运动传感器。我的项目目标是使用加速度计实时计算距离。e、 g.如果我在点A(即位于X轴上的5cm处)并且我愿意向点B移动(即位于X轴上的50cm处),则从A->B的移动应显示距离变化为5,6,7,--10---50cm。类似地,从B->A的移动应显示距离变化为50,49,48----30,29----5厘米

我的项目是非常通用的,它是在嵌入式处理器上实现的,所以我不需要像Kalman等更昂贵的算法。我已经通过了许多论坛来完成这项任务。我使用双重积分,同时过滤噪音和管理漂移

我目前面临的问题是,我正在获取数据,即使传感器静止不动,数据也会发生变化。因此,最终估计距离不断变化。另外,当我移动传感器时,总的估计位移非常低。请给我建议一些解决问题的方法

目前我的置换算法是:

V[t] = V[t-1] + (A[t]+A[t-1])*T/2  // Where T is my sampling interval set by RTOS. 100msec
Pos[t] = Pos[t-1] + (V[t]+V[t-1])*T/2

加速度计的位置估计是通过加速度的二次积分来计算的,所以积分误差应该加到积分结果中

这个问题可以通过INS/GPS融合(室外)或LPE(局部位置估计)传感器来解决


如果只需要Z轴位置,气压计+加速计将是解决方案。

@Lundin我错过了这一点。累积误差仍然太高。我所能想到的也许是一个光学鼠标式相机,或者一个便宜的测距仪。或更高分辨率的传感器和更快的轮询间隔。100毫秒是相当稀疏的。@JasonC我不是这方面的专家,但我相信最常用的方法是使用三轴加速计和陀螺仪。据说有一些微型MEMS电路将所有这些都包含在一个芯片中。