Real time feedback and dynamic adjustment for welding robots
Systems and methods for real time feedback and for updating welding instructions for a welding robot in real time is described herein. The data of a workspace that includes a part to be welded can be received via at least one sensor. This data can be transformed into a point cloud data representing a three-dimensional surface of the part. A desired state indicative of a desired position of at least a portion of the welding robot with respect to the part can be identified. An estimated state indicative of an estimated position of at least the portion of the welding robot with respect to the part can be compared to the desired state. The welding instructions can be updated based on the comparison.
1 . A computer-implemented method for updating welding instructions for a welding robot, the computer-implemented method comprising:
receiving, via at least one sensor coupled to an arm of the welding robot, data of a workspace that includes a part to be welded, wherein the data is received while the welding robot welds the part according to the welding instructions;
transforming, via a processor, the data into a three-dimensional representation that comprises at least a portion of the part;
identifying, via the processor and based on recognition of one or more features in the three-dimensional representation by at least one neural network, a desired state indicative of a desired position of at least a portion of the welding robot with respect to the part;
comparing, via the processor, the desired state to an estimated state indicative of an estimated position of at least the portion of the welding robot with respect to the part; and
updating, via the processor and while the welding robot welds the part, the welding instructions based on the comparing.
2 . The computer-implemented method of claim 1 , wherein the estimated state is based at least in part on a model of the part.
3 . The computer-implemented method of claim 2 , wherein the model of the part includes annotations representing the welding instructions for the welding robot.
4 . The computer-implemented method of claim 1 , wherein the estimated state of the part is based at least in part on the data of the workspace.
5 . The computer-implemented method of claim 1 , wherein the at least one sensor includes a first sensor and a second sensor, wherein the data of the workspace comprises data from the first sensor and the second sensor, wherein the data from the first sensor shows the part and a welding tip of the welding robot from a different angle than the data from the second sensor, the computer-implemented method further comprising:
fusing, via the processor, data from the first sensor and data from the second sensor.
6 . The computer-implemented method of claim 1 , wherein updating the welding instructions based on the comparing comprises updating a motion of the welding robot to avoid a collision.
7 . The computer-implemented method of claim 1 , wherein the recognition comprises receiving, by the at least one neural network, at least the three-dimensional representation and then outputting an encoding of a classification of the one or more features in the three-dimensional representation as at least one of a tack weld, an edge, a gap, a hole, or a void.
8 . The computer-implemented method of claim 7 , wherein identifying the desired state is based on the encoding of the classification of the one or more features.
9 . The computer-implemented method of claim 8 , wherein identifying the desired state is based on comparing simulated three dimensional data with the data.
10 . The computer-implemented method of claim 7 , wherein updating the welding instructions occurs simultaneously with the identifying of the desired state, by the at least one neural network.
11 . The computer-implemented method of claim 1 , wherein updating the welding instructions includes adjusting a motion of the welding robot.
12 . The computer-implemented method of claim 11 , wherein updating the welding instructions comprises adjusting at least one of a position or an orientation of a motorized fixture in the workspace.
13 . The computer-implemented method of claim 12 , wherein updating the welding instructions comprises updating at least one of a welder voltage, a welder current, a duration of an electrical pulse, a shape of an electrical pulse, or a material feed rate.
14 . The computer-implemented method of claim 7 , wherein updating the welding instructions is based on the classification of the one or more features in the three-dimensional representation as the tack weld.
15 . The computer-implemented method of claim 1 , wherein updating the welding instructions comprises updating at least one of a welder voltage, a welder current, a duration of an electrical pulse, a shape of an electrical pulse, or a material feed rate.
16 . A controller for a robotic welding system comprising a robotic arm and at least one sensor coupled to the robotic arm, the controller comprising:
a processor communicatively coupled to a non-transitory computer readable storage medium storing instructions that, when executed by the processor, cause actions including:
receiving, via at least one sensor coupled to an arm of the welding robot, data of a workspace that includes a part to be welded, wherein the data is received while the welding robot welds the part according to a welding instruction set;
transforming the data into a three-dimensional representation that comprises at least a portion of the part;
identifying, based on recognition of one or more features in the three-dimensional representation by at least one neural network, a desired state indicative of a desired position of at least a portion of the welding robot with respect to the part;
comparing the desired state to an estimated state indicative of an estimated position of at least the portion of the welding robot with respect to the part; and
updating, while the welding robot welds the part, the welding instruction set based on the comparing.
17 . A robotic welding system, comprising:
a welding robot comprising an arm;
at least one sensor coupled to the arm; and
a controller comprising a processor communicatively coupled to a non-transitory computer readable storage medium storing instructions that, when executed by the processor, cause actions including:
receiving, via the at least one sensor, data of a workspace that includes a part to be welded, wherein the data is received while the welding robot welds the part according to a welding program;
transforming the data into a three-dimensional representation that comprises at least a portion of the part;
identifying, based on recognition of one or more features in the three-dimensional representation, of a first state indicative of a first position of at least a portion of the welding robot with respect to the part;
comparing the first state to a second state indicative of a second position of at least the portion of the welding robot with respect to the part, wherein the second state is based at least in part on the data of the workspace;
updating, while the welding robot welds the part, the welding instructions based on the comparing; and
welding the part with the welding robot according to the updated welding instructions.
18 . The robotic welding system of claim 17 , wherein the recognition of one or more features comprises receiving, by at least one neural network, at least the three-dimensional representation and then outputting an encoding of a classification of the one or more features in the three-dimensional representation as a tack weld, wherein updating the welding instructions is based on the classification.
19 . The robotic welding system of claim 18 , wherein updating the welding instructions is based on the classification of the one or more features in the three-dimensional representation as the tack weld, wherein updating the welding instructions comprises updating at least one of a welder voltage, a welder current, a duration of an electrical pulse, a shape of an electrical pulse, or a material feed rate.
20 . The robotic welding system of claim 19 , wherein updating the welding instructions further comprises updating a motion of the welding robot.