$npx -y skills add graph-robots/open-robot-skills --skill grasping-with-plannerTop-down grasping via a fast axis-locked linear descend with a
| 1 | # grasping-with-planner |
| 2 | |
| 3 | Top-down grasping with a fast **axis-locked linear descend** and a |
| 4 | **collision-aware cuRobo fallback**. The primary path rises to a hover height, |
| 5 | translates over the target while rotating to the grasp yaw, and descends |
| 6 | straight down (Z-only, orientation locked) onto the object — which, unlike a |
| 7 | goalset planner, happily grips a *flat* object by simply lowering onto it. If |
| 8 | the straight-line solve is infeasible, the same node hands off to the cuRobo |
| 9 | planner, which builds a per-observation collision world and searches the whole |
| 10 | candidate fan for a reachable, collision-free wrist. This is the |
| 11 | `grocery_packing` grasp motion, distilled to the general single-object case. |
| 12 | |
| 13 | ## Install |
| 14 | |
| 15 | This skill depends on the **curobo tool bundle** (`curobo.plan_directed_linear`, |
| 16 | `curobo.plan_to_grasp_poses`). cuRobo JIT-compiles CUDA extensions at install |
| 17 | time — build isolation must be off and `CUDA_HOME` must point at a toolkit |
| 18 | matching your torch build: |
| 19 | |
| 20 | ```bash |
| 21 | export CUDA_HOME=/usr/local/cuda |
| 22 | uv sync --extra curobo # (pip: pip install -e "open-robot-skills[curobo]" --no-build-isolation) |
| 23 | ``` |
| 24 | |
| 25 | See `tools/curobo/SKILL.md` for the full recipe and gotchas. |
| 26 | |
| 27 | ## When to use |
| 28 | |
| 29 | - Default grasping skill whenever `curobo` is deployed — clean or cluttered. |
| 30 | - Flat / low-profile objects (a butter box, cream cheese) where a goalset |
| 31 | planner struggles bu |