开始学习
ROS 启动文件
本文主要介绍 ROS 启动文件(launch file)的作用、组成以及编写方法。
launch 文件的作用
在 ROS 中,我们可以通过 rosrun
命令启动 ROS 节点,启动命令如下:
rosrun <ros_pkg_name> <node_name>
通常来说,一个节点程序一般只能完成功能单一的任务,但是一个完整的 ROS 机器人一般由很多个节点程序同时运行、相互协作才能完成复杂的任务。这就要求我们必须高效、可靠地启动很多个节点,而不是通过 rosrun
命令来依次启动。实际上,launch 启动文件就是为解决这个需求出现的。
launch 文件是一个 xml 格式的脚本文件,把需要启动的节点写进 launch 文件中,并通过 roslaunch
工具来调用 launch 文件,执行这个脚本文件即可一次性启动所有的节点程序。
运行 launch 文件的命令语法如下:
roslaunch <ros_pkg_name> <launch_file_name>
roslaunch
命令的另一优势是可以自动执行 roscore
命令,所以我们不必在运行这些节点前先去运行 roscore
命令。
launch 文件组成元素
launch 文件遵循 XML 格式规范,是一种标签文本,ROS 支持的标签如下表所示。
标签 | 描述 |
---|---|
<launch> |
根标签 |
<node> |
需要启动的 node 节点及其参数 |
<include> |
包含其他 launch 文件 |
<machine> |
指定运行的机器 |
<env-loader> |
设置环境变量 |
<param> |
定义参数到参数服务器 |
<rosparam> |
启动 yaml 文件参数到参数服务器 |
<arg> |
定义变量 |
<remap> |
设定参数映射 |
<group> |
设定命名空间 |