SYSTEM FOR ROBOTIC 3D PRINTING

Abstract
A robotic 3D printing system has a six degree of freedom (DOF) robot (12) that holds the platform (16) on which the 3D pad (15) is built on. The system uses the dexterity of the 6 DOF robot to move and rotate rue platform relative to the 3D printing head (18), which deposits the material on the platform. The system allows the part build in 3D directly with a simple printing head and depositing the material along the gravity direction. The 3D printing head is held by another robot (14) or robots. The robot movement can be calibrated to improve the accuracy and efficiency for high precision 3D part printing.
Description
1. FIELD OF THE INVENTION

This invention relates to the use of robots to perform 3D printing.


2. DESCRIPTION OF THE PRIOR ART

Robots are now used to perform 3D printing.


SUMMARY OF THE INVENTION

A system for printing a 3D part on a platform has:


a first robot for holding and moving the platform; and


at least one second robot having attached thereto a 3D printing head positioned and movable by the second robot to print the 3D part on the platform when the first robot moves the platform relative to the printing head.


A system for printing a 3D part on a platform has:


a first robot for holding and moving the platform;


at least one second robot having attached thereto a 3D printing head positioned and movable by the second robot to print the 3D part on the platform when the first robot moves the platform relative to the printing head; and


a computing device connected to the first robot and the at least one second robot for controlling printing of the 3D part on platform, the computing device having therein a 3D CAD model of the 3D part to be printed, the computing device having computer program code therein configured to analyze the 3D CAD model of the 3D part to be printed to plan a process for using the first robot and the at one second robot to print the 3D part.





DESCRIPTION OF THE DRAWING


FIG. 1 shows a first embodiment for the robotic 3D printing system.



FIG. 2 shows a second embodiment for the robotic 3D printing system.



FIG. 3 shows a third embodiment for the robotic 3D printing system.



FIG. 4 shows a fourth embodiment for the robotic 3D printing system.



FIG. 5 shows a flowchart for the process to print a 3D part in the embodiments shown in FIGS. 1 to 4 with another robot holding the fixed printing head.



FIG. 6 shows a flowchart for the process to print a 3D part in a robotic 3D printing system wherein the printing head can move in the X-Y plane with two or three degrees of freedom (DOF) motion systems.



FIG. 7 shows a flowchart for a process flow that checks the robot movement based on the platform and the position and orientation of the platform relative to the robot that is holding the platform.



FIG. 8 shows a flowchart for a process flow for a platform movement calibration that uses a vision system for high precision 3D part printing.



FIG. 9 shows a flowchart for a process that is used to improve the robot motion (speed, etc.) while the 3D part is being built.



FIG. 10 shows in block diagram form a system that has embedded in it functionality to move robots used in the 3D printing of the part.





DETAILED DESCRIPTION

Referring now to FIG. 1, there is shown a first embodiment 10 for the present system. This embodiment has two robots 12 and 14 to accurately deposit material in 3D on the 3D printing platform 16. Robot 12 holds the platform 16 on which the 3D printed part 15 is built and moves platform 16 relative to the 3D printing head 18 that is held by robot 14. 3D printing head 18 deposits the material on the platform 16 to build the printed part 15.


Robot 12 can position the platform 16 within the workspace of the robot 14. In the 3D printing process, robot 12 and robot 14 are controlled by a robot controller such as controller 104 shown in block diagram form in the system 100 of FIG. 10 that has embedded in it functionality to move robots 12 and 14. The robots are represented by block 102. Controller 104 can for example be the IRC5 controller available from ABB and the robot movement functionality can be ABB's MultiMove functionality.


The two robots 12 and 14 can perform coordinated synchronized movements. In these movements, the robot 12 moves the platform 16 and the robot 14 moves the 3D printing head 18 to deposit the material on platform 16 to build the part 15.


