2012-06-10 120 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

感謝您的幫助,我會看到鏈接和揣摩的方式。 –