Realsense D435i RGB+IMU标定
准备工作:
Ubuntu
ros环境
librealsense
realsense-ros
本次标定使用两个工具,一个是kalibr工具,可以标定相机内参以及相机-IMU外参,另一个是港科大出品的imu_utils,可以标定IMU内参,我们先标定IMU内参,再标定相机内参,最后联合标定,得到相机-IMU的外参。
一、IMU标定
1.修改rs_camera.launch部分参数
使得IMU数据同步(针对vins_mono运行IMU时间戳混乱的情况imu message ins disorder)
具体步骤:
找到realsense-ros工作环境文件夹中的rs_camera.launch
位置:在 /realsense的catkin工作环境/src/realsense-ros/realsense2_camera/launch/
把rs_camera.launch中的
<arg name="unite_imu_method" default="copy"/>
中的 “copy” 修改成"linear_interpolation"
分别打开三个terminal,电脑插上realsense D435i,试着运行以下:
roscore
roslaunch realsense2_camera rs_camera.launch
rostopic list
在这个第三个terminal下查看是否有 /camera/imu ,就这个的话说明ok
2.配置港科大IMU标定程序的环境
(1)安装ceres
去官网下载源码编译就好了。
https://github.com/ceres-solver/ceres-solver
http://www.ceres-solver.org/
(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
(4) 下载imu_utils并编译
cd ~/imu_catkin_ws/src/
git clone https://github.com/gaowenliang/imu_utils.git
cd ~/imu_catkin_ws/src/
catkin_make
3.写标定参数文件
cd ~/imu_catkin_ws/src/imu_utils/launch
touch d435i_imu_calibration.launch
gedit d435i_imu_calibration.launch
文件格式,可直接复制
<launch>
<node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
<param name="imu_topic" type="string" value= "/camera/imu"/>
<param name="imu_name" type="string" value= "d435i_imu_calibration"/>
<param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
<param name="max_time_min" type="int" value= "10"/>
<param name="max_cluster" type