最近导师让我做一个小项目:检测汽车的充电孔与充电桩的的距离(x,y,z)和角度。为了控制成本,扔给我一个淘宝上十几块钱的摄像头。检测和计算部分再此不细说,本文只总结一下,一个普通的摄像头,如何在 ubuntu 下写一个 ROS 包,将图像读取和发布出来。
1、判断摄像头的类型
在 ROS 中,有两类,一类是 uvc,一类是 usb 。不同类别对应不同的软件包。以我这个摄像头为例。先
lsusb
结果如下:(两幅图分别对应插入摄像头前后的结果)
由上可知,我的摄像头的 ID 是 05a3:9230 。接着,去网址 http://www.ideasonboard.org/uvc/ 查找 ID(05a3:9230 ),看是否支持。如果支持,就是 uvc 类型。如果不支持,就是 usb 类型,一般来说都是 usb 类型。我的是 usb 类型。
2、 安装usb_cam包,读取图像
依次输入以下命令即可。
cd catkin_ws/src // 你可以根据自己的需求,创建文件夹,我的直接安装在 catkin_make 里面了
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ..
catkin_make
插入摄像头,确定自己的摄像头是viedo0还是viedo1还是其他
cd /dev &&find . -n