geometry
Pure-math 3D geometry toolbox — back-project masks and depth to point clouds, DBSCAN-filter noise, fit oriented bounding boxes, derive top-down/front grasp poses, and reconstruct collision worlds from RGB-D frames. Use when a workflow needs perception geometry or planner inputs computed on CPU with no model weights.
Source facts
- Repository
- graph-robots/open-robot-skills
- Last source activity
- September 5, 2026 at 02:17
- Detected SKILL.md language
- English
- Stars
- 58
- Forks
- 8
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
Showing SKILL.md
- name
- geometry
- description
- Pure-math 3D geometry toolbox — back-project masks and depth to point clouds, DBSCAN-filter noise, fit oriented bounding boxes, derive top-down/front grasp poses, and reconstruct collision worlds from RGB-D frames. Use when a workflow needs perception geometry or planner inputs computed on CPU with no model weights.
- license
- MIT
- compatibility
- requires gap>=0.1
- metadata
- {"category":"perception","tags":["perception","planning","geometry"]}
- gap
- {"requires":{},"serving":{"command":["python","-m","gap_core.rpc.server","--bundle","geometry"],"protocol":"stdio-msgpack"},"tools":[{"geometry.depth_to_point_cloud":"Convert a metric depth image to a camera-frame point cloud."},{"geometry.mask_to_world_points":"Back-project a 2D mask to 3D world points via depth + calibration."},{"geometry.pixel_to_world_point":"Back-project a single pixel to a 3D world point."},{"geometry.transform_points":"Apply a rigid SE(3) transform to 3D points."},{"geometry.fit_planar_feature":"Fit a 6D frame, normal, median radius, and robust inner/outer radii to a ring, loop, rim, or planar opening cloud."},{"geometry.fit_linear_feature":"Fit an axis and robust endpoints to a rod, peg, shaft, or hook cloud."},{"geometry.cloud_to_attachment":"Convert an observed object cloud into an attached collision model and object-to-TCP transform."},{"geometry.compute_feature_mate":"Compute metric approach, engagement, and seating poses for compatible held and fixture features."},{"geometry.exclude_robot_points":"FK-sphere removal of robot-body points from a cloud (7-DOF Franka; other arms pass through)."},{"geometry.filter_noise":"DBSCAN noise filtering (keeps all non-noise points)."},{"geometry.compute_obb":"Fit an upright oriented bounding box to 3D points (HyRL fit)."},{"geometry.filter_and_compute_obb":"DBSCAN filter then OBB fit in one call."},{"geometry.top_down_grasp_from_obb":"One world-aligned top-down grasp pose from an OBB."},{"geometry.top_down_grasp_candidates":"Fan of top-down grasp candidates (canonical primary+alt first)."},{"geometry.select_top_down_grasp":"Pick the most top-down grasp from candidates."},{"geometry.front_grasp_from_obb":"Front-approach grasp/pre-grasp for handles (drawers, doors)."},{"geometry.build_world_config":"Reconstruct a multi-surface collision world from RGB-D; touching planes are separated into closed slabs, residual non-planar clusters are meshed independently, and optional live robot spheres remove self-returns before meshing."},{"geometry.rotate_quat_z90":"Rotate a wxyz quaternion 90 degrees around world Z."},{"geometry.compute_drop_position":"Drop position above a container OBB."},{"geometry.compute_xy_distance":"XY-plane distance between two 3D points."},{"geometry.iou":"IoU of two axis-aligned 2D boxes."},{"geometry.pose_distance":"Euclidean distance between two 3D positions."}]}