ROS安装usb摄像头驱动常用方法有两种,一种是源码安装,另一种是终端命令行安装,刚开始搜资料说,源码安装的驱动功能比较齐全,所以就像用源码,但是一直编译失败,最后决定用命令行安装,方便快捷,而且需要用的功能也不多,省时省力。步骤如下:
- 首先确定笔记本已经检测到usb摄像头,下面命令是查看介入的USB摄像头的设备号。
ls /dev/video*
我现在笔记本就接入一个摄像头,输出结果如下:
ghr@ghr-Dell-G15-5510:~/demo03_ws$ ls /dev/video* /dev/video0 /dev/video1 /dev/video2 /dev/video3
说明已经检测到usb摄像头。
-
安装usb驱动,命令行输入:
sudo apt update sudo apt install ros-melodic-usb-cam
-
打开终端,输入下面指令,找到 launch 文件并修改其参数。
cd /opt/ros/melodic/share/usb_cam/launch sudo gedit usb_cam-test.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="color_format" value="yuv422p" /> <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>
出现四个设备号,分别是video0 , video1 ,video2, video3 。把 launch 文件的参数修改成 video0 时会报错,然后改为 video1 后就能成功启动usb摄像头,当改为 video2 时就是启动笔记本自带摄像头。
-
终端输入
roslaunch usb_cam usb_cam-test.launch
即可成功启动摄像头了。
-
启动成功后,终端输入下面命令:(注意要新打开一个终端,在新终端输入下面命令)
rostopic info /usb_cam/image_raw
可以查看当前系统中的图像话题信息
ghr@ghr-Dell-G15-5510:~$ rostopic info /usb_cam/image_raw Type: sensor_msgs/Image Publishers: * /usb_cam (http://ghr-Dell-G15-5510:34867/) Subscribers: * /image_view (http://ghr-Dell-G15-5510:44277/) ghr@ghr-Dell-G15-5510:~$
-
图像话题的消息类型是 sensor_msgs/Image,使用以下命令:
rosmsg show sensor_msgs/Image
查看该消息的详细定义。
ghr@ghr-Dell-G15-5510:~$ rosmsg show sensor_msgs/Image std_msgs/Header header uint32 seq time stamp string frame_id uint32 height uint32 width string encoding uint8 is_bigendian uint32 step uint8[] data ghr@ghr-Dell-G15-5510:~$
PS:有问题请大家批评指正!谢谢