Skip to main content
设备参数常见的有标识类(序列号、固件版本、手别)和网络类(IP 地址、数据端口)。凡经 Wuji SDK 连接的设备(Wuji Hand 2、Wuji Glove 等)都用统一的资源式 API 访问这些参数。 本页覆盖四套跨设备通用机制:参数读写、SDK 用户管理与数据导入导出、标定数据的本地存放与用户隔离、资源内省。各产品支持的参数清单与设备操作见对应产品文档,页内各节给出指引。

参数读取

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

参数写入

部分参数支持写入:
IP 在同网段内必须唯一,避开其他设备与电脑网卡。
IP 在同网段内必须唯一,避开其他设备与电脑网卡。
修改网络参数(IP 地址、端口)后可能需要重新连接设备。

设备操作

参数持久化、重启等设备操作因产品而异:

SDK 用户管理

不同操作者共用同一台设备时,各自的标定参数和本地参数会互相覆盖。SDK 支持本机用户隔离,按 ~/.wuji/sdk/users/<user_id>/ 分目录存放每位用户的参数与标定文件。 不创建用户时,参数文件与触觉标定直接保存到 ~/.wuji/sdk/params/、~/.wuji/sdk/tactile/,位姿标定则完全不可用。需要按操作者隔离、或需要位姿标定时,创建具名用户:
切换用户后,已连接的设备立即重新加载该用户的标定参数,无需重连。删除当前用户会自动切回默认用户。 用户创建、切换、重命名和删除的实测边界,以及跨进程与跨语言的持久化表现见 SDK 本地用户管理。

用户数据导入导出

一位 SDK 用户的全部数据可以打包成一个 zip 文件,用于备份或在主机之间迁移。包内含该用户的手部标定模型、每台设备的触觉模型,以及最新一次完整的触觉标定数据。
Python 的三个方法都返回报告字典,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 用户时已连接设备自动重载对应文件,无需重连。
默认用户下标定能力受限,多人共用同一台设备时务必先切换到具名用户:
  • 默认用户调用 calibrate 直接失败,返回 ExecuteError(operation="calibrate", code=0x4108)。先 SdkManager.create_user(...) + switch_user(...) 切换到具名用户后再标定,生成的 URDF 才会按用户隔离保存
  • 默认用户设置自定义手部 URDF 直接失败:语义 API glove.hand_model_path().set(path) 与通用写入口(device.set / manager.set)写 calibration.hand_model_path 都返回 UnsupportedOperation,参数存储保持不变,按错误提示切换到具名用户后再设置。语义 API 还会校验路径,文件不可读时返回 InvalidConfig 且不保存
  • 默认用户下,IK 衍生流(hand_skeleton / hand_joint_angles / tip_poses)始终使用 SDK 内置默认 URDF,不读取本地已保存的 calibration.hand_model_path,避免未显式切换用户时意外复用他人标定结果
  • 何时需要标定:首次使用一台设备、更换穿戴者(针对可穿戴设备)、上层模型或算法代际切换、标定精度明显退化。具体触发条件因产品而异
  • 失败行为:标定失败时 SDK 保留上一次成功的结果,本轮新文件自动回滚,可直接重试。常见失败场景:超时、算法不收敛、文件持久化失败、中途切换 SDK 用户。具体异常类型见各产品文档
  • 备份与迁移:用 用户数据导入导出 打包整位用户的标定结果,导入时 SDK 按目标主机的用户目录重建路径。也可以整目录拷贝,但参数表里可能存有指向 ~/.wuji/sdk/ 下其他文件的绝对路径(如模型文件),跨机器迁移到不同 home 路径时需同步更新或重新标定
各产品标定流程见产品文档:

可用参数

查看所有资源

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

接口清单

C 的字符串读取接口统一采用两步查询:先传 buf = NULL、buf_len = 0 拿到所需字节数,再分配缓冲第二次调用填充。Python 返回报告字典的接口在 C 只返回 WujiStatus,逐组件明细不跨 FFI 传递。WujiUserInfo 与 WujiUserUpdate 的字段、内存归属与释放函数见 C 接口参考。