Blogger Information
Blog 291
fans 0
comment 0
visits 350427
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
kalibr标定realsenseD435i --多相机标定
Original
992 people have browsed it

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

kalibr标定板(棋盘格)用师兄的(长这样)

file

步骤一:建立的ROS中的Kalibr的工作空间,建立一个名为:checkerboard.yaml的文件,内容为:

  1. target_type: 'checkerboard'
  2. targetCols: 11 //内角的个数
  3. targetRows: 8
  4. colSpacingMeters: 0.02
  5. rowSpacingMeters: 0.02

步骤二:启动关闭结构光

默认开始结构光时,双目图像会有很多点,这些点可能对标定有影响,所以使用时需要关闭结构光。

先在终端启动

  1. roslaunch realsense2_camera rs_camera.launch

新打开终端,运行

  1. rosrun rqt_reconfigure rqt_reconfigure

打开后将camera->stereo_module中的emitter_enabled设置为off(0)

步骤三:确定realsense D435i放在合适位置

新打开终端,运行rviz

  1. rviz

在rviz中将Global Option中的Fixed Frame后面选择camera_link

点击Add在topic中分别选择

/camera/color/image_raw、/camera/infra1/image_rect_raw、/camera/infra2/image_rect_raw,打开(双击camera)即添加成功。

之后对准标定板,尝试移动realsense D435i,同时要确保标定板一直在三个图像当中,如下图

file

步骤四:修改相机帧数(官方推荐是4Hz,尽管实际频率不完全准确,但是不影响结果)

kalibr在处理标定数据的时候要求频率不能太高,一般为4Hz,我们可以使用如下命令来更改topic的频率,实际上是将原来的topic以新的频率转成新的topic,实际测试infra1才是对应左目相机。

使用Ctrl+shift+T,打开新的终端,一个终端运行一个,分别运行

  1. rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color
  2. rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 4.0 /infra_left
  3. rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 4.0 /infra_right

步骤五:录制ROS数据包

使用Ctrl+shift+T,打开另一个新的终端运行:

  1. rosbag record -O multicameras_calibration /infra_left /infra_right /color

后面三个topic就是转换频率后的topic,我录制了3分钟,录的时候对着标定板移动,按下ctrl+c 结束录制,看到当前文件夹会出现multicameras_calibration.bag文件。

步骤六:使用Kalibr标定

先激活环境变量

  1. source ~/kalibr_workspace/devel/setup.bash

然后运行:

  1. kalibr_calibrate_cameras --target checkerboard.yaml --bag multicameras_calibration.bag --models pinhole-equi pinhole-equi pinhole-equi --topics /infra_left /infra_right /color --bag-from-to 10 100 --show-extraction --approx-sync 0.04

最后

最终得到的结果为三个文件:

camchain-multicameras_calibration.yaml

report-cam-multicameras_calibration.pdf

results-cam-multicameras_calibration.txt

file

注:可能会遇到的问题

1、kalibr_calibrate_cameras:未找到命令

file

解决方法:

重新进行编译:

  1. ~/kalibr_workspace$ catkin build -DCMAKE_BUILD_TYPE=Release -j8

再:

  1. source ~/kalibr_workspace/devel/setup.bash

2、

File”/home/lab/kalibr_workspace/src/kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py”, line 234, in raiseError

  1. raise RuntimeError( "{0}{1}".format(header, message) )

RuntimeError: [CalibrationTargetConfig Reader]: Could not read configuration from ../checkerboard.yaml

file

解决方法:修改checkerboard.yaml文件为上面的内容(步骤一)。

原文链接:https://blog.csdn.net/weixin_45868890/article/details/123197364

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post