Welding robot workpiece sensing

By introducing user interface applications of automatic search vector determination and calibration processes in the welding system, the problems of complexity and unintuitiveness of workpiece position search and calibration in the prior art are solved, and more efficient and accurate workpiece positioning and welding program editing are achieved.

CN119589656APending Publication Date: 2025-03-11LINCOLN GLOBAL INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411257426.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-13
Filing Date
2024-09-09
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

Existing robot welding systems are not intuitive and complex during workpiece position search and calibration, making it difficult to accurately locate workpieces during program editing, resulting in the need to reprogram the welding points.

Method used

A welding system is provided, including a robot and teach-in user interface application with movable arms, configured for programming welding operations and workpiece search, able to automatically determine the search vector, and detect the physical position of the workpiece through the calibration process, displaying calibration prompts and calibrated indications.

Benefits of technology

The workpiece position search and calibration process is simplified to make it more intuitive and user-friendly, reducing the need for welding point reprogramming, and improving the accuracy of workpiece positioning and the editing efficiency of welding procedures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119589656A_ABST
    Figure CN119589656A_ABST
Patent Text Reader

Abstract

A welding system includes a robot having a movable arm. The robot controller is operatively connected to the robot. The welding torch is attached to the robot. A welding power source is operatively connected to the welding torch. A demonstrator is in communication with the robot controller and includes a user interface application configured to program a plurality of weld points of a welding operation performed by the robot and configured to program a workpiece search for a physical location of the workpiece. The user interface application is further configured to receive an input of a search start point offset from the physical location of the workpiece, and to display a prompt to calibrate the search. Upon receiving a user input for a calibration search, the physical location of the workpiece is automatically detected, and a calibrated indication is displayed that confirms that the search has currently been calibrated.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 537,273 filed on September 8, 2023, the disclosure of which is incorporated herein by reference. Background of the Invention Field of the Invention

[0004] The present invention relates to robots, particularly collaborative robots (cobots), programmed to perform welding, additive manufacturing, plasma cutting or laser operations, or other similar metal fabrication operations. More specifically, embodiments of the present invention relate to systems and methods for searching and determining the physical location of a workpiece and calibrating such a search.

[0005] Description of related technologies

[0006] A program for a robot that performs an operation (such as a welding operation) on a workpiece may include a search for the physical location of the workpiece. Searching is included in such programs because the physical location of the workpiece may change between different welding operations. For example, during the creation of a program, a first workpiece may be used at a first physical location to define various welding points. However, during actual welding on a second workpiece, the second workpiece may not be located at the same location as the first workpiece (e.g., the second workpiece may be slightly offset from the location of the first workpiece). The welding program may include an initial search to determine the actual location of the current workpiece and adjust the programmed welding points accordingly. However, known applications of robot programming that include workpiece searching are generally not very intuitive, and such applications may require the workpiece to be precisely positioned at the intended location in order to edit an existing program without reprogramming already defined welding points. Therefore, it would be desirable to provide a robot programming application that simplifies the use of workpiece location searching. SUMMARY OF THE INVENTION

[0008] The following summary of the invention presents a simplified overview to provide a basic understanding of some aspects of the devices, systems and / or methods discussed herein. The present summary is not an extensive review of the devices, systems and / or methods discussed herein. It is not intended to point out key elements or to delimit the scope of such devices, systems and / or methods. The only purpose is to present some concepts in a simplified form as a preface to a more detailed description presented later.

[0009] According to one aspect of the present invention, a welding system is provided, which includes a robot with a movable arm. A robot controller is operatively connected to the robot. A welding torch is attached to the movable arm of the robot and has a tool center point. A welding power source is operatively connected to the welding torch to supply welding current to the welding torch. A teach pendant communicates with at least one of the robot controller and the welding power source. The teach pendant includes a user interface application configured to program a plurality of welding points of a welding operation performed by the robot on a workpiece, and is configured to program a search vector of the robot controller to determine the physical location of the workpiece. The user interface application is further configured to receive an input of a search start point for a workpiece search, and to receive an input of a search end point for a workpiece search. The user interface application automatically determines a search vector based on the search start point and the search end point, and displays a prompt for calibrating the workpiece search. Upon receiving a user input for calibrating the workpiece search, the tool center point is automatically moved along the search vector until a contact point with the workpiece is detected. The user interface application is configured to define a new search vector between the search start point and the contact point with the workpiece for the workpiece search and to display a calibrated indication confirming that the workpiece search is currently calibrated.

