2016-02-17 47 views

回答

0

這是慣性測量單元(IMU)的數據被用來跟蹤裝置在時間上的位置已經在機器人被用於幾年了(不包括專門與Android),一個非常有趣的問題。

Android設備通常都配有加速度計和陀螺儀,這兩個給你的手機不同的信息。這個問題的最簡單方法是

  1. 找到加速度計讀數
  2. 減去它們在重力的作用(想想如何)
  3. 整合讀數兩次找到參考的位置估計。

的問題是,從加速度計讀數非常吵鬧,只是非常小的時間步內真正準確。您可以通過卡爾曼濾波器讀取讀數以更好地進行狀態估計。另請閱讀here。通過比較的陀螺儀數據噪音較小,但仍然存在測量誤差隨時間漂移的情況。

您遇到的問題是加速度計的位置測量不是線性函數(您必須進行兩次積分),因此您需要使用Extended Kalman Filter或甚至是Unscented卡爾曼濾波器。

這個問題是機器人技術中一個非常流行和重要的問題,儘管您可能會在網絡上找到庫和實現,但是在高精度估計的情況下,其他人。

該加速度計提供的加速度數據。

如果

x`` = -g + A + e計算一些重力加速度g和加速度a,和誤差e

x` = -gt +在+等+ V0一段初始速度V0有助於X

然後,

X = -0.5gt^2 + 0.5at^2 + 0.5et^2 + v0t + X0爲初始位移x。

爲T >> 0時,二次誤差e的貢獻增加,改變你的真實效果顯着。

參考4.3 An Introduction to the Kalman Filter一個例子,但我建議你閱讀了整個事情,以及也許在書中Probabilistic Robotics

+0

感謝篇章!我會盡力去解決它。 你能告訴我們需要集成的功能嗎?我的意思是生病的時候會把以前和新的讀數作爲上限和下限。但是,這些讀數將被用於什麼功能。 – Xissor

+0

編輯我的答案更詳細 – deefunkt

相關問題