Skip to main content

产品概述

Wuji Hand 是舞肌科技 (WUJI TECH) 研发的一款具有 20 主动自由度的仿生灵巧手,面向科研实验、机器人集成、人机交互等多种应用场景。

产品参数

Wuji Hand 核心技术参数表涵盖结构设计、驱动控制、负载性能、动态响应和电气特性,供产品选型、仿真建模和应用集成参考。
参数分类参数项典型数值或描述
结构与自由度主动自由度20,每指 4 个
关节数量
抓指构型可全对指,支持侧摆
运动学构型旋转关节串联直驱,无非线性运动学关系
最大抓握直径100 mm
尺寸与重量自重(不含线缆)580 ± 10 g
尺寸201 mm × 75 mm × 50 mm
驱动方式驱动方式自锁旋转直驱关节
控制算法FOC 矢量控制驱动
控制与通信控制频率1000 Hz × 20 轴
通信接口USB 2.0
控制模式位控
通信协议自研协议
通信速率480 Mbps(理论值)
负载性能指尖力15 N
单指最大载荷(钩握)3 kg
整手抓握最大静载10 kg
整手钩握最大静载10 kg
整手竖抓最大静载5 kg
挂握最大重量5 kg
动态性能最小开合时间≈ 0.3 s
重复开合速度≥ 2 次/秒
拇指弯曲/侧摆速度≥ 100 rpm
四指弯曲速度≈ 0.25 s
精度与寿命重复定位精度± 1 mm
空载抓握寿命≥ 300,000 次
背隙≤ ± 7 mm
电气性能工作电压12V - 20V DC
静态功耗12 W
标配适配器规格额定输出:12V 20A
峰值功率:420 W(10 ms 瞬态)
线缆规格:14 AWG
材料与防护外壳材质铝合金
防护等级IP40

产品结构特征

本节介绍 Wuji Hand 整体结构设计、通信与电源接口布局,以及各自由度的命名规则与运动参数,帮助用户了解产品的机械结构与使用规范。

结构示意图

Wuji Hand 采用五指仿生结构设计,每个手指包含多个关节实现灵活运动。下图展示整体结构及主要组成部分:
结构示意图
结构示意图
  • 图中 A~E 分别对应:
    • A:拇指 (Thumb)
    • B:食指 (Index)
    • C:中指 (Middle)
    • D:无名指 (Ring)
    • E:小指 (Little)
  • 图中 1~5 对应手部常用的解剖学区域标识:
    • 1:远节指骨 (Distal phalanges)
    • 2:中节指骨 (Intermediate phalanges)
    • 3:近节指骨 (Proximal phalanges)
    • 4:掌骨 (Metacarpals)
    • 5:腕骨 (Carpals)

Wuji Hand 自由度配置

下图为 Wuji Hand 各关节的解剖学命名与对应位置关系,便于用户理解各自由度的功能定位。
自由度命名规则
自由度命名规则
图中 1~6 分别对应:
  • 1:CMC1
  • 2:CMC2
  • 3:MCP1
  • 4:MCP2
  • 5:PIP
  • 6:DIP

各自由度运动方向及角度范围

四指结构一致,单指全长约 157 mm。拇指模块结构略有差异,单指全长约 130 mm。下图以拇指和小指为例,说明各自由度的运动方向及角度范围:
各自由度运动方向及角度范围
各自由度运动方向及角度范围
  • 拇指
    • 1:掌根展收,运动范围约 100°
    • 2:掌根侧摆,运动范围约 80°
    • 3:屈伸,运动范围约 130°
    • 4:屈伸,运动范围约 130°
  • 小指
    • 1:屈伸,运动范围约 125°
    • 2:侧摆,运动范围约 60°
    • 3:屈伸,运动范围约 130°
    • 4:屈伸,运动范围约 130°

通信与电源接口示意图

Wuji Hand 通过 USB-C 接口实现与上位机的数据通信,同时支持外部电源供电。下图展示了 Wuji Hand 的通信和电源接口位置及连接方式:
通信与电源接口
通信与电源接口
  • 图中 1~3 分别为:
    • 1:USB 数据线连接端(插入灵巧手设备)
    • 2:USB 数据线另一端(连接至上位机或机器人控制器)
    • 3:XT30 电源接口,用于外部供电接入
