ROS USB摄像头配置(单目和双目)
配置 USB 摄像头 ros 双目 单目
2023-09-14 09:15:48 时间
ROS USB摄像头配置(单目和双目)
目前使用ROS和PX4固件控制无人机飞行,现在需要在ROS中加入USB摄像头,并且是两个。目前根据其它博客,以及ROS WIKI,对该流程进行记录
参考:
一、参考
-
【SLAM】【ROS】ROS如何使用外接usb摄像头](https://blog.csdn.net/qq_15698613/article/details/102613288)
二、单目摄像头配置
- 基础
在此之前,已经完成了ROS的安装,和工作空间catkin_ws文件夹的创建和编译。
- 下载和编译usb_cam
cd ~/catkin_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd ../
catkin_make
- 进行测试
roslaunch usb_cam usb_cam-test.launch
- 1
- 摄像头配置
如果有两个摄像头、或者需要修改摄像头的分辨率(默认640*480),需要对launch文件进行修改
如果两个摄像头,需要确定摄像头的序号,不一定就是0和1,比如我的就是0和2。
cd ~/catkin_ws/src/usb_cam/launch/
nano usb_cam-test.launch
三、更多摄像头加入
- 以下来自其他网页的参考,进行部分修改,已测试可以正常读取并显示两个摄像头。
<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>
- 如果不需要显示图像,可以删除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
- 问题:使用台式机可以使用上述代码读取两个相机,但是使用树莓派就无法成功,显示如下:
相关文章
- 虚拟机usb控制器_显示器上的USB接口
- nextCloud配置redis缓存
- android usb调试工具,USB调试怎么打开 各版本安卓手机打开USB调试模式方法[通俗易懂]
- 从零开始配置vim(26)——LSP UI 美化
- phpstorm+xdebug 配置断点调试
- WPJAM 配置器接口模块使用说明
- Redis连接池配置及初始化实现
- Linux 下网卡一键配置利器:ifconfig 命令(linux配置网卡命令)
- 解决Linux系统USB设备驱动问题(usb驱动linux驱动)
- Linux卸载USB设备的指南(linux卸载usb)
- Linux控制USB:一种全新的解决方案(linux控制usb)
- 设备探索Linux下查看USB设备的方法(linux查看usb)
- Linux下USB打印机的配置步骤(linuxusb打印机)
- Linux字符集配置:解决乱码问题(linux字符集的配置)
- Linux 与 USB:和谐共处的美满之旅(linux我是usb)
- SQL SERVER 2008安全配置
- 如何在Linux上关闭USB? – 一种简单方法。(linux关闭usb)
- Linux下安装USB驱动实现设备连接(linux安装usb驱动)
- Linux系统下的USB驱动技术(linux驱动usb)
- 利用Redis调整缓存容量来提高性能(redis 配置缓存大小)
- Redis性能优化快速高效的正确配置方法(redis配置性能优化)