1 下载usb_cam安装包,放置到/catkin_ws/src目录下
cd ~/catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
2 编译
cd ..
catkin_make
3 启动节点测试
roslaunch usb_cam usb_cam-test.launch
4 查看usb信息
lsusb
5 查看摄像头usb驱动
ls /dev/video*
6 打开工作空间下usb_cam功能包的usb_cam-test.launnch,修改如下:
<param name="video_device" value="/dev/video0" />
修改为
<param name="video_device" value="/dev/video2" />
说明:video0代表笔记本电脑摄像头,video2代表电脑外接usb摄像头
7 运行usb_cam-test.launch文件,查看话题名称
roslaunch usb_cam usb_cam-test.launch
rostopic list
8 安装camera_calibration功能包
sudo apt-get install ros-melodic-camera-calibration
9 运行camera_calibration功能包节点
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/usb_cam/image_raw camera:=/usb_cam
说明:size:棋盘内部角点个数,x是字母不是乘号,square代表方形的边长,image为输出图像的话题,usb_cam为相机的名称
10 开始标定,手持标定板在窗口移动,GUI中X Y Size Skew标志条含义如下:
1)x:标定板在图像中的左右位置,从左到右x由小变大。
2)y:标定板在图像中的上下位置,从上到下y由小变大。
3)Size:标定板在图像中的大小,由远及近,Size由小变大。
4)Skew:标定板在图像中倾斜的角度大小
操作过程:
1)为了得到尽量丰富的x,y值:标定的过程中要尽量缓慢移动标定板,使标定板的位置出现在图像中的各个地方(上中下左右)。
2)为了得到丰富的Size值缓慢移动标定板,使标定板由远及近,采集到丰富的尺寸信息,最好有一张,标定板占据视野绝大部分的图像。
3)为了得到丰富的Skew信息,缓慢移动标定板,使标定板的俯仰,偏航,滚动变化。
注:在操作的过程中,标定板移动不要过快,并且,每移动到一个位置要停顿下,如果发现这四标志条都变绿了说明采集到了足够的信息。并且如果可以执行标定,CALIBRATE就会变亮。
11 执行标定,得到结果
CALIBRATE选项变亮后,就可以点击,执行标定(最好各标志条也都变绿),此时图像会变灰,等待几分钟,标定完成。
12 点击SAVE,保存结果用于后续工程。