一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?官方给出的优化策略是使用 launch 文件,可以一次性启动多个 ROS 节点。
在左侧工程树里面添加
-
选定功能包右击 ---> 添加 launch 文件夹
-
选定 launch 文件夹右击 ---> 添加 launch 文件
-
编辑 launch 文件内容
复制以下代码到launch文件里面
<launch>
<node pkg="helloworld" type="aa" name="hello" output="screen" />
<node pkg="turtlesim" type="turtlesim_node" name="t1"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>
同样是两个终端,一个开roscore,另外一个输入以下
roslaunch helloworld first_launch.launch
成功