IMU标定及Allan方差分析

IMU-Xsens标定及Allan方差分析

  • 1. 下载编译标定功能包
  • 2. 录制IMU数据包
  • 3. 标定IMU
  • 4. Allan方差分析

1. 下载编译标定功能包

  • 安装依赖项
sudo apt-get install libdw-dev
  • 下载标定代码

下载前注意事项:

  1. 全局安装 ceres 库,code_utils 依赖 ceres;
  2. 不要同时把 imu_utils 和 code_utils 一起放到src下进行编译。由于i mu_utils 依赖 code_utils,所以先把 code_utils 放在工作空间的src下面,进行编译。然后再将 imu_utils 放到 src 下面,再编译;
  3. 在 code_utils下面找到 sumpixel_test.cpp,修改#include "backward.hpp"为 #include ,再编译。否则报错: code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp:No such file or directory ;
cd catkin_vio/src
git clone https://github.com/gaowenliang/code_utils.git
# 修改code_utils功能包下sumpixel_test.cpp中 #include "backward.hpp"为 #include 
cd ..
catkin_make

cd catkin_vio/src
git clone https://github.com/gaowenliang/imu_utils.git
cd ..
catkin_make

2. 录制IMU数据包

需要将IMU静止放置2个小时,然后录制IMU的数据包:

rosbag record /imu/data

3. 标定IMU

修改 imu_utils 功能包下的 xsens.launch 启动文件:

需要注意标定的时长设置要小于bag的录制时长.

<launch>

    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/imu/data"/>  # imu话题名
        <param name="imu_name" type="string" value= "xsens"/>
        <param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
        <param name="max_time_min" type="int" value= "140"/>  # 标定的时长
        <param name="max_cluster" type="int" value= "100"/>
    </node>

</launch>

开始标定

rosbag play -r 200 ~/Datasets/imu_xsens.bag
roslaunch imu_utils xsens.launch

标定结果

%YAML:1.0
---
type: IMU
name: xsens
Gyr:
   unit: " rad/s"
   avg-axis:
      gyr_n: 7.7614407939270297e-03
      gyr_w: 7.5651166306226329e-05
   x-axis:
      gyr_n: 7.7728977807653386e-03
      gyr_w: 6.0588972267830838e-05
   y-axis:
      gyr_n: 7.5955231310305170e-03
      gyr_w: 8.2351378468359284e-05
   z-axis:
      gyr_n: 7.9159014699852325e-03
      gyr_w: 8.4013148182488846e-05
Acc:
   unit: " m/s^2"
   avg-axis:
      acc_n: 1.3016675257480200e-02
      acc_w: 4.7507975269777742e-04
   x-axis:
      acc_n: 1.3400641779288071e-02
      acc_w: 2.4554204072481519e-04
   y-axis:
      acc_n: 1.3126654194402345e-02
      acc_w: 5.7696613387170879e-04
   z-axis:
      acc_n: 1.2522729798750180e-02
      acc_w: 6.0273108349680833e-04

4. Allan方差分析

你可能感兴趣的:(手写VIO)