参数读取
通过语义化 API 读取设备属性:- Python
- C
参数写入
部分参数支持写入:- Python
- C
设备操作
参数持久化、重启等设备操作因产品而异:SDK 用户管理
不同操作者共用同一台设备时,各自的标定参数和本地参数会互相覆盖。SDK 支持本机用户隔离,按~/.wuji/sdk/users/<user_id>/ 分目录存放每位用户的参数与标定文件。
不创建用户时,参数文件与触觉标定直接保存到 ~/.wuji/sdk/params/、~/.wuji/sdk/tactile/,位姿标定则完全不可用。需要按操作者隔离、或需要位姿标定时,创建具名用户:
- Python
- C
用户数据导入导出
一位 SDK 用户的全部数据可以打包成一个 zip 文件,用于备份或在主机之间迁移。包内含该用户的手部标定模型、每台设备的触觉模型,以及最新一次完整的触觉标定数据。- Python
- C
components 逐项列出组件状态:
导入行为:
- 包内记录的所属用户不存在时自动创建,当前用户不变
- 除被跳过的组件外,每个
present组件都会写入,覆盖该用户已有的同名文件 - 跳过优先于写入:被跳过的组件不落盘、不覆盖已有文件,报告里的
state为skipped。所属用户是默认用户时,手部模型即按此跳过(默认用户不加载本地手部标定),其余组件照常写入 - 校验(路径安全、大小上限、sha256、数据格式、所属用户)在写盘前全部完成,任一项失败直接抛异常,不写入任何文件
导出路径必须以
.zip 结尾,父目录不存在时自动创建。C 的三个接口只返回状态码,逐组件明细不跨 FFI 传递,需要按组件查看结果时改用 Python 接口。包文件不存在返回 WUJI_STATUS_ERR_NOT_FOUND,校验不通过返回 WUJI_STATUS_ERR_INVALID_DATA。触觉数据路径
触觉模型由 Wuji CLI 触觉接触标定 训练产出,与标定数据一起按 SDK 用户和设备序列号存放:
目录下
model/ 存训练好的触觉模型(contact.safetensors 与 contact.npz),calibration-data/ 存原始标定数据,每次标定一个子目录。一次完整的标定数据包含 4 段引导动作各一个数据文件,导出只取最新一次完整的标定数据。
标定
标定是把 SDK 算法适配到具体物理设备的过程,结果落盘到 SDK 本地参数与模型文件,设备订阅时自动加载。 标定文件先按当前 SDK 用户隔离,再分三类存放:
参数文件与触觉目录仍按设备序列号细分。触觉目录下
model/ 存训练好的接触模型,calibration-data/ 存最新一次标定数据。
位姿手部 URDF 只按 SDK 用户与左右手保存(如 left_hand.urdf / right_hand.urdf),不再包含设备序列号与手型信息,同一用户下任意同侧设备共享同一模型。默认用户没有位姿手部模型:标定与导入都不会写入,实时 IK 始终回退到内置默认模型。Wuji Glove 的具体行为见 Wuji Glove 标定。
切换 SDK 用户时已连接设备自动重载对应文件,无需重连。
- 何时需要标定:首次使用一台设备、更换穿戴者(针对可穿戴设备)、上层模型或算法代际切换、标定精度明显退化。具体触发条件因产品而异
- 失败行为:标定失败时 SDK 保留上一次成功的结果,本轮新文件自动回滚,可直接重试。常见失败场景:超时、算法不收敛、文件持久化失败、中途切换 SDK 用户。具体异常类型见各产品文档
- 备份与迁移:用 用户数据导入导出 打包整位用户的标定结果,导入时 SDK 按目标主机的用户目录重建路径。也可以整目录拷贝,但参数表里可能存有指向
~/.wuji/sdk/下其他文件的绝对路径(如模型文件),跨机器迁移到不同 home 路径时需同步更新或重新标定
- Wuji Hand 2 指尖触觉标定(设备侧执行,不写入本节所述 SDK 本地标定文件)见 Wuji Hand 2 指尖触觉 — 零基线标定与状态查询
- Wuji Glove 标定流程和 API 见 Wuji Glove 标定
可用参数
查看所有资源
列出设备上所有可用的资源、参数和 Topic:- Python
- C
接口清单
C 的字符串读取接口统一采用两步查询:先传
buf = NULL、buf_len = 0 拿到所需字节数,再分配缓冲第二次调用填充。Python 返回报告字典的接口在 C 只返回 WujiStatus,逐组件明细不跨 FFI 传递。WujiUserInfo 与 WujiUserUpdate 的字段、内存归属与释放函数见 C 接口参考。