D455相机标定 双目+imu(二)

二、双目相机标定

2.1 安装Kalibr

//安装依赖
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev  doxygen libopencv-dev ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules  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 python-pyx
sudo apt-get install -y libigraph0-dev
sudo pip install python-igraph==0.7.0

//创建工作空间
mkdir -p ~/kalibr_ws/src
cd ~/kalibr_ws/src

//安装编译kalibr
git clone https://github.com/ethz-asl/Kalibr.git
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release

2.2 标定前准备

打印标定板,放在A4纸上打印出来,贴在固定白墙上。

建立标定文件
touch checkerboard.yaml
里面内容填写如下:
target_type: 'checkerboard' #gridtype
targetCols: 8               #number of internal chessboard corners
targetRows: 5               #number of internal chessboard corners
rowSpacingMeters: 0.030      #size of one chessboard square [m]
colSpacingMeters: 0.030      #size of one chessboard square [m]
我使用的为上图的棋盘格,数量为9列6行,checkerboard.yaml中对应的Cols和Rows需要写8和5 !!!否则报错[FATAL] [1612519163.722674]: No corners could be extracted for camera /left! ***
注意格子边长以你打印后实际测量长度为准!!!

2.3 打开相机录制话题

将rs_camera.launch复制粘贴重命名stere.launch。然后将里面的相关话题修改,需要改的有以下:
  <arg name="infra_width"         default="640"/>
  <arg name="infra_height"        default="480"/>
  <arg name="enable_infra"        default="true"/>
  <arg name="enable_infra1"       default="true"/>
  <arg name="enable_infra2"       default="true"/>

  <arg name="infra_fps"           default="30"/>
启动相机
roslaunch realsense2_camera stereo.launch
然后需要关闭结构光
rosrun rqt_reconfigure rqt_reconfigure
将emitter_enable设置为off

 打开rviz,将左右目话题/camera/infra1/image_rect_raw 和/camera/infra2/image_rect_raw订阅出来:

然后先将图像发布频率降低到4Hz
rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 4.0 /infra_left & rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 4.0 /infra_right
开始录制
rosbag record -O mult_cam_d455  /infra_left /infra_right 
然后相机的移动如下:首先前后、左右、上下各两个来回,然后俯仰、滚转、偏航三个方向两个来回,注意移动不要太快、需要保证标定板始终出现在图像中

2.4 开始标定

将bag、checkerboard.yaml放在kalibr_ws路径下
cd kalibr_ws
source devel/setup.bash
rosrun kalibr kalibr_calibrate_cameras --target checkerboard.yaml --bag mult_cam_d455.bag --models pinhole-radtan pinhole-radtan  --topics /infra_left /infra_right

2.5 结果

 其中 reprojection error如果在1个像素以下就算合理了,这里我的标定结果为0.03多,说明比较准确了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值