The assembly challenge
The NIST board has twenty assembly tasks, with parts as small as 4 mm. Fitting one part can take several changes of grasp and orientation. Tight clearances leave little room for error: a tilted nut can jam or cross-thread.
With several parts, the robot also has to choose an order. An installed component may block the gripper’s next move.
Robots can be creative—if we give them room.
Trying to prescribe every maneuver means anticipating how the robot should respond as contacts and obstructions change. A two-finger gripper may also need solutions quite different from those that come naturally to a human hand.
Perhaps the answer is to stop telling the robot how we think the task should be done, and let it learn how to get there. We give it a binary task reward for success and train it through vast amounts of diverse experience. That leaves room for the robot to discover solutions we might never have thought to teach.
Experience diversity:
One policy trains across twenty heterogeneous assemblies, starting from loose parts, in-hand grasps, and partial assemblies cached in simulation.
Near-complete starts let the robot practice finishing an assembly before it can solve the whole task. The cache supplies starting states, not demonstrations.
Success-guided sampling
Beta sampling favors starting states the policy solves about half the time, while giving every state a chance. Progress on one state can make another solvable; its sampling weight then changes with new outcomes.
Single-component assembly experiment
Emergent assembly behavior
Citation
@misc{zhang2026alphanistemergentassemblyskills,
title={AlphaNIST: Emergent Assembly Skills from Binary Task Rewards},
author={Octi Zhang and Iretiayo Akinola and Rosario Scalise and
Mateo Guaman Castro and Patrick Yin and Tobias Widmer and
Miles Macklin and Chris Amevor and Dylan Turpin and
Dirk Van Gelder and Jan Carius and Ankur Handa and
Gavriel State and Yunrong Guo and Yashraj Narang},
year={2026},
eprint={2610.13354},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2610.13354},
}