A new machine learning algorithm can detect and correct a wide range of errors that can occur during 3D printing. It also enables printers to learn how to print new materials independently - without human intervention. The algorithm is suitable for both existing and new 3D printers.
3D printing enables the production of a very wide range of products. For example, companies deploy the printers to produce customised medical implants, as well as aircraft components. However, consider also manufacturing prototypes, which is possible in a shorter time frame thanks to 3D printers.
Errors in the printing process
Despite the wide capabilities of 3D printing, the technology also has its limitations. For instance, various errors can occur during the printing process. These range from minor inaccuracies in a print to mechanical weaknesses that affect the usability of the entire print.
Such errors are currently detectable only by a trained worker observing the printing process. This employee has to recognise the print, stop the printing process, remove the part and adjust settings for a new print. Especially for long-lasting prints that take hours, this can be a challenge. Simultaneous monitoring of multiple 3D printers is also a challenge for employees.
Existing systems know their limitations
Parties have long been working on systems for automated monitoring of 3D prints and detecting anomalies. However, existing systems for this purpose have their limitations. For instance, they can usually detect a limited number of defects in a specific part manufactured by a specific 3D printer in a specific material.
A new algorithm developed by a team at the University of Cambridge changes this. "What is really needed is a 'driveless car' system for 3D printing," explains researcher Douglas Brion from the Department of Engineering at the University of Cambridge. "A driverless car would be useless if it only worked on one road or in one village. It needs to learn to generalise in different environments, cities and even countries. A 'driveless' printer needs to work similarly for multiple parts, materials and printing conditions."
This is where Brion and Dr Sebastian Pattinson of the university's Department of Engineering now think they have found a solution. "This means you can have an algorithm that looks at all the different printers you have in use, constantly monitors them and makes adjustments if necessary - basically doing what humans cannot do," Pattinson explains.
Dataset of 950,000 images
The algorithm used by the researchers is a deep learning computer vision model. This model was trained using a dataset of 950,000 images taken automatically during the printing of 192 objects. Each image is labelled with the printer's settings, including print speed, nozzle temperature and the speed at which the material passes through the printer. The model is also given information about how these settings differ from the ideal settings. This allows the algorithm to learn how problems arise.
"Once trained, by looking at an image, the algorithm can determine which settings are right or wrong - is a particular setting too high or too low, for example, and then make the appropriate correction," Pattinson explains. "The cool thing is that printers using this approach could collect data continuously, so the algorithm is constantly improving."
Widely applicable
Brion and Pattinson's algorithm is widely applicable. It can detect and correct errors in unknown objects or materials. It is also suitable for 3D printers on which it has not been applied before. Brion explains that when 3D printing with a nozzle regardless of the material you print in, similar problems can occur. "For example, if the nozzle moves too fast, you often get blobs of material. Or if you push too much material through the nozzle too quickly, printed lines overlap, causing creases."
The researchers trained the algorithm using one type of printing material and one 3D printer. Thanks to this training, the algorithm is also able to detect and correct errors in different materials, ranging from polymers to ketchup and mayonnaise. Also, the algorithm is not tied to the 3D printer it is trained on.
If trained further, the algorithm can become more efficient and reliable than a human worker in detecting printing errors, according to the researchers. They therefore expect the algorithm to play an important role in quality control in applications where printing errors can have serious consequences.
3D printer Snapper from Inkbit
A few years ago, US startup Inkbit already developed a 3D printer that can independently correct errors during the printing process. This involved Snapper. Inkbit was founded by professor of electrical engineering and computer science Wojciech Matusik and former MIT students Javier Ramos, Wenshou Wang, Kiril Vidimče and David Marini. Snapper uses optical coherence tomography (OCT), a technology traditionally used in ophthalmology. It involves a custom-made OCT scanner, which checks each print layer for errors in real time. Are these detected? Then Snapper adjusts the printing process in real-time using machine learning algorithms to correct the error.
More information about the algorithm from the University of Cambridge is available here.
Author: Wouter Hoeffnagel
Photo: Lutz Peter via Pixabay