Open Source 3D Print Quality Control Vision System

Despite a long evolution of additive manufacturing (AM), starting from the first granted patent in 1971, 3D printing technology has only recently exploded in popularity due to dramatic cost decreases brought on by the introduction of the self-replicating rapid prototype (RepRap) 3D printers. With the generalized material extrusion printing process called fused filament fabrication (FFF) technology gaining prominence with the expiration of fused deposition modeling (FDM) patents, FFF now dominates the 3D printer market.

Accessibility has enabled the emergence of a distributed manufacturing paradigm where 3D printing can be used to manufacture open source products for the consumer. The downloaded substitution values for digital manufacturing with AM of even sophisticated high-end products can provide a high return on investment. In addition, there is also evidence that AM distributed manufacturing reduces the impact on the environment.

Researchers at the Michigan Technological University (Dr. Joshua Pearce and Aliaksei Petsiuk) have developed an open source computer vision-based hardware structure and software algorithm, which analyzes layer-wise the 3D printing processes, tracks printing errors, and generates appropriate printer actions to improve print reliability. The approach is built upon multiple stage monocular image examination, which allows monitoring both the external shape of the printed object and internal structure of its layers.

“The most frustrating thing about 3D printing remains quality control. Most 3D printers have no in-situ quality control or metrology. We have developed software that gets us one step closer to fool-proof 3D prints and released it for free with an open source license” commented Dr. Joshua Pearce.

The single camera system starts with the side-view height validation, the developed program analyzes the virtual top view for outer shell contour correspondence using the multi-template matching and iterative closest point algorithms, as well as inner layer texture quality clustering the spatial-frequency filter responses with Gaussian mixture models and segmenting structural anomalies with the agglomerative hierarchical clustering algorithm. This allows evaluation of both global and local parameters of the printing modes. The experimentally verified analysis time per layer is less than one minute, which can be considered a quasi-real-time process for large prints.

The system can work as an intelligent printing suspension tool designed to save time and material. The results show the algorithm provides a means to systematize in situ printing data as a first step in a fully open source failure correction algorithm for additive manufacturing.

The software, developed in Python-language environment, parses the source G-Code, dividing it into layers and segmenting the extruder paths into categories such as a skirt, infill, outer and inner walls, support, etc.. The developed program synchronized with the printer uses RAMPS 1.4 3D printer control system and the open-source firmware Marlin as an intermediate driver.

The image processing pipeline for a single layer can be divided into three branches:

  1. Side view height validation
  2. Global trajectory correction
  3. Local texture analysis

Starting with the side-view height validation, the algorithm analyzes the virtual top view for global trajectory matching and local texture examination. This allows taking into account both global and local parameters of printing processes.

For more information: