0.說在最前面的話
在閱讀論文《A Robust and Easy to Implement Method for IMU Calibration without External Equipments》的時候了解到,IMU-TK 這個開源工具是基于此論文為理論依據開發的。IMU-TK 這個工具用來標定確定性誤差(系統誤差),是一個基于C++的開源IMU數據處理庫,用于處理慣性測量單元(IMU)數據,包括加速度計、陀螺儀和磁力計等傳感器。該庫提供了一組API,可以用于讀取IMU數據、進行校準、等操作。
1.算法思想
加速度計的標定利用了加速度計在靜止狀態下的三軸數據模值等于重力加速度這一條件,采集加速度計在不同狀態的靜止數據(測量值),通過測量值與真實值,構建最小二乘法問題,LM求解,即可求出標定參數。
陀螺儀的標定需要加速度計數據的參與,所以需要先標定好加速度計。在標定陀螺儀時,IMU從靜止狀態A,通過一段時間,到了靜止狀態B,通過陀螺儀可以算出來A到B的旋轉矩陣,而通過加速度數據也可以算出來A到B的旋轉矩陣,最小化這一差異即可實現優化求解。
2.誤差模型
論文中詳細的推到了誤差模型的方程,這里直接給出整理過的誤差模型方程
在網絡上可以找到大量的對此論文的詳解和學習筆記,我推薦查閱作者為:聲時刻 的博文。作者不僅對文中提到的論文有深厚的理解,而且還自己發布了一篇 《Low-Cost Inertial Measurement Unit Calibration With Nonlinear Scale Factors》并且利用 matlab 自己寫了一個類似ICRA2014論文的算法。
3.校準流程
為了避免標定參數估計中的不可觀察性,至少需要收集IMU9個不同姿態的數據,姿態數越多,標定結果越準確。
初始化時間 T一般取 50s,旋轉后保持靜態時間t 取1~4s,旋轉次數 N 取36~50次。
4.生成標定參數
生成兩個標定文件test_imu_acc.calib、test_imu_gyro.calib ,分別為陀螺儀和加速度計的 旋轉矩陣(misalignment matrix),刻度因數(scale matrix)和零偏(bias),格式如下:
general case: [ 1 -mis_yz mis_zy ] T = [ mis_xz 1 -mis_zx ] [ -mis_xy mis_yx 1 ] "body" frame spacial case: [ 1 -mis_yz mis_zy ] T = [ 0 1 -mis_zx ] [ 0 0 1 ] Scale matrix: [ s_x 0 0 ] K = [ 0 s_y 0 ] [ 0 0 s_z ] Bias vector: [ b_x ] B = [ b_y ] [ b_z ]
給定原始傳感器讀數X(例如加速度),計算校準的"無偏"讀數 X'
審核編輯:湯梓紅
-
傳感器
+關注
關注
2553文章
51390瀏覽量
756569 -
開源
+關注
關注
3文章
3402瀏覽量
42711 -
加速度計
+關注
關注
6文章
704瀏覽量
46023 -
模型
+關注
關注
1文章
3305瀏覽量
49218 -
IMU
+關注
關注
6文章
319瀏覽量
45898
原文標題:論文閱讀 | 《一種魯棒且易于實現的無外部設備IMU校準方法》_筆
文章出處:【微信號:SmartHWFW,微信公眾號:SmartHWFW】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論