roslaunch可以用来启动定义在launch文件中的多个节点。其主要功能包括:
1 启动节点
2 启动其他launch文件
3 配置参数
4 对节点设置
更详细的文档可以参考 点击或 点击
这里主要展示使用 launch启动一个或多个节点
launch文件为类似于xml的标签语言
前期准备
关于后面使用的talker和listener文件,可以参考进入
新建launch文件夹,存储launch文件
使用roslaunch启动一个节点
launch文件内容:
<launch>
<node pkg="test_tutorials" name="talker" type="talker" output="screen" respawn="true"/>
</launch>
【注】
pkg: 节点所在的功能包名称
type: 节点的可执行文件名称
name: 节点运行时的名称
output=“log | screen” (可选),日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log
respawn=“true | false” (可选),如果节点退出,是否自动重启
required=“true | false” (可选),该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch
ns=“xxx” (可选),在指定命名空间 xxx 中启动节点
machine=“机器名”,在指定机器上启动节点
args=“xxx xxx xxx” (可选),将参数传递给节点
roslaunch test_tutorials test_begin.launch
这里明显,通过roslaunch启动了一个talker节点,且通过launch文件启动节点,是启动了roscore+rosrun test_tutorials talker 两个命令的结合,比较方便。
使用roslaunch 启动两个节点(同时启动 talker和listener)
<launch>
<node pkg="test_tutorials" name="talker" type="talker" output="screen" respawn="true"/>
<node pkg="test_tutorials" name="listener" type="listener" output="screen" respawn="true"/>
</launch>
使用计算图可以看到
使用一个launch文件调用另一个launch文件
新建一个 test_launch.launch 文件
输入以下内容
<launch>
<include file="$(find test_tutorials)/launch/test_begin.launch" />
</launch>
然后运行
roslaunch test_tutorials test_launch.launch
则成功开启test_begin.launch中的内容
``