2016-01-28 62 views
2

我有陀螺儀和磁力計的原始數據。根據這些數據,我必須計算標準信息,精確度爲1Deg。如何使用陀螺儀和磁力計來計算標題

我想知道,有沒有任何算法可以幫助我使用提供的準確性來獲取標題信息?

任何文章或任何鏈接也將有所幫助。

感謝

+0

stackoverflow不是爲你尋找/寫代碼,而是關於解決你在[現有]代碼中存在的問題。向我們展示您迄今爲止所嘗試的內容,此處的程序員將能夠爲您提供幫助,否則我只能建議您[用谷歌搜索](https://www.google.com.ua/search?q=calculate+heading + from +陀螺儀+和+磁力計+數據)(或者看看_Related_部分下的側欄),並停止浪費我們的時間來搜索你 – ankhzet

+0

這個問題目前的形式太寬泛了。你嘗試了什麼算法,以及你究竟卡在哪裏?請注意,對異地資源的請求在這裏被視爲離題。 – njuffa

+0

檢查出由電話的動作API返回的偏航 – nbsrujan

回答

4

我假設你正在使用的手機來收集gyroscope+magnetometer數據。

除非您知道設備的初始狀態,否則無法計算帶有Gyro+Magnetometer的標題。你必須嘗試Accelerometer+Magnetometer。您可以從Android/IOS設備的Motion sensor API中獲取rotation-matrix' or yaw`組件的標題值。

如果你想實現你自己的嘗試傾斜補償算法。你所要做的就是使用accelerometermagnetometer來實現傾斜補償ecompass。設備幀中的讀數爲accelerometermagnetometerAccelerometerMagnetometer給出讀數作爲設備旋轉的函數。此旋轉包含設備的滾動,俯仰和標題的信息。以下是使用accelerometer+magnetometer進行航向估算的解釋和推導。

Android sensor coordinate system


Tilt compensation algorithm

accelerometermagnetometer分別給你

讀數。它們在設備框架中,並且設備被旋轉通過

其中是您正在尋找的標題。因此,設備的旋轉矩陣將

我們必須解決。所以一步一步解決

從以上,等同於零,我們得到

從上面

這是從accelerometer+magentomete獲取標題值的基本方法。偏航/航向值由移動電話中的運動傳感器API提供。

執行sensor-fusion算法時,您必須注意幾件事情。 Accelerometers並不總是給出正確的讀數,線性加速度下的設備。讀數由於附近的鐵磁性物質而受到扭曲。精度也取決於gyroscope傳感器中的白噪聲分量。

有許多算法來估計準確的航向值。其中有些是

+0

感謝您的詳細解答。我忘了在我的問題中提到我的申請。我的申請涉及航空領域。我的磁力計將位於飛機垂直鰭上。我也會嘗試這種方法 – Pratik

+0

@Pratik如果磁力計位於飛機鰭上,請檢查一次磁力計讀數。如果傳感器本身沒有進行校準,則必須在使用之前對磁力儀進行校準。 – nbsrujan