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:ARISE Initiative Robosuite InspireHands

From Leeroopedia
Knowledge Sources
Domains Robotics, Simulation, MJCF_Modeling
Last Updated 2026-02-15 07:00 GMT

Overview

InspireHands defines the dexterous Inspire left and right hand gripper models for the GR1 humanoid robot in robosuite.

Description

This module provides two classes, InspireLeftHand and InspireRightHand, both extending GripperModel. These represent the Inspire series five-fingered dexterous hands designed for the GR1 humanoid robot, each with 6 degrees of freedom in control space that map to 12 physical joints through the format_action method.

The format_action method implements a joint coupling scheme where a 6-dimensional action vector is expanded to 12 joint values using the index mapping [0,0,1,1,2,2,3,3,4,4,4,5]. This differs from the Fourier hands in that the thumb has 3 coupled joints (index 4 is repeated three times) rather than 2, resulting in 12 total joints instead of 11. This coupling replaces MuJoCo equality constraints, which were found to introduce finger movement lag.

Both hands share identical control properties: a grasp speed of 0.15, initial joint positions of all zeros (12 joints), and grasp configurations mapping -1 (open) and 1 (close) to specific 6-element joint angle arrays. The left hand uses collision geometry names prefixed with l_ while the right hand uses r_, each covering thumb (4 geometries: proximal, proximal_2, middle, distal), index, middle, ring, and pinky fingers with proximal and distal collision geometries.

Usage

Use InspireLeftHand or InspireRightHand when configuring a GR1 humanoid robot with Inspire-series dexterous hands. These grippers are typically assigned through the robot model configuration and support full five-finger grasping tasks requiring dexterous manipulation.

Code Reference

Source Location

Signature

class InspireLeftHand(GripperModel):
    def __init__(self, idn=0):

class InspireRightHand(GripperModel):
    def __init__(self, idn=0):

Import

from robosuite.models.grippers.inspire_hands import InspireLeftHand, InspireRightHand

I/O Contract

Inputs

Name Type Required Description
idn int or str No Unique identification number or string for this gripper instance. Default: 0

Outputs

Name Type Description
InspireLeftHand / InspireRightHand instance GripperModel Dexterous hand model with 6 DOF control and 12 physical joints
init_qpos np.array Array of 12 zeros representing the default open position
dof int Returns 6 (control degrees of freedom)
speed float Returns 0.15 (grasp speed)
grasp_qpos dict Maps -1 (open) and 1 (close) to 6-element joint angle arrays

Usage Examples

from robosuite.models.grippers.inspire_hands import InspireLeftHand, InspireRightHand
import numpy as np

# Create left and right Inspire hand instances
left_hand = InspireLeftHand(idn=0)
right_hand = InspireRightHand(idn=0)

# Format a 6-DOF action to 12 joint commands
action = np.array([0.5, -0.3, 0.2, 0.1, -0.5, 0.8])
joint_commands = left_hand.format_action(action)
# joint_commands has shape (12,) due to joint coupling

# Access initial joint positions
init_pos = left_hand.init_qpos  # 12 zeros
print(f"DOF: {left_hand.dof}")  # 6
print(f"Speed: {left_hand.speed}")  # 0.15

Related Pages

Page Connections

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