reconstructing-collision-worlds
SkillDev toolsReconstructs a planner collision world from calibrated RGB-D views alone, excluding the grasp target, the robot, and a perceived fixture mask, dropping depth-edge slivers and invalid-depth sheets, and carving the free space an intentional-contact goal needs as an approach tube along a fixture axis or a corridor through a lid aperture. Use when a held-object motion must be planned against obstacles no simulator or CAD scene supplies, before registering the object and planning the carry.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the reconstructing-collision-worlds skill
What this skill tells your AI
The instructions your AI receives, as published by graph-robots/open-robot-skills in skills/reconstructing-collision-worlds/SKILL.md and read by ahel’s review.
Run once after perception and before grasping, with the same observation
the perception skills used. build_collision_world merges depth from the
selected views (camera_names, comma-separated; empty = all) into
alpha-shape meshes through geometry.build_world_config and returns a
WorldConfig plus the mesh names.
What is excluded
- The grasp target by its perceived
target_maskinmask_camera_name(defaultoverhead), and by segmentingtarget_descriptionin every other selected view so the object does not become a static obstacle where it later rotates in the hand. - The robot, by text segmentation per view and by
motion.get_robot_collision_sphereswhen the connector provides it (a connector without it falls back to the visual masks). - A perceived
fixture_maskfrom the mask camera, unless it is a full-frame placeholder that would erase the world.
What is carved
- An approach tube of 55 mm radius along
outward_sign * fixture_axisending 12 mm behindfixture_tip, when both are given. Useoutward_sign: -1for an axis that points into the fixture (an aperture's inward axis) and1for one that points toward its free side (a shaft). - A vertical corridor of
corridor_radiusthroughcorridor_centerbetweencorridor_rim_z - 35 mmand+180 mm, when the centre and a positive radius are given. The radius is the caller's measurement (for example a fraction of the perceived aperture radius); the script adds no margin.
Cleaning and packing
Sparse, nearly zero-thickness sheets under 15 cm are dropped; components
lying entirely below sheet_floor_z or spanning more than
sheet_max_extent_m are invalid-depth returns and are dropped too (0
disables either gate). voxel_size trades surface ripple for detail.
pack_meshes: true folds every component into one perceived_scene mesh
for planners whose scene cache admits few named obstacles.
Boundaries
- No simulator state, CAD model, or fixed world coordinate is read.
- The script raises when no mesh survives; the graph routes that to
failed.
Signals
- GitHub stars
- 41
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
reconstructing-collision-worlds- Source
- github.com/graph-robots/open-robot-skills