The two robots 12 and 14 also can perform independent movements. In these movements, robot 12 positions the platform 16 in a location with a specified position and orientation. When robot 12 is not moving, robot 14 begins to move the 3D printing head 18 and deposits the material on platform 16 to build the part 15.


The two robots 12 and 14 also can perform semi-coordinated movements that switches between the coordinated synchronized movements and the independent movements described above.


The two robot configuration in 3D printing system 10 has advantages over traditional 3D printing systems. System 10 can print larger parts because of the larger range of relative position between the 3D printing head 18 and platform 16; print more complicated parts because of the dexterity of the relative movement between printing head 18 and platform 16; and print more flexible 3D part printing configurations by getting rid of support materials because in the independent movement mode robot 12 can position the platform/3D printing head in a fixed position and robot 14 can move 3D printing head/platform to create relative movement for depositing material on platform 16 to create part 15.


The fixed position of robot 12 to the robot 14 in the independent movement mode is accurately pre-calibrated or located by a sensor system such as a 2D or 3D vision system 108 shown in block diagram form in FIG. 10. FIG. 10 also shows a computation device 106 between vision system 108 and controller 104. While controller 104 is also a computing device it may not be capable of handling the images from vision system 108 and that is why system 100 may need as shown in FIG. 10 a separate computation device 106. The computation device 106 may also be needed to slice the CAD model of the part to be printed and generate as is described below in connection with FIG. 5 the 3D printing paths. Thus the moving robot 14 takes advantage of the high repeatability of the industrial robots ability to accurately deposit material in a small space.


A second embodiment for the 3D printing system can have two or more robots each holding an associated one of two or more 3D printing heads and a single robot holding the 3D printing platform. One example of this second embodiment is shown in FIG. 2 wherein the system 20 has two robots 24a and 24b each holding an associated one of the two 3D printing tool heads 28a and 28b, and a single 6 DOF robot 22 holding the 3D printing platform 26 on which the 3D part 25 is built.


The robot configuration in robotics 3D printing system 20 has advantages over traditional 3D printing systems. System 20 can print larger parts; and print part faster and more efficiently than the traditional system. The two printing heads 28a and 28b shown in FIG. 2 can work on different areas of the part 25, or work on different resolution areas of the part 25, or one of the two heads prints a rough part first and the other of the two heads prints the fine features over the rough part, etc.


Referring now to FIG. 3, there is shown another embodiment 30 for the present 3D printing system. In this embodiment as in the embodiment 20 shown in FIG. 2, a single 6 DOF robot 32 holds the 3D printing platform 36 and two robots 34a and 34b each hold an associated one of the two 3D printing 3D printing heads 38a and 38b. As with embodiment 20 shown in FIG. 2 only two printing robots 34a and 34b are shown in FIG. 3. Embodiment 30 also has one or more other robots (only one such robot 33 is shown in FIG. 3 for ease of illustration) holding an associated pre-manufactured part 31 for insertion (assembly) into the 3D printed part 35. For example, part 37 can be an electrical element such as a diode or a resistor to be inserted in the 3D printed part 35 when the part 35 is a 3D printed circuit board or a fabricated part such as a bearing or a precisely 3D printed part to be inserted in a 3D printed part 35 that is coarsely printed on platform 36.


It should be appreciated that a robot such as robot 33 that holds a pre-manufactured part for insertion into the 3D printed part 35 can also be used in the embodiment 10 shown in FIG. 1.


The robot configuration in the robotic 3D printing system 30 has advantages over traditional 3D printing systems. In system 30, the 3D printed part 35 and assembly parts 37 form the final assembled part in one process; and a more complicated 3D part 35 is printed in less time because the pre-manufactured part helps form the final part and thus saves printing time.


Referring now to FIG. 4, there is shown another embodiment 40 for the present 3D printing system. In this embodiment as in the embodiments shown in FIGS. 2 and 3, a single 6 DOF robot 42 holds the 3D printing platform 46 on which 3D part 45 is built and two robots 44a and 44b each hold an associated one of the two printing 3D printing heads 48a and 48b. For ease of illustration only two printing robots 44a and 44b are shown in FIG. 4. This embodiment also has one or more other robots (only one such robot 49 is shown in FIG. 4 for ease of illustration) to hold a tool, such as a painting gun, a welding gun, etc. that is used to perform work on 3D printed part 45. The robot 49 can change the tool it is holding to a different tool.


It should be appreciated that a robot such as robot 49 that holds a tool 47 to perform work on the 3D printed part 45 can also be used in the embodiment 10 shown in FIG. 1.


The robot configuration in the robotics 3D printing system 40 has advantages over traditional 3D printing systems. In system 40 the printing, painting, cleaning etc. of the 3D part 45, etc. all occur in one process


In another configuration (not shown), the 3D printing head can move in the X-Y plane with 2 or 3 DOF motion systems. The robot holding the 3D printing platform can then position the platform relative to the 3D printing head. The 2 DOF motion systems can be used in the embodiments 10, 20, 30 and 40 shown in FIGS. 1 to 4 respectively but only for the robot that holds the printing head.


Moreover, the platform can be held by multiple robots for handling of a heavy part.


Also, multiple platforms can be held by multiple robots. The 3D printing heads can deposit material on each platform at same time and then combine the material on platforms to form the final part together. As can be appreciated the use of multiple robots increases the efficiency of the robotic 3D printing.


Referring now to FIG. 5, there is shown a flowchart for the process 50 to print a 3D part on a platform held by a robot in the above described robotic 3D printing systems 10, 20, 3C and 40 with another robot holding the printing head. In step 51, the CAD model of the 3D part to be printed is imported into the robot controller 104 or into the computation device 106.


In step 52, the CAD model of the 3D part to be printed is analyzed and the robotic process to print that 3D part is planned. In step 53, based on the results of the analysis performed and plan created in step 52, there is a selection of the shape, size etc. of the platform on which the 3D part is to be built and how the robot that is to hold the platform is or will be oriented and positioned. As can be appreciated steps 52 and 53 can be run in controller 104 or computation device 106.


In step 54, the movement of the robot holding the selected platform, that is, the path to be followed by the robot, the robot speed, the orientation of the platform and the like are planned based on the selected platform and the program for that robot to accomplish the 3D printing is created. In step 55, there is planned the movement, such as speed and on/off sequence, of the robot held 3D printing head with regard to the amount of material to be deposited on the platform during the printing of the 3D part. As can be appreciated steps 54 and 55 can be run in controller 104 or computation device 106.


In step 56, the robot that is to hold the selected platform picks up that platform. In step 57, the movement of the robot holding the platform and the action of the 3D printing head are synchronized and after they are synchronized the 3D part is printed. In step 58, at the completion of the printing of the 3D part, the robot that is holding the platform with the printed part on it places the platform with that part on it at a predetermined location.


Referring now to FIG. 6, there is shown a flowchart for the process 60 to print a 3D part in a robotic 3D printing system wherein the printing head can move in the X-Y plane with two or three degrees of freedom (DOF). This allows the robot that is holding the platform to position the platform relative to the printing head.


Process 60 has eight steps 51 to 68 that are identical to steps 51 to 58 in the process flow 50 shown in FIG. 5 with two exceptions. The exceptions are in steps 65 and 67. In the 3D printing systems that use process flow 60 there is a 2 DOF printing head whereas in the systems that use process flow 50 the head is held by robot 14. Therefore the material deposit step 65 in flow 60 differs from the material deposit step 55 in process flow 50 and the synchronizing and printing step 67 differs from step 57 because in steps 65 and 67 the printing head can move in the X-Y plane with two or three degrees of freedom.


Referring now to FIG. 7, there is shown a flowchart for a four step process flow 70 that checks the robot movement based on the platform and the position and orientation of the selected platform relative to the robot that is holding the platform.


