IMU标定及Allan方差分析
程序员文章站
2022-07-12 10:34:52
...
IMU-Xsens标定及Allan方差分析
1. 下载编译标定功能包
- 安装依赖项
sudo apt-get install libdw-dev
- 下载标定代码
下载前注意事项:
- 全局安装 ceres 库,code_utils 依赖 ceres;
- 不要同时把 imu_utils 和 code_utils 一起放到src下进行编译。由于i mu_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 ;
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方差分析
上一篇: DAVIS第六课: 基于关键帧的非线性优化的事件相机实时VIO算法
下一篇: 虚函数应用实例