[0010] According to another aspect of the present invention, a welding system is provided, the welding system including a robot having a movable arm. A robot controller is operatively connected to the robot. A welding torch is attached to the movable arm of the robot and has a tool center point. A welding power source is operatively connected to the welding torch to supply welding current to the welding torch. A teach pendant communicates with the robot controller. The teach pendant includes a user interface application configured to program a plurality of welding points of a welding operation performed by the robot on a workpiece, and configured to program a workpiece search for a physical position of the workpiece. The user interface application is further configured to receive input of a search starting point for the workpiece search. The search starting point is offset from the physical position of the workpiece. The user interface application is further configured to display a prompt for calibrating the workpiece search. Upon receiving user input for calibrating the workpiece search, the physical position of the workpiece is automatically detected. The user interface application is configured to display a calibrated indication, which confirms that the workpiece search is currently calibrated.

[0011] According to another aspect of the present invention, a welding system is provided, the welding system including a robot having a movable arm. A robot controller is operatively connected to the robot. A welding torch is attached to the movable arm of the robot and has a tool center point. A welding power source is operatively connected to the welding torch to supply welding current to the welding torch. A teach pendant communicates with at least one of the robot controller and the welding power source. The teach pendant includes a user interface application configured to program a plurality of welding points of a welding operation performed by the robot on a workpiece, and configured to program a search vector of the robot controller to determine the physical location of the workpiece. The user interface application is further configured to receive an input of a search start point for the workpiece search, and to receive an input of a search end point for the workpiece search. The user interface application automatically determines the search vector based on the search start point and the search end point, and displays a prompt for calibrating the workpiece search. Upon receiving a user input for calibrating the workpiece search, the tool center point is automatically moved along the search vector until a contact point with the workpiece is detected. The user interface application is configured to display a calibrated indication, which confirms that the workpiece search is currently calibrated based on the detection of the contact point with the workpiece. The user interface application is further configured to exit and subsequently re-enter the welding procedure editing mode, and based on re-entering the welding procedure editing mode, display a prompt to recalibrate the workpiece search. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The above and other aspects of the present invention will become apparent to those skilled in the art to which the present invention relates after reading the following description with reference to the accompanying drawings, in which:

[0013] Figure 1 A welding system with a collaborative robot is shown;

[0014] Figure 2 It is a block diagram of the welding system;

[0015] Figure 3 is a screenshot of the sample user interface application;

[0016] Figure 4 is a screenshot of the sample user interface application;

[0017] Figure 5 is a screenshot of the sample user interface application;

[0018] Figure 6 is a screenshot of the sample user interface application;

[0019] Figure 7 is a screenshot of the sample user interface application;

[0020] Figure 8 is a screenshot of the sample user interface application;

[0021] Fig. 9 is a screenshot of the sample user interface application;

[0022] Fig.10 is a screenshot of the sample user interface application;

[0023] Fig.11 is a screenshot of the sample user interface application;

[0024] Fig.12 is a screenshot of the sample user interface application;

[0025] Fig.13 is a screenshot of the sample user interface application;

[0026] Fig.14 The artifact search window is shown;

[0027] Fig.15 Workpiece offset is demonstrated;

[0028] Fig.16 is a flow chart; and

[0029] Fig.17 It shows that it can be used for example Figure 1 and Figure 2 A block diagram of an exemplary embodiment of a controller in a welding system. DETAILED DESCRIPTION

[0030] The present invention relates to the use of robots (such as conventional robot arms or collaborative robots (cobots)) for welding, cutting, additive manufacturing and similar operations, and to systems and methods for programming and calibrating part or workpiece search using, for example, touch sensing (or other known forms of position sensing) during program establishment and program editing. The present invention will now be described with reference to the accompanying drawings, wherein the same reference numerals are used throughout to refer to the same elements. It will be understood that these different figures do not have to be drawn in a proportional manner to each other, and the same is true within a given figure, and in particular, the sizes of the components are drawn arbitrarily to facilitate the understanding of the drawings. In the following description, for the purpose of explanation, a number of specific details are set forth in order to provide a comprehensive understanding of the present invention. However, it may be apparent that the present invention can be practiced without these specific details. In addition, other embodiments of the present invention are possible and can be practiced and implemented in a manner other than as described. The terms and phrases used in describing the present invention are adopted for the purpose of promoting understanding of the present invention and should not be considered limiting.

[0031] As used herein, "at least one," "one or more," and "and / or" are open expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions "at least one of A, B, and C," "at least one of A, B, or C," "one or more of A, B, and C," "one or more of A, B, or C," and "A, B, and / or C" refers to A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together. Any disjunctive word or phrase that gives two or more alternative terms, whether in the description of the embodiments, claims, or drawings, should be understood to cover the following possibilities: including one of these terms, any of these terms, or all of the terms. For example, the phrase "A or B" should be understood to include the following possibilities: "A," or "B," or "A and B."

[0032] Embodiments of the present invention are described herein in the context of a robotic or collaborative robotic welding system. Exemplary welding processes include gas metal arc welding (GMAW), flux cored arc welding (FCAW), metal cored arc welding (MCAW), gas tungsten arc welding (GTAW), and the like. In addition to welding operations, embodiments of the present invention may be used for plasma and laser cutting operations and welding-type processes, such as additive manufacturing and surface hardening processes. Therefore, the term "welding" is interpreted to include such welding-type processes. Because such systems and processes are well known, they will not be described in detail herein.

