使用命令行工具进行自省

ROS 2 包含一套用于反观 ROS 2 系统的命令行工具。

使用方法

工具的主要入口是命令 玫瑰2,它本身有各种子命令,用于内省和处理节点、主题、服务等。

要查看所有可用的子命令,请运行

玫瑰2 --帮助

可用的子命令示例包括

  • 行动:自省/与 ROS 行动互动

  • 背包:录制/播放一个咆哮包

  • 组成部分:管理组件容器

  • 守护进程:自省/配置 ROS 2 守护进程

  • 医生:检查 ROS 设置是否存在潜在问题

  • 界面:显示有关 ROS 接口的信息

  • 启动:运行/检查启动文件

  • 周期:内视/管理具有受管生命周期的节点

  • 组播:组播调试命令

  • 网站:内视 ROS 节点

  • 停止:内视/配置节点上的参数

  • :自省 ROS 软件包

  • 运行:运行 ROS 节点

  • 安全:配置安全设置

  • 服务:内视/调用 ROS 服务

  • 测试:运行 ROS 启动测试

  • 主题:自省/发布 ROS 主题

  • 踪影:用于获取 ROS 节点执行信息的跟踪工具(仅适用于 Linux 系统)

  • 哇靠:的别名 医生

示例

要使用命令行工具生成典型的 "通话者-监听者 "示例,可使用 主题 子命令可用于发布和回显主题上的信息。

在一个终端机上发布信息:

$ 玫瑰2 主题 酒吧 /chatter std_msgs/msg/String 数据:Hello world";
出版商 开头 循环出版 #1: std_msgs.msg.String(data='Hello world')

出版 #2: std_msgs.msg.String(data='Hello world')

$ 玫瑰2 主题 回响 /chatter 数据: 您好 世界数据: 您好 世界

幕后花絮

ROS 2 采用分布式发现流程让节点相互连接。由于该进程故意不使用集中式发现机制,因此 ROS 节点可能需要一段时间才能发现 ROS 图中的所有其他参与者。因此,后台有一个长期运行的守护进程,负责存储有关 ROS 图形的信息,以便更快地响应查询,例如节点名称列表。

首次使用相关命令行工具时,守护进程会自动启动。您可以运行 玫瑰2 守护进程 --帮助 以获取与守护进程交互的更多选项。

实施情况

的源代码 玫瑰2 命令可在 https://github.com/ros2/ros2cli.

"(《世界人权宣言》) 玫瑰2 该工具是作为一个框架实施的,可以通过插件进行扩展。例如 sros2 软件包提供了一个 安全 自动检测到的子命令。 玫瑰2 工具,如果 sros2 软件包已安装。