文章目录
前言
文章基于ubuntu18.04下的ros Melodic,关于ubuntu安装以及ros安装不再赘述,主要是ROS下的usb_cam程序包安装,以及出现的问题,最后是使用ros进行标相机标定。
一、usb_cam安装
1.下载usb_cam包
进入catkin_ws在src文件夹下,下载usb_cam包。gitclone失败就多试几次。
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
成功后如下图:
2.usb_cam文件夹下编译
建立一个名为build的文件夹,cd进入后执行编译命令如下:
cmake ..
make
成功后如下图:
二、启动ros下usb摄像头
(1)新开一个终端,执行roscore:
roscore
(2)再新开一个终端到工作空间根目录catkin_ws文件夹下执行catkin_make命令:
catkin_make
(3)在当前终端下,在根目录(catkin_ws)设置环境变量:
source devel/setup.bash
(4)在根目录下当前终端执行下执行,启动摄像头:
roslaunch usb_cam usb_cam-test.launch
成功如下图,且摄像头画面出现:
三、usb_camera启动失败出现的问题
ERROR: cannot launch node of type [image_view/image_view]: image
Cannot identify ‘/dev/video0’: 2, No such file or directory
1、修改usb3.0接入虚拟机
2、虚拟机内连接摄像头
四、ros实现相机标定
1、检查文件
一般来说正常安装ros都是包含了camera_calibration,输入下面命令检查一下:
rosdep install camera_calibration
#出现All required rosdeps installed successfully表示已包含
2、进行标定
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/usb_cam/image_raw camera:=/usb_cam
执行成功会出现下图:
3、采集样本数据
为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,离得近的远的都要有,最好保证所有的进度条都是绿色满格的 。
界面中的:
x:表示标定板在视野中的左右位置。
y:表示标定板在视野中的上下位置。
size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。
skew:标定板在视野上下左右中的倾斜位置。