一、launch文件的作用:
一个程序可能需要启动多个节点,使用launch文件,我们就可以一次性启动多个ros节点
二、launch文件启动多个节点:
第一步:选定功能包右击-->添加launch文件夹(这里是在vscode下实现的)
首先,我们要创建一个工作空间。在笔记(一)中就演示过了。
这里我们创建的工作空间名是demo02_ws
接着,我们进入到工作空间下
cd ~/demo02_ws
在工作空间中打开vscode
code .
在工作空间中点击创建的功能包(这里我为功能包命名为hello_vscode)
如果没有创建功能包,就在工作空间下的src文件中新建一个文件夹即可。
接着,鼠标右击功能包-->新建文件夹-->文件夹名为:launch
鼠标右击launch文件夹-->新建文件-->文件名为:自定义文件名.launch
第二步:编辑launch文件:
<launch>
<node pkg="功能包1" type="节点文件1" name="为节点1命名" output="screen" />
<node pkg="功能包2" type="节点文件2" name="为节点2命名"/>
<node pkg="功能包3" type="节点文件3" name="为节点3命名" />
</launch>
其中:
node:包含的某个节点
pkg:功能包
type:被运行的节点文件
name:为节点命名
output:设置日志的输出目标
在这里我以键盘控制小乌龟的示例来编辑launch文件,
<launch>
<!--添加被执行的节点-->
<!--节点1:乌龟GUI-->
<node pkg="turtlesim" type="turtlesim_node" name="turtle_GUI"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="turtle_key"/>
</launch>
第三步:运行launch文件:
在vscode中的终端窗口输入(注意,终端是在工作空间demo02_ws下的):
source ./devel/setup.bash
roslaunch 功能包名 launch文件名
(注意! 在运行launch文件时一定要对launch文件进行保存,否则会报错)
三、运行结果:
运行结束后可以在终端中按“ctrl+c”推出当前进程