调试 LenaCV 3D Camera (Linux)

本文详述如何在Ubuntu 16.04和ROS Lunar上调试LenaCV 3D相机,包括基本测试、通过ROS的libuvc_camera进行调试,以及在线双目标定的过程。调试涉及使用udev规则,通过libuvc_camera的launch文件设置相机参数,并解决权限问题。双目标定借助ROS的camera_calibration包,将图像拆分为左右两部分,分别进行标定。
摘要由CSDN通过智能技术生成

调试 LenaCV 3D Camera (Linux)

<yyhu_live@outlook.com>

2018年5月26日于Carnegie Mellon University

本文的pdf文件可从这里获取。

1 测试环境

Ubuntu 16.04 LTS, Python 2.7.12, ROS Lunar


本文中“>>> ”表示在Linux终端中输入命令,某些需要sudo权限的命令可能没有写出sudo。


本文使用的双目相机硬件是LenaCV的产品,该产品可以从中国大陆的淘宝网上采购到。

https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-17461658044.5.6c782004hVg4HU&id=562303637855


本文由Google Docs在线生成,可能出现某些无法调整的格式问题。


2 基本测试

相机通过USB连接系统后,在Linux中识别该设备


>>> lsusb


显示结果如图 1所示,其中Device 008即为当前调试的设备。


图1 lsusb结果

安装GTK UVC video viewer. 在接上相机后,运行UVC video viewer,所得画面如 2所示。通过画面上几个控制滑块控制相机参数以进行调试和测试。LenaCV相机返回的实时画面是一张图,相机内部应当已经完成了同步,并将两个相机的图像进行了拼接。经过实测发现拼接图像的右侧实际上为左摄像头的画面。


图2 使用GTK UVC video viewer直接调试设备


3 ROS libuvc_camera调试

主要调试过程参考了libuvc_camera的官方wiki

http://wiki.ros.org/libuvc_camera


3.1 安装libuvc_camera

首先需要确保系统正常安装了ROS,并且ROS处于可以使用状态。


创建一个catkin workspace或者使用已经存在的catkin workspace。切换到catkin workspace的src文件夹,将libuvc_camera的git仓库clone到本地。


>>> git clone https://github.com/ros-drivers/libuvc_ros.git


返回到src文件夹上一级,启动catkin_make进行编译,若报缺少某些库,则直接利用apt-get进行安装即可。

3.2 修改udev rule

根据libuvc_camera官方wiki的描述,使用uvc设备需要拥有一定权限,推荐的做法是针对需要使用的硬件设备添加udev rule。具体做法如下,在/etc/udev/rules.d文件夹下新建文件99-uvc.rules(需要root权限)。这个文件将描述相机的所有者,将所有者设置为当前用户即可。该文件的文件名一般都是以数字开头,其目的是控制文件之间的排序。数字越小,排序越靠前。这样做的道理是Linux系统将在加载硬件驱动的过程中有时会有一些次序要求,用文件名的次序可以控制这些rule加载的先后。99-uvc.rules的内容如table 1所示。


表1 99-uvc.rules

# UVC cameras
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1e4e", ATTRS{idProduct}=="0568", OWNER="<用户名>"


其中OWNER即为需要设置的用户名,这里将其设置为当前用户,idVendor和idProduct直接复制lsusb返回结果中的数值。保存该文件,此后需要将相机重新插拔一次。此后libuvc_camera若不能正常launch,ROS报权限不够错误,处理方法参考3.3节。


3.3 测试libuvc_camera

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值