Ubuntu 18.04环境下
第一步: 安装,usb_cam功能包
$ sudo apt-get install ros-melodic-usb-cam
第二步:先打开新的终端,运行roscore
$ roscore
第三步:运行节点: 新版本的usb_cam包在launch文件夹下有自带的launch文件,名叫usb_cam-test.launch,我们可以直接cd到这个文件夹下运行它。
再打开新终端:
$ roslaunch usb_cam usb_cam-test.launch
可能出现问题一:
ERROR: cannot launch node of type [usb_cam/usb_cam_node]: usb_cam
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share
process[image_view-2]: started with pid [18047]
[ INFO] [1562227746.112279935]: Using transport "raw"
解决方法: 需要安装这个文件
$ sudo apt-get install ros-melodic-image-view
然后重新运行launch文件就可以正常弹出摄像头图像窗口 必要时更改,在usb_cam-test.launch文件中,默认用的video0,打开本地摄像头,改成video1,就可以打开外接摄像头此处使用USB摄像头,将默认的改为video1,一般是,自带摄像头为video0,以此排序,我的是legion,Y7000P无摄像头,故不需要更改.
可能出现问题二: ROS使用usb_cam驱动摄像头出现select timeout再启动usb_cam-test.launch文件进行测试,结果出现:
[usb_cam-1] process has died [pid 5685, exit code 1, cmd /home/maihao/catkin_ws/devel/lib/usb_cam/usb_cam_node __name:=usb_cam __log:=/home/maihao/.ros/log/2c9c30e2-95bf-11e68a44-000c294ebb02/usb_cam-1.log].
log file: /home/maihao/.ros/log/2c9c30e2-95bf-11e6-8a44-000c294ebb02/usb_cam-1*.log
问题分析:
一般只是摄像头的USB接口不匹配,需要更改,方法一改变接口,将usb2.0和usb3.0口换一下,如果是虚拟机安装需要在,虚拟机设置那里修改USB适配. 选中虚拟机右键设置即可更改.
最后再次运行即可顺利实现,usb的调用.
|