roslaunch启动launch文件中多节点

roslaunch可以用来启动定义在launch文件中的多个节点。

由于之前没有调用setup.bash,没有添加工作区路径到ros环境中,所以一开始使用roscd的时候找不到,添加后就可以了

通过查看ROS_PACKAGE_PATH 也可以看到新添加的路径。

roslaunch启动launch文件中多节点

创建一个文件夹launch,然后创建一个文件 touch turtlemimic.launch

<launch>
    <group ns="turtlesim1">
       <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
    </group>
   
    <group ns="turtlesim2">
       <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
    </group>
   
    <node pkg="turtlesim" name="mimic" type="mimic">
       <remap from="input" to="turtlesim1/turtle1"/>
       <remap from="output" to="turtlesim2/turtle1"/>
    </node>
 </launch>

两个节点有各自的命名空间,后半部分是为了模仿,输入到turtlesim1的输出再给到turtlesim2,launch文件已launch作为标识

roslaunch beginner_tutorials turtlemimic.launch

得到结果如下,从rqt_graph中可以看出mimic做了中间的转化。让第二个模仿第一个。

roslaunch启动launch文件中多节点