ROS下获取USB免驱动高速摄像头图像数据

    • 开发环境
      • 使用uvc_camera package
      • 1. 安装uvc_camera package
      • 2. 测试和查看安装结果
      • 3. 配置自己的.launch文件
    • 深入研究库文件

开发环境

PC系统 ubuntu14.04
USB摄像头:Logitech C920
ROS版本 indigo
ROS_package uvc_camera
uvc_camera ROS pkg and camera_calibration.yaml for ARTag

大前提,大家的电脑已经安装了Linux系统,并安装了相应的ROS

使用uvc_camera package

1. 安装uvc_camera package

方法一
sudo apt-get install ros-indigo-uvc-camera
source /opt/ros/indigo/setup.bash 、
但是因为我的软件源,无法下载安装,为此我尝试了更改源,并把一些ROS源添加到/etc/apt/sources.list中,但都没有成功
deb http://ros.exbot.net/rospackage/ros/ubuntu/ trusty main #易科实验室做的ROS镜像源

deb http://mirrors.ustc.edu.cn/ros/ubuntu/ trusty main
deb http:/ros.exbot.NET/rospackage/ros/ubuntu $(lsb_release -sc) main

方法二 直接下载uvc camera package ,然后自己编译

-下载 uvc_camera ROS pkg and camera_calibration.yaml for ARTag
-编译
将下载的package 放在ROS的工作空间中,一般为~/catkin_ws/src/。
然后在工作空间的根目录下(~/catkin_ws)进行编译:

catkin_make

2. 测试和查看安装结果

为了验证自己uvc_camera是否安装成功,首先进行查看

rospack list //查看package列表中是否有uvc_camera
rospack find uvc_camera //这个就是我们刚才安装时候的路径
roscd uvc_camera //定位到这个功能包的路径下
rosls //查看它的文件结构
.launch文件是一个多节点同时运行的一个配置文件 src是源码文件夹

测试一下是否能用 uvc_camera获取到图像

开启一个终端 roscore
开启一个终端 rosrun uvc_camera uvc_camera_node
开启一个终端 rqt_image_view 选择/image_raw
如果看到图像,说明uvc_camera可以正常运行

3. 配置自己的.launch文件

定位到 uvc_camera的launch文件夹下

roscd uvc_camera
ls
cd launch
vim my_camera_node.launch

  
  "uvc_camera" type="uvc_camera_node" name="uvc_camera" output="screen">  
    "width" type="int" value="1920" />  
    "height" type="int" value="1080" />  
    "fps" type="int" value="30" />  
    "frame" type="string" value="wide_stereo" />  

    "auto_focus" type="bool" value="False" />  
    "focus_absolute" type="int" value="0" />  
      

    "device" type="string" value="/dev/video0" />  
    "camera_info_url" type="string" value="file://$(find uvc_camera)/example.yaml" />  
    
  

测试,自己的Lauren文件 要在launch文件夹下运行

runlaunch my_camera_node.launch

运行的过程
启动roscore –>运行节点 (launch文件)–>查看图像
查看图像有两种方法

一 rqt_image_view
二 rosrun image_view image_view image:=/image_raw

深入研究库文件

git clone https://github.com/ros-drivers/camera_umd.git
然后将 uvc_camera package 放到自己的ROS workspace中,
然后catkin_make 发现有一个错误,找不到libv4l2.h
说明这个包是通过v4l2来捕获图像的,所以缺少v4l2的库文件
sudo apt-get install libv4l-dev
再编译 OK 通过

参考
ROS下UVC免驱高速摄像头图像读取以及利用image_transport进行图像传递
./launch文件分析
uvc_camera_wiki

你可能感兴趣的:(Linux学习,ROS机器人系统)