无人驾驶算法学习(十一):IMU标定及Allan方差分析

文章目录

  • 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

无人驾驶算法学习(十一):IMU标定及Allan方差分析_第1张图片

  • 7.Allan方差分析
    接下来,去画出来这些方差图,在scripts下有很多matlab的脚本文件
    无人驾驶算法学习(十一):IMU标定及Allan方差分析_第2张图片
    分析结果 如下:

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标定及Allan方差分析_第3张图片

参考:
imu_utils:https://blog.csdn.net/u011178262/article/details/83316968#2__IMU_110
imu_tk:https://zhuanlan.zhihu.com/p/22319718?refer=zimmon

你可能感兴趣的:(无人驾驶算法学习)