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 FloatingAbilityHand

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

Overview

Concrete tool for simulating the Floating Ability Hand (right variant) dexterous robot hand in ManiSkill environments.

Description

The FloatingAbilityHandRight is a 5-finger dexterous hand on a 6-DOF floating base. It features 16 total DOF: 6 root joints (XYZ position + RPY rotation), 4 active finger joints (index_q1, middle_q1, ring_q1, pinky_q1) plus 4 mimic joints (index_q2 through pinky_q2 following their respective q1 joints with multiplier=1.05851325 and offset=0.72349796), and 2 independent thumb joints (thumb_q1, thumb_q2). The hand has high-friction fingertip materials (static=2.0, dynamic=1.5) on all 5 distal finger links. Hand stiffness is 1e3, damping 1e2, force limit 50. After initialization, front finger links and fingertip links are stored for easy access.

uid: floating_ability_hand_right

URDF path: {PACKAGE_ASSET_DIR}/robots/ability_hand/ability_hand_right_floating.urdf

Supported control modes: pd_joint_pos

Usage

Use FloatingAbilityHand for dexterous in-hand manipulation tasks requiring a biologically-inspired 5-finger hand with a floating base. The mimic coupling between finger joints provides underactuated control that mimics real hand tendon mechanics. Suitable for grasping and in-hand manipulation research.

Code Reference

Source Location

Signature

@register_agent()
class FloatingAbilityHandRight(BaseAgent):
    uid = "floating_ability_hand_right"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/ability_hand/ability_hand_right_floating.urdf"
    root_joint_names = ["root_x_axis_joint", ..., "root_z_rot_joint"]
    hand_joint_names = ["index_q1", "middle_q1", "ring_q1", "pinky_q1", ...]
    thumb_joint_names = ["thumb_q1", "thumb_q2"]
    hand_stiffness = 1e3
    hand_damping = 1e2
    hand_force_limit = 50
    keyframes = dict(rest=Keyframe(qpos=np.zeros(16), pose=sapien.Pose(p=[0, 0, 0])))

Import

from mani_skill.agents.robots.floating_ability_hand.floating_ability_hand import FloatingAbilityHandRight

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent FloatingAbilityHandRight Configured floating dexterous hand with root, mimic hand, and thumb controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("RotateSingleObjectInHand-v1", robot_uids="floating_ability_hand_right")
obs, info = env.reset()

Related Pages

Page Connections

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