1.launch文件的内容
可以避免要打开各种各样的终端来启动不同的节点,不用单独输入roscore命令来启动ros master
2.launch文件中的语法
launch文件里面的所有内容都是通过xml这种标签去描述的
launch文件中的根元素采用<launch>标签定义
图中的<launch>代表标签开始,</launch>代表标签结束
node标签是用来启动某个ros节点的,主要部分如上
name相当于是节点名,会取代程序里面初始化时的节点名
常见的几个属性及例子:
(1)output: 这个参数用来指定节点的输出去向。常用的值有 screen
(输出到终端)和 log
(输出到日志文件)。
<node name="talker" pkg="rospy_tutorials" type="talker.py" output="screen"/>
(2)respawn: 当设置为 true
时,如果节点异常退出,它会自动重启。
<node name="listener" pkg="rospy_tutorials" type="listener.py" respawn="true"/>
(3)required: 当设置为 true
时,如果该节点终止,它会导致所有节点都被关闭,即这个节点是整个系统的必需部分
<node name="critical_node" pkg="important_package" type="critical_node.py" required="true"/>
(4)ns: 这个参数用于为节点指定一个命名空间,有助于对大型系统中的节点进行组织。
<node name="localizer" pkg="navigation" type="localize.py" ns="robot1"/>
(5)args: 这个参数用于向节点传递命令行参数
<node name="mapper" pkg="mapping" type="map_generator.py" args="arg1 arg2 arg3"/>
3.launch文件启动方式
例子1
先编译工作空间:catkin_make
使用命令roslaunch <功能包名> <launch文件名>
结果:两个节点并行运行
例子2
param.yaml文件内容
运行效果
例子3.启动海龟跟随案例
启动launch文件
运行结果
例子4
运行结果