失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ROS USB摄像头配置(单目和双目)

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

时间:2019-10-04 19:19:22

相关推荐

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

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

原文

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

参考:

一、参考

【SLAM】【ROS】ROS如何使用外接usb摄像头](/qq_15698613/article/details/102613288)

ROS WiKi

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

二、单目摄像头配置

基础

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

下载和编译usb_cam

cd ~/catkin_ws/src/git clone /bosch-ros-pkg/usb_cam.git usb_camcd ../catkin_make

进行测试

roslaunch usb_cam usb_cam-test.launch1

摄像头配置

如果有两个摄像头、或者需要修改摄像头的分辨率(默认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_view1

问题:使用台式机可以使用上述代码读取两个相机,但是使用树莓派就无法成功,显示如下:

如果觉得《ROS USB摄像头配置(单目和双目)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。