A new system called Spark lets robots plan and execute complex multi-step manipulation tasks without any pre-training or human demonstration data. It combines an open-vocabulary perception model, a single-pass transformer that generates a typed behavior tree, and a tiered recovery layer that re-grounds perception on the fly.
What the Researchers Built
Spark is a complete robot manipulation system that works across different robot arms (UR10e, Franka FR3, bimanual Franka) without any training or fine-tuning. The core idea is a typed behavior tree (BT)—a structured plan that the robot “sight-reads” like a musician plays a score. The transformer model, called Gemini, emits the entire behavior tree in a single pass, using a compact vocabulary of manipulation primitives (grasp, place, pour, sweep, etc.). Each primitive has typed inputs (object, arm, pose, force) that the planner fills in.
The perception stack uses SAM3 (an open-vocabulary segmentation model) to locate objects from text prompts. Multiple cameras provide depth data, and an inverse-kinematics controller executes each move. If a primitive fails (e.g., a grasp misses), a tiered recovery layer first tries a small perturbation, then re-runs perception with the arm retracted, and only as a last resort regenerates the entire plan. This separation from prior work that replans on every failure is key to Spark’s efficiency.

Key Results
Spark was evaluated on a suite of 10 tasks across three robot embodiments. The results show near-ceiling performance on many tasks, with notable robustness to deformable objects and varied lighting. Below is a summary of success rates on physical robot setups:
| Task | Robot | Success Rate | Notes |
|---|---|---|---|
| Utensils in tray | UR10e | 91% (4/5) | Near-ceiling; wider gripper helps |
| Plushie in bowl | UR10e | 100% (5/5) | Robust to soft geometry |
| Stack blocks | UR10e | 80% (4/5) | Wide blocks challenge gripper aperture |
| Utensils in tray | Franka FR3 | 73% (8/11) | SAM3 mislabels knife as spoon |
| Mug pour | Franka FR3 | 73% (8/11) | Depth noise on handle; tilt vs pour error |
| Sweep to dustpan | Franka FR3 | 62% (5/8) | Brush grasp location and direction issues |
| T-shirt fold | Franka FR3 | 50% (5/10) | Fails on dark fabric; 100% on light shirts |
| Silverware sort | Bimanual | 75% (3/4) | Multi-object localization causes arm clashes |
| Scrub a plate | Franka FR3 | 100% (5/5) | Force-limited circular scrub works reliably |
These results are particularly impressive because Spark uses no training data—it relies purely on a pretrained vision model and a transformer that has learned to compose primitives from language instructions.
How It Works
Spark operates in a closed loop: perceive, plan, execute, recover. The planner (Gemini) is a transformer that takes a natural language task description and outputs a typed behavior tree. The tree’s nodes are primitives like grasp, place, pour, sweep, scrub, each with typed argument slots (e.g., grasp(object, arm, pose, force)). The grammar is inspired by MT3’s token vocabulary for music transcription—compact and composable.
Perception uses SAM3 with text prompts derived either from canonical object names or from the runtime task language. For each mask, the system calculates the centroid pixel and median depth from multiple Azure Kinect DK cameras (side-view master, bird-view subordinate) plus a wrist RealSense D4351 for close-range refinement. Points are backprojected to world coordinates.
The tiered recovery layer is what makes Spark practical. On a failure (e.g., grasp misses), the system first tries a small perturbation (wiggle or grasp_perturb). If that fails, the arm retracts 10 cm along the camera view axis, re-runs SAM3, and retries the same plan with updated object positions. Only if both fail does it regenerate the plan. The paper reports that disabling re-grounding costs “points” on Libero-Pro (likely around 10-15% drop), as most failures are first-frame SAM3 misses that resolve once the arm moves out of view.

Why This Matters for Robotics
Spark demonstrates that a training-free planner can match or exceed the performance of vision-language-action (VLA) models that require expensive training data. For fleet managers and integrators, this means faster deployment: no need to collect demonstration data or fine-tune models for each new task or robot arm. The typed behavior tree also produces interpretable logs—each trial records the plan, trajectories, and object groundings—which could be used to generate training data for foundation models without teleoperation.
The ability to swap between different robot arms (single-arm UR10e, Franka FR3, bimanual Franka) with the same codebase is a huge advantage for labs or factories running multiple robot types. The system is particularly strong on tasks involving deformable objects (plushies, cloth) and fine manipulation (scrub a plate).
For businesses evaluating used industrial robots or used cobots for sale, a system like Spark could lower the barrier to automation for custom batch jobs that don’t justify traditional programming.
Limitations and Open Questions
Spark struggles with dark fabrics (zero success on black/grey T-shirts due to SAM3 inconsistency) and narrow objects like spoon handles and thin knife profiles. The bimanual sorting task showed collisions when both arms chased objects in the same workspace half—a coordination issue that might require an additional external camera. The depth sources still rely on structured-light sensors; monocular depth (DA3) is available but was not used in experiments, suggesting accuracy remains a concern.
A deeper question is how well the typed grammar generalizes to tasks outside the primitive vocabulary. The paper mentions “constrained_scrub” as a composite skill emitted by the planner—can the transformer truly invent new primitives on the fly? The current design forces a finite set, which may limit expressiveness for truly novel manipulation.
Frequently Asked Questions
Does Spark require any training data? No. Spark uses a pretrained SAM3 for perception and a transformer (Gemini) that outputs behavior trees in a single pass—no fine-tuning or demonstration data needed.
What robots are supported? Spark works on single-arm systems like the UR10e and Franka FR3, as well as bimanual Franka setups, with the same codebase.
How does Spark handle failures during execution? A tiered recovery layer tries a small perturbation first, then re-runs perception with the arm retracted, and only as a last resort regenerates the entire plan.
Can Spark work with low-cost depth cameras? The reported experiments use Azure Kinect DK structured-light depth. A monocular fallback (DA3) exists but was not evaluated, so accuracy with cheaper sensors is unproven.
Conclusion
Spark proves that a training-free, perception-driven planner can handle complex sequential manipulation across multiple robot arms with impressive success rates. Its tiered recovery and single-pass behavior tree generation set it apart from current VLA models, offering a practical path to rapid deployment in settings where data collection is impractical.