Steps 72 and 74 in flow 70 are each identical to steps 53 and 54 in flow 50 and steps 63 and 64 in flow 60 and thus do not have to be further described.


In decision 76, flow 70 determines if the robot that is holding the selected platform can reach the planned path and if there is no singularity pose on the robot path. Flow 70 returns to step 72 to select another platform if the answer in decision 76 is no to either or both of the two determinations. If the answer is yes to both determinations, then the flow proceeds to step 78 where the robot program is generated.


It should be that since steps 72 and 74 are identical to steps 53 and 54 in flow 50 and steps 63 and 64 in flow 60 that steps 76 and 78 can be used in flow 50 after step 54 is performed and in flow 60 after step 64 is performed.


Referring now to FIG. 8, there is shown a flowchart for a process flow 8C for a platform movement calibration that uses images from a vision system such as system 108 shown in FIG. 10 for high precision 3D part printing. The accuracy of the movement of the robot holding the selected platform can be improved by using the vision system 108.


The flow 80 starts with step 82 where the robot holds the selected platform under the 3D printing head for a dry run of the generated robot program. Thus since the platform movement calibration of flow 80 starts after a platform is selected and the robot program is generated, flow 80 can be used in flows 50, 60 or 70 after these events have occurred.


In step 84, the vision system 108 using a 2D camera system with markers on the selected platform or use of a 3D sensor point cloud to provide images of the positions and orientation of the selected platform to the computation device 106. The computation device 106 uses the images from the vision system 108 to determine the positions and orientation of the selected platform.


The flow proceeds to decision 86 where the detected movement in the dry run of the selected platform is compared to the planned movement of that platform to check if the actual movement is within the tolerance for the planned movement. This is an accuracy check. It the answer is no, then the flow proceeds to step 87 where the robot path is adjusted based on the difference between the planned movement and the detected movement to bring the movement into tolerance.


If the answer to decision 86 is yes, then at step 88 the new movement platform program is generated and the platform movement calibration process is ended. Steps 57 and 67 in flows 50 and 60 respectively can use the new movement program to have more accurate of the selected platform and thus print a high precision 3D part.


Referring now to FIG. 9, there is shown a flowchart for a process 90 that is used to improve the robot motion (speed, etc.) while the part is being built. As with flow 80, flow 90 can be used after the platform movement is generated to improve the accuracy of movement of the selected platform.


At step 92, there is an estimate of the material deposited on the selected platform such as weight, center of gravity, axes of moment. There are various methods to estimate the weight of material that is deposited on the platform. One method is based on the CAD model and the material information associated with the CAD model to calculate the weight of the material deposited on the platform. Another method is to use the signal, which controls the rate of material deposit from the 3D printing head to the platform to estimate how much material is deposited on the platform. Yet another method is to use the signal from a force sensor on the robot that holds the platform, to estimate the deposited material weight, center of gravity etc.


The flow proceeds to step 94 where the load data estimate in step 92 is updated in the robot controller 104. The estimation calculation could be in the computation device 106. However the update of load data (weight, center of gravity, axes of moment) which affects the robot real time movement accuracy needs to be done in the robot controller 104 since the robot controller 104 maintains the dynamic model of the robot. The flow then proceeds to step 96 where the robot's dynamic control parameters are adjusted based on the load data to thereby optimize the robot motion.


The robot that holds the 3D printing head can be controlled by a program (generated, simulated and validated off-line) and also can be remote controlled by an operator. This remote control by the operator is known as teleoperation. The operator can operate the 3D robotic printing system to repair the 3D parts locally and remotely without using a CAD model. The remote teleoperation system can automatically transfer the commanded 3D printing movement by the operator to the relative movement between the robot that holds the 3D printing head, and the robot that holds the platform.


It is to be understood that the description of the foregoing exemplary embodiment(s) is (are) intended to be only illustrative, rather than exhaustive, of the present invention. Those of ordinary skill will be able to make certain additions, deletions, and/or modifications to the embodiment(s) of the disclosed subject matter without departing from the spirit of the invention or its scope, as defined by the appended claims.

