2012-06-10 121 views
3

我使用的是IMU(3轴加速计,3轴陀螺仪,3轴磁力计),我想从加速度计数据的线性加速度。我知道传感器融合和使用陀螺仪数据(和得到的取向),以获得重力矢量,因此除去相应轴的作用的能力。如何从加速计数据线性加速度

我在正确的道路上,如果可以的话你能帮忙吗?


后,我会两次整合加速,以获得位置在以下

 CurrentAcceleration[0] = e.Accelerometer[0]; 
     CurrentAcceleration[1] = e.Accelerometer[1]; 
     CurrentAcceleration[2] = e.Accelerometer[2]; 

     //we need to get the linear acceleration instead of the read data !! 

     CurrentVelocity[0] += (CurrentAcceleration[0] + PreviousAcceleration[0])/2; 
     CurrentVelocity[1] += (CurrentAcceleration[1] + PreviousAcceleration[1])/2; 
     CurrentVelocity[2] += (CurrentAcceleration[2] + PreviousAcceleration[2])/2; 

     Position[0] += (CurrentVelocity[0] + PreviousVelocity[0])/2 ; 
     Position[1] += (CurrentVelocity[1] + PreviousVelocity[1])/2 ; 
     Position[2] += (CurrentVelocity[2] + PreviousVelocity[2])/2 ; 

     PreviousAcceleration[0] = CurrentAcceleration[0]; 
     PreviousAcceleration[1] = CurrentAcceleration[1]; 
     PreviousAcceleration[2] = CurrentAcceleration[2]; 

     PreviousVelocity[0] = CurrentVelocity[0]; 
     PreviousVelocity[1] = CurrentVelocity[1]; 
     PreviousVelocity[2] = CurrentVelocity[2]; 
+0

的代码有几个错误。即使你修好了,也不行。 – Ali

+0

我读过一些研究论文,发现你是正确的,我们需要另一种设备来帮助(类似GPS改正错误),但该理论是正确的。无论如何感谢您的帮助,抱歉迟到评估答案。接受的答案。 –

+0

Upvoted你的问题,我很高兴我可以帮助。 – Ali

回答

3

Won't work.

你不能得到准确的位置,甚至速度。在上面的链接中,您可以找到提示您实际上可以执行的操作。

顺便说一句,这个问题会弹出surprisingly often

+0

感谢您的帮助,我会看到链接和揣摩的方式。 –