US RE40212 E1 Abstract First, an operator sequentially teaches the start point A, the end point F and junction points B, C, D, E on the welding path by moving the torch head by jog feed without paying attention to the torch orientation. Next, a reference plane to define the orientation of the torch is specified, and an inclination angle and a forward angle representing the torch orientation be inputted into a robot controller. On the basis of these inputted angle data and the taught data, a basic welding orientation is automatically calculated. Further auxiliary points are set around the junction points B through E each forming corner parts connecting straight lines; tool vectors which may give a smooth torch orientation change through the corner parts are automatically calculated for the auxiliary points and the junction points; and on the basis of the results, a welding program is produced. Among elements which determine the torch orientation, an element relating to the rotation around the torch axis reflects the state at the time of teaching of points A to E.
Claims(7) 1. A method for teaching a welding torch orientation for executing an arc welding by a welding torch supported by a robot, said method including the steps of:
transferring existing position data indicating a start point, an end point and junction points between sections on a weld line to the robot controller;
for each section inputting a forward angle which is an inclined angle of the welding torch with reference to a direction of the sectionweld line;
obtaining a reference plane by teaching, or selecting any one of planes previously stored in a robot controller as a reference plane, and then inputting for each section, an inclination angle which is an inclined angle of the welding torch with respect to the reference plane;
calculating, in software, a desired torch orientation for the length of each section based on the data on the respective points transferred to said robot controller, and said inputted inclination angle and said forward angle;
setting auxiliary points in the periphery of the junction point, for each junction point that connects a straight-line section with another straight line section; and
allocating the torch orientation, in software, for each of the set auxiliary points and junction points according to the arrangement of the points, so that the torch orientation is changed gradually from said desired torch orientation in the section after the junction point to said desired torch orientation in the section before the junction point.
2. A method for teaching a welding torch orientation for executing the arc welding by a welding torch supported by a robot, said method including the steps of:
teaching the position of a start point, an end point and junction points between sections on a weld line by a robot jog feed operation without imposing a specific condition on the torch orientation;
for each section inputting a forward angle which is an inclined angle of the welding torch to the direction of the sectionwith reference to a weld line;
obtaining a reference plane by teaching, or selecting any one of planes previously stored in a robot controller as a reference plane, and then inputting, for each section, an inclination angle which is an inclined angle of the welding torch with respect to the reference plane;
calculating a desired torch orientation, in software, for each section on the basis of the taught data on the respective points, and said inputting inclination angle and said forward angle;
setting auxiliary points in the periphery of a junction point for each junction point that connects a straight-line section with another straight-line section; and
allocating the torch orientation for each of the set auxiliary points and junction points in software, according to the arrangement of the points, so that the torch orientation is changed gradually from said desired torch orientation in the section after the junction point to said desired torch orientation in the section before the junction point.
3. A method for teaching a welding torch orientation as set forth in
4. A method of teaching a welding torch orientation as set forth in
5. A method of teaching a weld torch orientation for executing the arc welding by a welding torch supported by a robot, said method comprising the steps of:
(a) teaching position data indicating a start point of a weld line, an end point of the weld line and connection points dividing the weld line into a plurality of straight-line sections;
(b) obtaining a reference plane by teaching or selecting any one of planes already stored in a robot controller;
(c) defining a three-axis rectangular coordinate system for each straight-line section based on a direction of a straight-line section and a normal direction of the reference plane taught or selected in step (b);
(d) transforming a tool vector composed of a set of three rectangular unit vectors, including a torch direction unit vector, to an expression in the three-axis rectangular coordinate system defined in step (c);
(e) calculating a taught inclination angle and a taught forward angle from the tool vector expressed in the three-axis rectangular coordinate system, the inclination angle being defined as an angle of the welding torch with respect to the plane, and the forward angle as an angle of the welding torch with respect to the direction of the section, and then, on the basis of these angles, determining a taught spin angle as a taught orientation with the torch direction taken as an axis;
(f) calculating the tool vector expressed in the three-step rectangular coordinate system determined in step (c), from the taught spin angle obtained in step (e), a forward angle specified by input, and an inclination angle specified by input;
(g) obtaining a basic welding orientation for said straight-line section, by transforming the calculated tool vector obtained in step (f) to an expression in the base coordinate system;
(h) setting at least one auxiliary point spaced apart by a predetermined distance in the straight-line section at least one of before and after a junction point, with the junction point as a reference;
(i) specifying the basic welding orientation for the straight-line section defined in step (g) to an auxiliary point at the position most apart from the junction point in the forward/rearward straight-line section, among auxiliary points set in step (h); and
(i) allocating the torch orientation for any remaining auxiliary points and said junction points according to the arrangement of the points, so that the torch orientation is changed gradually from the basic torch orientation for one straight-line section defined in step (g) to the basic torch orientation for the next straight-line section.
6. A method of teaching a welding torch orientation as set forth in
7. A method of teaching a welding torch orientation as set forth in
Description 1. Field of the Invention The present invention relates to a method for teaching a robot capable of implementing a proper torch orientation in performing welding work by play back operation of the robot supporting a torch for arc welding. 2. Description of the Related Art Where a welding work is performed by play back operation of a robot supporting a welding torch (hereinafter referred to as torch), the orientation of the torch, as well as the position (three dimensional position) of its head, must be properly maintained during the movement of the robot. If the torch orientation is improper, a required welding work can not be accomplished even when the torch head moves on a welding path to trace properly a weld line. Especially, for a weld line path having a large curvature such as corner portion, teaching requiring the torch to sharply change its orientation should be avoided. Now, with reference to (1) The robot is advanced by jog feed until the torch position (tool center point (2) Without changing the taught orientation, the robot is moved along the welding path until the torch position coincides with a position PB located a little before a point B (path junction point B) at which the welding path is bent; and then the position PB is taught. As torch orientation, the orientation a having been taught at the point A is taught as it is. (3) The robot is advanced further from the position PB until the torch position coincides with the path junction point B, and then the path junction point B is taught. As torch orientation, an intermediate orientation b′ between an optimum orientation (given as b), as a welding orientation of the welding path starting from the start point B, and the orientation a having been taught at the start point A or the position PB is taught. (4) The robot is advanced further from the point B until the torch position coincides with the position QB located a little beyond the path junction point B, and then the position QB is taught. As the torch orientation, the optimum orientation b as the welding orientation of the welding path starting with the start point B is taught. (5) Thereafter, the same operations are repeated to teach the positions of points PC, C, QC, PD, D, QD, PE, E, QE, and an end point F, and in addition, as the torch orientation, the orientations b, c′, c, c, d′, d, d, e′, e, e at these points are taught. The meanings of these codes are as follows: -
- c: Optimum torch orientation at path CD
- d: Optimum torch orientation at path DE
- e: Optimum torch orientation at path EF
- c′: Intermediate orientation between orientations c and d
- d′: Intermediate orientation between orientations d and e
However, in the above-mentioned conventional teaching method, and the end point F, the position and orientation of the points PB, QB, PC, QC . . . positioned near before and behind the junction points B, C . . . must be taught as well as the start point A, the junction points B, C . . . , so that there is a disadvantage that the teaching work load becomes large. Particularly, it requires a high skill and a long period of time to perform correctly teaching of the torch orientation affecting welding accuracy. Particularly, the torch orientation at the point at which the welding path is bent, that is, the path junction points B, C . . . must be taught in such a manner that the change in the torch orientation must be smoothly performed in a small section ranging from before to behind these junction points. However, any simple and objective method for finding out such orientation is not available, thereby relying on the intuition and experience of an operator. Therefore, it is difficult to obtain a stable welding accuracy which is not influenced by the skillfulness of an operator. An object of the present invention is to provide a method of teaching a robot capable of implementing a proper torch orientation in performing welding work by play back operation of the robot supporting a torch for arc welding, with a less work load. The teaching according to the present invention follows substantially the following procedure: -
- (1) While advancing a robot by jog feed, the position of the start point and end point on a weld line defining a section, and of the junction points between these points are taught. However, instead of this teaching, there may be used either the position data of already prepared program or the position data prepared off line.
- (2) A required torch welding orientation for respective sections is set on the basis of a reference plane.
- (3) On the basis of both the position data of the junction points thus taught and the torch orientation set with respect to the sections starting from the junction points, a basic welding orientation for each section is calculated.
- (4) One or a plurality of auxiliary points are set on the respective weld lines before and behind each junction point. Among these auxiliary points, for the most behind auxiliary point, the basic welding orientation for the section just before the present junction point is set, while for the most front auxiliary point, the basic welding orientation for the section starting from the present junction point is set. Further, the intermediate auxiliary points and junction points, with most behind and most front auxiliary points excluded, are given intermediate orientations between the basic welding orientations, which are different from each other according to the arrangement order. The torch orientation is set so as to be changed smoothly near the junction points.
Using the method of the present invention, it is possible to produce automatically a program for realizing a desired torch orientation, by deliberately teaching only the position of the start point, the end point and junction points which divide the intermediate weld line into a plurality of sections, without paying a particular attention to the welding torch orientation. Further, in calculating the welding orientation, it is also possible to reflect the orientation around the torch axis which was taught at the beginning. The foregoing and other objects and feature of the invention will become apparent from the following description of preferred embodiments of the invention with respect to the accompanying drawings, in which: With reference to The axis control part The RAM A procedure for performing the teaching according to the present invention using the above-described welding robot system will be explained hereinafter, Teaching method of the present invention is accomplished by performing the following three steps, that is, step (1), step (2) and step (3). The three steps correspond to 1. [Step (1)] At this step, the position data of respective points including the start point A, end point F, and intermediate path junction points B, C, . . . E on the welding path is obtained. This work is accomplished, as shown in At this step, instead the above-mentioned teaching, either the position data of already prepared program relating to the respective points A through F or the position data (orientation data is not necessary) prepared off line may be transferred to the robot controller 2. [Step (2)] At this step, the welding orientation (hereinafter referred to as basic orientation) which is believed to be optimum for each of the sections AB, BC, . . . EF is automatically calculated. First, a reference plane for defining the torch orientation is specified, and then an angle parameter representing the orientation is inputted into the robot controller In The parameters to be inputted to calculate the basic orientation and a method for calculating the basic orientation will be explained hereinafter. First, with reference to First, a reference plane, which is used as a reference for specifying an inclination angle described later, is set. When assuming a plane y on which a straight line representing the direction of the torch When the reference plane β was set, then a three dimensional rectangular coordinate system for calculating the torch orientation is set for each path by using the vector in the path direction and the normal vector of the reference plane. The torch orientation is expressed by a 3×3 matrix corresponding to the orientation expressing part of a 4×4 homogeneous transformation matrix representing the position/orientation of the tool coordinate system. The matrix is composed of three rectangular unit vectors, that is, a normal vector <N>, an orientation vector <O> and an approach vector <A>. Thus, the vector (<N> <O> <A>) representing the tool orientation is called a tool vector. Hereafter, it is defined that “<>” represents a vector; “x” and “•” placed between vectors indicate an outer product and an inner product respectively. 2. a: How to define a coordinate system for the section AB (refer to A unit vector <U> in the direction from the point A to the point B is calculated by the following equation [1], and the vector is taken as the X-axis of a coordinate system to be determined.
Then, the outer product <V> of a normal vector <n> of the reference plane and the unit vector <U> in the X-axial direction is calculated by the following equation [2], and the product is taken as the Y-axis of a coordinate system to be determined.
Finally, the outer product <W> of <U> and <V> is calculated, and the product is taken as the Z-axis of a coordinate system. As described above, from the direction of the section (A→B) and the normal vector <n> of the reference plane, the XYZ coordinate in this section can be set. Therefore, in setting a coordinate system in a section, it does not matter whether the direction of the section is within the reference plane. For example, even when the line connecting the point A and point B is not placed on the reference plane β, the X-axis is set in the direction A-B; the Y-axis, in the direction perpendicular to the X-axis and the normal line of the reference plane; and the Z-axis, in the direction perpendicular to the X-axis and the Y-axis. Hereafter, in this manner, for each of the sections AB, BC . . . , respective coordinate system (which system is hereinafter called [UVW]) is defined, and for each section on the coordinate system [UVW], the inclination angle θ and the φ is specified. 2. b: How to calculate the torch orientation (tool vector) implementing the specified inclination angle θ and the forward angle φ on the determined coordinate system [UVW] The matter to be paid attention when calculating the torch orientation is that, in a general robot having six degrees of freedom, the torch orientation can be unconditionally defined only by determining a spin angle (an angle representing the orientation of a rotation around the axis of the torch In this embodiment, in determining the spin angel, a method is employed in which the spin angle at the above-mentioned step (1) is caused to be reflected in the torch orientation which has been transformed to the program data corresponding to 2. b.1: From the orientation data at the teaching of the point A, the taught spin angle (taught_spin_ang) is determined. During determining process of the taught spin angle, although the inclination angle and the forward angle at the time of teaching are also calculated, the data thereof becomes unnecessary. 2. b.1.1: Using the equation [3], the tool vector (<N> <O> <A>) representing the tool orientation at the time of teaching is transformed to the expression [ 2. b.1.2: The taught inclination angle at the time of teaching (expressed as taught_incl_ang) is calculated by the following equation [4].
2. b.1.3: Calculation of forward angle at the time of teaching (taught_fwrd_ang) First, the tool vector [ The forward angle at the time of teaching (taught_fwrd_ang) is given by the following equation [7].
2. b.1.4: Calculation of spin angle at the time of teaching (taught_spin_ang) First, the previously determined tool vector [ Then, the spin angle at the time of teaching (taught_spin_ang) is determined by the following equation [10].
2. b.2: From the calculated spin angle at the time of teaching expressed as (taught_spin_ang), and the inclination angle specified by inputting (expressed as incl_ang) and the forward angle (expressed as fwrd_ang), a tool vector representing the target torch orientation is calculated. 2. b.2.1: A transformation matrix is determined which represents the rotation with the same magnitude as taught_spin_ang around <W> which is the Z-axis of the coordinate system [UVW]. That is, the matrix applying the rotation to the unit matrix is determined. This is determined by the following equation [12], using the next equation [11].
2. b.2.2: [ 2. b.2.3: [ 2. b.2.4: The calculated tool vector [ At this step, an automatic calculation is executed by software processings, which, using the program where the basic welding orientation shown in In this embodiment, auxiliary points are added before and behind respective junction points. However, the points may be added to only front or only behind the junction points. When the position of the auxiliary points has been determined by the automatic calculation, tool vectors at the added respective auxiliary points and at the respective junction points are calculated to realize a smooth transition of the torch orientation near the junction points. Generally, the taught orientation at the junction points B, C . . . E becomes different from the basic welding orientation at the junction points B, C . . . E shown in FIG. The method of calculating the position of the auxiliary points to be added, and the method of calculating respective junction points and tool vectors at the respective junction points will be sequentially explained hereinafter. For the start point A and the end point F, the basic welding orientation determined for the path AB and EF are used respectively as the taught orientation. Although the number of added auxiliary points to be added may be two or more in all, including auxiliary points before and behind the junction point, according to the specification of the user, here the number is determined four including two points before and two points behind the junction point. A tool vector representing the orientation at the respective points a, b, c, d, e of Here, it is assumed that the orientation at the auxiliary point a is made to be coincide with the basic welding orientation determined for the start point A, while the orientation at the auxiliary point e is made to be coincide with the basic welding orientation determined for the junction point B. Tool vectors at the midway auxiliary points b, c, d is determined in equally dividing relationship so that the torch orientation is smoothly changed through four small sections ab, bc, cd, de. The calculation of the position of auxiliary points and the method of specifically calculating the equal division of orientation will be explained hereinafter. 3. a: Calculation of position of auxiliary points a, b to be set on path A-B in front of junction point B The auxiliary points a, b should be defined by the following equations [18] through [20]. The meaning of codes used here is taken as follows: -
- n: Number of auxiliary points to be set in front of (or behind) junction point B (user set value, two in case of
FIG. 10 ) pitch: Auxiliary point inserting interval (user set value) - <P1>: Vector representing point A
- <P2>: Vector representing point B
- i: Auxiliary point number (i=0 for a, i=1 for b, in case of
FIG. 10 ) - <Li>: Vector going from point B toward the i-th auxiliary point
- <Pai>: Vector representing the i-th auxiliary point determined by calculation
$\begin{array}{cc}<\mathrm{Li}>=\frac{<\mathrm{p1}>-<\mathrm{p2}>}{\uf603<\mathrm{p1}>-<\mathrm{p2}>\uf604}*\mathrm{pitch}*\left(n-i\right)& \left[18\right]\\ <\mathrm{Pai}>=<\mathrm{p2}>+<\mathrm{Li}>& \left[19\right]\\ \text{\hspace{1em}}=<\mathrm{p2}>+\frac{<\mathrm{p1}>-<\mathrm{p2}>}{\uf603<\mathrm{p1}>-<\mathrm{p2}>\uf604}*\mathrm{pitch}*\left(n-i\right)& \left[20\right]\end{array}$
- n: Number of auxiliary points to be set in front of (or behind) junction point B (user set value, two in case of
3. b: Calculation of position of auxiliary points d, e set on path B-C on the rear side of junction point B This calculation is made by the calculation similar to the above-described 3. a. Therefore, the description of the calculation equations will be omitted. 3. c: Calculation of orientation at auxiliary points With a change in the orientation at a junction point taken as a change from an orientation -
- n: Number of auxiliary points on path in front of junction point B (=number of auxiliary points on path on rear side of junction point) (both are user set values)
- i: Auxiliary point number (0≦i≦2n; in case of n=2, i=0, 1, 2, 3, 4)
- weld_dir_vec
**1**: Unit vector representing advance direction of the path in front of junction point - weld_dir_vec
**2**: Unit vector representing advance direction of the path on rear side of junction point - [<Ns> <Os> <As>]: Tool vector corresponding to orientation
**1** - [<Ne> <Oe> <Ae>]: Tool vector corresponding to orientation
**2** - <k
**0**>: Normal vector of plane including weld_dir_vec**1**and weld_dir_vec**2**(generally not unit vector) - t
**0**: Angle between weld_dir_vec**1**and weld_dir_vec**2**
3. c. 1: Calculation of vector <k The vector <k s Then, a vector [<Ne′> <Oe′> <Ae′>] corresponding to the orientation However, if s Where the vector <V> is a unit vector, and when the following equations are set:
3. c. 2: Calculation of <k The orientation First, the approach vector of the orientation Then, the orientation 3. c. 3: Calculation of <k With respect to the direction around an approach vector, there is a deviation between the orientation A vector acting as a rotational center is taken as <k Now, the vectors <k 3. c. 4: Equal division processing Considering the total number of auxiliary points before and behind junction points and the junction points themselves, the number h of orientations to be calculated for one junction point is given as h=2n+1 (in the example of First, a vector [<N Then, [<N Further, according to the sign of save_sign, <k Finally, [<Ni> <Oi> <Ai>] obtained by rotating [<N By performing the processing including the above-described calculation contents on individual junction points, the position of auxiliary points in the above paragraphs, 3.a and 3. b, and the orientation at the auxiliary points (and junction points) in the paragraph, 3. c are determined. Therefore, by combining them, all position data relating to respective junction points will obtained. 4. [Teaching processing] On the basis of the above-mentioned description, the procedure and processing of the teaching method in this embodiment, mainly the operation an operator performs, will be further explained hereinafter. [Preparation] (1) First, for the preparation to perform the teaching of the torch orientation, the operator teaches sequentially the start point, end point and junction points on the welding path as shown in (2) Then, an operation screen of the torch orientation quick teach function is displayed on the LCD [Operation/processing execution procedure] With reference to the flow chart of (3) First, a program name (“TEST”) of a program which becomes a transformation source and is taught in the [preparation (4) Then, whether the transformed part is newly “produced”, or “replaced” by part specified by the transformation source is set (step S (5) When “produced” is set at the above-mentioned (4) (step S (6) If the program name inputted in the above-mentioned (5) has been registered, the number of the row corresponding to the transformed part to be inserted is set. Where the program is an unregistered (newly produced) program, such setting is not required. (7) Then, the page switching key is depressed to cause “Welding orientation automatic calculation screen” to be displayed on the screen of the LCD (8) On “Welding orientation automatic calculation screen”, first, whether the reference plane which is a plane used for setting an inclination angle is taught or not is set by selecting “Yes” or “No”. When the reference plane is not set by teaching, the plane parallel to the robot installing plane (floor plane) is considered to be set as the reference plane. The data on the reference plane is given in the form of the data on normal vectors. The direction of the reference plane is specified by the direction of the normal vector. (9) When in the above-mentioned (8), the teaching of the reference plane is selected (step S (10) The inclination angle θ and the forward angle φ desired for each section should be inputted with a numerical value (steps S (11) To execute the processing of “Torch orientation automatic calculation”, the function key “TRANSFORMATION” should be depressed. This causes the processing of “Torch orientation automatic calculation” to be started, whereby the basic welding orientation satisfying the conditions of the desired inclination angle θ and the forward angle φ is calculated for each section (refer to FIG. Now, let corner part be a part where in which a straight-line section with a length more than a predetermined value crosses at a junction point with another straight-line section with a length more than a predetermined value, for example, a part in which on the weld line of For example, this applies to a case where two semicircle paths (HIJ and JKH) are connected into a circle to weld the circumference, as shown in FIG. (12) On the contrary, when the weld line has a corner part, the page switching key should be further depressed to cause the execution screen of “Automatic calculation for smooth orientation change” to be displayed. This is shown in FIG. (13) In this screen, first, the number n of auxiliary points to be inserted into positions before and behind a junction point forming the corner part is set (step S (14) Then, the inserting interval (the above-mentioned “pitch”) of auxiliary points should be inputted with a numerical value (step (15) Finally, depressing the function key “EXECUTION” of the teaching pendant Patent Citations
Non-Patent Citations
Referenced by
Classifications
Rotate |