![]() |
RMVL
2.5.0-dev
Robotic Manipulation and Vision Library
|
LPSS 命令行工具的使用教程
上一篇教程:RDT CLI 工具
LPSS 是一个轻量级的发布订阅通信框架,采用去中心化设计,提供 NDP、EDP 两层服务发现机制,以及 MTP 话题消息传输协议,提供类似 ROS2 的 *.msg 消息接口,由 RMVL 提供支持。本工具提供了 LPSS 相关的命令行工具,使用方法如下。
rdt 提供的 LPSS CLI 工具可通过输入
来查看具体帮助。
用法
| help | 显示详细帮助信息 |
| create | 创建一个依赖 lpss 的新项目 |
| node | 节点 CLI 工具 |
| topic | 话题 CLI 工具 |
| service | 服务 CLI 工具 |
| interface | 内置消息接口查看工具 |
| graph | 节点图工具 |
| viz | 3D 可视化工具 LViz |
更多信息请参考官方手册:
创建一个依赖 LPSS 的新项目
用法
| project_name | 待创建的项目名称 |
| --deps | <list> | 指定项目依赖的 RMVL 模块,逗号或空格分隔,默认为空 |
| --exts | <list> | 指定项目使用的非 RMVL 库,逗号或空格分隔,默认为空 |
| --cpp | <version> | 指定项目使用的 C++ 标准版本,默认为 20 |
示例
节点工具
用法
| help | 显示此帮助信息 |
| info | 显示节点信息 |
| list | 列出所有节点,可使用 -c 仅显示数量 |
列出当前发现的所有 LPSS 节点。
用法
| -c | 仅输出节点数量 |
示例
查看指定节点的信息,输出形如以下的内容
用法
| node_name | 指定要查看的节点名称 |
示例
话题工具
用法
| help | 显示此帮助信息 |
| info | 显示话题信息 |
| list | 列出所有话题,可使用 -c 仅显示数量 |
| find | 按消息类型查找话题,可使用 -c 仅显示数量 |
| echo | 显示话题内容 |
| pub | 发布话题 |
| type | 显示话题类型 |
| hz | 测量话题发布频率,单位为 Hz |
| bw | 测量话题带宽,单位为 MB/s、kB/s 或 B/s |
列出当前发现的所有话题,话题名称按字典序输出。
用法
| -c | 仅输出话题数量 |
按完整消息类型查找话题,查询结果按话题名称的字典序输出。
用法
| msg_type | 消息类型,例如 std/String |
| -c | 仅输出匹配的话题数量 |
示例
查看指定话题的信息,输出形如以下的内容
用法
| topic_name | 指定要查看的话题名称 |
示例
显示话题内容,并以 JSON 文本进行输出
用法
| topic_name | 指定的话题名称 |
示例
发布话题内容
显示话题类型
用法
| topic_name | 指定的话题名称 |
示例
测量话题发布频率,单位为 Hz
用法
| topic_name | 指定的话题名称 |
示例
测量话题带宽,单位为 MB/s、kB/s 或 B/s
用法
| topic_name | 指定的话题名称 |
示例
服务工具,用于查看已发现的 LPSS 服务,并使用 JSON 请求调用内置服务。
用法
| help | 显示此帮助信息 |
| info | 显示服务信息 |
| list | 列出所有服务,可使用 -c 仅显示数量 |
| type | 显示服务类型 |
| find | 按服务类型查找服务,可使用 -c 仅显示数量 |
| call | 使用 JSON 请求调用内置服务 |
列出当前发现的所有服务,服务名称按字典序输出。
用法
| -c | 仅输出服务数量 |
查看指定服务的类型、服务端节点和客户端节点,输出形如以下内容。
用法
| service_name | 服务名称 |
示例
显示指定服务的服务类型。
用法
| service_name | 服务名称 |
示例
按类型精确匹配服务。service_type 可以是完整服务类型,也可以是对应的请求或响应消息类型。查询结果按服务名称的字典序输出。
用法
| service_type | 服务类型,例如 std/SetBool;也可使用 std/SetBool_Request 或 std/SetBool_Response |
| -c | 仅输出匹配的服务数量 |
示例
使用 JSON 对象作为请求调用指定服务,并将响应输出为 JSON。json_request 省略或为空时按 {} 处理,命令等待响应的超时时间为 3 秒。
用法
| service_name | 服务名称 |
| json_request | JSON 对象形式的请求,建议使用单引号包围,避免 Shell 改写引号等字符 |
目前 call 支持以下内置服务类型。
| 服务类型 | JSON 请求 |
|---|---|
| std/Empty | {},可省略 |
| std/Trigger | {},可省略 |
| std/SetBool | 必须包含布尔字段 data |
| sensor/SetCameraInfo | 必须包含对象字段 camera_info;其中 D 和 K 如果出现,必须分别包含 5 个和 9 个数字 |
示例
内置消息接口查看工具
用法
| help | 显示此帮助信息 |
| list | 列出所有内置消息接口 |
| group | 显示指定的消息分组包含的接口 |
| groups | 列出所有消息分组 |
| show | 显示接口详细信息 |
显示指定的消息分组包含的接口
用法
| name | 消息分组名称 |
示例
例如会显示如下内容
显示接口详细信息
用法
| interface | 消息接口名称,格式为 <group>/<name> |
示例
例如会显示如下内容
节点图工具 LGraph,用于在浏览器中查看 LPSS 通信拓扑,包括节点、话题、服务及其发布/订阅、服务端/客户端关系。也可直接使用 lgraph 命令启动。
用法
| name_subfix | 可选的实例名称,用于生成 LPSS 节点名 lgraph_<name_subfix>;省略时自动生成 5 位随机标识 |
启动成功后,终端会输出本机和局域网访问地址。LGraph 默认监听 17493 端口,本机可访问:
示例
3D 可视化工具 LViz,也可直接使用 lviz 命令启动。
用法
| name_subfix | 可选的实例名称,用于生成 LPSS 节点名 lviz_node_<name_subfix>;省略时自动生成 5 位随机标识 |
LViz 默认监听 17492 端口,启动后可通过 http://localhost:17492 访问,按 Ctrl+C 停止工具。