Keywords

1 Introduction

Monash Smart Manufacturing Hub/Digital Twin Lab (DTL) incorporates automated processes and data collection to efficiently manufacture, store and monitor 3D-printed parts. Data and information from the physical systems are used to create a digital twin that allows for all relevant information to be monitored, displayed and controlled via a computer. 3D printing is performed by melting and extruding material in layers to form a 3D part. 3D printers require external interaction for the removal of parts, and other maintenance tasks need to be regularly performed to allow for continuous printer operation. In this study, we propose the use of a KUKA robotic arm and ROBOTIQ 2F-85 gripper to automate the 3D-printing process of Ender 3 V2 printers. The system uses information regarding printer and 3D-part status from the printers and outputs data on task completion status for use by the DTL. This integration of physical processes and information sharing will allow the system to be incorporated into the Monash Smart Manufacturing Hub.

Related works have explored the application of robotic arms to remove prints by exchanging flexible printer beds after each print [1, 2] or by using specialized end-effector mechanisms to directly pick up complex 3D-printed parts [3]. Consumer products [4, 5] allow for continuous printing with conveyor-belt beds or attached pushing mechanisms [6, 7] to slide parts from the end of the print bed. Here, we propose to build on functionalities from these implementations to create an automated system that can address the operation and maintenance requirements that arise from 3D-printing production. Although related works have focused on developing standalone automation features such as part removal, we propose an integrated system that can perform a range of functions so that the 3D-printing workflow can be fully automated.

Our objective was to demonstrate the implementation of an automated system using a robotic arm and gripper to enable the workflow shown in Fig. 1 to remove 3D-printed parts from the printers, apply glue to print beds for improved layer adhesion, clean the print beds and check bed levelness. These functionalities were implemented by programming the robotic arm and gripper to perform movement sequences and interact with the 3D printer to achieve continuous 3D-printer operation.

Fig. 1
A closed flow chart includes requests to 3 D print a part, robotic arm calibration, bed levelness detection, glue application to the printer bed, 3 D print part, 3 D printed part removal, and printer bed cleaning.

Automated printer maintenance and operation workflow

2 Methods

2.1 Literature Review

3D printing has the advantage of requiring minimal setup compared with other manufacturing techniques, enabling parts to be printed on demand quickly and cheaply. The ability to continuously print parts is an important aspect of efficient 3D printing, and requires maintenance and operation tasks to be performed regularly on the 3D printers.

Removing finished 3D prints by use of robotic arms has been addressed [1, 2] with a method consisting of a detection algorithm for failed prints and a part removal function consisting of flexible magnetic beds that are removed and replaced. The advantage of using flexible magnetic beds is that complex parts can be removed easily because the robotic arm does not interact directly with the printed parts.

Becker [3] implemented a system capable of analyzing complex 3D-printed parts and determining a satisfactory part removal process using a robotic arm and customized end-effector/gripper for part removal. A CAD-based implementation [8] used grasping and motion planning simulation to determine valid end-effector paths for removing 3D-printed objects, which allowed model geometry to be used to determine optimal gripping points. Vision-based implementation [9], uses a depth camera and reinforcement learning methods to pick and place objects in a simulation environment. Such approaches provide solutions to automated 3D-part removal that can adapt to various part geometries. Becker [3] found that this saved time and decreased the requirement for human involvement in the part removal process, while noting that future works should include transitioning to a robotic arm system on a mobile base to enable interaction with other machines and increasing the flexibility of automated tasks that can be performed.

Aroca et al. [10] implemented a 2-degree of freedom manipulator and monitoring system to remove 3D-printed parts to enable continuous 3D printing. Future works are proposed for the use of a robotic arm to also apply glue to the printer bed for improved print adhesion.

Consumer products [4, 5] allow for continuous printing with a conveyor-belt setup, which is advantageous for prints that require a long z-axis because the part can be moved along the belt to be extended, and parts are pushed off the end of the bed, so additional mechanisms are required for the handling of parts after the printing stage in an automated process. Numerous third-party products and mechanisms [6, 7, 11] are also available that sweep across the print bed to push parts forward and off the print bed. However, these do not check if parts are unstuck properly because it is a ‘blind’ process and does not consider if the bed is sufficiently clean. Also, additional mechanisms are required for handling of parts after the printing stage as they are pushed to fall off the edge of the printer into a pile. Another aspect of enabling continuous 3D printing is ensuring workflow efficiency. Jim and Lees [12] demonstrate how task sequencing efficiency improvements of a robot can be implemented in the automation of 3D printing and post processing. By optimizing the efficiency of handling parts and moving through a sequence of functions a workflow can be created for producing parts that requires minimal human interaction. However, they noted that further work is required to consider when 3D printers or other post-processing machines are broken or require maintenance.

These works formed the basis for the functionalities to be implemented in this study. As highlighted, the additional automation of 3D-printer maintenance tasks and other supporting operations can further improve continuous 3D printed part production and efficiency [10, 12]. We addressed the gap in this field by demonstrating numerous automated tasks that are required for continuous 3D printing. The automated application of glue to the printer bed and cleaning of the bed after prints are removed allows for continual 3D printing and decreasing the need for human input and monitoring. The physical checking of bed levelness can be used to alert a human operator when maintenance tasks are required before printing begins. Automated part removal can minimize printing downtime so that continuous 3D-printing production can be better achieved.

2.2 Automated System

The automated system set up is shown in Fig. 2 with the KUKA robotic arm and gripper on a mobile base positioned in front of the workbench. An Ender printer is mounted with 3D-printed brackets to the workbench. The tool holder mounted next to the printer contains a glue stick and sponge.

Fig. 2
A photograph of the automated system set up indicates an Ender 3 D printer, K U K A robotic arm, ROBOTIQ gripper, and tool holder.

Automated system setup

In order to automate the maintenance and operation tasks when 3D printing, print completion status, print size and print location information is required. This data is provided as variables in the KUKA robot’s code and used as parameters that dictate robotic arm and gripper movements. It is proposed that the printer data is sent from the DTL to the robotic system in future works.

The movement sequences for the KUKA robotic arm were programmed in Java using Sunrise Workbench. The gripper end-effector was moved with translation and rotation commands and combined with gripper position commands to create complex movement sequences. Figure 3 shows the layout of the 3D printer and tool holder modeled in CAD. This is used to determine the path for the robot.

Fig. 3
A top view and a side view. It illustrates a 3-D printer and tool holder C A D environment.

The 3D printer and tool holder CAD environment

Coordinate frames consisting of gripper position and rotation values were saved for frequently used positions. The movement of the gripper and arm was also controlled by torque sensing on the robotic arm joints and force sensing in the gripper. This feedback was used to dictate the start and end of certain movement sequences.

3 Results and Discussion

3.1 Robot–Printer Calibration

In order to achieve precise movements and interactions between the robotic arm and 3D printer, calibration was required so that all arm movements were performed relative to the printer. The gripper was calibrated using two calibration points mounted to the top of the printer frame. As shown in Fig. 4, calibration was performed by initially positioning the gripper approximately in front of the first calibration point then translating the gripper in x and z directions until a force was detected; the positions where the force was detected were saved, providing a known point for the robot to reference. The second calibration point was used to measure the printer’s rotation relative to the base of the robot. By comparing the difference in positions between both calibration points the required gripper rotation of the gripper was calculated. The gripper was rotated to be square with the printer so that all arm movements were linear relative to the printer. This calibration process allowed positions on the printer to be programmed relative to the known reference frame at the calibration points for accurate arm movements when performing tasks. This process could be substituted for a computer vision system that detects the position of the gripper relative to the printer in future. A demonstration video is available at https://github.com/Kai-andrews/-Automated-3D-printer-maintenance-and-part-removal-by-robotic-arms.

Fig. 4
Three photographs of an automated system set up display calibration point 1, calibration point 2, and the calibrated home position.

Calibration between the robotic arm and 3D printer

3.2 Bed Levelness Monitoring

The levelness of the printer bed was monitored by an automated sequence moving the robotic gripper across each corner of the printer bed and lowering the gripper onto the bed while recording the relative heights where a force threshold was detected, as shown in Fig. 5. The height differences are displayed on the KUKA console to alert human operators as to which side of the printer bed requires adjusting to achieve a level printer bed. In future the bed levelness data will be sent to the DTL to alert operators of maintenance requirements if the bed is not sufficiently level. The printer bed was manually set to different states of levelness and detected using the gripper. As shown in Table 1, the robotic arm and gripper could detect all bed levelness configurations accurately. Please see the demonstration video.

Fig. 5
Three photographs of an automated system set up display bed level detection, bed level detection, and movement patterns.

Automated bed level detection implementation

Table 1 Bed level detection position values

3.3 Application of Glue for Improved Part Adhesion

Automated application of glue to the printer bed was achieved using a glue stick held in a 3D-printed mount consisting of a round hole and slot cut-out for the glue stick to rest on. As shown in Fig. 6, the glue stick had an attached flat section that slotted into the holder to prevent the glue stick from rotating as the robotic arm rotated the glue stick knob to extend the glue. A 3D-printed attachment was mounted on the glue stick, providing a suitable surface for the gripper to hold the glue stick when in use. The glue stick was raised from the holder and lowered onto the print bed. As depicted in Fig. 7, glue was applied to the print bed by moving the glue stick over the area where a part was to be printed. Force was monitored to ensure glue was applied evenly across the bed by moving the arm down to maintain 8 N of vertical force to ensure contact as glue was used. The area that glue was applied to was determined using position and size information of the part that was to be printed. After glue application, the glue stick was returned to the holder. As shown in Fig. 7 the arm was able to apply glue evenly, fully covering the print area and in the correct position where the part was to be printed. Please see the demonstration video.

