Late last year, we learned that researchers with the Smart and Sustainable Automation Research Lab (S2A Lab) at the University of Michigan College of Engineering had been working to develop an algorithm that would double the speed of desktop 3D printers. It works by using Filtered B-Spline (FBS) algorithms to adjust 3D printer control and mitigate unwanted vibrations while the print speed goes up. Earlier this week, we received an update on the team’s vibration compensation algorithm from Chinedum Okwudire, PhD, an associate professor of mechanical engineering at the university and the director of S2A Lab.
“Over the past year we have been working to integrate our vibration compensation algorithm into Marlin and release it open-source to the 3D printng community. But we have not succeeded because of the low computational power and memory on the ATMega2560 microcontroller which cannot support our algorithm,” Professor Okwudire told 3DPrint.com. “We are now looking into releasing it open-source on firmware that run on more powerful microcontrollers. More updates on this to follow as we make more progress.”
But the innovative vibration compensation algorithm isn’t the only thing the researchers in the S2A Lab have been working on lately.
“In the meantime, we have been experimenting with a new way of controlling 3D printers, where stepper motor commands (and other low-level control commands) are generated in the Cloud, rather than on a microcontroller,” Professor Okwudire explained to us. “The idea is not too different from how video streaming works, and is a refined version of how OctoPrint, Astroprint and 3DPrinterOS work. It gives Wi-Fi enabled 3D printers access to advanced algorithms like ours, running on the Cloud, without need for very powerful microcontrollers. Our initial results have been very encouraging. We were able to compensate the vibration of a Lulzbot Taz 6 3D printer situated in Michigan from cloud-based controllers in South Carolina and in Australia without much problems, hence slashing printing time by up 54% compared to using Marlin. Details of this work are published in the special issue on Innovations in 3D Printing of the open-access journal Inventions.”
The team published the details of their work in a paper, titled “Low-Level Control of 3D Printers from the Cloud: A Step toward 3D Printer Control as a Service,” in a special issue of open access journal Inventions all about 3D printing innovations; co-authors include Professor Okwudire, Sharankumar Huggi, Sagar Supe, Chengyang Huang, and Bowen Zeng.
The abstract reads, “Control as a Service (CaaS) is an emerging paradigm where low-level control of a device is moved from a local controller to the Cloud, and provided to the device as an on-demand service. Among its many benefits, CaaS gives the device access to advanced control algorithms which may not be executable on a local controller due to computational limitations. As a step toward 3D printer CaaS, this paper demonstrates the control of a 3D printer by streaming low-level stepper motor commands (as opposed to high-level G-codes) directly from the Cloud to the printer. The printer is located at the University of Michigan, Ann Arbor, while its stepper motor commands are calculated using an advanced motion control algorithm running on Google Cloud computers in South Carolina and Australia. The stepper motor commands are sent over the internet using the user datagram protocol (UDP) and buffered to mitigate transmission delays; checks are included to ensure accuracy and completeness of the transmitted data. All but one part printed using the cloud-based controller in both locations were hitch free (i.e., no pauses due to excessive transmission delays). Moreover, using the cloud-based controller, the parts printed up to 54% faster than using a standard local controller, without loss of accuracy.”
Control as a Service (CaaS) is just one of several examples, such as cloud robotics and cloud manufacturing, of paradigms inspired by, and built on the shoulders of, cloud computing and other service-oriented architectures (SOA). It works like this: a device’s low-level control functionalities are moved out of a local controller to the Cloud, where they can then be accessed on-demand remotely. Multiple 3D printing services rely on SOAs and cloud computing, and the trend of controlling 3D printers remotely through a web-based wireless host platform, such as OctoPrint, 3DPrinterOS, and Astroprint, continues to grow.
But, these types of platforms send G-codes, or the equivalent, from the Cloud to the 3D printer while at the same time assigning lower level computations to a microcontroller. So these don’t offer the same kind of CaaS that the S2A Lab is working to develop.
“3D printers are an excellent case study for advancing CaaS, especially since many of them (particularly those of the desktop kind) have very limited computational resources on their local controllers,” the researchers wrote. “The control performance of desktop 3D printers could be significantly improved at low cost via cloud-based control algorithms provisioned through CaaS.”
The researchers used a Lulzbot Taz 6 3D printer with dual extruders for their experiments, though mentioned in the paper that industrial 3D printers could also stand to benefit from this kind of advanced control algorithm.
“Therefore, this paper presents preliminary work on low-level motion control of a desktop 3D printer from the Cloud, as a first step towards in-depth research into 3D printer CaaS (3DPCaaS). It not only shows that low-level control of 3D printers from the Cloud is feasible, but also demonstrates huge improvements in 3D printing speed and accuracy that can be achieved using an advanced cloud-based motion controller over a standard local controller,” the researchers wrote.
The S2A Lab set up a website as a gathering place for people who want to continue researching the idea, and testing 3DPCaaS on their own 3D printers.
“This work is still very experimental but it has shown great promise,” Professor Okwudire told 3DPrint.com. “It may just be the next big thing in 3D printer control, where printers can gain on-demand access to powerful algorithms that boost their performance without need to upgrade to very powerful microcontrollers. What we picture is an OctoPrint-like platform where people can upload G-Codes and remote control their printers with the help of advanced algorithms like ours running from the Cloud.”
Discuss this and other 3D printing topics at 3DPrintBoard.com or share your thoughts below.