使用一个launch文件在ros中同时启动多个摄像头

1、首先下载usb-cam的ros驱动源码(已经可以驱动单个摄像头的可以忽略第1步,直接看第2步)

代码链接:https://github.com/ros-drivers/usb_camhttps://github.com/ros-drivers/usb_cam

并将代码复制到你的ros工作空间,没有ros工作空间需要先创建,关于如何创建ros工作空间可以参考我另一篇博客:

 https://blog.csdn.net/qq_49959714/article/details/127028396?spm=1001.2014.3001.5502

 进入到工作空间执行catkin_make编译一下。

执行下面命令即可启动单个摄像头:

source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

2、同时启动多个摄像头

这里需要对相应的文件进行配置

1)编写子launch

比如说我这里有7个摄像头,那么就需要编写7个子launch

使用一个launch文件在ros中同时启动多个摄像头_第1张图片

直接复制原来的usb_cam-test.launch进行修改

具体修改内容如下红框:

使用一个launch文件在ros中同时启动多个摄像头_第2张图片

 2)编写总launch文件

把子launch添加进来

使用一个launch文件在ros中同时启动多个摄像头_第3张图片

 3)编写nodes节点

这里同样需要启动几个摄像头即编写几个node

使用一个launch文件在ros中同时启动多个摄像头_第4张图片

 直接复制usb_cam_node.cpp进行修改,具体修改内容如下红框:

使用一个launch文件在ros中同时启动多个摄像头_第5张图片使用一个launch文件在ros中同时启动多个摄像头_第6张图片

4)修改CMakeLists.txt配置文件

使用一个launch文件在ros中同时启动多个摄像头_第7张图片

具体修改内容如何:

使用一个launch文件在ros中同时启动多个摄像头_第8张图片

使用一个launch文件在ros中同时启动多个摄像头_第9张图片

 有几个node就有添加几个add_executable和install

 至此文件配置方面已经配置完成。

 5)进入工作空间目录重新编译

catkin_make

 使用一个launch文件在ros中同时启动多个摄像头_第10张图片

6) 在新的终端执行roscore

 使用一个launch文件在ros中同时启动多个摄像头_第11张图片

 7)启动launch

roslaunch usb_cam usb_cam-test-total.launch

 使用一个launch文件在ros中同时启动多个摄像头_第12张图片

 这里可以看到我们同时启动的7个摄像头

使用一个launch文件在ros中同时启动多个摄像头_第13张图片

 8)使用ros可视化

rosrun rviz rviz

使用一个launch文件在ros中同时启动多个摄像头_第14张图片

 打开RVIZ订阅7个摄像头的话题

使用一个launch文件在ros中同时启动多个摄像头_第15张图片

你可能感兴趣的:(多相机驱动,计算机视觉)