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:
Yanming Shao · Chenxi Xiao*
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.
The easiest way for installation is to run the shell script:
bash install.shThis 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).
You can install everything step by step.
-
Create and activate Conda environment
conda create -n bimangrasp python=3.8 -y conda activate bimangrasp
-
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
-
Install PyTorch3D
pip install https://github.com/facebookresearch/pytorch3d/archive/refs/tags/V0.7.8.tar.gz
-
Install other dependencies
conda install -c conda-forge transforms3d trimesh plotly rtree -y pip install urdf_parser_py scipy networkx tensorboard six
-
Build and install TorchSDF
cd thirdparty/TorchSDF bash install.sh cd ../..
-
Install pytorch_kinematics
cd thirdparty/pytorch_kinematics pip install -e . cd ../..
# 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
This demo visualizations on the 5 objects are tested on an A40 GPU without cherry picking.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Release validation code for both simulation and real-world validation.
We would like to express our gratitude to the authors of the following repository, from which we referenced code:
Our released BimanGrasp-Dataset is in this repo: [BimanGrasp-Dataset].
The Project is under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (LICENSE.md).
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}
}


















