跳转到主要内容
To connect a ROS 2 application, complete device safety preparation and physical connections, then follow ROS 2 Integration. For direct SDK use, continue with this page. The integration page provides the ROS 2 environment and installation requirements.
This page splits into three sections by what’s on hand: simulation check needs no device, real-device run covers the full path from unboxing to a first motion, and cross-product teleoperation brings in Wuji Glove. Each section stands on its own. This page covers 2.1 devices. For 2.2, see the Wuji Hand 2.2 quick start.

Before You Start

You need Ubuntu 22.04 or later and Python 3.10 or later. Read the User Notice before you work with hardware.

Simulation Check

This section needs Git, Python, and MuJoCo. No device required. The 2.1 model assets live under hand2/hand2_1/, alongside the hand2/hand2_2/ assets for 2.2. The two ROS 2 packages have different names, so both install into one workspace.
Once the window opens, confirm the model is complete with no missing meshes and that it has 20 joints. The left-hand model is hand2/hand2_1/body/mjcf/left.xml. Both models include the arm flange mount. For URDF preview, ROS 2 and Isaac Sim loading, and palm mounting interface STEP files and drawings, see Hardware and Software Integration.
2.1 provides rigid-body models that include the soft-pad geometry. Deformable-body simulation isn’t supported yet.
Done when: the model renders correctly with all 20 revolute joints. A model that loads confirms the assets and the visualization path work. Firmware, networking, and real-device control need a device to verify, so continue with the next section.

Real-Device Run

This section needs one Wuji Hand 2.1, the supplied power supply and cables, and an Ubuntu host.

Step 1: Unboxing Check

Check everything in the box against the package contents.

Step 2: Install the Software

For installation details and environment requirements, see the Wuji SDK quick start. For a first run, also install Wuji CLI to scan and connect devices, read and write parameters, and check device health from a terminal.

Step 3: Connect the Cables and Power On

  1. Connect the device network port to your computer’s network port with the supplied RJ45 cable.
  2. Connect the device to the power adapter with the supplied XT30 extension cable: connect the device end first, then plug in the adapter.
  3. After power-up, watch the back-of-hand status light: blue breathing (power-up and self-check) → white breathing (ready).
2.1 supports 12 V DC only. Connect exactly 12 V, because other voltage ranges aren’t compatible. Use a supply rated at 200 W or higher, which the bundled adapter meets. See Electrical and Power in Usage Constraints.
For interface locations, see Product Introduction. If the light hasn’t turned to white breathing after 30 seconds, see Troubleshooting.

Step 4: Configure the Host Network Adapter

The device uses a static IP and doesn’t support DHCP. Factory default addresses: Set your computer’s network adapter to a static IP on the same subnet (such as 192.168.1.50), with subnet mask 255.255.255.0. Then verify connectivity:

Step 5: Confirm the Device Is Online

wuji devices lists the devices on the same subnet, and wuji ping returns device type, serial number, firmware version, and IP. When the list comes back empty, check power, the network cable, and the adapter configuration, then run it again. With several devices on one subnet, pass --sn to target one and avoid connecting to the wrong device.

Step 6: Connect the Device

With several devices on the subnet, use manager.connect(sn="<serial number>") instead. For other ways to connect, see Device Connection in the Wuji SDK.

Step 7: Check the State

Confirm that all 20 joints are online with no active error codes:
When fewer than 20 joints are online, or an error code is active, work through Troubleshooting before you continue.

Step 8: Enable the Joints

Enabled joints carry torque. Before enabling, make sure the finger workspace is clear and nobody is touching the hand.

Step 9: Run Your First Safe Motion

Return smoothly from the current pose to zero. The example first reads every joint’s current position, then uses 1.5 seconds of linear interpolation to reduce the target positions gradually instead of sending a zero-position step:
Expected behavior: all joints return smoothly from the current pose to zero without snapping back or colliding. For unit conventions, MIT control mode, and parameter safety limits, see the Control Guide. To see the motion directly, run wuji viz and watch a 3D hand model follow the joint states in your browser. 2.1 has no fingertip tactile sensors, so the Viewer shows the hand model only. For the full command, see Live Visualization.

Step 10: Stop and Power Down

Power-down order: confirm the device is at rest → disconnect power → unplug the cables. In an emergency, call hand.emergency_stop() at any time. The whole hand stops immediately and the call takes no mask.

Step 11: Confirm the Firmware Version

The 2.1 firmware stays on v1.2.4 and receives no further updates. The SDK upgrades to the latest version, and the capabilities that depend on 2.2 hardware stay unavailable on 2.1. For the version pairing and the list of differences, see Version Identification and Differences. Done when: all 20 joints are online with no active error codes, and one smooth return to zero completes.

Cross-Product Teleoperation

This section needs one Wuji Hand 2.1 that has finished the real-device run, plus one calibrated Wuji Glove that streams data. Both devices sit on the same subnet and share the same handedness. Once the glove is on, it streams hand keypoints continuously. Retargeting converts them into 20 joint angles and sends them to the hand, which follows the finger motion in real time.

Confirm Both Devices Are Online

The list should show both wuji_hand_2 and wuji_glove. Check the serial numbers, firmware versions, and handedness. With other devices of the same type on the subnet, note the target serial number for the next step.

Run the Teleoperation Example

The full retargeting and teleoperation implementation lives in the Wuji SDK repository examples and updates together with the interface:
The example lists the SDK users first. On a first run, press Enter to keep the default user. For how the choice affects the hand model, see Choose the SDK user for teleop. The example runs against a right-hand assembly by default. For a left-hand assembly, change the SIDE constant at the top of the script. The example scans and connects to the device it finds. With several hands on the subnet, confirm the target device first so you don’t drive one someone else is using.

Complete a Cross-Product Motion

  1. Clear the hand’s workspace and confirm nobody is touching it.
  2. Put the glove on with fingers relaxed and slightly curled.
  3. Run the example, starting with slow, small motions.
  4. Watch whether motion stays continuous, directions match, and no error code fires.
  5. Press Ctrl+C to stop. On exit, the example disables the hand and disconnects.
Stop right away on an abnormal pose, a communication break, or an error code, then work through Troubleshooting. For retargeting parameters, input format, and frame conventions, see hand retargeting in the Wuji SDK. Done when: glove data keeps updating and the hand follows the finger motion under control.