Welcome to the GraspDataGen documentation! This project is designed to create collision-free, geometrically plausible grasps for triangle mesh objects and USD grippers, then validate them through physics simulation.
GraspDataGen is a standalone data generation tool but it can also be used to generate data for training new GraspGen models. It consists of three main components:
- Gripper Definition - Reads USD gripper files and extracts parameters needed for grasp generation
- Grasp Guess Generation - Creates geometrically plausible grasps for objects
- Grasp Verification with Simulation - Tests grasp validity using PhysX simulation
The components are meant to be used individually or as building blocks to a complete grasp generation pipeline. The following are some examples and workflows that can be built with the components:
- Complete Data Generation Pipeline - Generate and verify grasps for a list of objects and scales
- Generate Data for Grasp Gen - Generate grasp data specifically for Grasp Gen
- Gripper Setup - Create a gripper definition and check it visually
- Running the Gripper Definition Component - Visually verify your gripper will work with the simulation
- Single Object Grasp Guess Generation - Create collision-free grasps for a single object
- Verify Grasps with Simulation - Verify user defined grasps with simulation
GraspDataGen has default parameters for all its components, and all of those defaults can be overridden with command line arguments or grouped together with gripper configurations. It's worth understanding GraspDataGen's parameter and configuration system.
For detailed installation instructions, see the Installation Guide. The guide covers Docker installation (recommended), integration with existing IsaacLab installations, and troubleshooting.
- Installation Guide - Complete installation instructions for all environments
- Parameters and Overrides - How configurations, parameters and overrides work
- Gripper Definition - Creating and configuring gripper models
- Grasp Guess Generation - Generating geometrically plausible grasps
- Grasp Simulation - Physics-based grasp validation
- Complete Data Generation Pipeline - Generate and verify grasps for a list of objects and scales
- Generate Data for Grasp Gen - Generate grasp data specifically for Grasp Gen
- Tools Overview - Overview of available utility tools
- Compare Tools - Tools for comparing grasp simulations and gripper configurations
- Utility Tools - General utility scripts for data processing
- Gripper Setup - Create a gripper definition and check it visually
- Running the Gripper Definition Component - Visually verify your gripper will work with the simulation
- Single Object Grasp Guess Generation - Create collision-free grasps for a single object
- Verify Grasps with Simulation - Verify user-defined grasps with simulation
The system is designed to be modular, with each component able to run independently or as part of a larger pipeline:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Gripper │ │ Grasp Guess │ │ Grasp Sim │
│ Definition │───▶│ Generation │───▶│ Validation │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
USD Gripper File Grasp Guess Data Validated Grasps