ubuntu18安装code_utils与imu_utils并标定imu内参

ubuntu18.04编译code_utilsimu_utils并标定imu内参

imu_utils由港科大推出,用于标定imu内参

1安装ceres,已安装忽略此步

 GitHub - ceres-solver/ceres-solver: A large scale non-linear optimization library

2 创建ros工作空间

mkdir -p ~/imu_catkin_ws/src

cd ~/imu_catkin_ws/src

catkin_init_workspace

cd ~/imu_catkin_ws

catkin_make

source ~/imu_catkin_ws/devel/setup.bash

3 下载code_utils并编译

    cd ~/imu_catkin_ws/

git clone https://github.com/gaowenliang/code_utils.git

cd ~/imu_catkin_ws/

catkin_make

  1. 安装依赖库 sudo apt-get install libdw-dev
  2. 在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp"为#include “code_utils/backward.hpp”后再catkin_make

4下载并编译imu_utils

cd ~/catkin_ws/src

git clone https://github.com/gaowenliang/imu_utils.git

cd ..

catkin_make

source ~/catkin_ws/devel/setup.bash

注意:先编译code_utils,再编译imu_utils,不能放在一起编译

5 写标定参数文件

 linux中touch命令有两个功能

  1. 改变timesstamps 2)新建空文件

cd ~/imu_catkin_ws/src/imu_utils/launch

touch d435i_imu_calibration.launch

gedit d435i_imu_calibration.launch

文件内容如下

需要注意的是max_time_min代表的是标定时间,这里的单位是分钟,意思是填10就是代表10分钟,至少录十分钟

6 录制IMU数据包

插上相机

roscore

roslaunch realsense2_camera rs_camera.launch

让相机静止,不要动它

cd ~/imu_catkin_ws      //等下录制到这个文件夹上

rosbag record -O imu_calibration /camera/imu

至少录制你刚刚设定的时间以上(max_time_min)
比如上面设定10,这里就要录足十分钟
录制完之后就按下ctrl+c,结束录制
你会发现当前目录有一个名为 imu_calibration.bag的文件

7 使用imu标定工具进行标定

  1. 打开一个terminal

source ~/imu_catkin_ws/devel/setup.sh

rosbag imu_utils d435i_imu_calibration.launch

  1. 新打开一个terminal

source ~/imu_catkin_ws/devel/setup.sh

cd ~/imu_catkin_ws //数据包在这个文件夹下

rosbag play -r 200 imu_calibration.bag // -r 设置以多少倍的速率回放

标定完之后,看1)的terminal,会有一串东西产生,而且该terminal已经可以输入命令了(意味着标定进程已经结束),说明已经标定好了,这时候要看结果

cd ~/imu_catkin_ws/src/imu_utils/data

里面有一个文件:

d435i_imu_calibration_imu_param.yaml就是你想要的IMU标定结果啦

我们用的只有陀螺仪和加速度计 随机游走和 高斯白噪声的平均值(IMU噪声模型中的两种噪声)

参考:

Realsense D435i RGB+IMU标定_追-CSDN博客

你可能感兴趣的:(slam)