Skip to content

This is the official repo for the open-source implementation of the BimanGrasp-Algorithm for synthesizing bimanual grasps on 3D objects of the RA-L and ICRA 25' Paper "Bimanual Grasp Synthesis for Dexterous Robot Hands"

License

Notifications You must be signed in to change notification settings

Tsunami-kun/BimanGrasp-Generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BimanGrasp-Generation

This is the official repository for the open-source implementation of the BimanGrasp Algorithm for synthesizing bimanual grasps on 3D objects of our RA-L and ICRA 2025 paper:

Bimanual Grasp Synthesis for Dexterous Robot Hands

Yanming Shao · Chenxi Xiao*

RA-L | presented at ICRA 25'

Paper PDF

BimanGrasp Generation

BimanGrasp is a differentiable optimization framework for generating stable bimanual dexterous grasps on diverse objects. The system leverages force closure estimation and SDF computing to produce physics-plausible bimanual grasps.


Installation

Option 1: Automatic Installation (Recommended)

The easiest way for installation is to run the shell script:

bash install.sh

This will create a conda env named bimangrasp, installing PyTorch 2.1.0 with CUDA 11.8 support, PyTorch3D (v0.7.8), and third-party dependencies (TorchSDF and pytorch_kinematics).

Option 2: Manual Installation

You can install everything step by step.

  1. Create and activate Conda environment

    conda create -n bimangrasp python=3.8 -y
    conda activate bimangrasp
  2. Install PyTorch (CUDA 11.8 support)

    conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia
  3. Install PyTorch3D

    pip install https://github.com/facebookresearch/pytorch3d/archive/refs/tags/V0.7.8.tar.gz
  4. Install other dependencies

    conda install -c conda-forge transforms3d trimesh plotly rtree -y
    pip install urdf_parser_py scipy networkx tensorboard six
  5. Build and install TorchSDF

    cd thirdparty/TorchSDF
    bash install.sh
    cd ../..
  6. Install pytorch_kinematics

    cd thirdparty/pytorch_kinematics
    pip install -e .
    cd ../..

Usage

# Generate bimanual grasps
python main.py

# Visualize results
python visualization.py --object_code <object_name> --num <grasp_index>

While BimanGrasp-Generation is able to work with any 3D object mesh, this repository contains a mini demo on 5 randomly sample objects. To prepare your own objects, you could follow the asset processing script and instructions by DexGraspNet: https://github.com/PKU-EPIC/DexGraspNet/tree/main/asset_process

Demo Visualization

This demo visualizations on the 5 objects are tested on an A40 GPU without cherry picking.

To-Do

  • Release validation code for both simulation and real-world validation.

Acknowledgments

We would like to express our gratitude to the authors of the following repository, from which we referenced code:

Dataset Repo

Our released BimanGrasp-Dataset is in this repo: [BimanGrasp-Dataset].

License

The Project is under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (LICENSE.md).

Citation

If you find this code useful, please consider citing:

@article{shao2024bimanual,
  title={Bimanual grasp synthesis for dexterous robot hands},
  author={Shao, Yanming and Xiao, Chenxi},
  journal={IEEE Robotics and Automation Letters},
  year={2024},
  publisher={IEEE}
}

About

This is the official repo for the open-source implementation of the BimanGrasp-Algorithm for synthesizing bimanual grasps on 3D objects of the RA-L and ICRA 25' Paper "Bimanual Grasp Synthesis for Dexterous Robot Hands"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published