The present disclosure relates to systems and methods of automated additive manufacturing production systems.
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Additive manufacturing production systems may include controllers and robots that are configured to sequentially add layers of materials to build three-dimensional (3D) objects, such as tools, consumer electronics, plastics, vehicle components, aerospace components, among other objects. However, additive manufacturing production processes are time consuming and require substantial operator interaction and control to ensure that the objects are timely, efficiently, and accurately produced. The present disclosure addresses these and other issues associated with additive manufacturing production systems.
This section provides a general summary of the disclosure and is not a comprehensive disclosure of its full scope or all of its features.
The present disclosure provides an automated additive manufacturing production (AAMP) system that includes a controller, a plurality of AAMP system stations disposed in an environment and configured to perform one or more AAMP routines, and a plurality of robots configured to autonomously travel within the environment. The controller is configured to select one or more AAMP system stations from among the plurality of AAMP system stations to perform the one or more AAMP routines based on a digital model of the environment and AAMP system operation data. The AAMP system operation data includes a printer state, a cleaning device state, or a combination thereof.
In one form, the operation data of the plurality of AAMP system stations includes the printer state, and when the printer state indicates that a printer from among the plurality of AAMP system stations is operating in an available state, the controller is configured to instruct a robot from among the plurality of robots to install a workpiece onto a fixture of the printer. In one form, the operation data of the plurality of AAMP system stations includes the printer state, and when the printer state indicates that a printer from among the plurality of AAMP system stations is operating in a finished state, the controller is configured to instruct a robot from among the plurality of robots to remove a workpiece from a fixture of the printer. In one form, the plurality of robots and the AAMP system stations are communicably coupled, the operation data of the plurality of AAMP system stations includes the printer state, and when the printer state indicates that a printer from among the plurality of AAMP system stations is operating in one of a finished state and an available state, a robot from among the plurality of robots is configured to instruct the printer to open a door of the printer, close the door of the printer, or a combination thereof. In one form, the operation data of the plurality of AAMP system stations includes the cleaning device state, and when the cleaning device state indicates that a washer from among the plurality of AAMP system stations is operating in an available state, the controller is configured to instruct a robot from among the plurality of robots to install a workpiece onto a fixture of the cleaning device.
In one form, the operation data of the plurality of AAMP system stations includes the cleaning device state, and when the cleaning device state indicates that a washer from among the plurality of AAMP system stations is operating in a finished state, the controller is configured to instruct a robot from among the plurality of robots to remove a workpiece from a fixture of the cleaning device. In one form, the plurality of robots and the AAMP system stations are communicably coupled, the operation data of the plurality of AAMP system stations includes the cleaning device state, and when the cleaning device state indicates that a washer from among the plurality of AAMP system stations is operating in one of a finished state and an available state, a robot from among the plurality of robots is configured to instruct the cleaning device to open a door of the cleaning device, close the door of the cleaning device, or a combination thereof. In one form, the operation data of the plurality of AAMP system stations includes the printer state and the cleaning device state, and when the printer state indicates that a printer from among the plurality of AAMP system stations is in a finished state and the cleaning device state indicates that a washer from among the plurality of AAMP system stations is an available state, the controller is configured to instruct a robot from among the plurality of robots to remove a workpiece from a fixture of the printer and install the workpiece onto a fixture of the cleaning device. In one form, the digital model of the environment indicates a location of the plurality of AAMP system stations, a location of the plurality of robots, or a combination thereof. In one form, the controller is configured to select one or more robots from among the plurality of robots to initiate the one or more AAMP routines based on a location of the selected one or more AAMP system stations, a location of the plurality of robots, or a combination thereof. In one form, the plurality of robots and the plurality of AAMP system stations are communicably coupled via an application programming interface that includes one or more server tags, where the one or more server tags are configured to communicably couple the robots and the AAMP system stations to a remote server via a transmission control protocol socket.
The present disclosure provides an AAMP system that includes a controller, a plurality of AAMP system stations disposed in an environment and configured to perform one or more AAMP routines, and a plurality of robots configured to autonomously travel within the environment. The controller is configured to select one or more AAMP system stations from among the plurality of AAMP system stations to perform the one or more AAMP routines based on a digital model of the environment and AAMP system operation data. The controller is configured to select one or more robots from among the plurality of robots to initiate the one or more AAMP routines based on a location of the selected one or more AAMP system stations, a location of the plurality of robots, or a combination thereof. The digital model of the environment indicates a location of the plurality of AAMP system stations, the location of the plurality of robots, or a combination thereof. The AAMP system operation data includes a printer state, a cleaning device state, or a combination thereof.
The present disclosure provides method for controlling a plurality of AAMP system stations disposed in an environment, where the environment includes a plurality of robots configured to autonomously travel within the environment. The method includes selecting one or more AAMP system stations from among the plurality of AAMP system stations to perform one or more AAMP routines based on a digital model of the environment and AAMP system operation data, where the digital model of the environment indicates a location of the plurality of AAMP system stations, the location of the plurality of robots, or a combination thereof, and the AAMP system operation data includes a printer state, a cleaning device state, or a combination thereof. The method includes selecting one or more robots from among the plurality of robots to initiate the one or more AAMP routines based on a location of the selected one or more AAMP system stations, a location of the plurality of robots, or a combination thereof, and instructing the one or more robots to autonomously travel to a location associated with the one or more AAMP system stations.
In one form, the operation data of the plurality of AAMP system stations includes the printer state, and the method includes installing, by a robot from among the one or more robots, a workpiece onto a fixture of a printer from among the selected one or more AAMP system stations when the printer state indicates that the printer is operating in an available state. In one form, the operation data of the plurality of AAMP system stations includes the printer state, and the method includes removing, by a robot from among the one or more robots, a workpiece from a fixture of a printer from among the selected one or more AAMP system stations when the printer state indicates that the printer is operating in a finished state. In one form, the operation data of the plurality of AAMP system stations includes the cleaning device state, and the method includes installing, by a robot from among the one or more robots, a workpiece onto a fixture of a washer from among the selected one or more AAMP system stations when the cleaning device state indicates that the cleaning device is operating in an available state.
Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
In order that the disclosure may be well understood, there will now be described various forms thereof, given by way of example, reference being made to the accompanying drawings, in which:
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features.
The present disclosure provides a plurality of autonomous robots that collectively initiate one or more AAMP routines performed at 3D printing devices and/or cleaning devices. Specifically, a controller obtains robot operation data and AAMP system station data to assign the robots to various 3D printing devices and/or cleaning devices and initiate the AAMP routines (e.g., loading/removing a workpiece into a washer).
As an example, the controller may select a robot to load a workpiece into a 3D printing device. Once the 3D printing operation is completed by the 3D printing device, the controller may obtain operation data from the cleaning devices and the robots. Furthermore, the operation data of the cleaning devices indicate that a set of the cleaning devices are available to perform the cleaning routine and a set of the robots are available to initiate the cleaning routine. Accordingly, the controller may select one of the robots and one of the cleaning devices to perform the cleaning routine such that the distance traveled by the robot and/or the time elapsed between the end of the 3D printing routine and the initiation of the cleaning routine is inhibited.
As such, the controller enhances the efficiency of AAMP routines of the additive manufacturing environment by selectively and collaboratively facilitating the initiation of AAMP routines without operator intervention.
Referring to
In one form, the AAMP system stations 10 include AAMP components 12 that are configured to perform one or more AAMP routines. As used herein, an “AAMP routine” refers to an automated pre-processing AM routine, an automated processing AM routine, and/or an automated post-processing AM routine performed by the AAMP system stations 10. Example automated pre-processing AM routines include, but are not limited to: defining and/or uploading digital models of a 3D product (e.g., a computer-aided design (CAD) file and/or a standard tessellation language (STL) file), slicing the digital model of the 3D product to define individual layers, defining tool paths for one or more tools of the AAMP system stations 10, loading filament into a spool, among others. Example automated processing AM routines include, but are not limited to: depositing, joining, or solidifying a material to create the 3D product. Example automated post-processing AM routines include, but are not limited to: cleaning, curing, surface finishing, fixing, and/or coloring the 3D product. To perform the AAMP routines described herein, the AAMP components 12 may include a printer, a cleaning device (e.g., an air-based washer, an alcohol-based washer, a material jetting device, a powder bed fusion device, among others), a filling/welding device, an ultraviolet-curing (UV-curing) device, among other AAMP components.
In one form, the AAMP system stations 10 include an AAMP controller 14 configured to monitor and control the AAMP routines performed by the AAMP components 12. In one form, the AAMP controller 14 is configured to broadcast operation data of the AAMP system station 10 (hereinafter referred to as “AAMP system operation data”) to the controller 60, and the AAMP system operation data may include a printer state, a cleaning device state, or a combination thereof. As an example, the printer/cleaning device state may indicate that the printer/cleaning device (as the AAMP system station 10) is operating in an available state, an unavailable state, or a finished state. As used herein, the “available state” refers to not having a workpiece disposed therein for performing the AAMP routine. As used herein, the “unavailable state” refers to having a workpiece disposed therein and currently performing the AAMP routine. As used herein, the “finished state” refers to having a workpiece disposed therein and recently completing an AAMP routine. It should be understood that the AAMP system operation data may include other types of data, such as identification information of the AAMP system station 10, capability/constraints associated with the AAMP system station 10, or a combination thereof. As described below in further detail, the controller 60 is configured to select at least a set of the AAMP system stations 10 to perform an AAMP routine based on the AAMP system operation data and a digital model of the AM environment 5.
Referring to
Referring to
Referring to
Referring to
In one form, the location module 52 determines the location of the robot 30-1 based on location data generated by the sensors 50, which may be a GNSS sensor. In one form, the navigation module 54 is configured to autonomously navigate within the AM environment 5 based on: an instruction from the controller 60 to autonomously travel to one of the AAMP system stations 10; the determined location of the robot 30-1; and known autonomous navigation routines (e.g., a path planning routine, a maneuver planning routine, and/or a trajectory planning routine).
In one form, the operation control module 56-1 of the robot 30-1 is configured to control the operation of the robotic arms 32 to perform the automated tasks based on the instruction from the controller 60. As an example, the operation control module 56-1 of the robot 30-1 may control the robotic arm to remove/install the workpiece 38 from/into the tray 40 or AAMP system station 10, and/or open/close the door 41 of the AAMP system station 10. In one form, the state module 58 is configured to broadcast operation data of the robot 30-1 (hereinafter referred to as “robot operation data”) to the controller 60, and the robot operation data may include a type of operation being performed by the robotic arms 32, a location of the robot 30-1, and/or a navigation state of the robot 30-1 (e.g., the robot 30-1 is autonomously navigating to a given AAMP system station 10 to initiate an AAMP routine based on the instruction from the controller 60).
Referring to
Referring to
Regarding the controller 60, the robot location module 62 is configured to dynamically update a digital model of the AM environment 5 stored in the digital model database 64 based on the location broadcasted by the state modules 58 of the robots 30. In one form, the digital model is a digital twin of the AM environment 5 and includes a location of the AAMP system stations 10 and/or the location of the robots 30.
In one form, the instruction module 66 is configured to select one or more AAMP system stations 10 and/or robots 30 to perform one or more AAMP routines based on one or more control rules configured to enhance the efficiency of the AAMP routines by collaboratively coordinating AAMP routines. In particular and as described below in further detail, the instruction module 66 may select the one or more AAMP system stations 10 and/or robots 30 based on a digital model, robot operation data, and AAMP system operation data.
In one form, the instruction module 66 is configured to select one or more AAMP system stations 10 to perform one or more AAMP routines based on the AAMP system operation data. As an example, when the printer state of a 3D printer (as the AAMP system station 10-3) is operating in the available state, the instruction module 66 selects the 3D printer to perform a 3D printing routine. As another example, when the cleaning device state of a washer (as the AAMP system station 10-4) is in the available state, the instruction module 66 selects the washer to perform a cleaning routine.
In one form, the instruction module 66 is configured to select the one or more AAMP system stations 10 and to select one or more robots 30 to initiate the one or more AAMP routines based on the digital model, which includes the location of the robots 30 and a location of the AAMP system stations 10. In one form, the instruction module 66 selects a combination of the AAMP system station 10 and the robot 30 to initiate the AAMP routine based on distance to be traveled by the robots 30. As an example, the instruction module 66 selects the robot 30-1 to initiate the AAMP routine at the 3D printer (as the AAMP system station 10-3) in response to the distance between the robot 30-1 and the 3D printer being within a predetermined threshold distance. As another example, the instruction module 66 selects the robot 30-1 to initiate the AAMP routine at the washer (as the AAMP system station 10-4) in response to the distance between the robot 30-1 and the washer being less than the distance between the robot 30-2 and the washer.
In one form, the instruction module 66 is configured to select the one or more robots 30 to initiate the one or more AAMP routines based on the robot operation data, which may include the type of operation being performed by the robotic arms 32, the navigation state of the robot 30, and auxiliary process state of the robot 30 provided that the robot includes the auxiliary AAMP processing station 42. As an example, the instruction module 66 selects the robot 30-1 to initiate the AAMP routine at the washer (as the AAMP system station 10-4) in response to the robot operation data of robot 30-1 indicating that no functions are currently being performed by the robotic arms 32 and that the robot 30-1 is not autonomously navigating to another AAMP system station 10. As another example, the instruction module 66 selects the robot 30-2 to initiate the AAMP routine at the 3D printer (as the AAMP system station 10-3) in response to the robot operation data indicating that no operations are currently being performed by the robotic arms 32, the air-based washer 44 and the alcohol-based washer 46 are in an available state, and that the robot 30-2 is not autonomously navigating to another AAMP system station 10.
In one form, the instruction module 66 is configured to generate and broadcast instructions to the selected robots 30 based on the location and the AAMP system operation data. As an example, when the printer state of a 3D printer (as the AAMP system station 10-3) is operating in the finished state, the instruction module 66 is configured to select and instruct robot 30-1 to travel to a location associated with the 3D printer to install the workpiece 38 onto a fixture of the 3D printer. Furthermore, the instruction module 66 may instruct the robot 30 to open the door 41 prior to installing the workpiece 38 onto the fixture and close the door 41 once the installation is complete.
As another example, when the printer state of a 3D printer (as the AAMP system station 10-3) is operating in the finished state, the instruction module 66 is configured to select and instruct the robot 30-1 to travel to a location associated with the 3D printer and to remove the workpiece 38 from the fixture of the 3D printer. Furthermore, the instruction module 66 may instruct the robot 30 to open the door 41 prior to removing the workpiece 38 from the fixture and close the door 41 once the removal is complete.
As an additional example, when the cleaning device state of a washer (as the AAMP system station 10-4) is operating in the available state, the instruction module 66 is configured to select and instruct the robot 30-1 to install the workpiece 38 onto a fixture of the washer. Furthermore, the instruction module 66 may instruct the robot 30 to open the door 41 prior to installing the workpiece 38 onto the fixture and close the door 41 once the installation is complete. In one form, the instruction module 66 instructs the robot 30-1 to install the workpiece 38 onto a fixture of the washer (as the AAMP system station 10-4) in response to the printer state of the 3D printer (as the AAMP system station 10-3) operating in the finished state.
As a further example, when the cleaning device state of the washer (as the AAMP system station 10-4) is operating in the finished state, the instruction module 66 is configured to select and instruct the robot 30-1 to remove the workpiece 38 from the fixture of the washer. Furthermore, the instruction module 66 may instruct the robot 30 to open the door 41 prior to removing the workpiece 38 from the fixture and close the door 41 once the removal is complete.
As an additional example, when the printer state of a 3D printer (as the AAMP system station 10-3) is operating in the finished state and the auxiliary processing state of the robot 30-1 is in the available state, the instruction module 66 is configured to select and instruct the robot 30-2 to travel to a location associated with the 3D printer, open the door 41, remove the workpiece 38 from the fixture of the 3D printer, close the door 41, and position the workpiece 38 within and/or adjacent to the auxiliary AAMP processing station 42 to perform the auxiliary AAMP processing routine.
Accordingly, the instruction module 66 is configured to enhance the efficiency of AAMP routines of the AM environment 5 by selectively and collaboratively facilitating and initiating sequences of AAMP routines using autonomous robots and without operator intervention. Furthermore, the instruction module 66 enhances the efficiency of AAMP routines of the AM environment 5 by accounting for dedicated autonomous robots that perform AAMP routines when selectively and collaboratively facilitating and initiating sequences of the AAMP routines.
Referring to
Unless otherwise expressly indicated herein, all numerical values indicating mechanical/thermal properties, compositional percentages, dimensions and/or tolerances, or other characteristics are to be understood as modified by the word “about” or “approximately” in describing the scope of the present disclosure. This modification is desired for various reasons including industrial practice, material, manufacturing, and assembly tolerances, and testing capability.
As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
In this application, the term “controller” and/or “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
The term memory is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general-purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
The description of the disclosure is merely exemplary in nature and, thus, variations that do not depart from the substance of the disclosure are intended to be within the scope of the disclosure. Such variations are not to be regarded as a departure from the spirit and scope of the disclosure.