设备参数与标定

参数读取

通过语义化 API 读取设备属性:

sn = glove.sn().get()                # 序列号
version = glove.version().get()      # 固件版本
hand_side = glove.hand_side().get()  # 手别("left" 或 "right")
ip = glove.ip().get()                # IP 地址
port = glove.port().get()            # 数据端口

参数写入

部分参数支持写入:

glove.ip().set("192.168.1.100")     # 修改 IP 地址
glove.port().set(50001)             # 修改数据端口

修改网络参数(IP 地址、端口)后可能需要重新连接设备。

设备操作

参数持久化、重启等设备操作因产品而异。Wuji Glove 的具体操作见 Wuji Glove 设备操作

SDK 用户管理

不同操作者共用同一台设备时,各自的标定参数和本地参数会互相覆盖。SDK 支持本机用户隔离,按 ~/.wuji/sdk/users/<user_id>/ 分目录存放每位用户的参数与标定文件。

不创建用户时,参数与标定文件直接落到 ~/.wuji/sdk/params/~/.wuji/sdk/models/。按操作者隔离时再创建具名用户:

from wuji_sdk import SdkManager

manager = SdkManager.instance()

# 创建用户
alice = manager.create_user("Alice", description="右手操作员")

# 切换到指定用户
manager.switch_user(alice["user_id"])

# 查看当前用户
print(manager.current_user())

# 列出所有用户
for user in manager.list_users():
    marker = "*" if user["is_default"] else " "
    print(f"{marker} {user['display_name']} ({user['user_id']})")

# 切回默认用户
manager.switch_to_default_user()

切换用户后,已连接的设备立即重新加载该用户的标定参数,无需重连。删除当前用户会自动切回默认用户。

仅 Python SDK 提供用户管理 API,C SDK 无对应接口。

标定

标定是把 SDK 算法适配到具体物理设备的过程,结果落盘到 SDK 本地参数与模型文件,设备订阅时自动加载。

标定文件按当前 SDK 用户和设备序列号双重隔离:

SDK 用户参数表模型目录
默认用户~/.wuji/sdk/params/<sn>.toml~/.wuji/sdk/models/
具名用户~/.wuji/sdk/users/<user_id>/params/<sn>.toml~/.wuji/sdk/users/<user_id>/models/

切换 SDK 用户时已连接设备自动重载对应文件,无需重连。

  • 何时需要标定:首次使用一台设备、更换穿戴者(针对可穿戴设备)、上层模型或算法代际切换、标定精度明显退化。具体触发条件因产品而异
  • 失败行为:标定失败时 SDK 保留上一次成功的结果,本轮新文件自动回滚,可直接重试。常见失败场景:超时、算法不收敛、文件持久化失败、中途切换 SDK 用户。具体异常类型见各产品文档
  • 迁移注意:标定结果是普通文件,可整目录拷贝备份或在主机间迁移。参数表里可能存有指向 ~/.wuji/sdk/ 下其他文件的绝对路径(如模型文件),跨机器迁移到不同 home 路径时需同步更新或重新标定

Wuji Glove 的标定流程和 API 见 Wuji Glove 标定

可用参数

Wuji Glove 的可用参数表见 Wuji Glove 可用参数

查看所有资源

列出设备上所有可用的资源、参数和 Topic:

# 所有资源
for res in glove.resources():
    print(f"{res.path} - {res.serde_format}")

# 可读写参数
for param in glove.params():
    print(f"{param.path}")

# 可订阅 Topic
for topic in glove.topics():
    print(f"{topic.path} - {topic.serde_format}")