欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IMU标定及Allan方差分析

程序员文章站 2022-07-12 10:34:52
...

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/backward.hpp>,再编译。否则报错: 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 <code_utils/backward.hpp>
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 slam