GraspBridge
Zero-Shot Cross-Embodiment Bridging Between
Vision–Language–Action Policies and Specialist Grasp Planners
A frozen VLA keeps the task. Only the failed grasp is delegated to a frozen specialist planner — then control comes straight back.
GR00T1 — a generalist model for many robots.
A camera observation o and a language instruction ℓ map to a short-horizon action chunk a. The parameters θ stay frozen throughout this work.
But it learned standard two-finger grippers — not multi-finger hands, and not suction cups.
Reaching is reasoning.
Grasping is contact.
Reaching, transporting and placing are task-level problems the policy handles well. Grasping is a contact-rich control problem with entirely different physical constraints — and it is where generalist policies fail.
Nested phase indicators on failed rollouts with a swapped end-effector. The policy reliably arrives at the object; the episode dies at contact.
Change the hand and the grasp collapses.
High-quality grasps for exactly these hands already exist.
Grasp planners take an object point cloud and a hand model and return a ranked wrist pose, joint configuration and score. They are task-agnostic — geometry only, no language — and they run as standalone systems, disconnected from any policy.
Ranked candidates for Barrett, Shadow and LEAP from a partial cloud.
The planner's actual output: a wrist pose plus a joint configuration.
Seal points and approach angles for the suction gripper.
We evaluate three: TRO-Grasp2 (learned, dexterous, from a partial cloud), BODex3 (pre-synthesised tabletop grasps for the same hands, aligned online to the observed pose) and a suction planner4.
Compose at inference time. Retrain nothing.
Frozen VLA policy
Owns the language, the reach, the transport and the placement.
Frozen grasp specialist
Invoked only on a grasp signal. Sees geometry, never the instruction.
One service call
No shared weights. No co-training. Neither module is conditioned on the other.
Four states, and control always comes back.
Forward, unmodified
VLA actions pass through untouched, while a detector watches for a failed grasp.
Build cloud, query planner
Reconstruct the object from the camera, and ask the specialist for a grasp.
Realise and verify
Drive the hand onto the grasp, close, and verify the lift — or retry.
Hand back in-distribution
Move to a canonical pose, so the policy resumes on familiar ground.
Pass control, secure the object, hand it back.
The same four states run in both clips: control passes to the specialist at State 2, the object is secured and verified in State 3, and State 4 hands the arm back in-distribution. Contact mechanics differ completely between these lanes — the wrapper and the interface do not.
Three arms. Four hands. Two simulators.
Baselines: the naive end-effector swap (identical policy, tasks and seeds) and each policy's native parallel jaw as a reference. We report task success and grasp success — the latter localises whether a failure belongs to the specialist or to the downstream policy.
GR00T-N1.7-3B results.
| Native | Suction | Barrett | Shadow | LEAP | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Arm | Task | jaw | naive | +Bridge | naive | +Bridge | naive | +Bridge | naive | +Bridge |
| WidowX | apple → plate | 15.2 | 0.0 | 96.4 | 22.8 | 90.0 | 0.0 | 91.2 | 0.0 | 93.2 |
| WidowX | cube stack | 28.0 | 0.0 | 33.6 | 0.0 | 35.2 | 0.0 | 32.0 | 0.0 | 32.4 |
| apple → can | 34.8 | 0.0 | 100.0 | 49.2 | 79.6 | 0.0 | 99.2 | 7.6 | 98.0 | |
| Panda | red ball → basket | 8.8 | 0.0 | 100.0 | 0.0 | 66.8 | 0.0 | 64.4 | 0.0 | 90.0 |
| Panda | milk → basket | 90.4 | 0.0 | 99.6 | 62.8 | 88.4 | 0.0 | 89.6 | 0.0 | 90.8 |
Averaged over five runs of 50 episodes. cube stack is the exception, and not a grasp failure: it demands a precise release above a second object, so it is placement-limited.
Results across policies.
| Policy | Shared lane | Native jaw | Barrett +Bridge | Shadow +Bridge | LEAP +Bridge | Suction +Bridge |
|---|---|---|---|---|---|---|
| GR00T | WidowX · apple → plate | 15.2 | 90.0 | 91.2 | 93.2 | 96.4 |
| Octo | WidowX · apple → plate | 0.0 | 96.8 | 94.4 | 95.2 | 97.6 |
| OpenVLA | WidowX · apple → plate | 0.0 | 90.0 | 94.8 | 96.4 | 98.8 |
| GR00T | Google · apple → can | 34.8 | 79.6 | 99.2 | 98.0 | 100.0 |
| Octo | Google · apple → can | 22.4 | 76.4 | 96.8 | 95.2 | 98.4 |
| OpenVLA | Google · apple → can | 18.8 | 74.8 | 95.2 | 94.0 | 97.6 |
The three policies differ in architecture, action parameterisation and training mixture. No policy-specific code is introduced.

VLA failures are not uniform
across an episode.
Task reasoning, navigation and transport stay reliable under an end-effector swap. Only contact does not — so delegate only that phase.
A training-free, phase-scoped handoff between two frozen modules
Neither retrained, fine-tuned, nor conditioned on the other. One unchanged interface across three VLA families, three arms and four end-effector morphologies.
A grasp pose is not a grasp
The execution layer is the difference between a valid plan and a realised grasp — quantified mechanism by mechanism, and embodiment-dependent.
Deployable from RGB-D alone, and dispatchable before it runs
Both the trigger and the planner input come from observations a real robot has; a pure-Python router decides which arm–hand–task lane is admissible before any process starts.
Best end-effector per lane · frozen GR00T
One wrapper. Three arms, four end-effectors.
An interactive results explorer.
Pick a policy, an arm, a hand and a task — the selected run is then shown three ways.
The whole grid
The headline table as charts, and as the full grid behind them.
Three lanes at once
Native gripper, bare swap and grasp specialist on one task, side by side.
One episode, phase by phase
A rollout under a timeline coloured by who holds control at each tick.
That timeline is the rail of this talk — base policy driving, planned grasp, handoff / resume — so the claim of the paper can be checked run by run, rather than taken on the tables alone.
Same runs, same checkpoints and same seeds as the tables in this talk.