Controls programmers can often structure a machine around a requirements specification and refine the details later, because empty-cycle behavior is largely known. Vision is different. The program is really a program of the parts: how they are held, lit, imaged, and how they will drift. One useful loop is Discovery, Invention, Execution, and Transfer. Discovery collects speed, vibration, tolerances, false-reject limits, environment, and the experience of people who already know the process. Invention builds the six milestones, preferably on real images, including barely-good and barely-bad samples. Execution puts that prototype into real nests, real ambient light, and a real controller handshake, then compares capability with the bench numbers. Transfer writes the training and maintenance expectations so the system survives the people who did not build it. Feedback runs backward at every stage.
