Wuji Hand

A high-DOF dexterous hand designed for contact-rich manipulation teleoperation and imitation learning data collection. 5 fingers x 4 joints, a 24x32 tactile pressure map, IMU, and EMF sensing -- rich state for training manipulation policies that generalize.

20
Degrees of Freedom
768
Tactile Taxels (24x32)
30 Hz
Default Stream Rate
~420 g
Hand Weight

Full Hardware Specs

VendorWuji Robotics
Total DOF20 (5 fingers x 4 joints each)
Actuation TypeTendon-driven, brushless DC motors
Tactile Pressure Map24 rows x 32 columns (768 taxels, float [0, 1])
Additional Sensors6-axis IMU, EMF per-finger channel
Payload (power grasp)~1.5 kg
Finger Tip Force~3 N per finger
Stroke (finger curl)~90 deg per joint
Weight~420 g (hand unit)
USB Vendor ID0x0483 (default)
InterfaceUSB HID / Serial
SDKwujihandpy (Python 3.8+)
Stream FormatJSONL (one JSON object per line, stdout)
Default Stream Hz30 Hz (configurable with --hz, max 100 Hz)
CommunicationUSB Serial / ROS2 topic bridge
IP RatingIP20 (indoor use)
Operating Temp0 - 40 C
Full Specs →

Dexterous Hand Comparison

Feature Wuji Hand Shadow Hand Allegro Hand Leap Hand
DOF20241616
Fingers5544
Tactile768 taxels (included)BioTac (add-on)None stockNone stock
IMU6-axis (included)OptionalNoNo
Stream Rate30-100 Hz1 kHz333 Hz~50 Hz
Weight~420 g~4.2 kg~1.1 kg~600 g
Approx. PriceContact for quote$100K+$15K+~$2K (DIY)
Best ForTeleop data collectionHigh-fidelity researchTorque-intensive tasksLow-cost experiments
Compare All Hardware →

Compatible Robot Arms

The Wuji Hand mounts to any arm with a standard flange adapter. Tested and supported on these platforms.

OpenArm 101

Primary integration partner. Bolt directly to the OpenArm wrist flange. Both devices register in the same Fearless Platform session for synchronized data capture.

Universal Robots UR5e

Wuji adapter plate available for UR tool flange. USB cable routes through the arm's cable management channel. Tested at SVRC Mountain View lab.

Kinova Gen3 / Gen3 Lite

Custom 3D-printed adapter connects to Kinova tool plate. JSONL stream runs alongside Kinova's ROS2 driver for joint-synchronized recording.

Built for Teleoperation & Policy Learning

The Wuji Hand provides a rich sensor state representation suitable for training manipulation policies that generalize across grasp types and object geometries.

Contact-Rich Manipulation

768-point tactile map plus 20 joint positions give a detailed state for tasks like peg insertion, deformable object manipulation, and in-hand regrasping.

Imitation Learning Data

JSONL frames captured at 30 Hz stream directly to the Fearless Platform episode browser. Export as JSONL for ACT, Diffusion Policy, or any custom pipeline.

Bilateral Teleoperation

Run two agent processes simultaneously -- one per hand -- connected to the same session for bimanual data collection at full resolution.

Works with OpenArm 101, DK1 Bimanual Kit, and other SVRC hardware.

Tactile Sensing Integration

The Wuji Hand's 768-taxel pressure map (24x32 grid) provides spatial contact information that goes far beyond binary contact detection.

Slip Detection

Monitor pressure distribution changes in real-time. When contact centroid shifts, the policy can tighten the grasp before the object slips.

Object Shape Estimation

The 768-point pressure map creates a contact silhouette of the grasped object. Useful for category-level grasping policies that adapt to unseen geometries.

Paxini Sensor Upgrade

For research requiring 6-axis F/T resolution, mount Paxini GEN3 sensors on individual fingertips alongside the built-in tactile map.

ROS2 & Python SDK

Python SDK -- JSONL Streaming

# pip install wujihandpy numpy from wujihandpy import WujiHand hand = WujiHand.connect() # auto-detect USB VID 0x0483 # Stream joint + tactile data at 30 Hz for frame in hand.stream(hz=30): joints = frame["joint_positions"] # 20 floats tactile = frame["tactile"] # 768 floats (24x32) imu = frame["imu"] # 6 floats (acc + gyro) emf = frame["emf"] # 5 floats per finger print(f"Joints: {joints[:5]}...")

ROS2 Node (Humble / Iron)

# Published topics: # /wuji/joint_states sensor_msgs/JointState (20 joints) # /wuji/tactile std_msgs/Float32MultiArray (768 values) # /wuji/imu sensor_msgs/Imu ros2 launch wuji_hand_ros2 driver.launch.py hz:=30

Collecting Dexterous Manipulation Data

The Wuji Hand is purpose-built for recording high-dimensional teleoperation demonstrations. Here is the typical workflow.

1. Mount & Calibrate

Attach Wuji Hand to your robot arm. Run the calibration script to map operator hand to robot hand kinematics. Takes ~10 minutes per operator.

2. Record Episodes

Use the browser-based GloveWorkbench or wuji_glove_agent to record demonstrations. Each frame captures 20 joints + 768 tactile + IMU + camera at 30 Hz.

3. Train Policies

Export episodes as JSONL. Load directly into ACT, Diffusion Policy, or any imitation learning pipeline. The SVRC data platform handles format conversion.

Research Applications

Dexterous Grasping Policies

Train diffusion policies or RL agents with 20 joint + 768 tactile observations. The high-dimensional state enables generalization across object categories.

Tactile-Conditioned Manipulation

Use the 24x32 pressure map as a visual input to CNN-based policies. Treat tactile frames as grayscale images for transfer learning from vision models.

Sim-to-Real Transfer

Wuji Hand URDF models are available for MuJoCo and Isaac Sim. Train in simulation with domain randomization, then deploy on real hardware.

Community

Have a question or want to share your teleoperation setup?

SVRC Forum → FAQ →

Pricing & Availability

Purchase
Custom Quote
Request Quote
Monthly Lease
Available
Lease Options

Ships worldwide from Mountain View, CA. Pricing depends on configuration, quantity, and integration requirements. Talk to our team.

Ready to Start Collecting?

High-DOF teleoperation data at 30 Hz. Works with OpenArm, DK1, and other SVRC hardware.