2013-07-10 518 views
18

在阅读了很多关于如何根据加速度数据测量距离的论坛之外的许多研究和论文之后,我发现了双积分方法,但与此方法有关的误差很大并且随时间增加。 此外,我发现一些人建议卡尔曼滤波器,我读了一些关于它的参考,但它不清楚如何使用它。还有一些人在谈论融合传感器......但在读完它们之后,我没有得到任何新的想法。 所以我仍然感到困惑,我没有找到正确的答案。 抱歉这么长时间的介绍。使用加速度计计算距离


问题

让我们考虑,我持有9轴传感器在我的手,将我的手在一些方向,我怎么能找到我的手在空间中的新位置?如何获得从初始点到新点的运动矢量我的意思是如何知道三轴上的传递距离?

如果没有直接的答案......一些建议或引用将是伟大的或一些算法给出了准确的答案,我可以自己研究和使用它。 非常感谢你

+0

你基本上回答了自己的问题:“我发现了双积分方法,但与此相关的方法错误是由时间和较大增加。”该错误增长得如此之快以至于该方法无用。 – Ali

+0

[基于陀螺仪和加速度计的室内定位系统]的可能的副本(http://stackoverflow.com/questions/7499959/indoor-positioning-system-based-on-gyroscope-and-accelerometer) – Ali

+0

它仍然是一个活跃的领域的研究,所以我会说这真的很难。 – Korchkidu

回答

3

不考虑旋转:

让我们考虑在时间t=t0你在[ x0 , y0 , z0 ]位置和[ vx0 , vy0 , vz0 ]速度矢量。

t=t1上,您读取了加速度向量[ ax1 , ay1 , az1 ](来自t0t1的平均加速度)。

然后,在t=t1速度矢量将是:

[ vx1 , vy1 , vz1 ] = [ vx0 + ax1 * (t1 - t0) , vy0 + ay1 * (t1 - t0) , vz0 + az1 * (t1 - t0) ] 

t0t1之间的平均速度会

[ vx01 , vy01 , vz01 ] = [ (vx0 + vx1)/2 , (vy0 + vy1)/2 , (vz0 + vz1)/2 ] 

而在t=t1的位置将是:

[ x1 , y1 , z1 ] = [x0 + vx01 * (t1 - t0), y0 + vy01 * (t1 - t0), y0 + vy01 * (t1 - t0) ] 

正如你所能看到,错误传播与t^2,所以这就是为什么惯性系统需要像GPS一样的外部参考补偿。

15

你的问题的简短答案是你不能这样做。

双重积分方法实际上是唯一一种仅通过加速度计获取所需信息的方法。你发现这个方法的问题。错误随着时间增加而增加,并且通常不会提供许多正在寻找的准确度。

卡尔曼滤波通常需要2个设备,基本上可以充分利用这两个设备并过滤出不好的结果。看下面的例子。

卡尔曼滤波是一个非常棘手的问题,我试图深入高级设计,但从未在有限的测试中发现任何有意义的结果。开始了解这个问题的好地方是youtube video series

这是与斯坦福获得了DARPA的挑战,并解释在一个易于理解的方式话题的人。整个过程是一个关于编程机器人移动并了解其在未知环境中的位置的6单元视频系列。值得一看,如果你有时间和兴趣。

这听起来像你试图做同样的事情,以我所做的让步实在特定的相对位置信息的高级设计。

另一个伟大的卡尔曼滤波read this(如果该链接不起作用谷歌卡尔曼滤波器平衡机器人,然后点击TKJ博客链接)。基本上这个人使用加速度计和陀螺仪来跟踪现实世界中的方向。

别的东西寻找到wiki实时动态。这在拖拉机和联合收割机上提供真正准确的位置信息。约翰迪尔销售一个系统,但它就像2万美元。下面是使用GPS and beagleboard

4

由一个9轴传感器我假设穷人的版本是指:

  • 3轴陀螺仪(测量旋转速率)
  • 3轴加速度计(测量加速度)
  • 3轴磁强计(措施标题)

获取从这种类型的9轴传感器的实际位置的估计是不可能的,而无需使用另一传感器吨帽子使用外部参考如GPS。理论上讲,如果你知道物体在空间中的加速度以及它的初始位置和速度,你将能够通过将其加速度和速度信息传播回初始位置来计算物体的新位置(即积分两次加速)。实际上不可能的原因是加速度计有噪音。这个噪声将具有非零平均值,因此当积分加速度信号时,非零平均噪声将不断增加并累积在所得到的速度信号中。这被视为传感器漂移。速度估算开始相当正确,但由于这种累积的噪音而快速偏离。通过重复这一过程,第二次整合以获得位置只会使情况更加恶化。

通过使用诸如GPS的外部参考,卡尔曼滤波器可用于慢更新的GPS信号结合起来,并快速更新加速度信号一起,以产生位置的可靠估计。 GPS具有对通过对加速度信号执行积分将会累积的漂移进行调零的效果。

我建议看一下Khamey建议的Udacity Youtube视频。学习卡尔曼滤波器时,有助于清楚地了解目标是什么以及卡尔曼滤波器在做什么。那么算法的数学和实际步骤将更容易理解。在学习卡尔曼滤波器时,另一个有用的功能是每次只为一个状态变量执行,而不是整个状态向量。这只是帮助您将注意力集中在卡尔曼滤波器实际正在做什么上,这样您就不会被矩阵代数陷入困境。

0

如果有底图,你放心,传感器沿着已知路径(如道路)行驶时,您可以使用底图纠正有噪音的读数。请参阅Jun Han,Emmanuel Owusu,Thanh-Le Nguyen,Adrian Perrig和Joy Zhang“ACComplice:在智能手机上使用加速度计进行位置推断”,第4届国际通信系统和网络会议论文集(COMSNETS 2012),印度班加罗尔,1月3-7,2012年

http://www.netsec.ethz.ch/publications/papers/han_ACComplice_comsnets12.pdf