Fig. 6
Four photographs of a glue stick holder, gripping a glue stick, rotating to extend glue, and moving a glue stick.

Automated glue extension process

Fig. 7
Three photographs of glue application, completed glue application, and glue coverage.

Automated glue application and glue coverage

3.4 Part Removal

The automated removal of 3D-printed parts used software inputs that described the center point position of the part and its base length and width. The printer bed was allowed to sufficiently cool before the robotic gripper was positioned above the part and opened. As shown in Fig. 8, the gripper was then lowered around the part until contact with the printer bed was detected and the gripper closed using force sensing so that the base of the part was securely held. The robotic arm then performed a sequence of rotations sideways, forward and backwards as shown in Fig. 9 while torque and position monitoring were used to determine if the part was stuck (indicated if torque was in the joints above a threshold) to prevent damage to the part or printer bed. The part was lifted from the printer bed and placed in a designated location next to the printer. This method allowed for parts with simple geometry and <85 mm (the grippers open width) to be removed successfully from the printer bed. Future improvements for the automated removal of more complex printed parts include using a more specialized end-effector and gripping techniques customized for each part. Please see the demonstration video.

Fig. 8
Three photographs of circular part removal, lifting the part, and placing the removed part with the help of an automated machine

Automated part removal demonstration

Fig. 9
Three illustrations depict rotation around the X axis, rotation around the Y axis, and rotation around the Z axis.

3D-printed part removal

3.5 Bed Cleaning

The cleaning of the printer bed was performed using a sponge with a handle containing a cleaning solution, which rested on a 3D-printed holder. As shown in Fig. 10, an attachment with flat sides was mounted to the handle to provide a suitable gripping point for the robotic gripper. The sponge was picked up by the robotic arm and moved over the print bed, then lowered until a vertical force of 7 N was detected, indicating that the sponge was fully in contact with the printer bed. The sponge was then moved forwards and backwards repetitively to remove dried glue and plastic build-up. Cleaning solution was applied to the sponge by moving the sponge up and down against the printer bed to squeeze the cleaning solution from the handle and sponge. The sponge was returned to the holder after printer bed cleaning. As shown in Fig. 11, the automated cleaning of the printer bed was able to successfully remove glue and residue build-up. This process could be further improved by implementing an automated scraping process using a scraping tool to remove larger amounts of physical contamination stuck to the printer bed. Please see the demonstration video.

Fig. 10
Three photographs of a sponge holder, picking up sponges, and bed cleaning with the help of an automated machine

Automated printer bed cleaning process

Fig. 11
Two photographs. The first photograph shows a steel bed before cleaning. The second photograph shows the same bed after cleaning.

Comparison between before and after automated bed cleaning

3.6 Overall System Discussion

As shown in Table 2, the robotic arm and gripper repeatedly performed all automated functionalities consistently, completing 100% of test runs. Successful execution was defined as the robotic arm and gripper being able to correctly determine bed levelness, apply sufficient glue over the entire required area for printing, successfully remove the 3D-printed part and place it in a designated location and sufficiently clean the print bed so that another print can take place. The execution time for each automated process demonstrates the ability of the system to efficiently perform the required operation and maintenance tasks for 3D printing with a total execution time of 2 min 59 s, which can be improved in future with further velocity increases to the robotic arm movements.

Table 2 Execution times for automated functionalities

4 Conclusions

In this paper, automation of the additive manufacturing process using a robotic arm and gripper is proposed and described. An automation sequence was developed to facilitate bed levelness detection with the ability to record data for monitoring by human operators, glue application to assist in print adhesion covering 100% of the print area, 3D-printed part removal and printer bed cleaning sufficiently to allow for another print to occur. The contribution of this research is the demonstration of an automated robotic system that performs required 3D-printer operation and maintenance tasks for continuous unmanned 3D-printing production. Recommendations for improvements and future work include creating custom tools for glue application and bed cleaning that allow for improved workflow using the automated robotic arm and gripper. Calibration between the robotic gripper and 3D printer can be improved using a computer vision system. The automated removal of parts can be optimized using adaptive or specialized gripper mechanisms for smart gripping of more complex 3D-printed parts. The data outputs on system status such as bed levelness or tasks completion can also be integrated into the DTL. We have demonstrated the ability of a robotic arm and gripper to enable continuous unmanned 3D printing through automation of key processes.