基于libuvc的相机配置说明

很多相机支持uvc[1]的传输格式。
在这里插入图片描述

ros官网自带的libuvc,支持uvc格式的视频流,本文主要对这个链接中的一些细节,进行补充说明。

step 1

插入usb

step 2 获取基本信息

查找camera的Bus、device、vendor和product号码。

lsusb

在这里插入图片描述
例子中,
Bus id = 001
Device id = 020(这个号码,每次usb插拔后会变化,目前不知道怎么固定)
Vendor id = 0x0c45
Product id = 64ab

step 3 赋予相机接口权限

sudo chmod o+w /dev/bus/usb/001/020
# where 020 is the device id, and 001 is the bus id.

step 4 禁用其他USB视觉和自媒体驱动

You may need to disable your operating system’s builtin USB video or audio drivers. On Linux, the snd-usb-audio and uvcvideo modules conflict with libuvc. Try unloading them with sudo rmmod snd-usb-audio; sudo rmmod uvcvideo and consider blacklisting them – e.g., add the lines blacklist uvcvideo and blacklist snd-usb-audio to an /etc/modprobe.d/uvc.conf file. (Applications that don’t use libuvc will be unable to stream from the camera.)

snd-usb-audio和uvcvideo会和libuvc发生冲突。
命令行来进行禁用,似乎只在当前终端下有效。一劳永逸的方法可能还是将其加入黑名单。

sudo rmmod snd-usb-audio

以及

sudo rmmod uvcvideo

step 5 查看相机帧率、压缩格式和画幅大小

v4l2-ctl --list-formats-ext

在这里插入图片描述
上图列出了相机输出的压缩格式(yuyv)、画幅尺寸和相对的帧率。
其他压缩格式有uncompressed/yuyv/nv12/jpeg,可以参考[2]

step 6 安装ros官方的libuvc包

sudo apt-get install ros-版本-libuvc_camera

step 7 编写roslaunch文件,并运行。

模板可以从ros官网下复制,将上述的参数,填入对应位置,然后运行即可。
在这里插入图片描述
其中,因为没有标定,所以出现黄色的warning表示找不到内参文件,这并不妨碍图像的输出。可以暂时忽视它。

step 8 检查话题消息,并可视化输出图片。

如果step6 运行成功,则可以接收到相关的rostopic

rostopic echo /camera/image_raw

可以通过rviz来输出图像数据。
在这里插入图片描述
添加image数据类型的topic,选择对应的rostopic,即可输出对应的图像。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值