0、安装环境:
Ubuntu版本:14.04 LTS
ROS版本:indigo (1.11.13)
1、进入ROS工作区(假设为~/catkin-ws),在src下,新建 usb_cam 目录,并在其下新建 src 目录:
2、进入 src 目录,使用 git 下载 usb_cam 源码:
cd usb_cam/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
3、退出 src 目录运行 catkin_make 并配置运行环境:
cd ..
catkin_make
source ~/catkin-ws/devel/setup.bash
可以测试一下是否配置好了:
roscd usb_cam
4、运行 usb_cam:
rosrun usb_cam usb_cam_node
当然这里只能看到摄像头打开并不会看到图像,如果想要看下当前的图像可以使用 image_view,因为 usb_cam 默认发布 /usb_cam/image_raw 这样的 topic,因此查看命令为:
rosrun image_view image_view image:=/usb_cam/image_raw
如果一切顺利,你就可以看到一个摄像头的实时视频窗口了。
5、使用自定义 launch 文件设置摄像头:
usb_cam 给了我们一个默认的 launch 文件在如下目录
~/catkin-ws/usb_cam/src/usb_cam/launch/usb_cam-test.launch
如果想要自定义一个我们自己的launch文件,我们可以复制这个文件为一个 usb_cam.launch,然后打开这个文件:
<node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
<param name="video_device" value="/dev/video0" />
<param name="image_width" value="640" />
<param name="image_height" value="480" />
<param name="pixel_format" value="yuyv" />
<param name="camera_frame_id" value="usb_cam" />
<param name="io_method" value="mmap"/>
</node>
<node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
<remap from="image" to="/usb_cam/image_raw"/>
<param name="autosize" value="true" />
</node>
</launch>
其中 /div/video0 表示是第一个摄像头,如果你有多个摄像头,可以将此改为 /div/video1 等等。想要查看当前连接设备,使用如下命令即可:
ls /dev/video*
其余参数请见参考文献[1]的说明。
roslaunch usb_cam usb_cam.launch
下一节我们讲如何标定摄像机
参考文献:
[1] http://wiki.ros.org/usb_cam