How to Use a Webcam in ROS with the usb_cam Package
wiki:http://pharos.ece.utexas.edu/wiki/index.php/How_to_Use_a_Webcam_in_ROS_with_the_usb_cam_Package
有一点要注意的是,摄像头的数据格式,看了一下usb_cam的源码就只有三种yuyv ,mjpeg,还有一种不记得了。可以在ubuntu的软件中心安装guvcview软件,可以查看视频音频数格式等信息。
步骤:
(1)安装驱动包
$ sudo apt-get install ros-electric-bosch-drivers
如果无法安装,那就用源码,如下:
$ cd <some ros workspace> $ 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如果没有SVN,则先安装:
$sudo apt-get install subversion
注意:上面的SVN定位时,可能提示要重定位
(2)运行节点
首先当然先运行roscore:
$ roscore
另起一个终端,新建camera.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="mjpeg" /> <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>---------------------------------------------------------------------------------------------------------------------------------
这里要注意的就是上面说的像素格式,yuyv,mjpeg,uyvy,源码如下:
node_.param("pixel_format", pixel_format_name_, std::string("mjpeg")); // possible values: yuyv, uyvy, mjpeg
(3)运行发布
$roslaunch camera.launch
没有问题的情况下,就可以看到一视频了