无极手社区

无极灵巧手SDK、JSONL管道、平台集成常见问题及排查。

FAQ

我需要什么Python包才能从无极手上读取数据?

安装 wujihandpy、无极SDK官方Python包:

pip install wujihandpy numpy

wuji_hand_sdk_stream.py 桥脚本通过导入它 import wujihandpy 并打电话 hand.read_joint_actual_position(timeout=0.4) 得到5×4的关节位置数组。 验证安装: python3 -c "import wujihandpy; print(wujihandpy.__version__)".

5×4的关节位置数组代表什么?

无极手有5个手指(拇指、食指、中指、无名指、小指),每个手指有4个关节。 这 read_joint_actual_position() 调用返回一个包含 20 个浮点的平面列表,表示以弧度表示的关节角度。 桥接脚本将其重塑为 5×4 数组,计算每个手指 4 个关节的平均值,并将 [0, π/2] 范围标准化为 [0, 1] 以生成每个手指 bends 用于远程操作和录音的值。

压力图始终为零。 这正常吗?

可以的。 如果仅连接关节位置硬件而不连接触觉传感器模块,则 pressure_map_24x32 字段是一个零填充的占位符。 使用 mock_wuji_stream.py 验证热图渲染管道是否正常工作。 对于生产使用,请确认您的无极固件版本包括触觉传感器支持,并且触觉模块已通电并连接。

在没有物理硬件的情况下如何运行?

使用附带的 mock_wuji_stream.py 用于生成合成 JSONL 帧的脚本,其中包含动画手指弯曲、高斯压力斑点触觉图、6 轴 IMU 数据以及可配置 Hz 下的 EMF 读数:

python3 mock_wuji_stream.py --hz 30 --hand-side right --seed 42

要将模拟流与代理一起使用,请使用以下命令覆盖默认流命令 --wuji-cmd:

python3 wuji_glove_agent.py \
  --session YOUR_SESSION_ID \
  --node-id wuji-mock \
  --wuji-cmd "python3 mock_wuji_stream.py --hz 30 --hand-side right"

所有平台功能在模拟模式下的工作方式相同。

wuji_glove_agent.py 和 wuji_hand_sdk_stream.py 有什么区别?

wuji_hand_sdk_stream.py 是一个数据源:它导入 wujihandpy,从硬件读取原始关节位置,并以可配置的 Hz 向标准输出发送 JSONL 帧。 wuji_glove_agent.py 是平台桥梁:它作为子进程启动流脚本,解析 JSONL 输出,并通过 WebSocket 将解码的传感器数据转发到 Fearless Platform。 该代理还处理会话注册、遥测缓冲、重新连接和延迟 ping。

如何选择左手和右手?

经过 --glove left, --glove right, 或者 --glove auto (默认)到 wuji_glove_agent.py。 在自动模式下,代理读取 hand_side 第一个 JSONL 帧中的字段。 流脚本接受 --hand-side left 或者 --hand-side right,默认为右。 对于双边记录,运行两个具有不同的代理进程 --node-id 价值观和不同 --glove 设置,连接到相同的会话 ID。

代理无法连接到平台WebSocket。 我应该检查什么?

确认 Fearless 后端正在运行: curl http://localhost:8000/health。 如果使用远程后端,请传递正确的 URL: --backend ws://HOST:PORT。 代理使用指数退避(最短 1 秒,最长 10 秒)进行重新连接 - 观察终端输出以了解重新连接尝试和特定错误消息。

与 OpenArm 101 配合使用效果最佳

Wuji Hand 是推荐的操作员手套 开臂 101 远程操作会话。 将 OpenArm 安装在稳定的表面上,将 Wuji 代理与 Arm 代理配对到同一会话,您就拥有了一个完整的远程操作和模仿学习数据收集装置。 请参阅 OpenArm 远程操作设置步骤 获取集成说明。

准备好开始收集了吗?

30 Hz 的高自由度遥操作数据。 与 OpenArm 101 配合使用效果最佳。