MCPcopy Index your code
hub / github.com/abhaybd/GraspMolmo

github.com/abhaybd/GraspMolmo @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
183 symbols 696 edges 22 files 24 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GraspMolmo

[Paper] [arXiv] [Project Website] [Data] [Model]

Code and website for "GraspMolmo: Generalizable Task-Oriented Grasping via Large-Scale Synthetic Data Generation"

Teaser figure for GraspMolmo

Generating new data + TaskGrasp-Image

See DATA.md for details on generating new data and TaskGrasp-Image.

Setup

Using a virtualenv (e.g. conda) is highly recommended! This code is tested on Python 3.11, but likely works on other versions.

To install this codebase: - For data generation: pip install -e .[datagen] - For TaskGrasp-Image generation: pip install -e .[taskgrasp-image] - For only GraspMolmo inference: pip install -e .[infer] - For all of the above: pip install -e .[all]

See DATA.md to understand the released data and how to generate more, if needed.

Inference

To use GraspMolmo to predict grasps, refer to the following sample:

from graspmolmo.inference.grasp_predictor import GraspMolmo

task = "..."
rgb, depth = get_image()
camera_intrinsics = np.array(...)

point_cloud = backproject(rgb, depth, camera_intrinsics)
# grasps are in the camera reference frame
grasps = predict_grasps(point_cloud)  # Using your favorite grasp predictor (e.g. M2T2)

gm = GraspMolmo()
idx = gm.pred_grasp(rgb, point_cloud, task, grasps)

print(f"Predicted grasp: {grasps[idx]}")

Citation

@misc{deshpande2025graspmolmo,
      title={GraspMolmo: Generalizable Task-Oriented Grasping via Large-Scale Synthetic Data Generation}, 
      author={Abhay Deshpande and Yuquan Deng and Arijit Ray and Jordi Salvador and Winson Han and Jiafei Duan and Kuo-Hao Zeng and Yuke Zhu and Ranjay Krishna and Rose Hendrix},
      year={2025},
      eprint={2505.13441},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2505.13441}, 
}

Core symbols most depended-on inside this repo

get
called by 13
graspmolmo/eval/utils.py
sample
called by 5
graspmolmo/datagen/datagen_utils.py
img_to_pc
called by 4
graspmolmo/eval/utils.py
make_wall
called by 4
graspmolmo/datagen/datagen.py
cvh
called by 3
graspmolmo/subsample_grasps.py
load_unaligned_mesh_and_grasps
called by 3
graspmolmo/subsample_grasps.py
sample_grasps
called by 3
graspmolmo/subsample_grasps.py
to
called by 3
graspmolmo/eval/mask_detection.py

Shape

Function 121
Method 40
Class 22

Languages

Python100%

Modules by API surface

graspmolmo/datagen/datagen_utils.py25 symbols
graspmolmo/datagen/datagen.py21 symbols
graspmolmo/subsample_grasps.py18 symbols
graspmolmo/eval/pointcloud.py18 symbols
graspmolmo/synthetic_annotations.py12 symbols
graspmolmo/eval/utils.py11 symbols
graspmolmo/datagen/generate_obs.py11 symbols
graspmolmo/package_tg_train.py9 symbols
graspmolmo/datagen/package_pointing_data.py9 symbols
graspmolmo/datagen/match_tasks_to_grasps_v2.py9 symbols
graspmolmo/annotation.py7 symbols
graspmolmo/preprocess_shapenet.py6 symbols

For agents

$ claude mcp add GraspMolmo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact