利用 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"。

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

三、操作步骤

1、录制 imu 数据

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

大概要录制两个小时左右

2、编写 launch 文件

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

<launch>
    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/mobile_base/sensors/imu_data"/>//这里的value是你的imu的topic
        <param name="imu_name" type="string" value= "wheeltec"/>//这里的value是你的imu名字自定义
        <param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
        <param name="max_time_min" type="int" value= "120"/>//这里的value值是你录制的imu的数据包的时间长度,这个value值一定要小于你录制的imu数据包
        <param name="max_cluster" type="int" value= "100"/>
    </node>
</launch>

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

3、 运行 imu_test.launch 文件

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

 下图是标定之后的结果: 

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的测量值中得到真实值,加速度角速度的真实值。

  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 45
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值