总结:单独标定IMU的工具包(kalibr_allan,imu_tk,imu_utils)

目录

一、常用开源IMU标定工具包汇总

kalibr_allan

imu_tk

imu_utils

imu_tk与imu_utils的区别

 

二、使用kalibr_allan计算imu误差

参考:

下载:

安装:

ROS操作:生成imu的.m文件

MATLAB操作:计算imu误差(高斯白噪声,随机游走偏置)


一、常用开源IMU标定工具包汇总

本文主要记录allan工具包的使用,其他2个包的使用请参考给出的链接文章。

kalibr_allan

https://github.com/rpng/kalibr_allan

https://gitee.com/fsswl/kalibr_allan/

https://www.it610.com/article/1281582656869384192.htm

https://blog.csdn.net/weixin_43247057/article/details/101695977

This has some nice utility scripts and packages that allow for calculation of the noise values for use in both kalibr and IMU filters.

The dataset of the manufacture can find the "white noise" values for the system, but the bias noises need to be found through experimental tests.

The gyroscope_random_walk and accelerometer_random_walk values can normally be found on the IMU datasheet as either angular random walk or velocity random walk, respectively.

imu_tk

https://github.com/Kyle-ak/imu_tk

https://blog.csdn.net/learning_tortosie/article/details/89889853?utm_medium=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-1.nonecase&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-1.nonecas

The C++ IMU-TK Library (Inertial Measurement Unit ToolKit) provides simple functions and data structures to calibrate MEMS-based inertial navigation units, and to process and display IMU data.

IMU-TK implements a multi-position calibration method that does not require any parameter tuning and simply requires the sensor to be moved by hand and placed in a set of different,

automatically detected, static positions. IMU-TK also provides a collection of functions for data integration.

imu_utils

 

imu_tk与imu_utils的区别

参考: 用imu_utils和imu_tk标定imu的确定性误差和随机误差

1、imu_utils:标定不确定性误差?

在imu_utils文件下的data文件目录下生成一个imutest_imu_param.yaml的文件,文件中有16个数据,表示陀螺仪和加速度计的高斯白噪声和随机游走误差,到现在随机误差标定结束

2、imu_tk:标定确定性误差?

成功之后会生成两个文件imu_acc.calib和imu_gyro.calib. 其中的参数分别表示加速度计和陀螺仪的非对齐误差、biase、scale

 

 

二、使用kalibr_allan计算imu误差

参考:

以下步骤在 使用kalibr标定imu中都有说到,我就是参考这篇博客完成了以下步骤

我的电脑配置为:ubuntu18.04, ROS melodic

下载:

(1)matlab2018a

(2)kalibr_allan

下载kalibr_allan后,其包含了:

(1)bagconvert ROS包用于将imu原始数据.bag转换成.m matlab文件。

(2)matlab为在matlab中运行的脚本文件

安装:

1、ubuntu中安装matlab

2、安装bagconvert ROS包

直接将bagconvert放到ROS工作空间中用catkin_make编译即可,生成bagconvert节点

ROS操作:生成imu的.m文件

rosrun bagconvert bagconvert /media/chenlu/pegasus_navigation/data/imu_raw_data_rosbag/xsens_raw_imu_static_2h.bag /imu/data

MATLAB操作:计算imu误差(高斯白噪声,随机游走偏置)

1、执行SCRIPT_allan_matparallel.m文件,生成imu误差结果.m文件

2小时的imu数据,计算过程约要20分钟(电脑风扇呼呼的高速转动起来了。。。)

注意!需要修改几个文件路径,包括:allan功能函数的路径,imu bag路径,生成结果保存的路径,如下图

计算结果:

 

2、绘制allan方差曲线图

我使用的imu为xsens mti-g-710带GPS的(与allan包自带的案例imu同一型号)

执行SCRIPT_process_results.m,将使用上步生成的.m文件来绘制曲线图。

同样需要修改几个路径:

最终绘制的Imu误差曲线图:

加速度计的bias没有被成功计算出来(原因待查?)

与kalibr_allan自带的已标定好的xsens imu结果(下图)对比:

(1)可见,陀螺仪的误差结果比较接近(但结果也稍差),但加速计误差明显比手册上的差很多

(2)或许是由于imu用了一段时间后就会导致与出厂标定结果逐渐偏离,建议定期标定?

 

 

 

 

 

  • 6
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值