一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?官方给出的优化策略是使用 launch 文件,可以一次性启动多个 ROS 节点。
<launch>
<! -- 添加被执行的节点 -->
</launch>
例如
<launch>
<node pkg="helloworld" type="demo_hello.py" name="hello" output="screen" />
<node pkg="turtlesim" type="turtlesim_node" name="t1"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>
执行文件
启动终端
添加环境变量(必须):这行代码在ros官网上的解释就是添加能够使ros运行的环境变量
source ./devel/setup.bash
roslaunch hello_vscode start_turtle.launch