遥控手
无极手规格
无极灵巧手传感器、JSONL流格式、平台代理参数的完整技术规范。
机械与传感
| 手指 | 5 — 拇指、食指、中指、无名指、小指 |
| 每个手指的关节数 | 4 |
| 总联合职位 | 20(5×4数组,浮点数,弧度) |
| 触觉压力图 | 24 行 × 32 列(768 个值,浮点数 [0, 1]) |
| IMU通道 | 6 轴(3 轴加速度计 + 3 轴陀螺仪),流中最多 16 个插槽 |
| 电动势通道 | 每手指弯曲 + 手背偏航(按手指名称键入的字典) |
| 手边 | 左、右或从第一帧自动检测 |
接口&SDK
| USB 供应商 ID | 0x0483(默认;通过 --usb-vid 覆盖) |
| SDK封装 | wujihandpy (Python) |
| 安装 | pip 安装 wujihandpy numpy |
| 工作室应用 | 无极工作室 v0.7.0 (Linux amd64 .deb / .tar.gz / .zip) |
| 流脚本 | wuji_hand_sdk_stream.py(将 JSONL 发送到标准输出) |
| 代理模块 | wuji_glove_agent.py(通过WebSocket的平台桥) |
| 模拟流 | mock_wuji_stream.py(合成 JSONL,无需硬件) |
流和代理参数
| 默认码流 Hz | 30 Hz(可使用 --hz 配置) |
| 码流格式 | JSONL — 每行一个 JSON 对象到标准输出 |
| 平台设备类型 | wuji_hand |
| 代理模块 | wuji_glove_agent |
| 后端 WebSocket URL | ws://127.0.0.1:8000 (默认值;使用 --backend 覆盖) |
| 遥测赫兹 | 30 Hz(可使用 --telemetry-hz 配置) |
| 重新连接政策 | 指数退避:最短 1 秒,最长 10 秒 |
JSONL 帧字段(每帧)
| 场地 | 类型 | 形状/范围 | 描述 |
|---|---|---|---|
| ts | 漂浮 | Unix秒 | 帧时间戳 (time.time()) |
| 手边 | 斯特 | “左”| “正确的” | 这个框属于哪只手 |
| 弯曲 | 词典 | 5 个键,[0, 1] | 每指标准化弯曲(拇指、食指、中指、无名指、小指) |
| 关节实际位置5x4 | 列表[列表[浮动]] | 5×4,弧度 | 来自wujihandpy的原始关节位置,5个手指×4个关节 |
| 压力图24x32 | 列表[列表[浮动]] | 24×32, [0, 1] | 手表面的触觉压力分布 |
| 伊姆 | 列表[浮动] | 最多 16 个值 | 6 轴 IMU:[ax, ay, az, gx, gy, gz, ...](剩余插槽归零) |
| 电动势 | 词典 | 每个手指 + 手背 | EMF 传感器读数; 每个条目都是带有“弯曲”/“角度”键的浮动或字典 |
这 bends 值源自 joint_actual_position_5x4 通过平均每个手指的 4 个关节角度并将 [0, π/2] 范围归一化为 [0, 1]。
wuji_glove_agent.py — 关键标志
| 旗帜 | 默认 | 描述 |
|---|---|---|
| --后端 | ws://127.0.0.1:8000 | 平台 WebSocket 基本 URL |
| - 会议 | (必需的) | 来自平台的 Teleop 会话 ID |
| --节点 ID | wuji-glove-node | 会话中该设备节点的标识符 |
| - 手套 | 汽车 | 手侧:左、右或自动(从第一帧读取) |
| --设备种类 | wuji_hand | 平台注册的设备类型 |
| --遥测-hz | 30.0 | 遥测转发至平台的速率 |
| --wuji-cmd | python3 wuji_hand_sdk_stream.py --手边右--hz 30 | 将 JSONL 帧发送到 stdout 的 Shell 命令 |
| --重新连接分钟 | 1.0 | 最小重新连接退避(秒) |
| --重新连接-最大-s | 10.0 | 最大重新连接退避(秒) |