Launch文件:通过XML文件实现多节点的配置和启动(可自动启动ROS Master)
<launch>
<node pkg="turtlesim" name="sim1" type="turtlesim_node"/>
<node pkg="turtlesim" name="sim2" type="turtlesim_node"/>
- pkg为启动的包名
- name为设定节点名
- type为可执行文件名
< launch >
launch文件中的根元素采用< launch >标签定义
< node >
启动节点
<node pkg="package-name" type="executable-name" name="node-name" />
- pkg:节点所在的功能包名称
- type:节点可执行文件名称
- name:节点运行时的名称
- output、respawn、required、ns、args
例子
<launch>
<node pkg="learning_topic" type="person_subscriber" name="talker" output="screen" />
<node pkg="learning_topic" type="person_publisher" name="listener" output="screen" />
</launch>
第一行< launch >代表启动launch文件,第四行即为关闭launch文件。第二行代表启动功能包learning_topic 下person_subscriber可执行文件,第三行类似。
<launch>
<!-- Turtlesim Node-->
<node pkg="turtlesim" type="turtlesim_node" name="sim"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/>
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" />
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle2" name="turtle2_tf_broadcaster" />
<node pkg="learning_tf" type="turtle_tf_listener" name="listener" />
</launch>
和例一讲解做对应即可。
launch的作用自我总结:就是运行launch文件,而launch文件中包含着你的可执行文件。总归是编译运行可执行文件,可是运行launch文件可以大大减少操作(打开终端的数量)。