Skip to content

maheshreddy24/DG16M-dataset

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DG16M: A Large-Scale Dataset for Dual-Arm Grasping with Force-Optimized Grasps

Md Faizal Karim1, Mohammed Saad Hashmi1, Shreya Bollimuntha1, Mahesh Reddy Tapeti1, Gaurav Singh1, Nagamanikandan Govindan2, K Madhava Krishna1

1 Robotics Research Center, IIIT Hyderabad
2 IIITDM Kancheepuram

Download the Dataset

Download the dataset from [Link].

>> unzip -l dg16m.zip

├── dg16m/
│   ├── dg16m/grasps 
│       │── dg16m/grasps/554fa306799d623af7248d9dbed7a7b8.h5
│       │── dg16m/grasps/c2ad96f56ec726d270a43c2d978e502e.h5
│       │── .....
│       │── dg16m/grasps/c8440e1075b1b44522de187cba227ff8.h5
└── ├── dg16m/meshes
        │── dg16m/meshes/554fa306799d623af7248d9dbed7a7b8.obj
        │── dg16m/meshes/c2ad96f56ec726d270a43c2d978e502e.obj
        │── .....
        │── dg16m/meshes/c8440e1075b1b44522de187cba227ff8.obj                  

About the Dataset

./de731d4ac7341e15c58e834f0b160845.h5
├── grasps
│   ├── contact_forces                  (4000, 4, 3)
│   ├── contact_points                  (4000, 4, 3)
│   ├── fc_passing_indices              (2000)
│   ├── fc_failed_indices               (2000)
│   ├── grasps                          (4000, 2, 4, 4)
│   └── loss_values                     (4000)
└── object/
    ├── file                            (str)
    └── scale                           (float)

Note: Some objects may have passing/failing grasps < 2000. Use the fc_passing_indices and fc_failed_indices to sort the grasps.

Installation

pip install -r requirements.txt

cd grasp_generation/meshpy
pip install -e . 

Dataset Generation

We first sample 500 single arm antipodal grasps and create all possible cominations to create dual-arm grasp candidates (along with distance pruning to remove extremely close pairs). They are then passed through the optimizer to find the force-closure valid dual-arm grasp pairs. Finally, we save 2000 valid and 2000 invalid grasp pairs in the dataset. These numbers can be changed in the code for further experimentation.

cd grasp_generation/scripts

python3 generate_dg16m.py --meshes_path <PATH_TO_MESHES> --scaled_meshes <SAVE_PATH> --num_workers 16

Note: Change the number of CPU workers based on the system. The workers are used to parallelize the grasp generation and then run the CVXPY optimization in parallel using multiprocessing.

Visualize

Use viz_grasps.ipynb to vizualize the grasps.

👏 Acknowledgment

Our codebase in built upon the existing works of DA2 Dataset and PhyGrasp. We thank the authors for releasing the code.

📜 Cite

@article{DG16M,
      title={DG16M: A Large-Scale Dataset for Dual-Arm Grasping with Force-Optimized Grasps}, 
      author={Md Faizal Karim and Mohammed Saad Hashmi and Shreya Bollimuntha and Mahesh Reddy Tapeti and Gaurav Singh and Nagamanikandan Govindan and K Madhava Krishna},
      year={2025},
      eprint={2503.08358},
      url={https://arxiv.org/abs/2503.08358}, 
}

About

Codebase for DG16M: A Large-Scale Dataset for Dual-Arm Grasping with Force-Optimized Grasps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 51.0%
  • Jupyter Notebook 48.9%
  • Other 0.1%