Swarm 3D Printing Platform
Summary
Associated with: AMBOTS, Inc.
Role: Co-Founder, R&D Project Manager.
Where: Fayetteville, Arkansas.
When: 2018 - 2021.
Objective: Build a cooperative 3D printing platform that allows robots to collaborate and shorten the time required for printing large-scale objects.
Contribution: I've architectured the platform and lead the engineering team on bringing it into reality. I've designed and built all circuit boards, some critical mechanical components, and developed the firmwares in both C++ and Python.
Results:
• Successfully built a swarm 3D printing platform with two printing robots.
• Decreased print time by 50%, saving 17 hours of print.
• Raised $2M in funding.
• Filled 2 patents and published 2 papers.
Project Description
Swarm manufacturing is a new paradigm for distributed manufacturing, where each factory uses an army of mobile robots working together to manufacture desired products. It focuses on building factories within a local supply chain, where multiple products can be produced to meet changing customer demand from mass manufacturing to on-demand production of customized products.
How It Works
Once the user uploads a CAD model to be printed, it is first broken into chunks using the chunking parameters specified by the user. Then, the Scheduler generates a print schedule of how the chunks will be printed in sequence and in parallel by considering chunk dependencies as well as the available resources, such as the number of robots.
The chunks are then assigned to individual robots -- following the printing schedule previously generated -- and sliced into machine files which the robots can understand. The main server coordinates the overall print job, but the robots are in charge of their own assigned tasks. The user interface shows the print job progress and send alerts to the user whenever a human intervention is required. Which is usually due to the need of filament reload or build plate placements.
Technical Information
The printing robot is controlled by the 32-bit processor Atmel ARM Cortex-M4 running at 120MHz, and an ESP12 module for enabling Wi-Fi wireless communication. The firmware is an adapted version of the RepRapFirmware for 3D printers, which is an Open Source project owned and maintained by the maker community. The joints of the SCARA arm are controlled by two closed-loop control step motors with embedded optical encoders.
The Transporter robot is controlled by a Raspberry Pi 3 and powered by a NiMH battery. It uses a combination of a few sensors for navigation. That includes 9 infrared sensors detecting patterns on the floor, and a CMOS camera reading the codes that hold the absolute position on the platform. When mounted on the floor, the printing robot takes power directly from the floor. But during transportation, the Transporter robot provides it with enough power to keep it connected and reporting its status to the server. When not in use, the Transporter robot returns automatically to its dock and recharging station where it stays waiting for the next call from one of the other robots.
Funding
Alongside private investments, university funding, and regional government grants, this project has been awarded a US$ 1.25 million grant from the National Science Foundation through the Small Business Innovation Research Program. [Read More]
Demo Videos
[1] The first printing test took place on a 900x300mm build surface, and it has successfully validated the cooperative 3D printing system with two robots:
[2] The second printing test used a total build area of 1200x600mm. This time, the robots had no wheels. Instead, a "transporter" robot was used for moving the robots around during the printing job:
[3] The third printing test was an early stage -- but successful -- attempt of building a concrete casting mold and using it for casting a concrete object. The approximate dimensions of the mold are 600x300x200mm, and it was printed by two robots:
Future Work
This is the first time a fully integrated Cooperative 3D Printing platform is presented, taking the first step toward swarm manufacturing using multiple mobile robots for manufacturing. While promising, there are a few limitations that need to be addressed in the future. First, the use of the SCARA arm poses many constraints on the spatial movements of the tool-heads and therefore limits the chunking options and conflict-free scheduling. Using a robotic arm with more degrees of freedom will enable more freeform chunking and more flexible scheduling options.
Second, the maximum height of the printing robot is currently 300mm. To print taller objects, taller robots will be needed. In addition, the placement of the build plate and replacement of the filaments are currently manual, and new subsystems are needed to automate these tasks. Moreover, to achieve the full potential of the platform, an AI-powered software is needed to enable the robots to sense the environment and make autonomous decisions to finish tasks in the queue in a decentralized and autonomous fashion.