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 AllegroHandTouch

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

Overview

Concrete tool for simulating the Allegro Hand with Force-Sensitive Resistor (FSR) touch sensing in ManiSkill environments.

Description

The AllegroHandRightTouch extends AllegroHandRight with tactile sensing capabilities via FSR (Force-Sensitive Resistor) links. It adds 12 finger FSR links (3 per finger for thumb, index, middle, ring) and 4 palm FSR links, totaling 16 contact-sensing regions. The class provides methods for querying contact impulses both in GPU-accelerated and CPU modes: get_fsr_obj_impulse for pairwise contact with a specific object and get_fsr_impulse for total body contact impulses. Touch feedback (FSR impulse norms) is included in the proprioceptive observations. Uses a modified URDF with FSR link definitions.

uid: allegro_hand_right_touch

URDF path: {PACKAGE_ASSET_DIR}/robots/allegro/variation/allegro_hand_right_fsr_simple.urdf

Supported control modes: (inherited from AllegroHandRight) pd_joint_delta_pos, pd_joint_pos, pd_joint_target_delta_pos

Usage

Use AllegroHandRightTouch for dexterous manipulation tasks that benefit from tactile feedback, such as delicate object manipulation, slip detection, and contact-rich in-hand manipulation. The FSR impulse data enables policies that react to touch forces on each finger segment and the palm.

Code Reference

Source Location

Signature

@register_agent()
class AllegroHandRightTouch(AllegroHandRight):
    uid = "allegro_hand_right_touch"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/allegro/variation/allegro_hand_right_fsr_simple.urdf"
    finger_fsr_link_names = ["link_14.0_fsr", "link_15.0_fsr", ...]  # 12 finger FSR links
    palm_fsr_link_names = ["link_base_fsr", "link_0.0_fsr", ...]  # 4 palm FSR links

Import

from mani_skill.agents.robots.allegro_hand.allegro_touch import AllegroHandRightTouch

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent AllegroHandRightTouch Configured 16-DOF hand with tactile FSR sensing on 16 contact regions

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

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

Related Pages

Page Connections

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