ros2单目相机标定

标定环境

利用ros的image_pipeline软件包实现对相机的标定。相机标定使用的是棋盘格的内部顶点,因此 "12x9" 的棋盘板,其内部顶点参数为 "11x8" 如下例所示。

 软件包安装

安装相机标定所需软件包

sudo apt install ros-galactic-camera-calibration-parsers
sudo apt install ros-galactic-camera-info-manager
sudo apt install ros-galactic-launch-testing-ament-cmake

下载image_pipline,放入ros工程

进入ros工程:

cd ~/ros2_ws/src

下载Image Pipeline软件包源码:

git clone –b galactic git@github.com:ros-perception/image_pipeline.git

如果失败可直接到github下载相关源码。

编译软件包,并添加环境变量

cd ~/ros2_ws
colcon build
source install/setup.bash

相机标定

启动相机节点:

ros2 run image_tools  cam2image --ros-args -p width:=640 -p height:=480 -p frequency:=30.0 -p device_id:=-1

cam2image 节点发布图像的topic为 /image,如果想将topic重映射为/camera/iamge_raw,则采用如下命令

ros2 run image_tools  cam2image --ros-args -p width:=640 -p height:=480 -p frequency:=30.0 -p device_id:=-1 -r /image:=/camera/image_raw

启动相机标定节点:

ros2 run camera_calibration cameracalibrator --size 11x8 --square 0.50 image:=/camera/image_raw camera:=/camera

标定板的参数需根据自己的实际情况设置。节点启动后会弹出一个窗口,窗口右侧有x,y,size,skew显示条,以及calibrate,save,commit按钮。

在相机视野范围内不断移动棋盘格,变化棋盘格姿态,使得棋盘到达相机视野左侧、右侧、顶部和底部。x,y,size分别对应标定板相对于相机的运动:x对应左右方向的运动,y对应上下方向的运动,size对应接近/靠近相机,skew对应倾斜姿态。

随着棋盘格的不断移动和变换姿态,标定窗口右侧x,y,size,skew对应的4个横条的长度会不断增长。当横条都变成绿色表示数据满足标定条件,此时,“CALIBRATE”按钮将会变亮,单击进行标定。标定完成后保存和提交按钮变亮。点击保存按钮后,结果自动保存到/tmp/calibrationdata.tar.gz中。

参考

相机标定 — Navigation 2 1.0.0 文档

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ROS2是一个开源的机器人操作系统,其中包含了许多用于机器人应用开发的功能库和工具。而单目相机标定是在机器人视觉应用中非常重要的一步,可以帮助我们得到相机的内参和外参等参数,从而对图像进行更加准确的处理和分析。下面是ROS2单目相机标定的教程: 1. 首先需要安装ROS2,可以参考ROS2官方网站进行安装。 2. 安装相机驱动程序,例如USB相机可以使用UVC Camera驱动程序,可以通过以下命令进行安装: ``` sudo apt-get install ros-<distro>-uvc-camera ``` 其中`<distro>`为ROS2的版本号。 3. 安装相机标定工具包,可以使用以下命令进行安装: ``` sudo apt-get install ros-<distro>-camera-calibration ``` 4. 打开终端并输入以下命令,启动相机: ``` ros2 run uvc_camera camera_node ``` 5. 接下来需要收集标定所需的数据。可以通过运行以下命令启动图像采集节点: ``` ros2 run image_tools cam2image ``` 6. 在运行节点之后,会自动保存一些图像文件。需要尽可能地采集不同的角度、距离和姿态的图像,以便后续标定的准确性。 7. 完成图像采集后,运行以下命令进行标定: ``` ros2 run camera_calibration cameracalibrator --ros-args -p camera:=/camera -p image:=/image_raw ``` 其中`/camera`和`/image_raw`分别为相机和图像采集节点的话题名称。执行该命令后,会自动打开一个图形界面,显示采集到的图像。按照指导完成标定即可。 8. 标定完成后,可以通过以下命令查看标定结果: ``` ros2 run camera_calibration cameracheck.py ``` 以上就是ROS2单目相机标定的教程,希望能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值