ROS启动文件launch

 前几篇博客讲述了节点的订阅与发布、消息msg和服务srv的使用。这些示例的使用比较简单,但在实际工程应用中,一个功能包可能包含很多个节点,一个功能的实现往往需要运行多个节点,此时若使用rosrun命令运行节点无疑非常麻烦且不切合实际。在ROS中可以使用launch来解决这个问题,通过launch文件一次性启动多个节点。

 以博主的博客ROS节点订阅与发布为例,来演示ROS中的启动文件编辑与运行。

1. 编辑launch启动文件

 cd ~/catkin_ws

 source devel/setup.bash

 roscd ROS_Test1

 mkdir launch

 cd launch

 vim ROS_Test1.launch

 编辑内容如下所示:



        
        
 其中node name为cpp文件中ros初始化时的节点名字(节点名字唯一);pkg为功能包名;type为cpp文件编译之后的可执行节点名字,在CMakLists.txt中可查看。例如本例中的cpp文件中init时节点名称为“node_a”,编译时将编译生成的节点命名为“Test1_node_a”,功能包为“ROS_Test1”。

2. 运行启动节点

 roslaunch ROS_Test1 ROS_Test1.launch

 运行结果如下所示:

ROS启动文件launch_第1张图片

 执行rosnode list

ROS启动文件launch_第2张图片

 使用rosluanch运行节点时,ROS_INFO输出的信息不显示,此时运行命令行:

 rqt_console

 结果如下所示:

ROS启动文件launch_第3张图片

 可以看出节点运行与消息输出情况。

3. 补充

 执行roslaunch命令行时,会自动运行roscore命令,因此使用启动文件运行节点时不需要新开终端运行roscore。

你可能感兴趣的:(ROS系统)