ROS中使用摄像头的问题

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安装过程中没有错误

三、运行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使用摄像头进行开发或配置通常涉及几个关键步骤,包括选择合适的驱动程序、安装必要的软件包以及配置参数以满足特定的应用需求。对于不同类型的摄像头,如普通USB摄像头或具有特殊功能的深度摄像头,所需的驱动和配置过程可能会有所不同。 ### 使用普通USB摄像头 对于普通的USB摄像头,可以使用`usb_cam`包来获取视频流[^3]。这个包提供了一个基于V4L(Video for Linux)接口的驱动程序,适用于大多数支持UVC(USB Video Class)标准的摄像头设备。安装`usb_cam`可以通过ROS的包管理器完成,通常需要执行如下命令: ```bash sudo apt-get install ros-<rosdistro>-usb-cam ``` 其中`<rosdistro>`应替换为你的ROS发行版名称,例如`melodic`或者`noetic`。安装完成后,你可以通过运行以下命令启动摄像头节点: ```bash roslaunch usb_cam usb_cam-test.launch ``` 这将启动一个节点并发布图像话题,你可以在Rviz或其他图像处理节点中订阅这些话题。 ### 配置ROS中的摄像头 一旦摄像头驱动成功运行,接下来就是配置摄像头参数。这通常涉及到调整分辨率、帧率等设置。对于`usb_cam`,这些参数可以在启动文件中指定,比如修改`usb_cam-test.launch`文件内的参数值来改变图像尺寸或编码格式。 ### 使用深度摄像头 如果你正在使用的是奥比中光这样的深度摄像头,则可能需要使用到OpenNI2 SDK for ROS2提供的驱动工具[^1]。虽然这里提到的是ROS2环境下的驱动,但在某些情况下也可以适配至ROS1环境中使用。安装过程一般包括下载SDK源码、解压后放置于工作空间的src目录下,并利用catkin_make进行编译。 具体步骤可能包含: - 下载OpenNI2 SDK。 - 将其解压并移动到你的catkin工作空间的`src`目录下。 - 运行`catkin_make`来构建项目。 - 在终端输入相应的命令来启动深度摄像头节点。 此外,如果计划使用Aruco标记来进行视觉定位或姿态估计,那么还需要安装`aruco_ros`包,它提供了对Aruco标记的支持[^2]。安装该包同样可以通过APT包管理器实现: ```bash sudo apt-get install ros-melodic-aruco-camera-calibration # 示例Melodic版本 ``` 安装完所需的所有依赖项之后,按照官方文档指导配置相机校准信息和Aruco检测参数即可开始开发基于Aruco标记的应用程序。 以上是针对不同类型摄像头的基本配置指南。根据具体的硬件型号和个人项目需求,实际操作过程中可能还会遇到其他特定的问题,建议查阅相关社区论坛及官方文档获取更详细的帮助信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大江东去浪淘尽千古风流人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值