IMU标定使用imu_utils工具包,开源见https://github.com/gaowenliang/imu_utils[1],通过该工具包完成标定可以提供IMU的随机误差——noise和random walk。
imu_utils 测量结果:零偏 随机噪音
1.安装imu_utils
git clone --recursive https://github.com/gaowenliang/imu_utils
注意:这个是ros版本,在Ros的catkin_ws空间使用
2.安装code_utils
sudo apt-get install libgoogle-glog-dev libgflags-dev # google-glog + gflags
sudo apt-get install libatlas-base-dev # BLAS & LAPACK
sudo apt-get install libsuitesparse-dev # SuiteSparse and CXSparse (optional)
mkdir -p ~/kalibr_ws/src
cd kalibr_ws/src
git clone https://github.com/gaowenliang/code_utils.git
使用catkin编译
问题:/home/iben03/kalibr_ws/src/code_utils/src/sumpixel_test.cpp:2:10: fatal error: backward.hpp: 没有那个文件或目录
git clone --recursive https://github.com/gaowenliang/code_utils.git
修改头文件包含://#include "backward.hpp"
#include "code_utils/backward.hpp"
catkin_make 所有成功!
3.安装imu_utils
cd kalibr_ws/src
git clone https://github.com/gaowenliang/imu_utils.git
cd ..
catkin_make
4.录制imu数据:静止数据,用来记录噪音平差
从10点录制到12点 2023-06-07-09-57-43-2hour-static.bag
5.标定过程
roslaunch imu_utils wit.launch
rosbag play -r 20 /home/iben03/data_imu/2023-06-07-09-57-43-2hour-static.bag
注意:在launch里面,设置时间为小于录制时间包,比如120
6.获取结果:在设定的文件夹里面
零偏和随机游走结果:120min 结果分析:加速度漂移还是不小的,达到0.5cm级别
%YAML:1.0---
type: IMU
name: wit
Gyr:unit: " rad/s"avg-axis:gyr_n: 0.gyr_w: 0.x-axis:gyr_n: 0.gyr_w: 0.y-axis:gyr_n: 0.gyr_w: 0.z-axis:gyr_n: 0.gyr_w: 0.
Acc:unit: " m/s^2"avg-axis:acc_n: 5.6321148008435318e-03acc_w: 4.6265159235634552e-04x-axis:acc_n: 3.9721600732445812e-03acc_w: 3.7733298335720493e-04y-axis:acc_n: 5.1669748654936103e-03acc_w: 3.4456535278039807e-04z-axis:acc_n: 7.7572094637924057e-03acc_w: 6.6605644093143345e-04