使用一个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

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

具体修改内容如下红框:

 2)编写总launch文件

把子launch添加进来

 3)编写nodes节点

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

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

4)修改CMakeLists.txt配置文件

具体修改内容如何:

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

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

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

catkin_make

 

6) 在新的终端执行roscore

 

 7)启动launch

roslaunch usb_cam usb_cam-test-total.launch

 

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

 8)使用ros可视化

rosrun rviz rviz

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

猜你喜欢

转载自blog.csdn.net/qq_49959714/article/details/127430899