警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
使用命令行工具进行自省
ROS 2 包含一套用于反观 ROS 2 系统的命令行工具。
使用方法
工具的主要入口是命令 玫瑰2
,它本身有各种子命令,用于内省和处理节点、主题、服务等。
要查看所有可用的子命令,请运行
玫瑰2 --帮助
可用的子命令示例包括
行动内视/与 ROS 行动互动
包:录制/播放 rosbag
组件管理组件容器
守护进程自省/配置 ROS 2 守护进程
医生检查 ROS 设置是否存在潜在问题
接口:显示 ROS 接口信息
启动运行/检查启动文件
生命周期:内视/管理具有受管生命周期的节点
节点:自省 ROS 节点
参数:节点上的自省/配置参数
pkg:自省 ROS 软件包
运行运行 ROS 节点
安全配置安全设置
服务:自省/调用 ROS 服务
srv:Introspect
服务
类型测试运行 ROS 启动测试
主题:自省/发布 ROS 主题
跟踪:用于获取 ROS 节点执行信息的跟踪工具(仅适用于 Linux 系统)
示例
要使用命令行工具生成典型的 "通话者-监听者 "示例,可使用 主题
子命令可用于发布和回显主题上的信息。
在一个终端机上发布信息:
$ 玫瑰2 主题 酒吧 /chatter std_msgs/String 数据:Hello world";
出版商 开头 循环出版 std_msgs.msg.String(数据='你好,世界';)
出版 std_msgs.msg.String(数据='你好,世界';)
用
$ 玫瑰2 主题 回响 /chatter 数据: 您好 世界数据: 您好 世界
幕后花絮
ROS 2 采用分布式发现流程让节点相互连接。由于该进程故意不使用集中式发现机制(如 ROS 1 中的 ROS Master),因此 ROS 节点可能需要一段时间才能发现 ROS 图中的所有其他参与者。因此,后台有一个长期运行的守护进程,负责存储有关 ROS 图的信息,以便更快地响应查询,例如节点名称列表。
首次使用相关命令行工具时,守护进程会自动启动。您可以运行 玫瑰2 守护进程 --帮助
以获取与守护进程交互的更多选项。
实施情况
的源代码 玫瑰2
命令可在 https://github.com/ros2/ros2cli
"(《世界人权宣言》) 玫瑰2
该工具是作为一个框架实施的,可以通过插件进行扩展。例如 sros2 软件包提供了一个 安全
自动检测到的子命令。 玫瑰2
工具,如果 sros2
软件包已安装。