Implementation:Haosulab ManiSkill DClaw
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Dexterous_Manipulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating the D'Claw 3-finger robot gripper in ManiSkill environments.
Description
The DClaw is a 9-DOF tri-finger robot with 3 fingers, each having 3 joints (base, middle, tip). Joint names follow the pattern joint_f{finger}_{segment} (e.g., joint_f1_0, joint_f1_1, joint_f1_2). The tip links (link_f1_head, link_f2_head, link_f3_head) use high-friction materials (static=2.0, dynamic=1.0). Joint stiffness is 1e2, damping 1e1, and force limit 2e1. The robot provides proprioceptive observations including tip poses for all three fingertips. Root joints identify the base rotation joints for each finger.
uid: dclaw
URDF path: {PACKAGE_ASSET_DIR}/robots/dclaw/dclaw_gripper_glb.urdf
Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_joint_target_delta_pos
Usage
Use DClaw for dexterous manipulation tasks involving object rotation and reorientation using three fingers. The tri-finger design is particularly suited for valve turning and object spinning tasks. Compact and efficient for in-hand manipulation research.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/dclaw/dclaw.py
Signature
@register_agent()
class DClaw(BaseAgent):
uid = "dclaw"
urdf_path = f"{PACKAGE_ASSET_DIR}/robots/dclaw/dclaw_gripper_glb.urdf"
joint_names = ["joint_f1_0", "joint_f2_0", "joint_f3_0",
"joint_f1_1", "joint_f2_1", "joint_f3_1",
"joint_f1_2", "joint_f2_2", "joint_f3_2"]
joint_stiffness = 1e2
joint_damping = 1e1
joint_force_limit = 2e1
tip_link_names = ["link_f1_head", "link_f2_head", "link_f3_head"]
keyframes = dict(rest=Keyframe(pose=sapien.Pose(p=[0, 0, 0.5], q=[0, 0, -1, 0]), qpos=np.zeros(9)))
Import
from mani_skill.agents.robots.dclaw.dclaw import DClaw
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | DClaw | Configured 9-DOF tri-finger robot with PD joint controllers and tip pose feedback |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("RotateValveLevel0-v1", robot_uids="dclaw")
obs, info = env.reset()