ROS中使用摄像头的问题

0.prepare

4 . 安装uvc_cam

$ sudo apt-get install ros-indigo-uvc-camera
    $ source /opt/ros/indigo/setup.bash

采用apt-get的方式,直接装在了ROS的安装路径中,并设置工作路径。
安装成功后在/opt/ros/hydro/的路径中就会找到uvc_camera_node。

5 . 运行节点显示摄像头内容

$ rosrun uvc_camera uvc_camera_node
    $ rosrun image_view image_view image:=/image_raw

以上测试均可用于启动usb摄像头。

一、前言

在ROS下常用的主要有两种驱动包:usb_cam和uvc_cam

我这里用的是usb_cam包

第一次使用首先要安装这个包,安装完了之后就可以很方便的运行摄像头节点了

二、安装usb_cam包

首次使用需要下载安装usb_cam包

这里参考博客:How to Use a Webcam in ROS with the usb_cam Package

三种方式安装:

1、可以直接用apt-get install命令

[html] view plain copy

  1. $ sudo apt-get install ros-hydro-bosch-drivers

注意上面的hydro要替换成你的ROS版本

2、也可以下载usb_cam源代码自己编译

有网友提示说第二种方法不能运行,可能是因为svn上源码版本太低,编译无法生成可执行文件,所以launch文件找不到usb_cam_node节点

[html] view plain copy

  1. $ cd catkin_ws
  2. $ svn co https://bosch-ros-pkg.svn.sourceforge.net/svnroot/bosch-ros-pkg/trunk/stacks/bosch_drivers
  3. $ rospack profile
  4. $ roscd usb_cam
  5. $ rosmake --rosdep-install

上面的catkin_ws是你创建的catkin工作空间的名字,一般会将软件包建在catkin空间中

3、还有第三种安装方式,我是用这种方法下载并编译的

[html] view plain copy

  1. $ cd catkin_ws/src
  2. $ git clone https://github.com/bosch-ros-pkg/usb_cam.git
  3. $ cd ..
  4. $ catkin_make

需要确保usb_cam安装过程中没有错误

  • Bug / feature tracker: https://github.com/bosch-ros-pkg/usb_cam/issues
  • Source: git https://github.com/bosch-ros-pkg/usb_cam.git (branch: master)
  • ROS wiki:http://wiki.ros.org/usb_cam

三、运行usb_cam_node开启摄像头

打开一个新的终端,运行roscore

[html] view plain copy

  1. $ roscore

新版本的usb_cam包在launch文件夹下有自带的launch文件,名叫usb_cam-test.launch

我们可以直接cd到这个文件夹下运行它

[html] view plain copy

  1. $ cd
  2. $ cd catkin_ws/src/usb_cam/launch
  3. $ roslaunch usb_cam-test.launch

如果工作空间的usb_cam包中不带这个launch文件我们就要新建它:

打开catkin_ws/src/usb_cam/launch文件夹,在其中新建一个文件,把名字改为usb_cam-test.launch

用文本编辑器打开,写入以下代码:

[html] view plain copy

  1. <launch>
  2. <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
  3. <param name="video_device" value="/dev/video0" />
  4. <param name="image_width" value="640" />
  5. <param name="image_height" value="480" />
  6. <param name="pixel_format" value="yuyv" />
  7. <param name="camera_frame_id" value="usb_cam" />
  8. <param name="io_method" value="mmap"/>
  9. </node>
  10. <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
  11. <remap from="image" to="/usb_cam/image_raw"/>
  12. <param name="autosize" value="true" />
  13. </node>
  14. </launch>

保存,并关闭这个文件。然后同样要cd到launch文件夹才能运行这个文件:

[html] view plain copy

  1. $ cd
  2. $ cd catkin_ws/src/usb_cam/launch
  3. $ roslaunch usb_cam-test.launch

四、遇到的问题

1、报错[usb_cam-test.launch] is not a launch file name

运行完roslaunch usb_cam-test.launch后报错说usb_cam-test.launch不是一个launch文件,这是因为没有cd到catkin_ws/src/usb_cam/launch文件夹下,系统找不到这个launch文件

或者如果事先source了该工作空间,可以在任意目录下运行roslaunch usb_cam usb_cam-test.launch都行

2、对于有些节点没有跑起来的情况,可以从下载的catkin_ws/src/usb_cam中找到相应的.py文件然后用cp命令复制到opt/ros/hydro/的相应文件夹下

这篇文章:配置ROS工作空间catkin+rosbuild对于理解ROS的文件系统很有帮助

3、如果出现报错“sh: 1: v4l2-ctl: not found”则需要安装v4l2

运行:sudo apt-get install v4l-utils

