Teaching program generation method and teaching program generation device
通过在工件表面内预先规定允许范围内决定感测位置,生成示教程序,解决了现有技术中示教程序生成复杂度高和作业者熟练度要求的问题,实现了更简单和高效的示 Teach program generation.
Patent Information
- Application Number
- CN202411023650.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-07-29
- Publication Date
- 2025-02-14
AI Technical Summary
When generating teaching programs, the prior art requires pre-registration of main data and action modes, resulting in additional registration of unconceived shapes and patterns of workpieces that increase the burden on the operator and require high proficiency.
By determining the sensing positions on the surface of the workpiece and generating a teaching program based on these positions, the sensing position is determined within a pre-defined allowable range of the maximum allowable amount of offset relative to the workpiece and the offset direction.
It reduces the user's work load, simplifies the generation process of teaching programs, and reduces the requirements for the operator's proficiency.
Smart Images

Figure CN119426759A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and device for generating a teaching program. Background Art
[0002] In the past, various methods have been proposed for industrial robots using a teaching playback method in order to improve the efficiency of teaching operations. As an example of such an industrial robot, a welding robot can be cited. For example, in welding based on a welding robot, there is a known method of correcting the offset of a workpiece by touch sensing based on a welding wire. When performing this correction, it is necessary to determine the position to be sensed, the sensing mode, etc. based on the shape of the workpiece, the groove shape of the welding part, etc.
[0003] For example, Patent Document 1 discloses a structure in which a desired sensing pattern is selected from a preset sensing pattern group, a sensing path pattern corresponding to the sensing pattern is selected, and an optimal sensing path is determined.
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Publication No. 2002-149215
[0007] In the method such as Patent Document 1, it is necessary to register master data and action modes in advance. Therefore, additional registration of unexpected shapes and modes is required for the workpiece to be sensed. In addition, selecting an appropriate action mode from a large number of registered action modes to generate a teaching program increases the burden on the operator and requires a high level of proficiency in this regard. Summary of the invention
[0008] Problems to be solved by the invention
[0009] An object of the present invention is to reduce the workload of a user regarding generation of a teaching program related to sensing.
[0010] Solutions to Solve Problems
[0011] In order to solve the above-mentioned problems, the present invention has the following structure. That is, a method for generating a teaching program, which is a method for generating a teaching program for specifying a sensing action, wherein:
[0012] The method for generating the teaching program includes:
[0013] determining a process, determining a sensing position on a surface of a workpiece; and
[0014] a generating step of generating a teaching program for the sensing operation based on the sensing position determined in the determining step,
[0015] The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
[0016] In addition, another embodiment of the present invention has the following structure. That is, a teaching program generation device is a teaching program generation device that specifies a sensing action, wherein:
[0017] The generating device of the teaching program comprises:
[0018] a determination unit that determines a sensing position on a surface of a workpiece; and
[0019] a generating unit that generates a teaching program for the sensing action based on the sensing position determined by the determining unit,
[0020] The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
[0021] Effects of the Invention
[0022] According to the present invention, it is possible to reduce the workload on the user in generating a teaching program related to sensing. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 This is a schematic diagram showing an example of a system configuration according to one embodiment of the present invention.
[0024] Figure 2 This is a block diagram showing a configuration example of a robot control device according to an embodiment of the present invention.
[0025] Figure 3A This is a schematic diagram showing an example of a groove shape (T-joint fillet weld) according to one embodiment of the present invention.
[0026] Figure 3B This is a schematic diagram showing an example of a groove shape (step fillet weld) according to an embodiment of the present invention.
[0027] Figure 3C This is a schematic diagram showing an example of a groove shape (T-joint "レ" type groove) according to one embodiment of the present invention.
[0028] Figure 3D This is a schematic diagram showing an example of a groove shape (butt I-shaped groove) according to one embodiment of the present invention.
[0029] Figure 3EThis is a schematic diagram showing an example of a groove shape (butted V-groove) according to one embodiment of the present invention.
[0030] Figure 3F This is a schematic diagram showing an example of a groove shape (a butt-jointed "レ" type groove) according to one embodiment of the present invention.
[0031] Figure 4 This is a table showing a correspondence example of joint / groove types according to one embodiment of the present invention.
[0032] Figure 5 This is a table showing an example of a determination pattern of sensing points based on the joint / groove type according to one embodiment of the present invention.
[0033] Fig. 6A This is a schematic diagram for explaining determination of a Z-direction sensing point according to one embodiment of the present invention.
[0034] Figure 6B This is a schematic diagram for explaining determination of Y-direction sensing points according to one embodiment of the present invention.
[0035] Figure 6C This is a schematic diagram for explaining determination of Y-direction sensing points according to one embodiment of the present invention.
[0036] Fig.6D This is a schematic diagram for explaining determination of Y-direction sensing points according to one embodiment of the present invention.
[0037] Fig. 6E This is a schematic diagram for explaining determination of Y-direction sensing points according to one embodiment of the present invention.
[0038] Figure 7 This is a flowchart of a teaching program generation process according to one embodiment of the present invention.
[0039] Description of reference numerals:
[0040] 1. Welding system
[0041] 10. Welding Robot
[0042] 11 Welding torch
[0043] 12 Wire feeding device
[0044] 13 Welding wire
[0045] 20 Robot control device
[0046] 201CPU
[0047] 202 Memory
[0048] 202A Control Procedure
[0049] 203 Operation panel
[0050] 204 Robot connection part
[0051] 205 Ministry of Communications
[0052] 30 Power supply unit
[0053] 40 Vision Sensor
[0054] 50 Data processing device
[0055] 60 Teaching Pendant
[0056] W workpiece. DETAILED DESCRIPTION
[0057] Hereinafter, the mode for implementing the present invention will be described with reference to the accompanying drawings, etc. It should be noted that the embodiment described below is an embodiment for describing the present invention and is not intended to limit the interpretation of the present invention. In addition, all structures described in each embodiment are not limited to the structures necessary to solve the problems of the present invention. In addition, in each of the accompanying drawings, the same reference numerals are used to indicate the corresponding relationship for the same constituent elements.
[0058] [Structure of welding system]
[0059] Figure 1 A configuration example of welding system 1 according to the present embodiment is shown. Figure 1 The welding system 1 shown is configured to include a welding robot 10 , a robot control device 20 , a power supply device 30 , a vision sensor 40 , a data processing device 50 , and a teaching pendant 60 .
[0060] Figure 1 The welding robot 10 shown is composed of a six-axis multi-joint robot, and a welding torch 11 for GMAW is installed at its front end. It should be noted that GMAW includes, for example, MIG (Metal Inert Gas) welding and MAG (Metal Active Gas) welding. In this embodiment, MAG welding is cited as an example for explanation. In addition, the welding robot 10 is not limited to a six-axis multi-joint robot. For example, a small movable robot may also be used. The welding robot 10 of this embodiment has a structure that can perform touch sensing by detecting changes in current and voltage at its front end. It should be noted that the sensing method is not limited to touch sensing. As long as the structure is capable of detecting the positional relationship between the welding torch 11 and the workpiece W, other sensing methods may also be used.
[0061] The welding wire 13 is supplied from the welding wire feeding device 12 to the welding torch 11. The welding wire 13 is fed from the front end of the welding torch 11 toward the welding part. The power supply device 30 supplies power to the welding wire 13. With this power, an arc voltage is applied between the welding wire 13 and the workpiece W, and an arc is generated. The power supply device 30 is provided with a current sensor (not shown) for detecting a welding current flowing from the welding wire 13 during welding to the workpiece W, and a voltage sensor (not shown) for detecting an arc voltage between the welding wire 13 and the workpiece W.
[0062] The power supply device 30 has a processing unit and a storage unit (not shown). The processing unit is composed of, for example, a CPU (Central Processing Unit). In addition, the storage unit is composed of, for example, a volatile or non-volatile memory such as an HDD (Hard Disk Drive), a ROM (Read Only Memory), and a RAM (Random Access Memory). The processing unit controls the power applied to the welding wire 13 by executing a computer program for power supply control stored in the storage unit. The power supply device 30 is also connected to the welding wire feeding device 12, and the processing unit controls the feeding speed and feeding amount of the welding wire 13.
[0063] The composition and type of the welding wire 13 can be used according to the welding object. Examples of the types of the welding wire 13 include solid welding wire and flux-cored welding wire containing flux. In addition, examples of the material of the welding wire 13 include mild steel, stainless steel, aluminum, titanium, etc., and the surface of the welding wire may be plated with copper or the like. In addition, the diameter of the welding wire 13 is not particularly limited.
[0064] The visual sensor 40 is composed of, for example, a CCD (Charge Coupled Device) camera. The configuration position of the visual sensor 40 is not particularly limited, and the visual sensor 40 can be directly mounted on the welding robot 10. Alternatively, it can be fixed to a certain location in the surrounding area as a monitoring camera. When the visual sensor 40 is directly mounted on the welding robot 10, the visual sensor 40 moves in a manner corresponding to the movement of the welding robot 10 to photograph the periphery of the front end portion of the welding torch 11. The number of cameras constituting the visual sensor 40 can also be multiple. For example, the visual sensor 40 can also be composed of multiple cameras with different functions and installation positions. In addition, the visual sensor 40 can also be configured to be omitted.
[0065] The data processing device 50 is composed of, for example, a CPU, ROM, RAM, a hard disk device, an input / output interface, a communication interface, an image output interface, a display unit (hereinafter also referred to as a display), etc. (not shown). The data processing device 50 can be composed of, for example, an information processing device such as a PC (Personal Computer). The data processing device 50 can be used by the operator to perform various settings and management of the welding system 1.
[0066] Each part constituting the welding system 1 is connected to each other in a communicative manner by various wired / wireless communication methods. The communication method here is not limited to one, and a plurality of communication methods may be combined to connect.
[0067] [Structure of the robot control device]
[0068] Figure 2 The following is a configuration example of a robot control device 20 for controlling the operation of the welding robot 10. The robot control device 20 is configured to include a CPU 201 for controlling the entire device, a memory 202 for storing data, an operation panel 203 including a plurality of switches, a robot connection unit 204, and a communication unit 205. The memory 202 is configured by a volatile or nonvolatile storage device such as a ROM, a RAM, or a HDD. A control program 202A for controlling the welding robot 10 is stored in the memory 202. The CPU 201 controls various operations of the welding robot 10 by executing the control program 202A.
[0069] In inputting instructions to the robot control device 20, the operation panel 203 and the teaching pendant 60 can be used, and the teaching pendant 60 is mainly used. The teaching pendant 60 is connected to the robot control device 20 main body via the communication unit 205. The operator can input a teaching program using the teaching pendant 60. The robot control device 20 controls the welding robot 10 according to the teaching program input from the teaching pendant 60 or the teaching program automatically generated by the method described later. The action content defined by the teaching program is not particularly limited and may differ according to the specifications of the welding robot 10 and the welding method.
[0070] The teaching pendant 60 can manually operate the welding robot 10 via the robot control device 20. In the present embodiment, the welding robot 10 of the teaching playback method is applied. In this method, the operator can manually operate the welding robot 10 to set teaching points on the action line and welding line of the welding robot 10 and store the positions, store the coordinate information of the posture of the welding robot 10, or input welding conditions. In this way, a teaching program used when the welding robot 10 is automatically operated is generated. In addition, when the welding robot 10 stops due to an error during welding or the like during automatic operation, the operator can also manually operate the welding robot 10 using the teaching pendant 60 to perform correction operations such as changing the target position.
[0071] The driving circuit of the welding robot 10 is connected to the robot connection part 204 . The CPU 201 outputs a control signal based on the control program 202A to the driving circuit (not shown) included in the welding robot 10 via the robot connection part 204 .
[0072] The communication unit 205 is configured to include a communication module for wired or wireless communication. The communication unit 205 is used to communicate data and signals with the power supply device 30, the data processing device 50, the teaching pendant 60, etc. The communication method and standard used in the communication unit 205 are not particularly limited, and a plurality of methods may be combined or different for each connected device. For example, the current value of the welding current detected by the current sensor not shown and the voltage value of the arc voltage detected by the voltage sensor not shown are provided from the power supply device 30 to the CPU 201 via the communication unit 205.
[0073] The robot control device 20 controls the moving speed and the protruding direction of the welding torch 11 by controlling each axis of the welding robot 10. In addition, when performing a swinging action, the robot control device 20 also controls the swinging action of the welding robot 10 according to the set cycle, amplitude, and welding speed. The swinging action refers to swinging the welding torch 11 alternately in the direction of travel of welding, that is, in a direction intersecting the welding direction. The robot control device 20 performs welding line profiling control together with the swinging action. The welding line profiling control is an action to control the left and right positions relative to the travel direction of the welding torch 11 in a manner of forming a weld bead along the welding line. In addition, the robot control device 20 controls the welding wire feeding device 12 via the power supply device 30, thereby also controlling the feeding speed of the welding wire 13 and the like.
[0074] In this embodiment, in addition to being able to manually generate and adjust the teaching program via the teaching pendant 60 as described above, the teaching program can also be automatically generated on the welding system 1 side. In this case, the welding system 1 generates the teaching program by performing the automatic generation process related to the sensing position described later. It should be noted that in the following description, it is assumed that the robot control device 20 automatically generates the teaching program, but it may also be a structure in which a part of it is executed on the data processing device 50 side.
[0075] [Determination of joints / grooves]
[0076] First, use Figure 3A to Figure 3F The joint / groove type of the welding line specified in the workpiece W of this embodiment is described. Examples of the joint / groove type include: Figure 3A The "T-joint fillet weld" shown, Figure 3B The "step fillet weld" shown, Figure 3C The "T-joint 'レ' type groove" shown in the figure, Figure 3D The "butt I-type groove" shown in the figure Figure 3E The "butt V-groove" shown in the figure, Figure 3F In the present embodiment, when determining the sensing position, the surface and groove shape of each component are determined and used. It should be noted that the joint / groove type is not limited to the above case, and more types can be recorded.
[0077] Figure 4 The condition table 400 that defines the conditions for determining the joint / groove type constituting the workpiece W is shown. Figure 3A to Figure 3F As shown, six examples are listed here for illustration. Figure 4 The groove surface AB, the angle α of the groove surface AB, the component surface CD, the angle φ of the component surface CD and the surface ABCD shown in the condition table 400 are determined Figure 3A to Figure 3F The parts shown correspond.
[0078] As a premise of this embodiment, the shape of each component relative to the workpiece W, the welding line, and the vector of the groove direction of the welding line are pre-defined as design data composed of a three-dimensional model such as CAD (Computer-Aided-Design) information. In addition, in this embodiment, as a coordinate system different from the robot coordinate system and the system coordinate system, a three-dimensional coordinate system based on each welding line is used for description. The direction of the welding line (welding direction) is set as the X direction, and the two directions orthogonal to the X direction are set as the Y direction and the Z direction. Here, in order to simplify the description, the XY plane defined by the X direction and the Y direction is set as the horizontal plane, and the Z direction perpendicular to the XY plane is set as the height direction.
[0079] List Figure 3A The case of the T-joint fillet weld shown in the figure is explained as an example. First, in the workpiece 300, the welding line 303 for welding the components 301 and 302 and the vector 304 of the groove direction of the welding line 303 are determined according to the design data. Then, with the position of the welding line 303 as a reference, the surfaces of the components 302 and 301 located in the specified direction are retrieved from the specified position on the arrow represented by the vector 304. For convenience, the distance from the welding line to the specified position is set as the "first distance" here. The first distance also depends on the size of the component, for example, it can also be set to about 3 to 10 mm. In addition, the search direction is set to two directions, and the angle formed by the two directions can be 90 degrees. Through this search, in the case of a T-joint fillet weld, Figure 3A Detect side A and side B as in the example.
[0080] Furthermore, with the position of the welding line 303 as a reference, the surfaces of the components 302 and 301 located in a specified direction are retrieved from the specified position on the arrow represented by the vector 304. For convenience, the distance from the welding line to the specified position is set as the "second distance". The second distance also depends on the size of the component, for example, it can be set to about twice the plate thickness of the component. In this case, the first distance < the second distance. The search direction is set to two directions, and the angle formed by the two directions can be 90 degrees. Through this search, in the case of a T-joint fillet weld, Figure 3A The C and D surfaces are detected as in the example of . It should be noted that the direction of searching for surfaces from the position of the first distance is assumed to be the same as the direction of searching for surfaces from the position of the second distance.
[0081] It should be noted that, depending on the type of joint / groove in the workpiece, there may be a situation where either of the faces ABCD is consistent or none of them can be detected. If the result of searching a certain distance from a specified position on the arrow represented by the vector is that the face cannot be detected, the search process can be terminated.
[0082] Then, the joint / groove category is determined based on the angle α formed by the detected surface AB, whether the surface CD can be detected, the angle φ formed by the detected surface CD, and the angle formed by the surfaces ABCD. Figure 3A In the case of , it is assumed that the angle α formed by the surfaces AB is ≈ 90 degrees, the extraction of the surface CD is successful, and the angle φ formed by the extracted surfaces CD is ≈ 90 degrees, and the joint / groove type is determined to be a "T-joint fillet weld".
[0083] about Figure 3B to Figure 3F The connector shown is also based on Figure 4 The conditions shown in condition table 400 are determined in the same manner. Figure 3B1 is an example of a “step fillet weld”, showing members 311 , 312 , a welding line 313 , a vector 314 , and an example of detection based on them. Figure 3C This is an example of a "T-joint 'レ' type groove", and shows members 321, 322, a welding line 323, a vector 324, and an example of detection based on them. Figure 3D 1 is an example of a “butt I-groove”, showing components 331 , 332 , a welding line 333 , a vector 334 , and an example of detection based on them. Figure 3E 1 is an example of a “butted V-groove”, showing members 341 , 342 , a welding line 343 , a vector 344 , and an example of detection based on them. Figure 3F 3 is an example of a "butt joint" groove, showing components 351, 352, welding line 353, vector 354 and an example of detection based on them. Figure 3B In the example shown, the detection of the D surface fails, and based on this, a “step fillet weld” is determined as a category different from a T-joint fillet weld.
[0084] It should be noted that the structure of the condition table 400 is an example, and the conditions may vary depending on the welding object, the structure of the welding robot 10, etc. Figure 4 However, information corresponding to the first distance and the second distance and information related to the search direction may be specified in the condition table 400.
[0085] [Determination of Sensing Point]
[0086] Figure 5 Show and use Figure 3A to Figure 3F , Figure 4 This is an example of a determination pattern of the sensing points defined in accordance with the identified joint / groove type. Figure 5 The correspondence table 500 shown is preset. It should be noted that, in the sensing action of the present embodiment, for example, 3-direction sensing, arc sensing, and stick sensing, which are well-known touch sensing methods, can be performed. 3-direction sensing is a method of sensing the positions of the workpiece in the three-axis directions along the X direction, the Y direction, and the Z direction, respectively. Through 3-direction sensing, the parallel offset of the entire workpiece can be detected. Arc sensing is, for example, a method of sensing multiple points on an arc and detecting the parallel offset within a reference plane of a workpiece having an arc shape with a constant curvature. Stick sensing is a method of sensing the vicinity of the groove from a perpendicular direction (Z direction) at a predetermined interval along a direction orthogonal to the welding direction (Y direction) to detect the offset of the groove. In the welding system 1 of the present embodiment, these sensings can be used in combination.
[0087] As described above, the X direction, Y direction, and Z direction are specified for each welding line. For example, for a straight welding line, when the joint / groove type is "T-joint fillet weld", the sensing point is determined in the order of "Z direction" → "Y direction" → "X direction". Similarly, for a straight welding line, when the joint / groove type is "butt 'レ' type groove", the sensing point is determined in the order of "Z direction" → "X direction", and the Y direction is sensed by a rod. In addition, for a full-circle welding line, the sensing point is determined in the "Z direction" with the welding torch facing downward, and arc sensing is performed.
[0088] It should be noted that the structure of the correspondence table 500 is an example, and the conditions may differ depending on the welding object, the structure of the welding robot 10, the sensing method, and the like.
[0089] use Figure 6A to Figure 6E An example of determining the sensing points in each direction will be described. Fig. 6A The periphery of a weld line 603 defined between a member 601 and a member 602 in a workpiece 600 to be welded is shown. Fig. 6A Determine the joint / groove category as "T joint fillet weld", such as Figure 5 As shown, the pattern when determining the sensing point is in the order of “Z direction (height direction)” → “Y direction” → “X direction (welding direction)”.
[0090] (Search for sensing points in the Z direction)
[0091] First, a reference plane is selected as a reference in the components 601 and 602 having the welding line 603. Here, the surface of the component 601 corresponding to the XY plane is set as the reference plane. The method for selecting the reference plane is not particularly limited, and it can be predetermined based on, for example, the groove direction, the joint / groove type, etc. Then, an area that can be sensed even when the workpiece 600 moves by a predetermined maximum allowable offset relative to the X direction and the Y direction is extracted, and its central position is used as a candidate point P0 for the Z direction sensing point. Fig. 6A In the case of x+ ~P x- and P in the Y direction y+ ~P y- The indicated area becomes the sensible area.
[0092] Here, for convenience, the two directions of the specified reference plane are also referred to as the "first direction" and the "second direction". The first direction is the X direction, and the second direction orthogonal thereto is the Y direction. It should be noted that the correspondence between the first direction and the second direction is specified based on the reference plane, the structure of the welding line, etc. Therefore, the correspondence can be changed. In addition, for convenience, the length along the first direction is recorded as the "first length", and the length along the second direction is recorded as the "second length". In the above example, the first length corresponds to P x+ ~P x- The second length corresponds to P y+ ~P y- Here, an example of a detectable area in the search for Z-direction sensing points is given, but the search for Y-direction sensing points and X-direction sensing points described later is also processed based on the same idea.
[0093] For example, the maximum allowable offset distance of the workpiece 600 is set to La, the gap distance is set to Lc, and the groove depth of the "レ" groove is set to Ld. The maximum allowable offset distance La and the gap distance Lc are predetermined. In this case, the initial position of the Z-direction sensing point becomes P0(X, Y, Z) = (La+Lc, La+Lc, Ld) with the starting point of the welding line 603 as the reference (0, 0, Ld). Even if it moves to the front, back, left, and right positions on the XY plane relative to this initial position, that is, P x+ , P x- , P y+ , P y- If it can also be sensed, the P x+ , P x- , P y+ , P y- The area indicated by is determined as a detectable area, and its center position P0 is set as the Z direction sensing point. x+ , P x- , P y+ , P y- The respective parameters are predetermined.
[0094] It should be noted that P x+ , P x- , P y+ , P y- The respective values can be the same or different. In addition, different values can be used depending on the size of the welding object and the type of joint / groove. For example, in P x+ =P x- =P y+ =P y- In the case of , the shape of the area defined by them is a square shape. That is, by adjusting Px+ , P x- , P y+ , P y- The value of P can be used to determine the shape of the area that can be sensed, such as a quadrilateral shape including a rhombus, a circular shape including an ellipse, etc. x+ , P x- , P y+ , P y- The first length in the first direction and the second length in the second direction are adjusted according to their respective values.
[0095] When the sensing area cannot be determined at the initial position, scan on the reference surface to search for the area that can be sensed by P x+ , P x- , P y+ , P y- The range of the indicated area is regarded as the position of the detectable area. It should be noted that, if the search result shows that the reference plane cannot be obtained due to reasons such as a narrow reference plane, it can be determined that the Z-direction sensing point cannot be generated.
[0096] (Search for sensing points in the Y direction)
[0097] Figure 6B and Figure 6C This is a schematic diagram for explaining the search of the Y direction sensing point. By the above method, when the Z direction sensing point is determined, the offset in the Z direction disappears. Therefore, the Y direction sensing point can be determined in a manner that does not care about the offset in the Z direction. It should be noted that Figure 6B In the example of FIG. 6 , the length of the side member 612 of the welding line 613 in the workpiece 610 in the Z direction is different depending on the position in the X direction. Figure 6C As shown, the height sensed in the Y direction is adjusted to be less than the lowest edge Lh of the side member, and is referred to as Lup (Lup<Lh). The adjustment amount Le can be predetermined in accordance with the shape and size of the member.
[0098] exist Figure 6C In the above example, the initial position of the Y-direction sensing point is set to P1(X, Y, Z) = (La + Lc, 0, Lup). Furthermore, even if the position moves to P in the X-direction in consideration of the maximum allowable deviation, the position of the sensing point in the XZ plane is x- , P x+ If it is also possible to sense, set P1 as the Y direction sensing point. x- , P x+is predetermined, and the same value as that used in the search for the Z-direction sensing point can be used. If the area that can be sensed cannot be determined at the initial position, a search is performed along the X direction on the XZ plane to search for the position of the Y-direction sensing point that can obtain the area that can be sensed. It should be noted that if the search result shows that the area cannot be obtained due to reasons such as the narrow side surface, it can be determined that the Y-direction sensing point cannot be generated.
[0099] (Search for sensing points in the X direction)
[0100] Fig.6D and Fig. 6E It is a schematic diagram for explaining sensing X. Fig.6D An example is shown in which a member 604 serving as a wall surface exists near the starting point of a weld line 603 . Fig. 6E The example shown is that there is no member serving as a wall surface near the starting point of the weld line 603. The position of the X-direction sensing point is determined by the following logic.
[0101] 1. When there is a member 604 that becomes a wall near the starting point of the weld line and the projection point Ph can be set ( Fig.6D )
[0102] If the conditions such as non-interference in the sensing path direction are met, the position of the projection point Ph on the component 604 is set as the X-direction sensing point. The conditions here are predetermined based on the size of the welding torch 11, the welding posture, etc. In addition, the presence or absence of the component that becomes the wall surface can be determined based on the design data. Here, the starting position of the sensing in the X direction can be set as Pw, and Pw can be a position at a predetermined distance from the wall surface in the X direction.
[0103] 2. When there is no member that serves as a wall surface ( Fig. 6E )
[0104] Determine the X-direction sensing point on the end face of the component. First, extract the end face on the starting position side of the welding line of the component (components 601 and 602 in this example) and extract its edge line. The end face here is located on the YZ plane. When there are multiple end faces, the end face that is the object of X-direction sensing is determined based on the distance from point Pw specified based on the starting point of the welding line. And, the position on the edge line is used as the X-direction sensing point. As a process for sensing in the X direction, it can be a structure that starts with point Pw, passes through multiple retreat points (here retreat points K2 and K1), and heads toward the X-direction sensing point on the edge line. At this time, the position of the retreat point is set in consideration of the X-direction offset of the workpiece. More specifically, as Fig. 6E As shown in FIG. 1 , when sensing a point in the X direction from the retreat point K1 to the end surface, the position of the retreat point K1 is specified in consideration of a specified offset amount.
[0105] It should be noted that, as described above, the Z-direction sensing point and the Y-direction sensing point may not be determined depending on the shape of the workpiece, etc. If there is no member that serves as a wall surface, and if the Z-direction sensing point and the Y-direction sensing point can be determined, the X-direction sensing point may be set at a position at a predetermined distance from the ridgeline of the end surface in the Y direction.
[0106] On the other hand, if there is no member that serves as a wall surface and the Y-direction sensing point cannot be determined, it is assumed that the Y-direction offset is not eliminated. Fig. 6E As shown, the X-direction sensing point P x Set to P in the Y direction y- ~P y+ The range includes the position on the end surface. Thus, even if the workpiece is offset in the Y direction, the X direction can be sensed.
[0107] [Processing Flow]
[0108] Figure 7 The flowchart of the teaching program generation process of this embodiment is shown. This process flow is realized by, for example, the CPU 201 of the robot control device 20 reading and executing the program and data stored in the memory 202. In addition, before starting this process flow, the design data of the welding object is predefined and made available.
[0109] In S701 , the robot controller 20 acquires design data of the workpiece W to be welded.
[0110] In S702 , the robot controller 20 focuses on one unprocessed welding line among the plurality of welding lines included in the design data acquired in S701 .
[0111] In S703, the robot control device 20 determines the joint / groove type based on the information of the welding line of interest. The determination method here uses Figure 3A to Figure 3F and Figure 4 Determined by the above method. For example, Figure 3A In the case of the example shown, "T-joint fillet weld" is identified.
[0112] In S704, the robot control device 20 determines the decision mode of the sensing point based on the joint / groove category determined in S703. The determination method here is based on Figure 5 This is done using the predetermined correspondence table 500 shown.
[0113] In S705, the robot controller 20 searches for sensing points based on the sensing point decision pattern determined in S704. Figure 6A to Figure 6EFor example, in the case of a "T-joint fillet weld", the sensing points are searched in the order of Z-direction sensing points, Y-direction sensing points, and X-direction sensing points.
[0114] In S706, the robot control device 20 determines the parameters of each sensing point based on the search results of S705. The parameters of the sensing points here may include, in addition to the determined sensing points, the coordinates of the sensing start point indicating the start position of sensing, the sensing retreat point indicating the retreat position after the end of sensing, etc. The sensing start point and the sensing retreat point may be determined based on the correlation with the position of the determined sensing point and the conditions predefined for the calculation results up to S705.
[0115] In S707, the robot control device 20 generates a teaching program for the welding line of interest using the parameters determined in S706. For example, a teaching program including a path including a sensing start point, a sensing point, and a sensing retreat point is generated.
[0116] In S708, the robot control device 20 determines whether there are unprocessed weld lines in the design data obtained in S701. If there are unprocessed weld lines (Yes in S708), the processing of the robot control device 20 returns to S702, and the processing is repeatedly performed on the unprocessed weld lines. On the other hand, if there are no unprocessed weld lines (No in S708), this processing flow ends.
[0117] As described above, according to the present embodiment, it is possible to automatically determine the sensing position taking into account the deviation of the workpiece, generate a teaching program related to sensing, and reduce the work load of the user.
[0118] <Other embodiments>
[0119] In the present invention, a program or application for implementing the functions of one or more of the above-mentioned embodiments is provided to a system or device via a network or storage medium, and one or more processors in a computer of the system or device can also implement the processing by reading and executing the program.
[0120] Alternatively, the circuit may be implemented by a circuit that implements one or more functions. Examples of the circuit that implements one or more functions include ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array).
[0121] As described above, this specification discloses the following matters.
[0122] (1) A method for generating a teaching program, which is a method for generating a teaching program that specifies a sensing action, wherein:
[0123] The method for generating the teaching program includes:
[0124] determining a process, determining a sensing position on a surface of a workpiece; and
[0125] a generating step of generating a teaching program for the sensing operation based on the sensing position determined in the determining step,
[0126] The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
[0127] According to this configuration, a sensing position taking into account the deviation of the workpiece can be automatically determined, and a teaching program related to sensing can be generated, thereby reducing the work load on the user.
[0128] (2) The generation method according to (1), wherein:
[0129] In the determination step, the range is determined by searching for a position of the allowable range so that sensing can be performed on the surface of the workpiece even when a deviation of the sensing position occurs.
[0130] According to this configuration, even when the workpiece is offset, the sensing position can be determined at a position where the sensing operation can be performed, and a teaching program can be automatically generated.
[0131] (3) The generation method according to (2), wherein:
[0132] The allowable range is defined by a first direction (eg, Fig. 6A The first length (eg, P x+ ~P x- ) and a second direction orthogonal to the first direction (e.g., Fig. 6A The second length (for example, P y+ ~P y- )Regulation.
[0133] According to this configuration, a range of an arbitrary shape can be defined as a deviation allowable range on the surface of the workpiece to determine the sensing position.
[0134] (4) The generation method according to (2), wherein:
[0135] The allowable range is defined by a rectangular shape, a circular shape, or a diamond shape on the surface.
[0136] According to this configuration, a range of an arbitrary shape can be defined as a deviation allowable range on the surface of the workpiece to determine the sensing position.
[0137] (5) The generation method according to (1), wherein:
[0138] In the determination step, the range is determined by searching for a position of the allowable range so that sensing can be performed at the edge line of the workpiece even when the sensing position is shifted.
[0139] According to this configuration, a range in an arbitrary direction on the ridgeline of the workpiece surface can be defined as a deviation allowable range to determine the sensing position.
[0140] (6) The generation method according to any one of (1) to (5), wherein:
[0141] The generation method comprises:
[0142] Determine the process, the type of joints and grooves of the workpiece; and
[0143] a selecting step of selecting a mode for determining a sensing position corresponding to a direction of deviation of the workpiece based on the type determined in the determining step;
[0144] In the determination step, the sensing position is determined based on the mode selected in the selection step.
[0145] According to this configuration, the sensing position can be automatically determined based on the sensing position determination pattern that is specified according to the type of the joint / groove of the workpiece.
[0146] A teaching program generation device is a teaching program generation device that specifies a sensing action, wherein:
[0147] The generating device of the teaching program comprises:
[0148] a determination unit that determines a sensing position on a surface of a workpiece; and
[0149] a generating unit that generates a teaching program for the sensing action based on the sensing position determined by the determining unit,
[0150] The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
[0151] According to this configuration, a sensing position taking into account the deviation of the workpiece can be automatically determined, and a teaching program related to sensing can be generated, thereby reducing the work load on the user.
Claims
1. A method for generating a teaching program, which is a method for generating a teaching program that specifies a sensing action, wherein: The method for generating the teaching program includes: determining a process, determining a sensing position on a surface of a workpiece; and a generating step of generating a teaching program for the sensing operation based on the sensing position determined in the determining step, The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
2. The generation method according to claim 1, wherein: In the determination step, the range is determined by searching for a position of the allowable range so that sensing can be performed on the surface of the workpiece even when a deviation of the sensing position occurs.
3. The generation method according to claim 2, wherein: The allowable range is defined on the surface by a first length in a first direction and a second length in a second direction orthogonal to the first direction.
4. The generation method according to claim 2, wherein: The allowable range is defined by a rectangular shape, a circular shape, or a diamond shape on the surface.
5. The generation method according to claim 1, wherein: In the determination step, the range is determined by searching for a position of the allowable range so that sensing can be performed at the edge line of the workpiece even when the sensing position is shifted.
6. The generation method according to claim 1, wherein: The generation method comprises: Determine the process, the type of joints and grooves of the workpiece; and a selecting step of selecting a mode for determining a sensing position corresponding to a direction of deviation of the workpiece based on the type determined in the determining step; In the determination step, the sensing position is determined based on the mode selected in the selection step.
7. A teaching program generation device, which is a teaching program generation device that specifies a sensing action, wherein: The generating device of the teaching program comprises: a determination unit that determines a sensing position on a surface of a workpiece; and a generating unit that generates a teaching program for the sensing action based on the sensing position determined by the determining unit, The sensing position is determined within a range where a predetermined allowable range of a maximum allowable amount of deviation of the workpiece and a direction of the deviation are included in the surface.
Citation Information
Patent Citations
Method and system for automatic generation of sensing route
JP2002149215A