一、前言
在ROS下常用的主要有兩種驅動包:usb_cam和uvc_cam
我這裏用的是usb_cam包
第一次使用首先要安裝這個包,安裝完了之後就可以很方便的運行攝像頭節點了
二、安裝usb_cam包
首次使用需要下載安裝usb_cam包
這裏參考博客:How to Use a Webcam in ROS with the usb_cam Package
三種方式安裝:
1、可以直接用apt-get install命令
$ sudo apt-get install ros-hydro-bosch-drivers
注意上面的hydro要替換成你的ROS版本
2、也可以下載usb_cam源代碼自己編譯
有網友提示說第二種方法不能運行,可能是因爲svn上源碼版本太低,編譯無法生成可執行文件,所以launch文件找不到usb_cam_node節點
$ cd catkin_ws
$ svn co https://bosch-ros-pkg.svn.sourceforge.net/svnroot/bosch-ros-pkg/trunk/stacks/bosch_drivers
$ rospack profile
$ roscd usb_cam
$ rosmake --rosdep-install
上面的catkin_ws是你創建的catkin工作空間的名字,一般會將軟件包建在catkin空間中
3、還有第三種安裝方式,我是用這種方法下載並編譯的
$ cd catkin_ws/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
$ cd ..
$ catkin_make
需要確保usb_cam安裝過程中沒有錯誤
- Bug / feature tracker: https://github.com/bosch-ros-pkg/usb_cam/issues
- Source: git https://github.com/bosch-ros-pkg/usb_cam.git (branch: master)
- ROS wiki:http://wiki.ros.org/usb_cam
三、運行usb_cam_node開啓攝像頭
$ roscore
新版本的usb_cam包在launch文件夾下有自帶的launch文件,名叫usb_cam-test.launch$ cd
$ cd catkin_ws/src/usb_cam/launch
$ roslaunch usb_cam-test.launch
如果工作空間的usb_cam包中不帶這個launch文件我們就要新建它:<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>
保存,並關閉這個文件。$ cd
$ cd catkin_ws/src/usb_cam/launch
$ roslaunch usb_cam-test.launch