2014-10-20 88 views
0

我是一名工程學學生,我目前正在開發一款帶有android nexus 5飛行控制器的四旋翼飛行器。通過GPS的Android位置估算器

爲了執行自主飛行,我需要實現一個合適的位置控制器和一個位置估計器,這裏是我的問題:它已經被證明使用便宜的硬件,可以通過GPS和IMU mesuraments獲得良好的位置估計但對於電池節能政策android計算GPS更新頻率很低(1hz)所以有可能獲得更高的頻率(20hz)?如果有人有更好的解決方案可以請告訴我?

編輯:

我的問題不在於有多快我能得到修復(部署之前,我可以等待了堅實的修復)。問題在於位置估計的準確性,並且正如我悲傷的一樣,事實證明,使用cheeper硬件(比如使用arduino mega的ardupilot,與nexus 5和ublox gps相同的imu),有可能獲得一個非常好的準確性,允許安全的飛行和非常精確的懸停。

即使有requestLocationUpdate()的最小時間設置爲0 GPS數據事先每1000毫秒

由於只更新一次洛倫佐

+0

requestLocationUpdate()的時間約束參數只是一個提示。該設備可能會或可能不會使用此提示。 – Stefan 2014-10-22 08:42:07

回答

0

我想通過的頻率,你的意思是在一定時間內有多少次該位置已更新。

如果是這種情況,你可以明顯控制這一點。然而,您要求更新位置的電池越多,電池的負擔就越重。函數getLastKnownLocation()和requestLocationUpdates()可以聯合使用以相當快地更新緯度/經度座標。請閱讀Location Manager

但是gps鎖定需要時間。根據我的經驗,每10秒可以提供一個露天地點(無障礙物)。如果您有準確的餘地,可以提供更快的估算。使用位置提供我的網絡塔,而不是gps可以獲得10secs /位置以下的位置。不過,我預計至少會有至少200英尺的誤差。

最後更新位置的最快方式是通過wifi。如果您可以提供固定的無線連接,您的位置可以在5秒內以幾乎確定的精度進行更新。

也看看google maps api。他們有一些很酷的功能可以用來讓你的位置更快,甚至可以添加谷歌地圖到你的應用程序。