Implementation:Haosulab ManiSkill FixedInspireHand
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Dexterous_Manipulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating the Fixed (non-floating) Inspire Hand dexterous robot hand in ManiSkill environments.
Description
The FixedInspireHand defines two classes -- FixedInspireHandRight (uid: fixed_inspire_hand_right) and FixedInspireHandLeft (uid: fixed_inspire_hand_left). Each inherits from the corresponding FloatingInspireHand variant but removes the floating base joints. The fixed version has 14 total DOF: 2 wrist joints (pitch, yaw), 6 actively controlled finger joints (thumb CMC yaw/pitch, index/middle/ring/pinky MCP), and 6 passive mimic joints (thumb MCP/IP, index/middle/ring/pinky PIP). The passive joints use very low damping (0.001) required for correct PhysX simulation. Controller configs define wrist and finger controllers separately with position and delta-position modes.
uid: fixed_inspire_hand_right / fixed_inspire_hand_left
URDF path: {PACKAGE_ASSET_DIR}/robots/inspire_hand/RH56DFX-2LR/urdf/inspire_hand_right.urdf (right) / inspire_hand_left.urdf (left)
Supported control modes: pd_joint_pos, pd_joint_delta_pos
Usage
Use FixedInspireHand for dexterous manipulation tasks where the hand is mounted on a fixed base (e.g., attached to an arm). Suitable for in-hand manipulation benchmarks where the wrist and finger motions are the primary control targets. The fixed base removes the need to control the hand's global pose.
Code Reference
Source Location
Signature
@register_agent()
class FixedInspireHandRight(FloatingInspireHandRight):
uid = "fixed_inspire_hand_right"
urdf_path = f"{PACKAGE_ASSET_DIR}/robots/inspire_hand/RH56DFX-2LR/urdf/inspire_hand_right.urdf"
keyframes = dict(palm_side=Keyframe(...), palm_up=Keyframe(...))
@register_agent()
class FixedInspireHandLeft(FloatingInspireHandLeft):
uid = "fixed_inspire_hand_left"
urdf_path = f"{PACKAGE_ASSET_DIR}/robots/inspire_hand/RH56DFX-2LR/urdf/inspire_hand_left.urdf"
Import
from mani_skill.agents.robots.inspire_hand.fixed_inspire_hand import FixedInspireHandRight, FixedInspireHandLeft
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | FixedInspireHandRight / FixedInspireHandLeft | Configured fixed dexterous hand with wrist, finger, and passive controllers |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("RotateSingleObjectInHand-v1", robot_uids="fixed_inspire_hand_right")
obs, info = env.reset()