使用kalibr_calibration标定相机(realsense)和imu(h7min)

vslam-evaluation/VINS/Installation documentation/4.IMU和相机联合标定kalibr_calibration.md at master · DroidAITech/vslam-evaluation · GitHub

目录

1.kalibr安装

1.1安装依赖项

1.2创建工作空间

1.3下载kalibr并编译

1.4设置环境变量

2.准备标定板

3.配置驱动和打开realsense摄像头

3.1更新系统

3.2注册服务器公钥

[3.3添加Intel RealSense仓库](#3.3添加Intel RealSense仓库)

[3.4安装realsense SDK](#3.4安装realsense SDK)

[3.5测试RealSense D435/D435i](#3.5测试RealSense D435/D435i)

3.6ROS环境下的配置

3.7启动ROS节点并测试摄像头

[3.8查看相机内参等信息通过rostopic echo /camera/color/data_raw](#3.8查看相机内参等信息通过rostopic echo /camera/color/data_raw)

4.用imu_utils标定IMU数据 

注意:

5.录制imu和相机的bag包

6.相机、imu、标定板yaml文件


1.kalibr安装

1.1安装依赖项

复制代码
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-kinetic-vision-opencv ros-kinetic-image-transport-plugins ros-kinetic-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev

sudo pip install python-igraph --upgrade

1.2创建工作空间

复制代码
mkdir -p ~/kalibr_workspace/src

cd ~/kalibr_workspace

source /opt/ros/kinetic/setup.bash

catkin init

catkin config --extend /opt/ros/kinetic

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

1.3下载kalibr并编译

复制代码
cd ~/kalibr_workspace/src

git clone https://github.com/ethz-asl/Kalibr.git

cd ~/kalibr_workspace

catkin build -DCMAKE_BUILD_TYPE=Release -j4 

1.4设置环境变量

复制代码
source ~/kalibr_workspace/devel/setup.bash

2.准备标定板

标定板可以用 kalibr 提供的pdf 下载地址为:https://github.com/ethz-asl/kalibr/wiki/downloads, 由于Aprilgrid能提供序号信息, 能够防止姿态计算时出现跳跃的

情况,所以这里采用Aprilgrid 6x6 0.8x0.8 m (A0 page)进行标定。

我下载了这个pdf, 打印成了A4纸大小,在标定前, 注意测量格子的尺寸信息填入yaml文件, 尺寸信息具体是哪些数据可以看看kalibr的说明,说明的网址为: 

https://github.com/ethz-asl/kalibr/wiki/calibration-targets

3.配置驱动和打开realsense摄像头

3.1更新系统

复制代码
sudo apt-get update && sudo apt-get upgrade

3.2注册服务器公钥

复制代码
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

3.3添加Intel RealSense仓库

复制代码
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

3.4安装realsense SDK

复制代码
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

3.5测试RealSense D435/D435i

复制代码
realsense-viewer

3.6ROS环境下的配置

复制代码
sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
sudo apt-get install ros-$ROS_DISTRO-realsense2-description

3.7启动ROS节点并测试摄像头

复制代码
roslaunch realsense2_camera demo_pointcloud.launch

3.8查看相机内参等信息通过rostopic echo /camera/color/data_raw

4.用imu_utils标定IMU数据 

双目相机 -- IMU联合标定_双目+imu 如何标定-CSDN博客

使用Kalibr标定相机和IMU(ZED+px4)外参-CSDN博客(我参考了这篇博客的imu)

复制代码
sudo apt-get install libdw-dev

4.1下载imu_utils和code_utils,并将imu_utils和code_utils放在工作空间下。

code_utils.zip

imu_utils.zip

注意:

1. code_utils 依赖 ceres库, 需要先全局安装ceres库,okvis等内部的ceres不行。

2. 由于imu_utils依赖code_utils,所以先把code_utils放在工作空间的src下面,然后编译。

3. 编译code_utils 报错, fatal error: backward.hpp: No such file or directory

解决办法: 在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp" 为

#include "code_utils/backward.hpp" 即可编译成功。

复制代码
cd catkin_ws
catkin_make

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

复制代码
cd catkin_ws
catkin_make

4.3让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

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

4.5获得这四个参数

复制代码
Gyr:
   avg-axis:
      gyr_n: 3.1820671461855504e-03
      gyr_w: 3.0693398103399251e-05
Acc:
   avg-axis:
      acc_n: 2.6449533258549235e-02
      acc_w: 7.2111910796954259e-04

5.录制imu和相机的bag包

复制代码
rosbag record /camera/color/image_raw /mavros/imu/data_raw -O imu_camera.bag

注意:1.录制bag包的时候imu的频率应为200hz左右

2.录制的时候要注意按照官方的说法-充分激励IMU- 绕3个轴旋转和3个方向的平移,这里有个官方视频介绍,打不开的话有人把它搬到B站上了https://www.youtube.com/watch?app=desktop&v=puNXsnrYWTY

3.三个topic按照自己的情况改。另外可以再加两个(非必要): /camera/left/camera_info /camera/right/camera_info

4.录制时间大于30min

6.相机、imu、标定板yaml文件

相机

复制代码
cam0:
  cam_overlaps: [] 
  camera_model: "pinhole"  # 相机模型,kalibr也支持鱼眼模型
  distortion_coeffs: [0.0, 0.0, 0.0, 0.0]  # 相机畸变参数
  distortion_model: "radtan"  # 畸变模型
  intrinsics: [603.3211669921875, 602.70361328125, 324.1352844238281, 242.0079803466797]  # 内参
  resolution: [640, 480]  # 分辨率
  rostopic: "/camera/color/image_raw"  # ROS话题

imu

复制代码
rostopic: /mavros/imu/data_raw
update_rate: 195 #Hz

accelerometer_noise_density: 0.1 #VINS默认 0.2
accelerometer_random_walk: 0.03 #0.05
gyroscope_noise_density: 0.02 #0.02
gyroscope_random_walk: 0.00004 #4e-5

target

复制代码
#example for aprilgrid
  target_type: 'aprilgrid' #gridtype
  tagCols: 6                  #number of apriltags
  tagRows: 6                  #number of apriltags
  tagSize: 0.02              #size of apriltag, edge to edge [m]
  tagSpacing: 0.3             #ratio of space between tags to tagSize a=0.02cm b=0.006cm

7.运行获取结果

复制代码
rosrun kalibr kalibr_calibrate_imu_camera --imu /home/fhzn/calib/imu.yaml --cam /home/fhzn/calib/camera.yaml --target /home/fhzn/calib/target.yaml --bag /home/fhzn/calib/imu_camera.bag --show-extraction

使用kalibr标定双目相机以及IMU--安装运行标定全过程以及踩坑记录-CSDN博客

相关推荐
TAN-90°-3 小时前
Deep Learning for Computer Vision——Attention and Transformers
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·机器翻译
OpenBayes3 小时前
Qwen3.8-27B-FP8 降低大模型部署门槛,开启高效多模态智能体验;MiniMax H3-1K 发布千段视频测试数据集,全面评估 AI 视频生成能力
人工智能·深度学习·计算机视觉·自然语言处理·语音识别·多模态大模型
AI的探索之旅4 小时前
97 个 OpenCV 实例(十三):目标跟踪,CamShift 反向投影
人工智能·opencv·目标跟踪
长江后浪博客4 小时前
黑色滴灌带三角结构视觉检测光源设计方案——200mm高角度环光 + 低角度条形暗场补光
人工智能·数码相机·视觉检测·机器视觉·光源设计·暗场补光·环形光
梦想的颜色5 小时前
ComfyUI 深度硬核科普:节点式 AI 生成框架完整实战(安装、原理、使用场景、避坑)
人工智能·机器学习·计算机视觉·aigc·comfyui·ai视频·图生视频
动物园猫5 小时前
草莓成熟度目标检测数据集:3类别、2,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
AI浩19 小时前
关于 Qwen3.8-Next 架构的设计:评估、效率与训练稳定性
人工智能·计算机视觉·自然语言处理
jay神21 小时前
一文讲清楚YOLOv26模型
人工智能·深度学习·yolo·机器学习·计算机视觉
qq_25294131681 天前
无人机目标检测数据集(UAV Detection Dataset)| 无人机检测 反无人机 低空安防5001期
人工智能·yolo·目标检测·计算机视觉·视觉检测·无人机·反无人机
长江后浪博客1 天前
陶瓷浮雕盘印刷视觉定位方案:8K线扫相机 + 暗场光源 + 旋转平台
人工智能·数码相机·机器视觉·视觉定位·线扫相机·暗场光源·陶瓷印刷