利用 imu_utils 标定 imu

目录

前言

一、安装 imu_utils

二、编译出现的错误

三、操作步骤

四、结果


前言

        记录利用 imu_utils 标定 imu,最近在使用imu做导航,要对imu进行标定,使用标定得到的加速度的噪声和加速度随机游走噪声以及角速度的噪声和角速度的随机游走噪声。

        写的可能不详细,有问题的话可以直接评论交流!


一、安装 imu_utils

1、安装依赖项

sudo apt-get install libdw-dev

2、安装ceres

        参考高博slam十四讲,安装ceres。

3、编译 code_utils

cd ~/imu_calib_ws/src
git clone https://github.com/gaowenliang/code_utils
cd imu_calib_ws
catkin_make

4、编译 imu_utils

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

二、编译出现的错误

1、找到报错的文件 sumpixel_test.cpp 把 #include "backward.hpp" 改为 #include "code_utils/backward.hpp"。

利用 imu_utils 标定 imu_第1张图片

2、关于 vector 的错误,同样找到报错的文件,在头文件中添加#include 即可。

利用 imu_utils 标定 imu_第2张图片

三、操作步骤

1、录制 imu 数据

rosbag record -o imu_calib_data/data/imu_data.bag your_imu_topic

大概要录制两个小时左右

2、编写 launch 文件

        在 imu_utils 下的 launch 文件夹中创建 imu_test.launch 。内容如下


    
        //这里的value是你的imu的topic
        //这里的value是你的imu名字自定义
        
        //这里的value值是你录制的imu的数据包的时间长度,这个value值一定要小于你录制的imu数据包
        
    

        从下图中可以看出,录制的imu的数据包的时长是 7436s 。 

利用 imu_utils 标定 imu_第3张图片

3、 运行 imu_test.launch 文件

cd ~/imu_utils_ws
source devel/setup.sh
roslaunch imu_utils imu_test.launch

 下图是标定之后的结果: 

利用 imu_utils 标定 imu_第4张图片

4、播放bag包

rosbag play -r 100 imu_calib_data/data/imu_data.bag

四、结果

        实验结果如下图,其中标定得到的参数存放在 .yaml 文件中

         文件中的内容如下,其中gry_n,gry_w,acc_n,acc_w可以使用。要使用平均值的也就是avg-axis。

利用 imu_utils 标定 imu_第5张图片


五、总结

        标定的时长要在两小时左右,否则标定出来的参数不够准确。标定得到的参数可以从imu的测量值中得到真实值,加速度角速度的真实值。

你可能感兴趣的:(ubuntu,linux,c++)