Claims
  • 1. A system for printing a 3D part on a platform comprising: a first robot for holding and moving said platform; andat least one second robot having attached thereto a 3D printing head positioned and movable by said second robot to print said 3D part on said platform when said first robot moves said platform relative to said printing head.
  • 2. The system of claim 1 further wherein said at least one second robot comprises at least one or more other robots located adjacent to said at least one second robot, said one or more other robots also having attached thereto an associated one of one or more 3D printing heads positioned and movable by each of said one or more other robots to print said 3D part on said platform when said first robot moves said platform relative to said at least one second robot and said associated one or said printing heads attached to said one or more other robots.
  • 3. The system of claim 1 further comprising at least one or more other robots located adjacent said first robot for holding and inserting into a predetermined location on said 3D part an associated one of one or more pre-manufactured parts.
  • 4. The system of claim 1 further comprising at least one or more other robots located adjacent said first robot for holding an associated one of one or more tools for performing work on said 3D part.
  • 5. A system for printing a 3D part on a platform comprising: a first robot for holding and moving said platform;at least one second robot having attached thereto a 3D printing head positioned and movable by said second robot to print said 3D part on said platform when said first robot moves said platform relative to said printing head; anda computing device connected to said first robot and said at least one second robot for controlling printing of said 3D part on platform, said computing device having therein a 3D CAD model of said 3D part to be printed, said computing device having computer program code therein configured to analyze said 3D CAD model of said 3D part to be printed to plan a process for using said first robot and said at one second robot to print said 3D part.
  • 6. The system of claim 5 said computer program code is also configured to select said platform and how said first robot will hold said platform.
  • 7. The system of claim 6 wherein said computer program code is also configured to plan movement of said selected platform by said first robot and to generate a computer program for controlling said first robot and said second robot to print said 3D part on said selected platform.
  • 8. The system of claim 7 wherein said computer program code is also configured to plan operation of said 3D printing head when said printing head is used to print said 3D part.
  • 9. The system of claim 8 wherein said plan of operation of said 3D printing head is to make a fixed deposit of material on said selected platform when said 3D part is printed.
  • 10. The system of claim 8 wherein said plan of operation of said 3D printing head movement is with two or three degrees of freedom for material deposit on said selected platform when said part is 3D printed.
  • 11. The system of claim 8 wherein said computer program code is also configured to cause said first robot to pick up said selected platform when said 3D part is to be printed.
  • 12. The system of claim 11 wherein said computer program code is also configured to synchronize movement of said first robot and action of said 3D printing head when said 3D part is being printed.
  • 13. The system of claim 12 wherein said movement of said printing head when said 3D part is being printed is with two or three degrees of freedom and said computer program product code is also configured to synchronize said two or three degrees of freedom of said printing head movement with said movement of said first robot said action of said 3D printing head.
  • 14. The system of claim 7 wherein said computer program product code is also configured to determine if said first robot when holding said selected platform can reach said planned movement of said selected platform.
  • 15. The system of claim 8 wherein said computer program product code is also configured to perform a dry run of said selected platform under said 3D printing head.
  • 16. The system of claim 15 further comprising a vision system for providing to said computation device images during said dry run of said selected platform, said images representative of the position and orientation of said selected platform, said computation device using said images to determine if said dry run positions and orientation of said selected platform during said dry run are within tolerances for said planned movement of said selected platform.
  • 17. The system of claim 8 wherein said computer program product code is also configured to estimate how much material said printing head has deposited on said selected platform during said printing of said 3D part.
Provisional Applications (1)
Number Date Country
61903646 Nov 2013 US
Continuations (2)
Number Date Country
Parent 15153892 May 2016 US
Child 16149907 US
Parent PCT/US2014/064585 Nov 2014 US
Child 15153892 US