This page explains how to control Wuji Hand 2.1 correctly and safely: unit conventions, MIT control mode, the joint table, parameter safety limits, and a safe control loop. For interface definitions and the full API, see SDK Reference.
Units and Symbols
For positive direction and the origin, see Origin and Motion Direction.
MIT Control Mode
The device runs in MIT force-position hybrid control by default, and the control mode isn’t switched from the Python API:q_d/dq_d/τ_ffcome from theposition/velocity/effortfields ofjoint_command, with exactly 20JointCommandentries per publish- Read and write
Kp/Kdthroughmit_params, and the torque cap througheffort_limit
Joint Table
Numbering: thumb 0–3, index 4–7, middle 8–11, ring 12–15, and pinky 16–19. SDK labels follow{finger}_S{1..4}.
For each joint’s motion direction and angle range, see Product Introduction. The naming convention was fixed in the 2.1 revision and later revisions stay compatible.
Origin and Motion Direction
The motion ranges match the joint limits in the model files (URDF / MJCF / USD) and are mirrored between the left and right hands. Model joints and links are named with an{l,r}_ prefix plus the finger name, and the root link is the arm flange mount {l,r}_mount. See Coordinate Frames and Models.
set_origin and clear_origin calibrate the current physical position as the user origin. While a joint moves, the change is deferred to the next IDLE. For the procedure, see Calibration and Configuration.
Control Rate and Command Rate
joint_states and joint_diagnostics share one device stream, so lowering the push rate of either lowers the other. For subscription modes and output-rate control, see SDK Reference.
Parameter Safety Limits
Writes toeffort_limit and mit_params are validated: NaN, Inf, and negative values are rejected, and effort_limit also rejects values above the device ceiling. A rejected write raises an error and leaves the value in effect unchanged. The ceiling comes from the firmware, so read it back from the device for the exact number.
Safe Control Loop
- Connect the device and confirm all 20 joints are online with no active error codes.
- Clear the workspace and confirm nobody is touching the hand.
- Enable the joints and wait until all reach the Enabled state.
- Interpolate from the current pose to the target pose instead of sending a step.
- Keep
joint_diagnosticssubscribed during the loop, and stop as soon as an error code goes active. - Disable and disconnect when you finish.