I'm vaguely aware of the existence of computer-controlled camera inspection systems in industrial quality assurance, but that's not the inspiration for my next experiment to mount a camera on a 3D printer chassis. The inspiration was actually an optical comparator I used when I took a class in machining technology.

Using it started with mounting a machined part in the examination area, then the shadow of its profile is magnified and projected up on a large screen for inspection of geometry. Older machines only performed the optical magnification, the actual comparison was done by a human being with a transparent overlay of the intended dimensions placed on the screen for comparison. (Hence the name optical comparator.) The one I got some hands-on time for was one of the newer machines with digital read out, plus a computer capable of performing some basic geometry calculations. For example, I could put the cross hairs on three different points of a hole, and the calculator will return the center point and diameter of that hole.

That center cross hair was what I'm focused on for my project. A real optical comparator is designed to maximize the area sharply in focus while simultaneously minimizing distortion in the projected image. This requires an elaborate optical path filled with expensive lenses, and I have neither the skill or budget to replicate that capability. Most of what I want to accomplish can be tied to that center cross hair in conjunction with precision motion control, ignoring the effects of distortion like parallax out towards the edges.

It is possible to do much of what I intend to with OpenCV and a static high quality calibrated camera, skipping the motion control bits. However the point of this project is to use motion control to compensate for the various problems encountered when using an affordable webcam. This is how the project is inspired by, but very different from, just building a cheap crude optical comparator.

So now with the 3D printer chassis in hand, all I need is a webcam! OK, well, about that...