ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历)非常好用

2021-05-06 18:29:15  阅读:488  来源: 互联网

标签:usb 虚拟机 笔记本 cam ROS 安装 好用 摄像头


ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历)

运行打开摄像头命令必须在主虚拟机运行

一.video0找不到

本人想要调用笔记本摄像头完成一些基本的标定时候,遇到问题:
在这里插入图片描述
或者执行命令:

ls /dev/video*

   
   
  • 1

提示:
在这里插入图片描述

ros小白可谓是摸不着头脑。具体原因主要有4个
1.笔记本上面的虚拟机不支持笔记本的摄像机,建议升级成VMware® Workstation 14 Pro版本。

(1)百度云下载连接:链接:https://pan.baidu.com/s/1JTCzd9QaLVeft6OiyfCd5A 提取码:ccda
安装过程在我的博客,ROS-ubuntu-新手安装ros - 帅某Plus的博客 - CSDN博客 https://blog.csdn.net/weixin_43262513/article/details/86562243
(2)打开虚拟机的操作面板,如图所示:
在这里插入图片描述
在虚拟机---->可移动设备------>
在这里插入图片描述
如果检测到笔记本摄像头,就会出现摄像头的名称,本人是 sunplus innovation usb composite device.
如果没有出现,说明笔记本的摄像头linux不支持,就别费劲了。用usb摄像头吧。

2.笔记本摄像头没有架构到linux上面。
出事的状态是这样。
在这里插入图片描述
点击你的摄像头(本人是 sunplus innovation usb composite device),点击 连接
在这里插入图片描述
成这样:
在这里插入图片描述
说明摄像头已经架构到linux上面了。这时有的电脑会出现xxxxx设备已经弹出的提示,意思就是摄像头已经架构到linux上面了。Windows已经检测不到,不信你打开自己笔记本摄像头试一下:
在这里插入图片描述
3.安装的cam版本错误
(1)检测电脑是安装cam_usb还是应该安装uvc_cam
步骤一:

lsusb

   
   
  • 1

查看摄像头ID信息,本人是ID: 1bcf:2b8a在这里插入图片描述
步骤二:
打开网址:http://www.ideasonboard.org/uvc/
查看里面是否有与自己摄像头匹配的ID号。
如果有,就说明你的笔记本摄像头比较好,有他的厂商提供的linux驱动,是-----------uvc_cam
,没有的是usb_cam(本人的摄像头就是usb_cam)

在这里插入图片描述
步骤三:安装usb_cam的第三方驱动--------下面的建议是最好的方法(下面文件夹是与自己电脑配套的,相关内容见我的前面博客),uvc_cam如何安装请自行百度**(有的git会出现错误,苦逼,我又遇到了)**

cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ..  
catkin_make

   
   
  • 1
  • 2
  • 3
  • 4

如果没错误,就是这样:
在这里插入图片描述
安装成功,可看到节点信息。
在这里插入图片描述
注:有的git提示没有安装,按照提示安装,报错:E:could not get lock /var/lib/dpkg/lock -open

原因:
出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用,而导致资源被锁的原因,可能是上次安装时没有正常完成,而导致出现此状况。
解决方法:

sudo rm /var/cache/apt/archives/lock 
sudo rm /var/lib/dpkg/lock

   
   
  • 1
  • 2

再重新安装。
4.有的笔记本自身提示错误和笔记本给的虚拟机内存太小。
(1)笔记本提示错误
运行命令:ls /dev/video* ------有一个 * 号
比如我的本机摄像头显示的是video0,有的本机摄像头对应的是video1.
这时需要修改launch文件,把videox改成你电脑显示的videoX.
在这里插入图片描述
(2)虚拟机内存太小。
建议配置为(2G运行内存,1或者4个处理器):
在这里插入图片描述

二:我还遇到如下问题(这怎么什么问题都让我遇到了啊,无语)

1.无缘无故进程杀死问题,摄像头提示灯量一下就熄灭

[usb_cam-1] process has died, 
[usb_cam-1] process has died [pid 5685, exit code 1, cmd /home/shuaimou/catkin_ws/devel/lib/usb_cam/usb_cam_node __name:=usb_cam __log:=/home/shuaimou/.ros/log/2c9c30e2-95bf-11e6-8a44-000c294ebb02/usb_cam-1.log].
log file: /home/shuaimou/.ros/log/2c9c30e2-95bf-11e6-8a44-000c294ebb02/usb_cam-1*.log

   
   
  • 1
  • 2
  • 3

原因:
(1)摄像头没有架构到Linux中;
(2)(usb_cam)launch文件配置错误,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>

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

(3)catkin_make之后,没有source(只要make就必须source,查看有没有source很简单,你就快捷按键 tab看是否出来自动补全你新的功能包,没有就没与source)
catkin_ws文件夹下面,命令:

 catkin_make 
 source ~/.bashrc  

   
   
  • 1
  • 2

(4)初次架构摄像头,花费时间比较长,建议重启linux,重新架构。第一次打开最好运行roscore
2.进程超时在这里插入图片描述
原因,你给的配置太低了。我的是升高了配置就没问题了。可能还有其他快速有效解决方案,请大家自行百度,不在赘述。

三,打开摄像头,看到你的狗脑袋。

命令:

roscore
roslaunch usb_cam usb_cam-test.launch 

   
   
  • 1
  • 2

在这里插入图片描述

标签:usb,虚拟机,笔记本,cam,ROS,安装,好用,摄像头
来源: https://blog.csdn.net/qq_41665826/article/details/116459853

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有