RMVL  2.5.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
LPSS CLI 工具

LPSS 命令行工具的使用教程

作者
赵曦
日期
2026/06/06
版本
1.0

上一篇教程:RDT CLI 工具


前言

LPSS 是一个轻量级的发布订阅通信框架,采用去中心化设计,提供 NDP、EDP 两层服务发现机制,以及 MTP 话题消息传输协议,提供类似 ROS2 的 *.msg 消息接口,由 RMVL 提供支持。本工具提供了 LPSS 相关的命令行工具,使用方法如下。

rdt 提供的 LPSS CLI 工具可通过输入

lpss help

来查看具体帮助。

用法

lpss <command> [args...]
命令
help显示详细帮助信息
create创建一个依赖 lpss 的新项目
node节点 CLI 工具
topic话题 CLI 工具
interface内置消息接口查看工具
graph节点图工具
viz3D 可视化工具 LViz

更多信息请参考官方手册:

create 命令

创建一个依赖 LPSS 的新项目

用法

lpss create <project_name> [options]
参数
project_name待创建的项目名称
选项
--deps<list>指定项目依赖的 RMVL 模块,逗号或空格分隔,默认为空
--exts<list>指定项目使用的非 RMVL 库,逗号或空格分隔,默认为空
--cpp<version>指定项目使用的 C++ 标准版本,默认为 20

示例

# 创建一个名为 demo_node 的新项目
lpss create demo_node
# 创建一个名为 demo_node 的新项目,依赖 anchor 和 hik_camera 模块,使用 C++17 标准
lpss create demo_node --deps anchor hik_camera --cpp 17
# 创建一个名为 demo_node 的新项目,依赖 anchor 和 hik_camera 模块,并且使用 json 和 fmt 两个第三方库
lpss create demo_node --deps hik_camera --exts json fmt

node 命令

节点工具

用法

lpss node [help | info | list]
命令
help显示此帮助信息
info显示节点信息
list列出所有节点

info 子命令

查看指定节点的信息,输出形如以下的内容

Node: xxx
Publish Topics:
xxx
Subscribe Topics:
xxx

用法

lpss node info <node_name>
参数
node_name指定要查看的节点名称

示例

# 查看节点 lpss_node_1 的信息
lpss node info lpss_node_1

topic 命令

话题工具

用法

lpss topic [help | info | list | echo | pub | type | hz | bw] [args...]
命令
help显示此帮助信息
info显示话题信息
list列出所有话题
echo显示话题内容
pub发布话题
type显示话题类型
hz测量话题发布频率,单位为 Hz
bw测量话题带宽,单位为 MB/s、kB/s 或 B/s

info 子命令

查看指定话题的信息,输出形如以下的内容

Type: xxx
Publisher Node:
xxx
Subscriber Node:
xxx

用法

lpss topic info <topic_name>
参数
topic_name指定要查看的话题名称

示例

# 查看 /cur/joint_states 话题的信息
lpss topic info /cur/joint_states

echo 子命令

显示话题内容,并以 JSON 文本进行输出

用法

lpss topic echo <topic_name>
参数
topic_name指定的话题名称

示例

# 以 JSON 格式打印 /point 话题的内容
lpss topic echo /point
# 假设是 geometry/Point 的消息类型,可以配合 jq 工具进行输出,记得 apt install jq 来下载 jq
# 打印 /point 话题的 x 坐标
lpss topic echo /point | jq .x
# Linux 下一般是按 \n 刷新缓冲区,通过 | 运算符传给 jq 可能没法很好的实时输出内容,通常可以额外
# 配合 stdbuf 工具自动刷新缓冲区,例如
stdbuf -oL lpss topic echo /point | jq .x

pub 子命令

发布话题内容

警告
未完成,敬请期待

type 子命令

显示话题类型

用法

lpss topic type <topic_name>
参数
topic_name指定的话题名称

示例

# 显示 /point 话题的类型
lpss topic type /point

hz 子命令

测量话题发布频率,单位为 Hz

用法

lpss topic hz <topic_name>
参数
topic_name指定的话题名称

示例

# 显示 /str 话题的发布频率
lpss topic hz /str

bw 子命令

测量话题带宽,单位为 MB/s、kB/s 或 B/s

用法

lpss topic bw <topic_name>
参数
topic_name指定的话题名称

示例

# 显示 /str 话题的带宽使用情况
lpss topic bw /str

interface 命令

内置消息接口查看工具

用法

lpss interface [help | list | group | groups | show] [args...]
命令
help显示此帮助信息
list列出所有内置消息接口
group显示指定的消息分组包含的接口
groups列出所有消息分组
show显示接口详细信息

group 子命令

显示指定的消息分组包含的接口

用法

lpss interface group <name>
参数
name消息分组名称

示例

# 显示 geometry 分组包含的接口
lpss interface group geometry

例如会显示如下内容

Point
Point32
Polygon
Pose
Quaternion
Transform
TransformStamped
Twist
Vector3
Wrench

show 子命令

显示接口详细信息

用法

lpss interface show <interface>
参数
interface消息接口名称,格式为 <group>/<name>

示例

# 显示 geometry/Pose 接口的详细信息
lpss interface show geometry/Pose

例如会显示如下内容

geometry/Point position
float64 x
float64 y
float64 z
geometry/Quaternion orientation
float64 x
float64 y
float64 z
float64 w

graph 命令

节点图工具

警告
未完成,敬请期待

viz 命令

3D 可视化工具 LViz,也可直接使用 lviz 命令来启动。