欢迎光临散文网 会员登陆 & 注册

4.3 launch之xml、yaml实现

2023-10-17 11:03 作者:猛狮集训营  | 我要投稿

4.3 launch之xml、yaml实现

本节主要介绍 launch 文件的 xml 与 yaml 实现语法。xml 与 yaml 实现语法雷同,所以本节会将二者集合在一起介绍。4.3.1 节点设置

需求:launch 文件中配置节点的相关属性。

示例:

在 cpp01_launch/launch/xml 目录下新建 xml01_node.launch.xml 文件,输入如下内容:

在 cpp01_launch/launch/yaml 目录下新建 yaml01_node.launch.yaml 文件,输入如下内容:

代码解释:

在XML 实现中 node 标签用于表示节点,其属性包含:

  • pkg:功能包;

  • exec:可执行文件;

  • name:节点名称;

  • namespace:命名空间;

  • exec_name:流程标签;

  • respawn:节点关闭后是否重启;

  • args:调用指令时的参数列表;

  • ros_args:相当于 args 前缀 --ros-args。

node 标签的子级标签包含:

  • param,设置参数的标签,其属性包含:

  • name:参数名称;

  • value:参数值;

  • from:参数文件路径;


  • remap,话题重映射标签,其属性包含:

  • from:原话题名称;

  • to:新话题名称。


YAML 实现规则与之类似。

4.3.2 执行指令

需求:在 launch 文件中执行 ROS2 命令,以简化部分功能的调用。

示例:

在 cpp01_launch/launch/xml 目录下新建 xml02_cmd.launch.xml 文件,输入如下内容:

在 cpp01_launch/launch/yaml 目录下新建 yaml02_cmd.launch.yaml 文件,输入如下内容:

代码解释:

在 XML 实现中 executable 标签用于表示可执行指令,其属性包含:

  • cmd:被执行的命令;

  • output:日志输出目的地设置。

YAML 实现规则与之类似。4.3.3 参数设置

需求:启动turtlesim_node节点时,可以动态设置背景色。

示例:

在 cpp01_launch/launch/xml 目录下新建 xml03_args.launch.xml 文件,输入如下内容:

在 cpp01_launch/launch/yaml 目录下新建 yaml03_args.launch.yaml 文件,输入如下内容:

代码解释:

在 XML 实现中,arg 标签用于声明参数,其属性包含:

  • name:参数名称;

  • default:参数默认值。

参数的调用语法为:

  • $(var 参数名称)。

可以在启动 launch 文件时动态传入参数,其语法与 Python 格式实现的 launch 文件一致。

YAML 实现规则与之类似。4.3.4 文件包含

需求:新建 launch 文件,包含 4.2.3 中的 launch 文件并为之传入设置背景色相关的参数。

示例:

在 cpp01_launch/launch/xml 目录下新建 xml04_include.launch.xml 文件,输入如下内容:

在 cpp01_launch/launch/yaml 目录下新建 yaml04_include.launch.yaml 文件,输入如下内容:

代码解释:

在 XML 实现中,include 标签用于实现文件包含,其属性如下:

  • file:被包含的launch文件的路径。

let 标签用于向被包含的 launch 文件中导入参数,其属性如下:

  • name:参数名称;

  • value:参数值。

YAML 实现规则与之类似。4.3.5 分组设置

需求:对 launch 文件中的多个 Node 进行分组。

示例:

在 cpp01_launch/launch/xml 目录下新建 xml05_group.launch.xml 文件,输入如下内容:

在 cpp01_launch/launch/yaml 目录下新建 yaml05_group.launch.yaml 文件,输入如下内容:

代码解释:

在 XML 实现中,group 标签用于分组,其子标签如下:

  • push_ros_namespace:可以通过该标签中的 namespace 属性设置组内节点使用的命名空间。

  • node:节点标签。

YAML 实现规则与之类似。

B站有完整的ros系列教程视频,可以观看完整内容ros课程ROS2理论与实践

更多内容将在猛狮知识星球社区更新最新课程,后续将推出更多优质内容——详情可关注猛狮集训营公众号和猛狮集训营官方网站。

4.3 launch之xml、yaml实现的评论 (共 条)

分享到微博请遵守国家法律