注意:为保障通信稳定性与供电安全,建议使用原装配套线材

产品电气特征

引脚定义

引脚定义
引脚定义

指示灯对照表

Wuji Hand 手背中下方设有 RGB 多色状态指示灯,实时反馈供电和系统运行状态。
指示灯位置
指示灯位置
各状态对应含义如下表所示:
指示灯颜色状态符号系统阶段说明说明
无灯无灯OFF关机未上电状态供电未接通或主电源故障
蓝色常亮蓝色常亮Bootloader固件更新或引导程序设备处于引导程序中,若设备正在执行固件升级,此时严禁断电或重插线缆,以免导致系统损坏
绿色闪烁绿色闪烁Standby正常待机供电正常,系统正常,未连接上位机或 SDK
绿色常亮绿色常亮Running正常运行供电正常,系统已启动,已正常连接上位机或 SDK
黄色常亮黄色常亮Warning设备警告系统检测到警告,如温度过高、供电波动等非致命故障,建议暂停调试,排查告警原因
红色闪烁红色闪烁Pre-fault故障预警即将发生故障的预警,如温度高接近过温阈值
红色常亮红色常亮Fault严重故障发生严重硬件/软件故障(如主控 MCU 异常、通信失步等),应立即失能并依靠上位机排除故障(观察指示灯、终端日志、复位/恢复出厂)

产品配件介绍

产品配件表

图示名称说明
电源适配器电源适配器电源适配器供电
电源适配器AC线材电源适配器AC线材电源适配器 AC 线材
抗冲击转接座抗冲击转接座抗冲击转接座请见抗冲击转接座
直连转接座直连转接座直连转接座连接 Wuji Hand 与用户设备(如机械臂法兰)
工具包工具包工具包
  • 六角扳手
  • 撬棒:分离扣合的抗冲击转接座
配件包配件包配件包
  • 内六角头螺钉:M4x6、M5x10、M6x10
  • XT30 母头
USB A to USB C 线束USB A to USB C 线束USB A to USB C 线束用于主机设备与 Wuji Hand 通信
触觉感知手套触觉感知手套触觉感知手套(选配件)请见触觉感知手套
是否随箱发货、配发左手或右手手套,均以实际订单为准

触觉感知手套

触觉感知手套(Tactile Sensing Glove)是 Wuji Hand 的选配触觉感知配件,面向科研与工程场景,可用于感知、数据采集、人机交互等任务,为算法适配、仿真建模与多模态融合提供统一的硬件基础。
  • 高感知密度:全掌均布传感器阵列,数量超过 400 个,每个传感器独立捕获接触状态,通过超分辨率进一步提升感知能力
  • 高柔顺性:完全柔性的 Nerve skin(柔性传感皮肤)可承载弯曲与拉伸形变,构建紧贴对象的动态感知阵列

系统要求

分类项要求
硬件准备USB-C 接口上位机至少 1 个空闲 USB-C 接口(USB 2.0 及以上)
线缆配套 USB-C 数据线与短互联线(参考 连接方式)
建议电脑配置CPUx86_64 或 ARM64 架构
内存≥ 16 GB,满足并行处理多个数据流与可视化显示
存储≥ 1 GB 可用空间用于 SDK 与依赖安装
操作系统SDK 平台当前仅支持 Linux
推荐发行版Ubuntu 22.04 / 24.04
Windows 支持暂未支持,请等待后续版本
Wuji Hand SDK (wujihandpy)Python 版本3.8 – 3.14
依赖numpy
安装pip install wujihandpy
Wuji Hand SDK (wujihandcpp)发布包Deb / RPM,可直接安装
构建说明详见 wujihandcpp
USB 设备权限(Linux)udev 规则添加规则后无需 sudo 访问设备:

手套参数规格

连接方式

拆装 Wuji Hand 触觉感知手套时,请先运行 Wuji Hand SDK 关节控制例程 中的 glove_donning.py,将整手平滑切换至拇指对掌内收、其余四指基本伸直的拆装姿态,请勿强行拉扯,以免损坏手指关节。
触觉感知手套连接示意图
触觉感知手套连接示意图
  1. 将标配短数据线标有圆形标识的一端连接至 Brain Watch 桥接端(圆形标识)。数据线另一端从 Wuji Hand 手腕内侧绕过后接入 Wuji Hand 通信接口。
  2. USB-C(USB 2.0 及以上)数据线与 PC 连接,任一 USB-C 端连接到 Brain Watch 输出端(三角标识),另一端连接至 PC。

