引用
0.引言
标定IMU的工具包參考港科大的github: https://github.com/gaowenliang/imu_utils
1.安裝依賴:
sudo apt-get install libdw-dev
2.下載下傳imu_utils和code_utils
imu_utils下載下傳位址為:https://github.com/gaowenliang/imu_utils
code_utils下載下傳位址為: https://github.com/gaowenliang/code_utils
3.安裝順序
全局安裝ceres庫,code_imu依賴ceres。
不要同時把imu_utils和code_utils一起放到src下進行編譯。
由于imu_utils 依賴 code_utils,是以先把code_utils放在工作空間的src下面,進行編譯。然後再将imu_utils放到src下面,再編譯。
在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp"為 #include “code_utils/backward.hpp”,再編譯。
否則報錯:code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp:No such file or directory
4.錄制imu.bag
讓IMU靜止不動兩個小時,錄制IMU的bag.
rosbag record /imu/data_raw -o imu120.bag
5.标定IMU
rosbag play -r 200 imu_utils/imu.bag
roslaunch imu_utils myImu.launch
launch檔案内容:
#imu topic的名字
#标定的時長
6.結果顯示
%YAML:1.0
---
type: IMU
name: myImu
Gyr:
unit: " rad/s"
avg-axis:
gyr_n: 2.6843680840756695e-03
gyr_w: 2.6321874241472154e-05
x-axis:
gyr_n: 3.9359404154512782e-03
gyr_w: 4.0916654313736004e-05
y-axis:
gyr_n: 2.4696135810580253e-03
gyr_w: 3.3094615661402927e-05
z-axis:
gyr_n: 1.6475502557177048e-03
gyr_w: 4.9543527492775379e-06
Acc:
unit: " m/s^2"
avg-axis:
acc_n: 4.8881967821011320e-02
acc_w: 1.5380403735651225e-03
x-axis:
acc_n: 7.2516456728875869e-02
acc_w: 2.2962008104801422e-03
y-axis:
acc_n: 3.7902410976698046e-02
acc_w: 1.6736315513040769e-03
z-axis:
acc_n: 3.6227035757460072e-02
acc_w: 6.4428875891114792e-04
7.Allan方差分析
接下來,去畫出來這些方差圖,在scripts下有很多matlab的腳本檔案
分析結果 如下:
double gyro_bias_sigma = 0.00001; // 零偏穩定性,運作中緩慢變化
double acc_bias_sigma = 0.0001; // 零偏穩定性,運作中緩慢變化
double gyro_noise_sigma = 0.025; // rad/s 測量噪聲
double acc_noise_sigma = 0.029; // m/(s^2) 測量噪聲
參考:
imu_utils:https://blog.csdn.net/u011178262/article/details/83316968#2__IMU_110
imu_tk:https://zhuanlan.zhihu.com/p/22319718?refer=zimmon
原文連結:https://blog.csdn.net/orange_littlegirl/article/details/98077564