2010-07-05 140 views

回答

9

您可以使用加速計的加速度值來測量速度和距離。有很好的論文(Implementing Positioning Algorithms Using Accelerometers),它解釋了你從加速度計得到的錯誤以及從加速度值獲得速度和位置的技術。

一些僞代碼:

velocity[i] = (acceleration[i] + acceleration[i-1])/2 * interval + velocity[i-1] distance[i] = (velocity[i] + velocity[i-1])/2 * interval + distance[i-1]

interval是其與所述加速計的更新頻率acceleration/velocity[i]acceleration/velocity[i-1]之間的時間。

要提高準確度,您必須過濾正手中的加速度值。我已經在iPhone 3GS上實現了這樣的算法,並且工作得很好。加速度計讓我們測量距離爲30釐米,誤差約爲1釐米。我還沒有測試更長的距離。

+0

如果我正確理解這一點,那麼您必須跟蹤來自地球重力的靜態加速度,因爲設備的物理方向可能會發生變化。把它扔到空中會使它翻倒,變「下」。我不確定我對此的解釋是否正確,但我認爲論文中描述的單一「校準」假定設備的定向不變。 – 2011-10-19 21:14:15

+0

沒錯,這種方法假定設備的方向在移動過程中不會改變。 – brutella 2011-10-20 17:49:19

+0

@brutella能否請你提供你的算法? – 2016-04-26 13:39:24