ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kalibr标定realsenseD435i --多相机标定

2022-07-26 15:04:23  阅读:166  来源: 互联网

标签:calibration -- 标定 topic camera kalibr


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

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

file

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

target_type: 'checkerboard' 
 
targetCols: 11                  //内角的个数
 
targetRows: 8                  
 
colSpacingMeters: 0.02               
 
rowSpacingMeters: 0.02  

步骤二:启动关闭结构光

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

先在终端启动

roslaunch realsense2_camera rs_camera.launch

新打开终端,运行

rosrun rqt_reconfigure rqt_reconfigure

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

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

新打开终端,运行rviz

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,打开新的终端,一个终端运行一个,分别运行

rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color
 
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

步骤五:录制ROS数据包

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

rosbag record -O multicameras_calibration /infra_left /infra_right /color

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

步骤六:使用Kalibr标定

先激活环境变量

source ~/kalibr_workspace/devel/setup.bash

然后运行:

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

解决方法:

重新进行编译:

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

再:

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

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

标签:calibration,--,标定,topic,camera,kalibr
来源: https://www.cnblogs.com/helong-123/p/16521041.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有