ROS USB摄像头配置(单目和双目)

原文

目前使用ROS和PX4固件控制无人机飞行,现在需要在ROS中加入USB摄像头,并且是两个。目前根据其它博客,以及ROS WIKI,对该流程进行记录
参考:

一、参考

  1. 【SLAM】【ROS】ROS如何使用外接usb摄像头](https://blog.csdn.net/qq_15698613/article/details/102613288)

  2. ROS WiKi

  3. ROS:使用usb_cam软件包调试usb摄像头

二、单目摄像头配置

  1. 基础

在此之前,已经完成了ROS的安装,和工作空间catkin_ws文件夹的创建和编译。

  1. 下载和编译usb_cam
cd ~/catkin_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd ../
catkin_make
  1. 进行测试
roslaunch usb_cam usb_cam-test.launch
  • 1
  1. 摄像头配置

如果有两个摄像头、或者需要修改摄像头的分辨率(默认640*480),需要对launch文件进行修改
如果两个摄像头,需要确定摄像头的序号,不一定就是0和1,比如我的就是0和2。

cd ~/catkin_ws/src/usb_cam/launch/
nano usb_cam-test.launch

三、更多摄像头加入

  1. 以下来自其他网页的参考,进行部分修改,已测试可以正常读取并显示两个摄像头。
<launch><group ns="camera1"><node name="usb_cam1" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node><node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/camera1/usb_cam1/image_raw"/><param name="autosize" value="true" /></node></group><group ns="camera2"><node name="usb_cam2" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video1" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node><node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/camera2/usb_cam2/image_raw"/><param name="autosize" value="true" /></node></group>
</launch>
  1. 如果不需要显示图像,可以删除image_view的node。

这样通过rqt_image_view可以显示对应的图像,图像的topic分别为/camera1/usb_cam1/image_raw和/camera2/usb_cam2/image_raw。

<launch><group ns="camera1"><node name="usb_cam1" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node></group><group ns="camera2"><node name="usb_cam2" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video1" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node></group>
</launch>
rqt_image_view           # 启动image_view
  • 1
  1. 问题:使用台式机可以使用上述代码读取两个相机,但是使用树莓派就无法成功,显示如下:

ROS USB摄像头配置(单目和双目)相关推荐

  1. ORB-SLAM2:一个支持单目、双目和RGB-D摄像头(相机)的开源SLAM系统(翻译)

    书读百遍其义自见,为了日后能方便快速回顾ORB-SLAM2的原理和思想,这里本人将论文翻译成中文母语,网上也有其他的翻译版本,诸君也可参照.本文不求诸君全信,但求无误导之嫌疑.小经验:研究源码以及修改 ...

  2. 单目和双目摄像头到底有神马差?

    单目和双目摄像头到底有神马差? 很多对智能驾驶感兴趣的朋友都知道,无人驾驶的技术可以分为三大模块,感知.认知和控制.这个顺序其实也正是一项操作进行的顺序,首先需要对环境进行准确的感知,然后对信息进行处 ...

  3. opencv 图像上画出目标运动的轨迹_基于opencv的单目和双目标定平台手眼标定

      背景介绍 基于机器视觉引导的智能机器人,在现代社会各个领域已经得到了广泛的应用,尤其是大型工厂的自动化生产线上,视觉机器人可以和基于示教器按照预定轨迹进行作业的机器人互为补充,来共同提高生产的自动 ...

  4. 单目、双目与多目的区别

    在不断的学习中,发现了一个讲单目.双目与多目特别好的文章,复制过来共享,不属于原创,如果原创作者追究版权问题,可以直接与我联系. 前言 摄像头在日常生活中非常常见,一般用来完成拍照.摄像这些基本的功能 ...

  5. DROID-SLAM: 单目、双目、RGBD相机的深度视觉SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨泡泡机器人SLAM 标题:DROID-SLAM: Deep Visu ...

  6. 双目摄像头和单目摄像头_挑战激光雷达,MAXIEYE要重新定义单目摄像头?

    周圣砚认为:以往业内对单目摄像头的顾虑更像是一种偏见,并非不能逾越的鸿沟,而偏见正是用来打破的. 作者 | 安琪 自动驾驶的"唯激光雷达论"正在受到冲击. 前不久恩智浦的全球CTO ...

  7. 三维重建(单目、双目、多目、点云、SFM、SLAM)

    1 相机几何与标定 1.1 相机模型中的坐标系 1.2 四种坐标系之间的转换 1.3 相机内参 1.4 相机标定 2 传统三维重建 2.1 RGBD三维重建 2.1.1 KinectFusion 2. ...

  8. 单目、双目及深度相机比较

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1.mono 优点: 结构简单,成本低,便于标定和识别 缺点: 在 ...

  9. 3分钟读懂机器人视觉:单目、双目、多目、全景、混合...

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 机器人视觉系统是指用计算机来实现人的视觉功能, ...

最新文章

  1. php中常见的错误类型有,JavaScript中常见的错误类型有哪些?(详细介绍)
  2. 基于wincc的虚拟电梯设计_基于WINCC的模拟电梯设计
  3. 4.struts2的配置文件优先级
  4. cuda 判断nan 处理办法
  5. REACT map dictionary
  6. 万物之始正则表达式全解析三部曲(中篇)-正则表达式运算符优先级及匹配规则
  7. oracle未过账是什么意思,EBS R12 GL过帐问题(急)
  8. 正则基础之——神奇的转义
  9. 分布式锁(基于redis和zookeeper)详解
  10. n个台阶,一个人每次最多走m步,算法实现
  11. BeanFactory 简介以及它 和FactoryBean的区别
  12. c语言指针变量的定义数组的长度,【C语言更新】指向数组的指针
  13. GLSL Optimizer
  14. InDesign 教程,如在使用的不同类型的框架?
  15. 轻松玩转windows7之一:利用无线玩转虚拟网络
  16. 话单数据仓库搭建(2)- 数据仓库ODS及DWD层
  17. 翻翻git之---实用工具类Lazy(绝对的好东西,走过路过别错过)
  18. 磁盘驱动器或Windows Home Server失败的情况挽救了我的婚姻
  19. 《人月神话》-第16章-没有银弹
  20. 百度为何力推直达号?为了移动商业化

热门文章

  1. 中图法分类号 计算机视觉方面,中图法分类号tp39中国图象图形学报.doc
  2. 图论(2)完全图,顶点的度与度序列
  3. linux安装达芬奇教程,抛弃Linux:达芬奇软件WIN版安装及设置.docx
  4. 千字巨著《编程后传》
  5. 微电网功率分配控制策略笔记
  6. 基于Java+Spring+vue+element社区疫情服务平台设计和实现
  7. 【python总结】python学习框架梳理
  8. linux彻底清除硬盘数据,如何彻底清除硬盘数据?格式化没用!
  9. vcsa6.7安装部署配置记录
  10. 低功耗蓝牙模块在智能水表中的应用