2
有沒有辦法在沒有GPS的情況下在Android中獲得速度?我不需要準確的值。有沒有一種方法可以在Android中獲得沒有GPS的速度?
有沒有辦法在沒有GPS的情況下在Android中獲得速度?我不需要準確的值。有沒有一種方法可以在Android中獲得沒有GPS的速度?
嗯,有點,但你需要做的處理很多..
你可以頻繁的加速度計讀數和integrate the values once to get velocity。這不會給你一個準確的起始速度,但過了一段時間它可能會工作(除非你開始時,手機在車裏開車)。另見this post。現在
,一些僞代碼:
我們開始在t=0
並測量在所有三個軸的加速度。
a = get_acceleration()
vx = vx + a.x - gravity.x;
vy = vy + a.y - gravity.y;
vz = vz + a.z - gravity.z;
這樣做了幾秒鐘後,所有的加速度值(如果你經常品嚐,即,50赫茲)的總和應該是速度。您還需要確定設備的哪個方向,因此您讀取的加速度組件有多少是由於重力和補償。
聽起來不錯。但有點複雜。也許使用GPS是在移動平臺上獲得速度的最佳方式。 – flypen 2012-02-12 08:38:42
也有基本的物理問題,即使你可以完美的取樣(而且手機的方向沒有改變),你不知道你的參照系的速度(即你無法知道不知道是否當你開始採樣時,你以恆定的速度移動)。 – 2012-02-12 09:14:00
另一個問題是隨着時間的流逝,錯誤變得越來越大 - 小的偏差加起來有很大的差別,除非你有辦法不時地規範化。 – johndodo 2012-05-20 17:51:27