Optimization based compliant grasp synthesis using only single depth image.
pip install -r requirements.txt
cd thirdparty
cd differentiable-robot-model
pip install -e .
cd TorchSDF
bash install.sh
mkdir curobo_ws
Download and unzip customized curobo inside curobo_ws
Follow install instruction of each package in their README.md
.
root directory
├── assets
│ └── // folders for real scanned object
├── data
│ └── // folders for data after optimization
├── gpis_states
│ └── // state data for restoring and visualizing gaussian process implicit surface
├── thirdparty
│ ├── // dependent third-party package
| └── TorchSDF
| └── // Compute SDF of mesh in pytorch
| └── differentiable-robot-model
| └── // Differentiable forward kinematics model
├── [curobo_ws] // customized curobo motion planner
│ ├── curobo
| └── nvblox
| └── nvblox_torch
├── gpis
| ├── 3dplot.py // Visualizing GPIS intersection and its uncertainty
| └── gpis.py // Definition for Gaussian process implicit surface
├── spring_grasp_planner // Core implementation
| ├── initial_guesses.py // Initial wrist poses
| ├── metric.py // Implementation of spring grasp metric
| └── gpis.py // Different optimizers for spring grasp planner
├── utils
| └── // Ultilities to support the project
├── process_pcd.py // Processing pointclouds from different cameras
├── optimize_pregrasp.py // Running compliant pregrasp optimization
└── verify_grasp_robot.py // verifying pregrasp on hardware, kuka iiwa14 + left allegro hand.
python process_pcd.py --exp_name <obj_name>
python optimize_pregrasp.py --exp_name <obj_name>
python optimize_pregrasp.py --exp_name <obj_name> --pcd_file <path to your ply pointcloud>
python traj_gen.py --exp_name <obj_name>
python verify_grasp_robot.py --exp_name <obj_name>
How to deploy on hardware varies case by case, if you need help with using Kuka iiwa14 + allegro hand or run into troubles with coordinate system convention please contact: ericcsr [at] stanford [dot] edu
If you find our code useful, please cite the following
@misc{chen2024springgrasp,
title={SpringGrasp: An optimization pipeline for robust and compliant dexterous pre-grasp synthesis},
author={Sirui Chen and Jeannette Bohg and C. Karen Liu},
year={2024},
eprint={2404.13532},
archivePrefix={arXiv},
primaryClass={cs.RO}
}