ROS中使用摄像头的问题相关推荐

  1. ROS中usb摄像头的使用_(usb_cam)

    http://xiaoyatec.com/2015/10/10/ros%E4%B8%ADusb%E6%91%84%E5%83%8F%E5%A4%B4%E7%9A%84%E4%BD%BF%E7%94%A ...

  2. 在ROS中使用USB网络摄像头传输图像

    转自:http://blog.csdn.net/yake827/article/details/44983093 在上节已经实现了单张图片的ROS实现,而在现实中,我们一般是使用摄像头来获取图像,这次 ...

  3. ROS调用本地摄像头数据并在rviz里显示

    ROS调用本地摄像头数据并在rviz里显示: 1 通过usb_cam驱动包启动摄像头 1.1 创建并编译usb_cam驱动程序 1.2 启动usb_cam_node节点 1.3 在rviz中显示本地摄 ...

  4. 如何给定两个gps坐标 算出航向角_机器人开发如何配置ROS中的TF变换关系?

    当我们进行机器人开发时,常常需要面对TF坐标转换,本文以 Autolabor Pro1 与思岚激光雷达为例,介绍ROS TF的使用. Autolabor Pro1是什么? Autolabor Pro1 ...

  5. ROS中阶笔记(十):ROS机器人综合应用

    ROS中阶笔记(十):ROS机器人综合应用 文章目录 1 ROS机器人综合应用 1.1 PR2 1.2 PR2实践 1.3 TurtleBot 1.3.1 TurtleBot2实践 1.3.2 Tur ...

  6. ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航

    ROS中阶笔记(八):机器人SLAM与自主导航-机器人自主导航 文章目录 1 ROS中的导航框架 1.1 move_base 1.1.1 基于move_base的导航框架 1.1.2 安装 1.2.3 ...

  7. ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用

    ROS中阶笔记(七):机器人SLAM与自主导航-SLAM功能包的使用 文章目录 1 机器人必备条件 1.1 硬件要求 1.2 深度信息 1.2.1 激光雷达 1.2.2 kinect 1.3 里程计信 ...

  8. ROS中阶笔记(五):机器人感知—机器视觉

    ROS中阶笔记(五):机器人感知-机器视觉 文章目录 1 ROS中的图像数据 1.1 二维图像 1.1.1 安装安装usb_cam 1.1.2 显示图像数据 1.2 三维图像(kinect) 2 摄像 ...

  9. ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)

    ROS中阶笔记(四):机器人仿真-Gazebo物理仿真环境搭建(重点) 文章目录 1 ros_control 1.1 ros_control安装 2 Gazebo仿真步骤(重点) 2.1 配置物理仿真 ...

最新文章

  1. laravel中查看执行的SQL语句
  2. [2019.2.24]BZOJ4591 [Shoi2015]超能粒子炮·改
  3. opencv用haartraining训练出现的一些问题
  4. oracle linux 配置本地yum,oracle linux配置本地光盘yum源
  5. javascript 西瓜一期 10 十进制数数的详细进位解析
  6. linux系统在硬盘上安装程序,怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点...
  7. 【日志】调频调占空比电路的设计
  8. 换手机的再等等!iPhone SE2还有戏:苹果官网悄然更新AppleCare+服务计划
  9. 第十五:Pytest-html报告修改与汉化
  10. selenium webdriver处理HTML5的视频播放
  11. HTML5中最重要的技术点有哪些
  12. 数据分析数据可视化(一)
  13. 删除指定类型的所有字段
  14. string的一些基本操作和骚操作
  15. wincc怎么做数据库_wincc7.4 数据库的建立与查询
  16. pdf图片怎么转换成word文档?
  17. 网页的背景颜色变化效果
  18. 超低延时的H5直播,电子游戏互动控制直播,桌面远程控制直播方案
  19. VHDL设计一个同步置数、异步清零的D触发器
  20. ArcBlock冒志鸿 |“联网+DID”区块链应用破局的关键

热门文章

  1. python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定
  2. 机器人带陀螺仪走钢丝_Sphero RVR 一个无所不能的可编程机器人!
  3. server sql 数据c盘迁移d盘_oracle 11g dbf数据文件从C盘迁移到D盘
  4. linux 修改mysql root密码_Linux mysql如何更改root密码
  5. java cms 垃圾回收_Java 9 或将放弃 CMS(并发标记清除垃圾收集器)
  6. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
  7. 2021-08-29概率论—第四章随机变量的数字特征
  8. YOLO-v5训练自己的数据+TensorRT推理部署(1)
  9. python数据框 命名_Python-根据列值将数据框分为多个数据框,并用这些值命名 - python...
  10. NETGEAR拒绝连接请求_3分钟理解HTTP的请求与响应