[0033] refer to Figure 1 , the welding system 100 includes a robot having a movable arm 210 (e.g., a 6-axis robot arm). The robot may be a conventional industrial robot used for manufacturing, such as used in the automotive industry. However, in some embodiments, the robot may be a collaborative robot (cobot) 200. As is known in the art, a collaborative robot is a type of robot similar to a conventional industrial robot, but the collaborative robot is designed to have various safety features that allow direct user interaction and contact with the collaborative robot in a shared area. In this way, the collaborative robot and the user can work closely together, and the user can manipulate or manually move the arm 210 of the collaborative robot. The term "robot" used herein includes both conventional industrial robots and collaborative robots. For ease of explanation, embodiments of the present invention will be discussed in the context of a collaborative robot system. However, it should be understood that embodiments of the present invention may employ more conventional industrial robots that are not designed for direct user interaction and contact in a shared area like a collaborative robot.

[0034] The welding system 100 further includes a welding power source 310 (e.g., a chopper or inverter based power source) supporting arc welding, and a robot controller 320. According to another embodiment, the power source can be a cutting power source supporting plasma cutting or laser cutting. The robot controller 320 is operatively connected to the collaborative robot 200 to program and control its movement. The robot controller 320 can be operatively connected to the collaborative robot 200 via, for example, a robot cable (e.g., a control and communication cable).

[0035] The welding torch 220 is attached to the movable arm 210 of the collaborative robot, for example, at the "wrist" portion of the collaborative robot. The terms "torch" and "gun" are used interchangeably herein. A welding power source 310 is operatively connected to the welding torch 220 to supply welding current to the welding torch during a welding operation. The welding power source 310 can be operatively connected to the welding torch 220 via, for example, a welding cable. The welding torch 220 has a distal end that generates a welding arc. The distal end of the welding torch 220 is located at a tool center point (TCP), which is known to the robot controller and / or the collaborative robot teach pendant 240 via calibration.

[0036] The collaborative robot 200 may include a servomechanism device 230 configured to move the collaborative robot's arm 210 (e.g., to support movement in multiple degrees of freedom) via a motion program under the command of the robot controller 320. The welding system 100 may include a wire feeder (not shown) to feed welding wire to the welding torch 220.

[0037] The welding system 100 further includes a teach pendant 240 for programming the collaborative robot 200. The teach pendant 240 can be used to program multiple welding points (e.g., welding start points, end points, and intermediate points) along linear and curved paths of welding operations to be performed by the collaborative robot on (multiple) workpieces 222, and program workpiece searches and initiate search calibrations, as discussed further below. The teach pendant 240 is operatively connected to the robot controller 320 for two-way communication therewith. The teach pendant 240 can also be operatively connected to the welding power source 310 for two-way communication with the power source. The teach pendant 240 can be hardwired or tethered to the robot controller 320 and / or the welding power source 310 or can communicate wirelessly (e.g., via wi-fi, Bluetooth, etc.). In some embodiments, the teach pendant 240 can be a tablet device with a touch screen user interface 250. The teach pendant 240 may have a user interface application software through which a user interacts with the welding system 100 to program welding operations, such as torch movement during welding, the location of welding points, workpiece search and search calibration, and various welding parameters. The user interface application may be hosted on the teach pendant 240 or elsewhere in the welding system (e.g., on the robot controller 320). In some embodiments, the user interface application may be a web application. In addition to programming the movement of the collaborative robotic arm 210 and the welding torch 220, the teach pendant 240 may also be used to program welding parameters, such as welding voltage or current, wire feed speed, trimming settings, etc. The teach pendant 240 may also be used to program the movement of the collaborative robotic arm 210 and the welding torch 220 specific to the welding operation, such as welding swing frequency and swing width, dwell time, swing pattern, torch travel speed, torch angle (e.g., working angle and travel angle), etc.

[0038] Figure 2 is a schematic block diagram of the welding system 100. In addition to power electronics circuitry (e.g., PWM inverter, chopper, etc.), the welding power supply 310 may include a processor or controller 312 and a memory 314. The memory 314 of the welding power supply 310 may store programmed instructions that, when executed by the processor 312, cause the power supply to perform the functions attributed thereto herein. Similarly, the robot controller 320 and the teach pendant 240 may include respective processors 322, 242 and memories 324, 244 for performing their functions. Figure 2The solid and dashed lines between the processors schematically illustrate the communication between the welding power source 310, the robot controller 320, and the teach pendant 240. The teach pendant 240 may include one or more user interface applications 246, 248. The collaborative robot teach pendant typically includes a user interface application 246 or programming software provided by the collaborative robot manufacturer. However, the programming software provided by the manufacturer is usually not customized for the welding operation. Therefore, in an exemplary embodiment, the teach pendant 240 may include a second user interface application 248, which is configured to program both multiple welding points and multiple welding parameters of the welding operation performed by the collaborative robot 200, and is also used for torch movement and workpiece search and calibrating such search. The user interface applications 246, 248 can share information with each other and send data to and receive data from the robot controller 320 and / or the welding power source 310. In an exemplary embodiment, the second user interface application 248 can convert data into instructions or computer languages ​​for the robot controller. In another exemplary embodiment, the manufacturer-provided user interface application 246 may be excluded and only the second user interface application 248 may be employed in the welding system 100.

