提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
通过配置虚拟机调用本机摄像头,用户可以在虚拟机中直接使用摄像头设备,而不需要额外安装虚拟摄像头设备或者其他插件。这种方法极大地简化了虚拟机与物理设备的交互,使用户能够在虚拟环境中轻松实现视频采集和处理。具体配置步骤通常包括在虚拟机管理软件中(如VMware、VirtualBox等)启用摄像头支持,并将物理摄像头设备映射到虚拟机中。此外,这种方法确保了数据的实时性和传输的稳定性,从而为用户提供了更为流畅和高效的操作体验。
一、虚拟机调用本机摄像头
VMware在默认情况下是没有打开主机摄像头的权限,故虚拟机中的可移动设备那栏,是没有任何关于摄像头接口的信息,如下图所示:
(1) 启动VMware USB 服务
具体的操作流程:
1.同时按住键盘Win+R打开运行框,
2.输入services.msc并回车,
3.在本机Windows系统中找到VMware USB Arbitration Service服务,将其设置为启动状态
设置的页面,如下图所示:
启动USB服务之后,以管理员的身份重新打开VMware。
(2) 连接本机摄像头
1) 设置与虚拟机的连接
重启之后,虚拟机中的可移动设备一栏出现几个接口如下图所示,操作的步骤:
点击虚拟机(M)——可移动设备(D)——“找到摄像头”——断开与主机的连接,连接虚拟机
2)将虚拟机的连接接口设置成USB3.0:
点击虚拟机(M)——设置(S)——USB控制器——将USB改成USB3.0
3)查看是否连接成功
连接后虚拟机的Ubuntu右下角将出现摄像头图标,角标显示为绿色意味着已成功连接主机摄像头。如下图所示:
(3) 测试摄像头的连接
1)查看设备号
终端输入: ls /dev/video*
2)安装cheese
终端输入:sudo apt install cheese
完成安装后,
终端输入:cheese
即可调出本机的摄像头画面。
二、安装usb驱动
usb摄像头ros驱动的安装主要分为以下步骤:
(1) 下载usb_cam驱动,并创造ros工作空间
下载地址:https://github.com/ros-drivers/usb_cam
(2) 编译安装usb_cam驱动,在工作空间内使用catkin_make
进行编译安装
(3) 修改usb_cam驱动的配置文件,将launch文件中的video_device参数值改成自己的设备号
(4) 启动摄像头节点
具体的操作过程可以参考我以下的博客:
【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据
二、运行usb_cam.launch时出现select timeout的报错
1.问题描述
报错的信息如下所示:
[ERROR] [1661421427.042574208]: select timeout
[usb_cam-1] process has died [pid 4965, exit code 1, cmd /home/chen/catkin_ ws/devel/tib/usb_cam/usb_cam_node_name:=usb_cam_log:=/home/chen/.ros/log/3cae771aname:=usb_cam245c-11ed-8ee0-000c29dacecf/usbcam1.log]
file:/home/chen/,ros/log/3cae771a-245c-11ed-8ee0-000c29dacecf/usb_cam1*.log
报错页面如下:
2.问题解决
原因:
usb接口不兼容导致。
解决:
对于虚拟机:先关机虚拟机里的系统,然后编辑该虚拟机设置,将USB接口改成3.0或3.1,再继续运行虚拟机即可。
具体操作步骤:
点击虚拟机(M)——设置(S)——USB控制器——将USB改成USB3.0,如下图所示