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文件可以大大减少操作(打开终端的数量)。