[0039] Teaching or programming a robotic workpiece search (which allows a user interface application and / or a robot controller to determine the actual physical location of a workpiece in 3D space) is difficult due to the precision required for such a search to work as intended. For example, when editing a program's weld points (e.g., adding a new weld point or moving an existing weld point), the search point must accurately match the location of the part or workpiece for the program edit to produce the expected results when the program is run. Conventional robots and collaborative robots that provide force or wire sensing features to determine the actual workpiece location provide a method to "master" or "zero" a workpiece search.

[0040] The current search calibration feature discussed herein is simpler and more intuitive than existing search calibration features and provides a more user-friendly or intuitive way to teach search points, a visual indicator that programmatically indicates whether the search has been calibrated to the current part position, and a quick mechanism for recalibrating the search and updating program weld points when editing a program with a part shift (relative to the original part shift used to teach the base program).

[0041] The current workpiece search calibration feature implemented in the user interface application on the teach pendant simplifies the use of searching in welding programs in two ways: First, when the search points are first taught, less accuracy is required. After the search points are taught (e.g., a search start point away from the part and a search end point on or near the part), the calibration process is run immediately. The workpiece search is performed along the search vector defined by the taught search points, such as by the robot moving the tool center point along the search vector until a contact point with the workpiece is detected, and the contact point with the workpiece is saved to ensure that the search point is correct when the program is continued to be established. For a programmed workpiece search, the calibration process can define a new search vector extending between the search start point and the contact point with the workpiece (e.g., the taught or input search end point can be replaced with the detected contact point with the workpiece to define a new search vector for the workpiece search). Therefore, the taught search end point does not have to exactly match the actual physical location of the workpiece (e.g., the search end point and the contact point with the workpiece do not need to be co-located). As long as the taught search end point is close to the workpiece, the calibration will detect the actual physical location of the workpiece, and any subsequently taught welds affected by the workpiece search will have a zero offset. Second, the search calibration feature simplifies later editing of the program by allowing the user to recalibrate the search at any point during program editing (recalibrating the search will update all programmed welds affected by the offset of the search), and automatically displaying a recalibration prompt to the user attempting an editing operation that will require a calibration search. For example, a welding program is typically created that includes a workpiece search using a workpiece at an initial position. The searched and taught welds are programmed using the workpiece at this initial position. Later, the user may wish to edit the program using the same or similar workpiece. However, the user may not place the same or similar workpiece precisely at the exact initial position. In this case, the welds initially taught will be offset from or not match any subsequently added welds. Thus, the workpiece search can be recalibrated to the new workpiece position (e.g., by robotically moving the tool center point along the search vector until the new workpiece position is determined), and the user interface application can automatically adjust the corresponding programmed positions of multiple initially taught welds based on recalibrating the workpiece search prior to editing the program. The positions of the initially taught welds can be adjusted by the amount of offset between the new current position of the workpiece and the initial position of the workpiece. In some embodiments, the user interface application includes a welding program editing mode for creating and editing welding programs, and the user interface application is configured to automatically display a prompt to recalibrate the workpiece search upon re-entering the welding program editing mode. When re-entering the welding program editing mode, there is a possibility that the current position of the workpiece does not match the initial position of the workpiece when the program was created, and the prompt to recalibrate the workpiece search will alert the user that recalibration may be required.If it is determined that recalibration is not necessary, the user can skip recalibration.

[0042] Programmed workpiece searches that have been calibrated during the current program editing session are marked by the user interface application with a visual status indicator or calibrated indication as a way to clearly show the user that a particular search is currently calibrated. That is, the user interface application displays the calibrated indication, for example, near the search block in the welding program to confirm to the user that the workpiece search is currently calibrated. It should be understood that a welding program can contain multiple workpiece searches (e.g., each corresponding to a different location or positions on the workpiece), with various weld points associated with each search, and each search can be calibrated and recalibrated separately. Each search can have its own calibrated indication to convey to the user whether the search has been calibrated.

[0043] The Current Workpiece Search Calibration feature is a feature in the User Interface Application on the Teach Pendant. There are two different situations where Search Calibration is used: during program setup or weld program creation, when initially teaching a search, and subsequently when editing a program that has one or more searches already defined in it.

[0044] During program creation, the user must first teach the artifact search, e.g. Figures 3 to 5 The user interface application is configured to program a workpiece search for the actual physical location of the workpiece or part, specifically programming a search vector of the robot controller to determine the actual physical location of the workpiece or part. Figure 3 , the user activates (eg, touches) an “add search” selector button 400 to program a first search. The workpiece search may be defined by teaching or inputting two points with the collaborative robot: a search start point 403 and a search end point 405. Figure 4 is a screenshot of a user interface application on a teach pendant instructing a user to enter a search starting point 403 after an "Add Search" selector button 400 is activated, and Figure 5is a screenshot of a user interface application instructing a user to enter a search end point 405. A welding torch mounted to a collaborative robot arm has a distal end that generates a welding arc. The distal end of the welding torch is located at a tool center point (TCP), which is known to the robot controller and / or the collaborative robot teach pendant 240 (i.e., the TCP was previously calibrated). When programming the collaborative robot, a user will manually move the collaborative robot arm to position the TCP at a search start point 403 that is offset from the physical location of the workpiece, and then move to a search end point 405 to define the search. The search end point 405 can be located on or near the workpiece. The welding torch or collaborative robot arm may include buttons or other suitable input devices to enter or input a start point and an end point for the search. The user interface application may include an information pictogram 402 instructing the user to use buttons on the welding torch or collaborative robot arm to enter the start point and the end point for the search, such as Figure 4 and Figure 5 These two points describe the search vector along which the collaborative robot will search for the workpiece or part. Rather than manually moving the collaborative robot arm to position the TCP at the search start and end points, such as when programming a workpiece search for a conventional robot, the user can use a teach pendant to push the robot arm and TCP into the search start and end positions, which can be entered via selector buttons on a user interface application.

[0045] The user interface application automatically determines a search vector from the search start point 403 and the search end point 405 (e.g., the search vector starts at the search start point and extends through the search end point). The workpiece search itself can be a standard wire sensing search, in which a voltage is passed through the wire until a short circuit with the workpiece is detected, indicating that the wire has contacted the workpiece. The contact point is identified as the location of the workpiece by the robot controller and / or the user interface application. In other embodiments, the welding torch or robot arm may include a force sensor or accelerometer to determine the contact point with the workpiece. In yet other embodiments, if the robot is able to determine the location of the workpiece at, for example, a certain distance from the search start point 403 to establish a search vector, then the input of the search end point 405 may not be necessary. For example, the robot may include a laser sensor or a vision system or a magnetic sensor to determine the location of the workpiece without physical contact with the workpiece.

[0046] Once the search vector is defined, such as after the user enters a start point 403 and a search end point 405, the user interface application displays a prompt to the user to search for the calibration artifact, such as Figure 6The prompt may include a schematic representation of a search vector 407. To calibrate the search, the user is instructed to move the collaborative robot or TCP back to the search starting point 403. This may be accomplished by activating a "Go to Search Start" selector button 404, which will cause the user interface application to instruct the robot controller to move the collaborative robot arm and TCP back to the search starting point 403. Once the TCP is at the search starting point 403, the "Calibrate Search" selector button 406 ( Figure 7 ) becomes available. The user activates the "Calibrate Search" selector button 406 to complete the search calibration. In doing so, the collaborative robot performs a search along the search vector 407 and stores the contact point with the workpiece sensed by the collaborative robot, welding power source, etc. as a new search end point. For example, upon receiving user input for calibrating the workpiece search, the user interface application causes the collaborative robot to automatically move the TCP along the search vector 407 until a contact point with the workpiece is detected. The user interface application can then replace the search end point with the contact point with the workpiece to define a new search vector for the workpiece search. This ensures that the new search end point (i.e., the contact point with the workpiece) is accurate and ensures that when a search offset is added for the search, the offset will be zero. The search offset affects the position of the programmed weld points associated with the corresponding workpiece search. The weld points taught or programmed after the search offset block will be the positions they were taught when the program was run for this part. At this point, the calibration is complete and a visual calibrated indication 408 ( Figure 8 ) is added to the search block 409 to display its calibration status.

[0047] For simplicity, the above reference Figures 3 to 8 The example workpiece search programming and calibration process discussed involves a one-dimensional (1D) search, but the user interface application allows 1D, 2D, and 3D searches to be taught using the same process. In a multi-dimensional search, each component of the search is taught using the same process as shown and discussed for a 1D search. Figures 3 to 7 Involves searching for workpieces in the horizontal direction. Figure 8 The screenshot in shows a user interface application ready to program further workpiece searches in the vertical direction (eg, expanding the search from a 1D search to a 2D search). Fig. 9 , group numbers 410a, 410b, 410c distinguish different searches from each other. A 1D search may be displayed as a single block with a unique search group ID number, a 2D search may be displayed as two blocks each with the same group ID number, and a 3D search may be displayed as three blocks each with the same group ID number. Fig. 9 , group ID numbers one 410a and two 410b are 2D searches because two group ID numbers are associated with the search, while group ID number three 410c is a 3D search because it has three group ID numbers. A 1D search would have a single group ID number, such as Figure 8 shown. Fig. 9 Each workpiece search in has been calibrated, as shown by the calibrated indication 408 adjacent to the group ID number 410a, 410b, 410c.

[0048] refer to Fig.10 , after the workpiece search is added to the welding program and calibrated, the search offset on 412 block and the search offset off 414 block can be added to the program. The weld points are added between the search offset on 412 block and the search offset off 414 block. When the welding program is run and the workpiece search determines that the current workpiece position is offset from the initial position when the program was created, the weld points between the search offset on 412 block and the search offset off 414 block will be adjusted accordingly. For example, if the current workpiece position is 5 mm to the right of the initial position of the workpiece when the program was created, all weld points between the offset on 412 block and the offset off 414 block will be adjusted to the right 5 mm so that they are in the correct position on the current workpiece.

[0049] The user interface application may have a welding program edit mode or programming mode in which a welding program is constructed (e.g., defining a workpiece search and adding weld points) and also a run mode in which welding is performed on a workpiece using the constructed welding program. After the initial build phase, upon re-entering the welding program edit / programming mode to edit an existing welding program, if the user attempts to edit or add weld points that are affected by the search group offset blocks 412, 414 when the search is not calibrated in the active editing session, a modal (modal window) 416 will be displayed to the user, suggesting that the user recalibrate the search (see Fig.11 If the suggestion is accepted and the "Recalibrate Search" selector button 418 is activated, the user will be transferred to the search editing screen ( Fig.12 and Fig.13), at the search edit screen, the user can move the collaborative robot to the search start point by activating the "Go to Search Start" selector button 404, and then perform calibration by activating the "Calibrate Search" selector button 406. Upon receiving user input for a calibration search, the collaborative robot will move the TCP along the search vector until a contact point with the workpiece is detected to determine the physical position of the current workpiece. The calibration search block will update the position of welds affected by the search group offset: this includes all points between the offset on block and the offset off block of the search group, and all subsequent searches of the calibration search within the same search group. This ensures that the program is in a "zero offset" state again when searching, which is necessary for predictability and anticipation of editing. Since the calibrated state is lost when alternating between program run and edit modes, modal 416 ( Fig.11 ) allows exiting the calibration process (e.g., allowing the user to skip the calibration process). If the user knows that the workpiece is in the correct position (i.e., has not shifted from the initial position when teaching the search), pressing the "Already Calibrated" selector button 420 will force the search block into a calibrated state without going through the actual calibration process, and the user interface application will return to program editing.

[0050] While in weld program editing / programming mode, the user may select a search by, for example, touching the search block, and may calibrate the search at any time they choose (if they know it is needed).

[0051] Once the workpiece search has been calibrated and a search vector has been established for the search, a search window 422 may be defined for the search. The search window 422 may be a linear search window extending along the search vector, but may be longer than the distance between the search start point 403 and the search end point or contact point 424 with the workpiece when the search was created / programmed. This is done in Fig.14 . In an exemplary embodiment, the length of the search window 422 is twice the distance between the search start point 403 and the contact point 424 with the workpiece when creating / programming the search. The length of the search window 422 can be longer or shorter than twice the distance between the search start point 403 and the contact point 424 with the workpiece when creating / programming the search. The purpose of defining a search window that extends along the search vector but is longer than the distance between the search start point 403 and the search end point is to allow the physical position of a subsequent workpiece that is offset from the position of the original workpiece to be found within a reasonable search window.

[0052] Fig.15It is shown how the workpiece 222 to be welded can be offset 424 from the original position when setting up a welding program. The offset 424 will be detected during search calibration or during a search operation when welding. When editing a welding program, the offset 424 can be used to automatically adjust the position of existing welds affected by the corresponding workpiece search so that the offset is zero. When running a welding program, the offset 424 can be used to adjust the position of welds affected by the corresponding workpiece search.

[0053] Fig.16 400. FIG. 401 is a flow chart of an example workpiece search programming and calibration method performed by a user interface application. In step 500, a new search may be added, such as by activating an "add search" selector button 400 ( Figure 3 ). The user interface application may then receive user input of a search start point (step 502) that is offset from the physical location of the workpiece and a search end point (504) that is closer to or on the workpiece. The user interface application automatically determines a search vector from the search start point and the end point (step 506). The user interface application may then automatically display a prompt to calibrate the workpiece search (step 508). The robotic arm moves the TCP back to the search start point (step 510), at which point the user may enter a command to calibrate the search (step 512). Upon receiving user input for calibrating the search, the physical location of the workpiece is automatically detected, such as by moving the TCP along a search vector (step 514) until a contact point with the workpiece is detected (step 516). A new search vector is then defined between the search start point and the contact point with the workpiece (step 518), and a calibrated indication is displayed that confirms that the workpiece search is currently calibrated (step 520). The user may exit and subsequently re-enter the welding program editing mode (step 522). When this occurs, the user interface application will display a prompt to re-calibrate the workpiece search based on re-entering the welding program editing mode (step 524). The user may be provided with the option to recalibrate the search or force the search into a calibrated state (e.g., by entering that the search is already calibrated) (step 526). If the user chooses to recalibrate the search, the calibration process will be run and the positions of any programmed welds affected by the search will be automatically adjusted (step 528). If the user chooses to force the search into a calibrated state, the calibration process will be skipped, but a calibrated indication will be displayed adjacent to the search block and program editing may continue (step 530).

[0054] The workpiece search programming and calibration procedures discussed above, along with the calibrated indication and prompts to the user to calibrate or recalibrate, simplify the process of teaching and using search in a robotic welding program when compared to existing solutions. In addition, running the above calibration process on an already established weld program will adjust the affected weld points to establish an updated weld program.

[0055] Fig.17 It shows that it can be used for example Figure 1 and Figure 2 1 is a block diagram of an exemplary embodiment of a controller 600 in the welding system 100 shown. For example, the controller 600 can be used in the robot controller 320 and / or as a controller in the welding power source 310 and / or the teach pendant 240. Fig.17 , the controller 600 includes at least one processor 614 (e.g., a microprocessor, a central processing unit, a graphics processing unit) that communicates with a plurality of peripheral devices via a bus subsystem 612. These peripheral devices may include a storage subsystem 624, a user interface input device 622, a user interface output device 620, and a network interface subsystem 616, the storage subsystem including, for example, a memory subsystem 628 and a file storage subsystem 626. The input devices and output devices allow a user to interact with the controller 600. The network interface subsystem 616 provides an interface to an external network and is connected to corresponding interface devices in other devices.

[0056] The user interface input device 622 may include a keyboard, a pointing device (such as a mouse, trackball, touch pad or graphics tablet), a scanner, a touch screen incorporated into a display, an audio input device (such as a voice recognition system, a microphone), and / or other types of input devices. In general, the use of the term "input device" is intended to include all possible types of devices and ways to input information into the controller 600 or to input information onto a communication network.

[0057] User interface output device 620 may include a display subsystem, a printer, or a non-visual display (such as an audio output device). The display subsystem may include a cathode ray tube (CRT), a flat panel device (such as a liquid crystal display (LCD)), a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide a non-visual display such as via an audio output device. Typically, the use of the term "output device" is intended to include devices and methods for outputting information from controller 600 to all possible types of users or another machine or computer system.

[0058] The storage subsystem 624 stores programming and data structures that provide some or all of the functionality described herein. For example, computer executable instructions and data are typically executed by the processor 614 alone or in combination with other processors. The memory 628 used in the storage subsystem 624 may include multiple memories, including a main random access memory (RAM) 630 for storing instructions and data during program execution and a read-only memory (ROM) 632 in which fixed instructions are stored. The file storage subsystem 626 can provide a persistent storage area for program and data files, and may include a hard drive, a solid-state drive, a floppy disk drive, and associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Computer executable instructions and data that implement the functionality of certain embodiments may be stored by the file storage subsystem 626 in the storage subsystem 624, or in other machines accessible to the processor(s) 614.

[0059] The bus subsystem 612 provides a mechanism for the various components and subsystems of the controller 600 to communicate with each other as intended. Although the bus subsystem 612 is shown schematically as a single bus, alternative embodiments of the bus subsystem may use multiple busses.

[0060] Controller 600 can be of various types. As the nature of computing devices and networks continues to change, Fig.17 The description of the controller 600 depicted in FIG. 6 is intended only as a specific example for the purpose of illustrating some embodiments. Many other configurations of the controller are possible, with more Fig.17 The controller 600 may have more or fewer components than those depicted.

[0061] It should be clear that the present disclosure is by way of example, and that various changes may be made by adding, modifying or removing details without departing from the reasonable scope of the teachings contained in the present disclosure. Therefore, the present invention is not limited to the specific details of the present disclosure, unless the appended claims are necessarily so limited.

Claims

1. A welding system, comprising: a robot having a movable arm; a robot controller operatively connected to the robot; a welding torch attached to the movable arm of the robot and having a tool center point; a welding power source operatively connected to the welding torch to supply welding current to the welding torch; as well as a teach pendant in communication with at least one of the robot controller and the welding power source, wherein the teach pendant includes a user interface application configured to program a plurality of weld points of a welding operation performed by the robot on a workpiece and to program a search vector of the robot controller to determine a physical location of the workpiece, and wherein the user interface application is configured to: Receive input of a search starting point for a workpiece search, receiving an input of a search end point of the workpiece search, automatically determining the search vector according to the search start point and the search end point, Displays a prompt to calibrate the artifact search, upon receiving user input for calibrating the workpiece search, automatically moving the tool center point along the search vector until a contact point with the workpiece is detected, For searching the workpiece, defining a new search vector between the search start point and the contact point with the workpiece, and A calibrated indication is displayed, confirming that the workpiece search is currently calibrated.

2. The welding system of claim 1, wherein: The user interface application is further configured to replace the search end point with the contact point to define the new search vector for the artifact search.

3. The welding system of claim 1, wherein: The robot is a collaborative robot (cobot).

4. The welding system of claim 1, wherein: The search end point and the contact point with the workpiece are not co-located.

5. The welding system of claim 1, wherein: The user interface application is further configured to define a linear search window along the search vector, and wherein the linear search window is longer than a distance between the search start point and the contact point with the workpiece.

6. The welding system of claim 1, wherein: The contact point with the workpiece is detected by detecting a short circuit between the welding wire and the workpiece during movement of the tool center point along the search vector.

7. The welding system of claim 1, wherein: The user interface application includes a welding program editing mode, and the user interface application is configured to automatically display a prompt to recalibrate the workpiece search when re-entering the welding program editing mode.

8. The welding system of claim 7, wherein: The user interface application is further configured to automatically adjust respective programmed positions of the plurality of welds based on recalibrating the workpiece search.

9. A welding system, comprising: a robot having a movable arm; a robot controller operatively connected to the robot; a welding torch attached to the movable arm of the robot and having a tool center point; a welding power source operatively connected to the welding torch to supply welding current to the welding torch; as well as a teach pendant in communication with the robot controller, wherein the teach pendant includes a user interface application configured to program a plurality of weld points of a welding operation performed by the robot on a workpiece and to program a workpiece search for a physical location of the workpiece, and wherein the user interface application is configured to: receiving an input of a search starting point for the workpiece search, wherein the search starting point is offset from a physical position of the workpiece, Displays a prompt to calibrate the artifact search, Upon receiving user input for calibrating the artifact search, automatically detecting a physical location of the artifact, and A calibrated indication is displayed, confirming that the workpiece search is currently calibrated.

10. The welding system of claim 9, wherein: The robot is a collaborative robot (cobot).

11. The welding system of claim 9, wherein: The user interface application is further configured to receive input of a search end point for the artifact search and automatically determine a search vector based on the search start point and the search end point, wherein the search end point and a physical location of the artifact are not co-located.

12. The welding system of claim 11, wherein: The user interface application is further configured to define a linear search window along the search vector, and wherein the linear search window is longer than a distance between the search start point and the search end point.

13. The welding system of claim 11, wherein: The physical position of the workpiece is detected by detecting a short circuit between the welding wire and the workpiece during movement of the tool center point along the search vector.

14. The welding system of claim 9, wherein: The user interface application includes a welding program editing mode, and the user interface application is configured to automatically display a prompt to recalibrate the workpiece search when re-entering the welding program editing mode.

15. The welding system of claim 14, wherein: The user interface application is further configured to automatically adjust corresponding programmed positions of the plurality of welds based on recalibrating the workpiece search.

16. A welding system, comprising: a robot having a movable arm; a robot controller operatively connected to the robot; a welding torch attached to the movable arm of the robot and having a tool center point; a welding power source operatively connected to the welding torch to supply welding current to the welding torch; as well as a teach pendant in communication with at least one of the robot controller and the welding power source, wherein the teach pendant includes a user interface application configured to program a plurality of weld points of a welding operation performed by the robot on a workpiece and to program a search vector of the robot controller to determine a physical location of the workpiece, and wherein the user interface application is configured to: Receive input of a search starting point for a workpiece search, receiving an input of a search end point of the workpiece search, automatically determining the search vector according to the search start point and the search end point, Displays a prompt to calibrate the artifact search, upon receiving user input for calibrating the workpiece search, automatically moving the tool center point along the search vector until a contact point with the workpiece is detected, displaying a calibrated indication confirming that the workpiece search is currently calibrated based on detecting the contact point with the workpiece, Exit and then re-enter weld procedure editing mode, and A prompt to recalibrate the workpiece search is displayed upon re-entering the welding program editing mode.

17. The welding system of claim 16, wherein: The robot is a collaborative robot (cobot).

18. The welding system of claim 16, wherein: The search end point and the contact point with the workpiece are not co-located.

19. The welding system of claim 16, wherein: The user interface application is further configured to define a linear search window along the search vector, and wherein the linear search window is longer than a distance between the search start point and the contact point with the workpiece.

20. The welding system of claim 16, wherein: The contact point with the workpiece is detected by detecting a short circuit between the welding wire and the workpiece during movement of the tool center point along the search vector.

21. The welding system of claim 16, wherein: The user interface application is further configured to automatically adjust corresponding programmed positions of the plurality of welds based on recalibrating the workpiece search.