Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Haosulab ManiSkill FixedInspireHand

From Leeroopedia
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()

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment