gitextract_rq0avka1/ ├── .gitattributes ├── .gitignore ├── .gitmodules ├── LICENSE ├── LICENSE_ASSETS.md ├── README.md ├── assets/ │ ├── franka/ │ │ ├── franka_panda.urdf │ │ └── meshes/ │ │ ├── collision/ │ │ │ ├── finger.obj │ │ │ ├── hand.obj │ │ │ ├── link0.obj │ │ │ ├── link1.obj │ │ │ ├── link2.obj │ │ │ ├── link3.obj │ │ │ ├── link4.obj │ │ │ ├── link5.obj │ │ │ ├── link6.obj │ │ │ └── link7.obj │ │ └── visual/ │ │ ├── finger.dae │ │ ├── hand.dae │ │ ├── link0.dae │ │ ├── link1.dae │ │ ├── link2.dae │ │ ├── link3.dae │ │ ├── link4.dae │ │ ├── link5.dae │ │ ├── link6.dae │ │ └── link7.dae │ ├── objects/ │ │ ├── banana.obj │ │ ├── box.obj │ │ └── example_object.pcd │ ├── panda_gripper/ │ │ ├── finger.stl │ │ └── hand.stl │ ├── robotiq/ │ │ └── robotiq_140_collision.obj │ └── suction/ │ └── suction_cup.obj ├── client-server/ │ ├── README.md │ ├── graspgen_client.py │ └── graspgen_server.py ├── config/ │ └── grippers/ │ ├── franka_panda.py │ ├── franka_panda.yaml │ ├── robotiq_2f_140.py │ ├── robotiq_2f_140.yaml │ ├── robotiq_2f_85.yaml │ ├── single_suction_cup_30mm.py │ └── single_suction_cup_30mm.yaml ├── docker/ │ ├── build.sh │ ├── compose.serve.yml │ ├── graspgen_cuda121.dockerfile │ ├── graspgen_cuda128.dockerfile │ ├── run.sh │ ├── run_meshcat.sh │ ├── run_server.sh │ └── serve.dockerfile ├── docs/ │ ├── GRASP_DATASET_FORMAT.md │ └── GRIPPER_DESCRIPTION.md ├── grasp_gen/ │ ├── __init__.py │ ├── dataset/ │ │ ├── dataset.py │ │ ├── dataset_utils.py │ │ ├── eval_utils.py │ │ ├── exceptions.py │ │ ├── image_utils.py │ │ ├── renderer.py │ │ ├── suction.py │ │ ├── visualize_utils.py │ │ └── webdataset_utils.py │ ├── grasp_server.py │ ├── metrics.py │ ├── models/ │ │ ├── action_decoder.py │ │ ├── contact_decoder.py │ │ ├── criterion.py │ │ ├── discriminator.py │ │ ├── generator.py │ │ ├── grasp_gen.py │ │ ├── m2t2.py │ │ ├── matcher.py │ │ ├── model_utils.py │ │ ├── pointnet/ │ │ │ ├── pointnet2.py │ │ │ ├── pointnet2_modules.py │ │ │ └── pointnet2_utils.py │ │ ├── ptv3/ │ │ │ ├── ptv3.py │ │ │ └── serialization/ │ │ │ ├── __init__.py │ │ │ ├── default.py │ │ │ ├── hilbert.py │ │ │ └── z_order.py │ │ └── vit.py │ ├── robot.py │ ├── serving/ │ │ ├── __init__.py │ │ ├── zmq_client.py │ │ └── zmq_server.py │ └── utils/ │ ├── logging_config.py │ ├── math_utils.py │ ├── meshcat_utils.py │ ├── plot_utils.py │ ├── point_cloud_utils.py │ ├── rotation_conversions.py │ ├── so3.py │ ├── train_utils.py │ └── viser_utils.py ├── install_pointnet.sh ├── install_uv_pointnet.sh ├── mcp/ │ ├── .python-version │ ├── README.md │ ├── pyproject.toml │ └── src/ │ └── mcp_server_graspgen/ │ ├── __init__.py │ ├── __main__.py │ └── server.py ├── pointnet2_ops/ │ ├── MANIFEST.in │ ├── pointnet2_ops/ │ │ ├── __init__.py │ │ ├── _ext-src/ │ │ │ ├── include/ │ │ │ │ ├── ball_query.h │ │ │ │ ├── cuda_utils.h │ │ │ │ ├── group_points.h │ │ │ │ ├── interpolate.h │ │ │ │ ├── sampling.h │ │ │ │ └── utils.h │ │ │ └── src/ │ │ │ ├── ball_query.cpp │ │ │ ├── ball_query_gpu.cu │ │ │ ├── bindings.cpp │ │ │ ├── group_points.cpp │ │ │ ├── group_points_gpu.cu │ │ │ ├── interpolate.cpp │ │ │ ├── interpolate_gpu.cu │ │ │ ├── sampling.cpp │ │ │ └── sampling_gpu.cu │ │ ├── _version.py │ │ ├── pointnet2_modules.py │ │ └── pointnet2_utils.py │ └── setup.py ├── pyproject.toml ├── requirements.txt ├── runs/ │ ├── train_graspgen_franka_panda_dis.sh │ ├── train_graspgen_franka_panda_gen.sh │ ├── train_graspgen_robotiq_2f_140_dis.sh │ └── train_graspgen_robotiq_2f_140_gen.sh ├── scripts/ │ ├── config.yaml │ ├── convert_obj_to_usd.py │ ├── create_grasp_sim_usd.py │ ├── demo_collision_free_grasps.py │ ├── demo_object_mesh.py │ ├── demo_object_pc.py │ ├── demo_scene_pc.py │ ├── download_objects.py │ ├── inference_graspgen.py │ ├── inference_m2t2.py │ ├── run_grasp_sim_omniverse.py │ ├── save_grasps_to_usd.py │ ├── train_graspgen.py │ └── train_m2t2.py ├── setup.py ├── tests/ │ ├── conftest.py │ ├── test_dataset_format.py │ ├── test_grasp_server.py │ ├── test_inference_installation.py │ ├── test_inference_perf.py │ ├── test_math_utils.py │ ├── test_point_cloud_utils.py │ ├── test_robot.py │ ├── test_rotation_conversions.py │ ├── test_serving.py │ └── test_usd_grasp_pipeline.py └── tutorials/ ├── TUTORIAL.md ├── generate_dataset_suction_single_object.py ├── generate_model_inference_config.py ├── tutorial_train_dis.sh └── tutorial_train_gen.sh