通信接口

产品当前提供单一对外通信接口,简化上位机适配与集成路径。
分类项说明
物理接口接口类型USB-C(USB 2.0 及以上)
传输协议模式USB CDC(虚拟串口),主机识别为标准串行设备
Linux 节点/dev/ttyACM*
USB 标识VID = 0x0483
PID = 0x5700
数据流推送速率最高 120 FPS,24 × 32 浮点压力帧
帧结构含序号、时间戳与 CRC 校验,SDK 完成帧同步、丢帧统计与重连
数据读取方式推荐官方 SDK(C++ / Python),获取结构化帧数据
调试通用串口工具读取原始字节流

软件支持

官方 SDK 提供完整的数据访问与设备控制能力,覆盖从算法验证到生产部署的全流程。完整 API 参考见 SDK 使用说明 — 触觉感知手套。 SDK 接口 提供 C++ 与 Python 两套接口,共享底层实现,行为一致: 主要 API 功能
  • 连接管理:connect() / disconnect() / is_connected(),支持按 USB 序列号区分多设备
  • 帧读取:阻塞式 read_frame(timeout_ms) 或回调式流式读取 start_streaming(callback) / stop_streaming()
  • 设备信息:get_device_info()(序列号 / 硬件版本 / 固件版本)、get_fw_build()、get_handedness()
  • 诊断统计:get_diagnostics()(上电时长 / 帧计数 / CRC 错误 / 丢帧 / USB 重置)、reset_counters()
  • 运行配置:get_sample_rate_hz() / set_sample_rate_hz()(1–120 Hz)、set_streaming(enable)
  • 时间同步:get_device_time()、sync_host_epoch(host_unix_ns),便于多设备时间对齐
  • 生命周期:reset_device() 软复位
  • 异常处理:USB 断连自动触发 DisconnectCallback,C++ 抛出 ConnectionLostError,Python 抛出对应异常
联合使用 触觉手套与 Wuji Hand 使用独立的 USB 传输与线程,可在同一进程内并行操作(参见 example/joint_with_tactile.py),实现触觉反馈驱动运动控制等闭环场景。

抗冲击转接座

抗冲击转接座采用旋扣和卡槽的锁定结构,在正常状态下保持高刚性连接。当遭遇超过安全阈值的外力冲击(如机械臂失控或末端强烈碰撞)时, Wuji Hand 与机械臂端将触发主动分离,保护关键部件(关节、电机、减速器等)免于损坏。此设计确保在提升可靠性的同时,最大限度降低维护与维修风险。
  • 正常状态: 旋扣与紧定螺丝锁紧,保证结构稳定,不会因日常振动或小幅冲击而松脱。
  • 异常状态: 超过安全阈值时自动释放,Wuji Hand 通过安全链悬挂,避免二次冲击或跌落隐患。
该触发机制经过工程优化,确保在日常小幅度震动或常规操作下不会误触发,只针对超过安全阈值的剧烈冲击有效。该机制主要覆盖大部分常见的冲击与易损场景,并不能完全避免所有极端情况下的潜在损伤。
抗冲击转接座组件名称
抗冲击转接座组件名称

安装与拆卸

安全警示:
  • 拆装过程中必须在断电状态下进行,禁止带电操作
  • 安装完成后,确认旋扣完全旋紧并已锁定紧定螺丝,方可启动机械臂

安装步骤

步骤 1: 将抗冲击转接座从包装中取出(图左),将四爪锁扣与沟槽法兰拉开(图右),取下紧定螺丝并逆时针旋开旋扣,分离上下两个部件。
抗冲击转接座
抗冲击转接座
步骤 2: 使用螺钉将沟槽法兰连接到用户设备上(如机械臂),沟槽法兰上提供了两种孔位尺寸,配套的螺钉尺寸分别为 M5×10、M6×10。使用尺寸为 M4×6 的螺钉将 Wuji Hand 与四爪锁扣连接。
沟槽法兰与四爪锁扣连接
沟槽法兰与四爪锁扣连接
步骤 3: 将旋扣插入四爪锁扣中,并顺时针旋紧(轻扯安全链,旋扣不会滑脱)。拧上紧定螺丝。将四爪锁扣对准沟槽法兰的定位槽,按下扣合即完成抗冲击转接座的安装。
旋扣旋紧与安装完成
旋扣旋紧与安装完成

注意事项

紧固检查

  • 使用推荐规格螺钉,严禁使用长度不足或规格不符的螺钉
  • 建议按对角线顺序逐一紧固,以保证法兰面贴合均匀
  • 若有条件,可根据螺钉规格配置推荐力矩扳手,确保拧紧力矩符合标准

维护与检修

  • 每次安装或拆卸后,应检查 安全链、旋扣 是否灵活、无磨损、挂点是否松动
  • 若在运行中触发抗冲击释放,应在重新安装前检查安装螺丝是否松动、旋扣锁定机构是否完好

Wuji SDK 数据类型

HandJointStates

20 关节实时状态(hand.joint_states().subscribe() 订阅帧)。手指顺序为 finger-major:{left,right}_finger{1..5}_joint{1..4}。

HandJointCommand

20 关节指令帧。seq 由客户端单调递增,便于接收方检测丢帧。

TactileGloveFrame

配对触觉手套的单帧压力数据,24×32 网格。

Wuji Hand SDK 订阅

Wuji Hand 数据订阅

Wuji Hand 产品文档已归档,订阅接口说明随本页维护。设备 USB 直连,Python 由 wuji_sdk.WujiHand 暴露,C 由 wuji_hand_* 系列函数暴露。

订阅关节状态

订阅 20 关节实时位置,可选含速度与力矩:
Python 的 hand.joint_states().subscribe() 返回 Subscription[HandJointStates]。C 侧同一数据由 WujiHandJointStates 承载,position / velocity / effort 三个数组各带一个长度字段。

发布关节指令(实时控制)

实时控制会话用低通滤波抑制高频抖动。会话内取 PUB 句柄,每次推送恰好 20 个关节指令(每项 position / velocity / effort),指令结构与 Wuji Hand 2 相同,控制代码可在 Wuji Hand 2 与 Wuji Hand 之间直接迁移:
持续控制时按固定频率(典型 100 Hz)循环下发指令。会话句柄支持随时读回实际状态:实际位置为 20 关节弧度值,实际力矩为 20 关节安培值,两者都从非阻塞缓存读取,不影响控制频率。会话句柄可以跨线程共享,不需要加锁,例如一个线程按固定频率下发目标,另一个线程读回实际位置。 C 侧的 publisher 与控制器句柄都需显式释放:wuji_hand_joint_command_publisher_close() 与 wuji_hand_realtime_controller_close() 对空指针安全,但漏调会泄漏资源。

电机力矩上限

把 20 个关节的力矩上限统一设为指定安培值,并读回长度 20 的数组:
  • 默认值 1.5 A,适用于大多数场景
  • 合法范围 0.0–3.5 A,超过 3.5 会被限制到 3.5
修改力矩上限会改变关节最大输出能力。固件还会根据关节温度自动降低实际生效的值。完整说明与风险提示见 Wuji Hand SDK 使用说明 — joint_effort_limit。

触觉感知手套同步数据

手与触觉感知手套同 USB 总线接入且手性匹配时,SDK 在连接过程中自动配对。检测配对状态并订阅压力帧:
C 侧另有三个触觉信息读取接口:wuji_hand_get_tactile_device_info(写入 WujiTactileGloveDeviceInfo)、wuji_hand_get_tactile_diagnostics(写入 WujiTactileGloveDiagnostics)与 wuji_hand_get_tactile_handedness(写入 uint8_t)。前两个函数返回 WUJI_STATUS_OK 时 out 持有堆字段,用完分别调用 wuji_tactile_glove_device_info_free 与 wuji_tactile_glove_diagnostics_free 释放,非 OK 状态下不要释放。手套不在位或故障时,这些调用返回错误状态,具体原因通过 wuji_last_error() 获取。
wuji_hand_get_handedness 与 wuji_hand_get_tactile_handedness 都返回原始 uint8_t,但编码彼此相反,不能混用。wuji_hand_get_handedness 是 0 = 右、1 = 左,与 WujiHandedness 枚举相反,直接套用枚举会把左右颠倒。wuji_hand_get_tactile_handedness 是 0 = 左、1 = 右,与枚举一致。