用imu_utils标定IMU,之后用于kalibr中相机和IMU的联合标定

最近在学习高博和贺博的手写VIO课程,发现很多人在安装IMU的标定工具imu_utils时采坑。

该篇参考港科大的github: https://github.com/gaowenliang/imu_utils

1. 安装依赖项

sudo apt-get install libdw-dev

2. 下载imu_utils和code_utils

imu_utils下载地址为:https://github.com/gaowenliang/imu_utils

code_utils下载地址为: https://github.com/gaowenliang/code_utils

在编译之前我们先注意三个问题,避免入坑

(1)全局安装ceres库,code_imu依赖ceres。

(2)不要同时把imu_utils和code_utils一起放到src下进行编译。

由于imu_utils 依赖 code_utils,所以先把code_utils放在工作空间的src下面,进行编译。然后再将imu_utils放到src下面,再编译。

否则会报如下错误:

Could not find a package configuration file provided by "code_utils" with

any of the following names:

code_utilsConfig.cmake

code_utils-config.cmake

Add the installation prefix of "code_utils" to CMAKE_PREFIX_PATH or set

"code_utils_DIR" to a directory containing one of the above files.  If "code_utils" provides a separate development package

 or SDK, be sure it has been installed.

(3)编译报错:

code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp:No such file or directory

填坑: 在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp"为 #include “code_utils/backward.hpp”,再编译。

3. 编译

把code_utils放在工作空间的src下面,然后编译。

cd catkin_ws
catkin_make

编译成功以后,再把imu_utils放到工作空间的src下面,进行编译。

cd catkin_ws
catkin_make

4.录制imu.bag

让IMU静止不动两个小时,录制IMU的bag.

cd MYNT-EYE-D-SDK
source wrappers/ros/devel/setup.bash
roslaunch mynteye_wrapper_d display.launch
rosbag record /mynteye/imu/data_raw -O imu.bag

两个小时以后按Ctrl+C完成录制。

5. 标定IMU

rosbag play -r 200 imu_utils/imu.bag (这里要写你录制的包的路径)
cd imu_ws
source ./devel/setup.bash
roslaunch imu_utils mynt_imu.launch 

注意这里的launch文件,我用的是小觅相机,所以imu.launch的内容为:


    
            #imu topic的名字
           
        
           #标定的时长
        
    

标定完成后,会生成mynteye_imu_param.yaml以及多个txt文档。

你可能感兴趣的:(IMU,imu_utils,标定)