一个程序中可能需要启动多个节点,如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?
使用 launch 文件,可以一次性启动多个 ROS 节点。
实现步骤
1.在功能包目录下新建一个名为launch的文件夹
2.在launch文件夹中新建一个launch文件(后缀名为.launch)
3.编辑launch文件内容
-
node ---> 包含的某个节点
-
pkg -----> 功能包
-
type ----> 被运行的节点文件
-
name --> 为节点命名
-
output-> 设置日志的输出目标
<launch>
<!-- 添加被执行的节点 -->
<!-- 乌龟的GUI -->
<node pkg="turtlesim" type="turtlesim_node" name="turtle_GUI" />
<node pkg="turtlesim" type="turtle_teleop_key" name="turtle_key" />
<node pkg="helloworld" type="demo_hello" name="hello" output="screen" />
</launch>
output="screen" 表示把日志输出到屏幕上。
4.运行launch
roslaunch first_test start_turtle.launch