登录  /  注册
博主信息
博文 291
粉丝 0
评论 0
访问量 337602
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
kalibr标定realsenseD435i --多相机标定
原创
914人浏览过

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

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

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学