ROS调用摄像头遇到问题及解决方案

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适配.
选中虚拟机右键设置即可更改.

ROS调用摄像头遇到问题及解决方案_第1张图片
最后再次运行即可顺利实现,usb的调用.

举例如下

//以下是在非虚拟机的条件下使用

ROS 连接ZED相机,但是没有什么用??

修改对应的launch文件的参数 ,对应的文件cam-test.launch

/opt/ros/melodic/share/usb_cam/launch

修改如下:


  
    
    
    
    
    
    
  
  
    
    
  
             

执行

roslaunch usb_cam usb_cam-test.launch

rqt_image_view

显示如下:
ROS调用摄像头遇到问题及解决方案_第2张图片

使用rqt_image_view显示如下
ROS调用摄像头遇到问题及解决方案_第3张图片

没啥用。。。。。。。。。。。。。。。
简要分析:双目相机的图像显示在同一图片下,
另外图像的信息:压缩深度图像传输-压缩需要单通道32位浮点或16位原始深度图像(输入格式为:rgb8)。
等原因使得上述现象。

你可能感兴趣的:(ROS相关,linux)