ROS问题:VIDIOC_S_FMT error 16, Device or resource busy

      问题描述

        在ROS下使用摄像头时,即输入:

$ roslaunch usb_cam usb_cam-test.launch

        这条指令是开启摄像头的,报错如下:

        即:[ERROR] [1574317261.767618042]: VIDIOC_S_FMT error 16, Device or resource busy

        重新插拔了摄像头,还是报这个错误。

        分析:首先查看一下所有摄像头设备,指令如下:

$ ls /dev/video*
/dev/video1

         可以看到,结果是/dev/video1,而默认在ROS安装的是usb_cam是启动的/dev/video0,因而不难想到需要修改启动摄像头对应的launch文件。

         解决方案:输入下面两条指令:

$ cd /opt/ros/kinetic/share/usb_cam/launch
$ sudo gedit usb_cam-test.launch

         打开的launch文件如下图所示:

        将第3行出现的/dev/video0修改为/dev/video1(这里的video后面的数字根据前面查询的结果而定),保存后退出。这样就能正常使用摄像头了,问题解决。

        补充的地方

        1、这里有个细节,上面的步骤修改完成后,需要执行$ roslaunch usb_cam usb_cam-test.launch才能够正常使用摄像头,如果先执行$ rosrun usb_cam usb_cam_node则还是会报错,执行完roslaunch后再执行rosrun则没有问题。

       2、重启电脑之后,/dev/video的需要一般会恢复为0,因此usb_cam-test.launch文件需要重新修改,即将/dev/video部分改为/dev/video0即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值