Skip to content

[Proposal] Add reusable mainstream gripper geometry presets to GraspKit #555

Description

@yuecideng

Proposal

Expand the built-in parallel-jaw gripper geometry catalog exposed by get_parallel_jaw_gripper_model() beyond the initial dh_pgi_140_80 preset.

Candidate families include Robotiq 2F-85 / 2F-140, Franka Hand, OnRobot RG2 / RG6, and Weiss WSG-50. The final list should follow actual task reuse and availability of authoritative geometry data.

Each preset should contain only grasp-planning geometry consumed by GraspKit, such as the model ID, opening limits, finger dimensions, and palm depth. URDF paths, downloadable assets, robot registration, and runtime-mutable plugin state should remain outside this catalog.

Motivation

Reusable model IDs keep task Gym configs concise and prevent the same physical dimensions from being copied, drifting, or being interpreted differently across Expert Program environments. Inline ParallelJawGripperModelCfg values remain useful for custom or calibrated hardware, while common production grippers should have reviewed toolkit-owned presets.

Additional context

Acceptance criteria for each added preset:

  • verify dimensions against manufacturer documentation or an authoritative, versioned model and record the source;
  • use metres and the existing GraspKit frame/field semantics consistently;
  • distinguish hardware or finger variants with stable model IDs when their planning geometry differs;
  • return a fresh independent ParallelJawGripperModelCfg from each lookup;
  • add focused value, validation, independence, and API documentation coverage;
  • avoid a public mutable global registration API unless a separate extensibility use case is established.

The initial dh_pgi_140_80 preset establishes the intended static-catalog pattern in embodichain/toolkits/graspkit/pose_generator.py.

Checklist

  • I have checked that there is no similar issue in the repo (required)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions