GAP WELDING PROCESS
A gap welding process (10) for manipulating a movable robotic welder (30) for making a weld between two or more substantially immovable work pieces (51) using a higher level programming language (20). The gap welding process (10) performs a data transfer routine which takes spreadsheet data (18) representing expected variables, runs a data conversion program (20) that creates weld program data including point position, user frames (34 and 36), weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, wait time, weave type and number of digital output control data. The gap welding process (10) also performs a gap-sensing routine (28) for actual weld gap measuring by using the robotic welder (30) to touch specific locations on pieces forming the gap or fixturing to produce weld variance data. The gap welding process (10) then uses a weld control program in conjunction with the weld program data (22), weld variance data (26), and feedback data (44) that is gathered during the welding process to determine and perform the correct manipulation required to produce torch movements to accurately weld the gap (32).
Priority is claimed based on U.S. Provisional Application serial No. 60/209,040 filed Jun. 2, 2000.
STATEMENT OF INVENTORSHIP Assignee Holland Company believes that the subject matter disclosed in
This proposed method and operation would electronically determine the location, orientation and size of the gap between two pieces that are to be welded together relative to the robotic welder's own coordinates. The gap welding process would adjust the predetermined welding coordinates to conform to the gap as presented, set the spatial association between the welder and the gap and then produce a sound weld.
BACKGROUNDDuring gas shielded arc welding of steel railroad rails in the field, difficulties have arisen in the past when the welding of gaps were reliant on the operators ability to position the pieces of rail to within the specified weld gap limitations. As in the case of on-site welding of large essentially immovable objects, positioning pieces of welding equipment to within the weld gap limitations can be very difficult or impossible to accomplish. Typically, robotic gas shielded arc welding has been very effective when welding is performed under controlled conditions, such as in a test laboratory, and the item to be welded can be brought to the stationary robotic welder and positioned to produce a weld gap that is within tolerance. On-site welding of large essentially immovable objects utilizing gas shielded arc welding has been ineffective until this point because of (1) the difficulties in positioning an easily transportable robotic arc welding device precisely with respect to the gap between two pieces to be welded when the pieces are stationary and repositioning is virtually impossible, (2) positioning the pieces to be welded precisely with respect to each other to define the weld gap to be welded by a nominal weld program is difficult and (3) the inability to accurately cut the faces of the pieces to be welded so that the geometrical planes created by the faces, that define the gap, are parallel to each other.
It was desirable to design a system that can sense the location and size of the gap between two pieces to be welded and automatically orient the gas arc welder to the proper location with respect to the gap to perform the welding function. It was also desirable to instantaneously gather information during the welding process to adjust data to allow the weld program to adapt to the weld gap. It was desirable to store the weld program data in a format that allows for easy manipulation of this data during the welding process. When automation is added, it is possible to properly align and modify the weld coordinates so a sound and accurate weld can be produced between two pieces.
SUMMARY OF INVENTIONThe present invention provides a gap welding process that determines the location, orientation and shape of the gap between two pieces to be welded and then uses that information, along with data stored in spreadsheet format and feedback data to gas shield arc weld the gap. The preferred welding method is gas shield arc welding but electroslag welding may also be substituted into the gap welding process. The invention has three processes, the gap sensing process, the data transfer process and the robotic welding process which work simultaneously to produce a complete and accurate weld despite variations in the size and position of the weld gap.
The gap sensing process is designed to accurately measure the location and size of the gap to be welded and save the acquired information to allow the robotic control program to modify the program data. The gap sensing process utilizes a High Level Programming Language program to maneuver the robotic welder to touch specific locations on the faces and edges of the pieces forming the weld gap or ancillary fixturing to determine the weld gap's exact location, orientation and shape.
The data transfer process uses a data conversion program to (1) process welding data stored in files in a spreadsheet format, (2) convert the welding data into weld programming data and (3) make the weld program data available for use by the robotic control programs. The principle for the format of data stored in spreadsheet is relative to each of the user frames and alternation of the user frames as the welding process continues. The stored welding data includes, but is not limited to, point position, user frame to be used, weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, wait time, weave time and digital output control data.
The gap welding process allows for the use of data from the gap sensing process to orient the welding torch to the proper coordinates for welding of the gap. It is further designed to compare weld program data provided by the data transfer process to current welding parameters in the form of feedback data to make welding calculations. The welding program then uses these calculations to determine subsequent weld process operations.
The robotic welding process uses data that has been downloaded into the robotic control program from the data transfer process, in the form of weld program data, to properly position the torch during welding. The robotic control program is written in a “Higher Level Programming Language”. Data used by the robotic control program includes feedback data, weld variance data and weld program data. Feedback data are readings taken during the weld cycle of real time welding conditions.
With the gap sensing, data transfer, and robotic welding processes working together, the gap welding process can produce a complete and accurate weld despite variations in the location, orientation and shape of the weld gap.
BRIEF DESCRIPTION OF THE DRAWINGS
Several welding processes which have proven satisfactory in laboratory testing are unable to perform adequate welds in the field, as those taught in U.S. Pat. Nos. 5,773,779 and 5,877,468 which are incorporated by reference, because of a lack of adjustment and adaptability as provided by this gap welding process. It should also be understood that the invention here is applicable to robotic welding of any workpiece which is substantially immovable, however the principles are described with particular reference to rail welding. The prior art robotic calibration problem is a result of applying the typical method of robotic control such as one used in a manufacturing assembly line where work pieces are brought to a fixed welder. When the typical method of robotic control is used, which is one where the robotic welder is in a fixed location, the operator manually positions the robotic welder and pieces to be welded so the proper gap size is created. Once the pieces are properly positioned, fixed stops are used so subsequent pieces to be welded can be positioned in the exact location as the original. When using a fixed robotic welder, pieces to be welded have identical weld face orientation which is accomplished by the use of precise cutting methods and the ability of the operator to manually position the pieces so that the faces to be welded are parallel to each other.
When the robotic welder 30 is brought out into the field, each weld gap 32 encountered is unique from the next. To perform a weld, the robotic welder 30 needs to be moved to the next gap location and realigned. Due to the immovable nature of the weld pieces, the gap welding process 10 must sense the location, orientation and origin position of the faces of the pieces that define the gap and make adjustments to weld coordinate data so it can accurately and completely fill in the weld gap 32.
A preferred embodiment of the gap welding process 10 of the present invention is shown in the flow diagram of
The gap welding process 10, which is made up of these several robotic control and sensing processes, is capable of welding a gap between two pieces of metal with variations in gap location, orientation and position. The advantages of the gap welding process 10 is the ability to locate the boundaries of the weld gap so the robotic control program 24 can continuously move the gas arc welding torch through the gap between the two pieces to be welded to properly produce a sound and accurate weld.
The gap welding process 10 is initiated with the transfer of weld data, which is performed by the data transfer process 12. The data transfer process 12, best shown in the flow diagram of
The gap sensing process 14, best shown in the flow diagram of
The arbitrary first user frame to be determined by the gap sensing program 28 is the geometrical face 52 of the piece to be welded, best shown in
After collecting the points that make up user frame 4, the robotic welder 30 is instructed by the gap sensing program 28 to determine the next user frame. This is the face that opposes user frame 4 and is arbitrarily designated as user frame 3. To determine the geometrical plane of user frame 3, and to determine orientation of the gap face within that plane, the gap sensing program 28 maneuvers the robotic welder 30 so the torch tip and/or welding wire 38 contacts the face 52 of the piece to be welded or fixturing at several locations. The points of contact typically include the two bottom corner points 65 and 66 of the face, the top center point 67 along with other points, but many point combinations may be incorporated.
The operation of using the gap sensing program 28 to determine the geometrical plane of a user frame and orientation of the face of the piece to be welded within that plane is repeated until all necessary user frames have been defined and oriented.
Once the data points are gathered for all user frames, the robotic control program 24 calculates an arbitrarily chosen user frame 2, which is an imaginary geometrical plane which has a certain orientation to previously determined user frames. User frame 2 gives the robotic control program 24 a plane of reference when performing welding functions that are not oriented to a gap face. After gathering the necessary user frame data, the robotic control program 24 determines the gap offsets 36 of the pieces to be welded by positioning the torch tip and/or welding wire 38 to touch the outside 60, inside 62 and top 64 of the pieces to be welded to determine if any parts of the piece are offset in the X-Y-Z direction from the expected coordinates as represented in the weld program data 22. Offset determination is a crucial step in the gap welding process 10 because the weld program data 22 only provides the robotic control program 24 with the welding data for ideal weld gap conditions and does not compensate for dimensional variations in the pieces to be welded. When on-site welding, it is not uncommon to encounter material to be welded that has been deformed due to wear or other elemental factors such as manufacturing defects or damage due to improper handling. Offsets 36 as well as user frames are needed so the robotic control program 24 can vary the weld program data 22 to accurately conform to the weld gap 32. Weld variance data 26, which encompasses the user frames and offsets is used by the robotic control program 24 to determine whether the weld gap is within the allowable welding tolerance. If the weld gap 32 is larger or smaller than the acceptable tolerance limits, the robotic control program 24 will abort and no weld will be made.
The variance data allows the gap welding process 10 to be adapted to each individual weld gap 32. The gap sensing program 28, which uses a Higher Level Programming Language, uses the data received by physically touching the pieces to be welded to initialize the weld variance data 26. The initializing of the weld variance data 26 is when the gap sensing program 28 initializes the user frames to best fit the orientation of the weld gap 32, faces 52 and edges 53 and sets the offsets 36 to be used in the robotic welding process 10.
The robotic welding process 16, as shown in the flow diagram in
The Lower Level Welding Program 48 first receives instructions from the robot control program 24 and then the Lower Level Welding Program 48 written in a Low Level Programming Language is used as an Instruction Translating Program. The converted instructions are then transmitted from the Lower Level Welding Program 48 to the robotic welding control software that instructs the robotic welder 30 to properly position the welding torch and perform the appropriate operations, which produce a sound and accurate weld in the weld gap 32.
Various features of the invention have been particularly shown and described in connection with the illustrated embodiment of the invention, however, it must be understood that these particular arrangements merely illustrate, and that the invention is to be given its fullest interpretation.
Claims
1. A data transfer process adapted to allow predetermined welding position data stored as spreadsheet data to be converted into weld program data for a robotic control program of a robotic welder comprising:
- storing as spreadsheet data information needed to instruct a robotic welder;
- selecting spreadsheet data by performing one of the steps of choosing a preselected group of spreadsheets, or creating a customized group by selecting individual spreadsheet data, or substituting other spreadsheet data depending on the dimensions of the pieces to be welded;
- converting said spreadsheet data by a data conversion program to weld program data that can be used to position the robotic welder;
- in which the weld program data contains variables in a coordinate system that allows for three dimensional positioning and rotation of the robotic welder;
- the stored weld program data including, point position, user frame to be used, weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, weave time and digital output control data;
- performing a data conversion program in a high level programming language to transfer the weld program data into a program data memory location within the robotic control program, the weld program data providing detailed information so the robotic control program can accurately maneuver the robotic welder in a weld gap relative to the user frames that will be definable in a gap sensing process.
2. The weld program of claim 1 further comprising:
- said spreadsheet data being creatable and alterable depending upon the object to be welded.
3. The weld program of claim 2 further comprising:
- said spreadsheet can be selected by the operator, as needed depending on the complexity or simplicity of the weld subject matter.
4. The weld program of claim 3 further comprising:
- said data transfer process having its information supplementable by information for the robotic control program to manipulate within a gap based on measurements of additional physical data is required so the robotic control program can conform to a specific weld gap.
5. The weld program of claim 4 further comprising:
- said weld program data contains variables in an X-Y-Z-W-P-R coordinate system.
6. A gap welding process for manipulating a movable robotic welder for making a weld between two or more substantially immovable work pieces the invention being operable as an intermediate step in conjunction with a gap-sensing routine for actual weld gap measuring by using the robotic welder to touch specific locations on pieces forming the gap or fixturing to produce weld variance data operably interfaced with a weld control program using weld variance data, and feedback data that is gathered during the welding process to determine and perform the correct manipulation required to produce torch movements to accurately weld the gap, the improvement comprising:
- using a high level programming language to generate weld program data;
- performing a data transfer routine which takes recorded data representing expected variables, runs a data conversion program that creates weld program data;
- processing said data transfer and exporting same as said weld program data, thence further usable in the robotic control program.
7. The weld program of claim 6 further comprising:
- said data including point position, user frames, weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, wait time, weave type and number of digital output control data.
8. The weld program of claim 7 further comprising:
- said recorded data being recorded in the form of spreadsheet data
9. The weld program of claim 8 further comprising:
- said weld program data contains variables in an X-Y-Z-W-P-R coordinate system.
10. The weld program of claim 8 further comprising:
- storing as spreadsheet data information needed to instruct a robotic welder;
- selecting spreadsheet data by performing one of the steps of choosing a preselected group of spreadsheets, or creating a customized group by selecting individual spreadsheet data, or substituting other spreadsheet data depending on the dimensions of the pieces to be welded.
11. The weld program of claim 10 further comprising:
- said data conversion being performed in the high level programming language Karel.
12. The weld program of claim 11 further comprising:
- said spreadsheet data representing prerecorded and measured variables for welding railroad rails.
13. A robotic welding controlling subroutine comprising:
- starting a data conversion program routine;
- said data conversion program routine retrieving recorded parameters for defining a model weld;
- processing said recorded parameters with a high level programming language to output weld program data usable by a lower level welding program.
14. The weld program of claim 13 further comprising:
- said data conversion program routine running using the Karel program language.
15. The weld program of claim 13 further comprising:
- said recorded parameters including point position, user frames, weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, wait time, weave type and number of digital output control data.
16. The weld program of claim 13 further comprising:
- storing said recorded parameters as spreadsheet data information needed to instruct a robotic welder;
- selecting said spreadsheet data by performing one of the steps of choosing a preselected group of spreadsheets, or creating a customized group by selecting individual spreadsheet data, or substituting other spreadsheet data depending on the dimensions of the pieces to be welded.
17. The weld program of claim 13 further comprising:
- said data conversion program routine running using the Karel program language;
- said recorded parameters including point position, user frames, weld schedule, seam tracking schedule, weave schedule, azimuth orientation, travel speed, wait time, weave type and number of digital output control data;
- storing said recorded parameters as spreadsheet data information needed to instruct a robotic welder;
- selecting said spreadsheet data by performing one of the steps of choosing a preselected group of spreadsheets, or creating a customized group by selecting individual spreadsheet data, or substituting other spreadsheet data depending on the dimensions of the pieces to be welded.
Type: Application
Filed: May 5, 2006
Publication Date: Aug 31, 2006
Inventor: Richard Thelen (Eau Claire, WI)
Application Number: 11/381,946
International Classification: B23K 11/24 (20060101); G06F 19/00 (20060101);