2013-03-19 182 views
10
  • 我想監視2軸上設備的方向:非常簡單:哪個方向停下來。
  • 它必須保持對
  • 它會受到旋轉和加速度延長的時間段(12小時)的準確性,對所有軸的

該設備將Android手機與標準陀螺/加速度計。對於這兩種傳感器類型,是否可以滿足上述要求?使用陀螺儀和加速度計獲取方向

我的想法至今:單獨加速度計無法實現這一點,因爲給出的任何值集合的時間瞬間,這是不可能的重力和空間加速組分分離。我無法理解陀螺儀如何幫助解決這個問題。是否有任何聰明的公式/算法可以管理這個?

由於

+1

嘗試谷歌'加速度計陀螺儀數據融合'。這是IMU中非常常見的任務,絕對可行。 (在我頭頂,你可以設置一個卡爾曼濾波器/在加速度計上做一個HPF,在陀螺儀上做一個LPF,但我沒有任何實現細節)。 – sapi 2013-03-19 03:39:49

回答

21

一種簡單的方法來組合的加速度計和陀螺儀的數據是通過使用互補濾波器的。這樣,您不會遇到陀螺儀漂移和加速度計噪音的問題。比卡爾曼濾波器更容易理解和使用。

您將使用積分從陀螺儀計算角度。對於加速度計,您將使用tan2函數來確定重力矢量的位置。然後,將互補濾波器將結合這兩個角度如下:

角= 0.98 *(角度+ gyroData * DT)+ 0.02 * accAngle

通知你只如何利用加速度計數據的一小部分(剛夠彌補漂移)。因此,您將使用陀螺儀數據進行快速更改,但從長遠來看,您將繼續遵循加速度計角度計算的平均值,因此您不會漂移。

我希望這會有所幫助。如果你需要更多的信息和一個C代碼的例子,我寫了一篇關於它的文章here