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 XArm7Ability

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

Overview

Concrete tool for simulating the UFactory xArm7 arm with Ability Hand in ManiSkill environments.

Description

The XArm7Ability combines a 7-DOF xArm7 arm with a 10-DOF Ability Hand (right variant). The arm has 7 joints (joint1 through joint7) with stiffness=1e3, damping=1e2, force_limit=500. The hand has 10 joints: 5 proximal (thumb_q1, index_q1, middle_q1, ring_q1, pinky_q1) and 5 distal (thumb_q2 through pinky_q2) with stiffness=1e3, damping=1e2, force_limit=50. Total DOF is 17. Fingertip link materials use high friction (static=2.0, dynamic=1.5). The end-effector link is base (the hand base). Supports EE pose control for the arm and target delta position control for the hand. Provides access to front finger links, fingertip links, and TCP.

uid: xarm7_ability

URDF path: {PACKAGE_ASSET_DIR}/robots/xarm7/xarm7_ability_right_hand.urdf

Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_ee_delta_pose, pd_ee_target_delta_pose

Usage

Use XArm7Ability for manipulation tasks requiring both long-reach arm positioning and dexterous finger-level manipulation. The combination of a 7-DOF arm with a 10-DOF hand enables complex grasping and in-hand manipulation workflows.

Code Reference

Source Location

Signature

@register_agent()
class XArm7Ability(BaseAgent):
    uid = "xarm7_ability"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/xarm7/xarm7_ability_right_hand.urdf"
    arm_joint_names = ["joint1", ..., "joint7"]
    hand_joint_names = ["thumb_q1", "index_q1", ..., "pinky_q2"]  # 10 joints
    arm_stiffness = 1e3
    arm_damping = 1e2
    arm_force_limit = 500
    hand_stiffness = 1e3
    hand_damping = 1e2
    hand_force_limit = 50
    ee_link_name = "base"
    keyframes = dict(rest=Keyframe(qpos=np.array([0, -0.4, 0, 0.5, 0, 0.9, -3.0, 0, ...]), ...))

Import

from mani_skill.agents.robots.xarm.xarm7_ability import XArm7Ability

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent XArm7Ability Configured 17-DOF arm+hand robot with arm and dexterous hand controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("PickCube-v1", robot_uids="xarm7_ability")
obs, info = env.reset()

Related Pages

Page Connections

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