Device, control device, and method for correcting pressure force command of welding gun
Patent Information
- Application Number
- JP2024528222
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2042-06-23
Abstract
Description
Apparatus, control device, and method for correcting welding gun pressure command
[0001] The present disclosure relates to an apparatus, a control device, and a method for correcting a pressure command that defines the pressure of a welding gun.
[0002] 2. Description of the Related Art A device is known that corrects a pressure command that defines the pressure applied by a welding gun in accordance with the attitude of the welding gun (see, for example, Patent Document 1).
[0003] Japanese Patent Application Laid-Open No. 2001-47249
[0004] Conventionally, there has been a demand for a technique for correcting a pressure command with high accuracy and simplifying the work involved in the correction.
[0005] In one aspect of the present disclosure, an apparatus for correcting a pressure command that determines the pressure applied by a welding gun that is moved by a robot and applies pressure to a workpiece to weld it, in accordance with the attitude of the welding gun, includes an operation execution unit that operates the robot to position the welding gun in a teaching attitude defined in a welding work program that causes the robot and welding gun to perform welding work, a pressure acquisition unit that acquires the pressure applied when the welding gun is driven with a first pressure command when the operation execution unit positions the welding gun in the teaching attitude, and a command correction unit that corrects the first pressure command based on the pressure acquired by the pressure acquisition unit, thereby determining a second pressure command to be used when driving the welding gun in the teaching attitude during execution of the welding work program.
[0006] In another aspect of the present disclosure, a method for correcting a pressure command that determines the pressure applied by a welding gun that is moved by a robot and pressurizes and welds a workpiece, according to the posture of the welding gun, involves a processor operating the robot to position the welding gun in a teaching posture defined in a welding work program that causes the robot and welding gun to perform welding work, obtaining the pressure applied when the welding gun is driven with a first pressure command when positioned in the teaching posture, and correcting the first pressure command based on the obtained pressure, thereby determining a second pressure command to be used when driving the welding gun in the teaching posture during execution of the welding work program.
[0007] According to the present disclosure, by correcting the pressurizing force command using a taught posture for positioning the welding gun in actual welding work, it is possible to obtain with high accuracy a second pressurizing force command that can cause the welding gun to generate a constant pressurizing force regardless of the posture. Furthermore, since it is not necessary to teach the robot a new posture for correcting the pressurizing force command, the work of correcting the pressurizing force command can be simplified.
[0008] 1. It is a schematic diagram of a welding robot system according to one embodiment. It is a block diagram of the welding robot system shown in FIG. 1. It is an enlarged view of the welding gun shown in FIG. 1. It shows a state in which the attitude of the welding gun shown in FIG. 3 is changed. It is a flowchart showing an example of a method for correcting a pressing force command, which is executed by the welding robot system shown in FIG. 1. It shows an example of a welding operation program. It shows an example of a position data table. It shows an example of a welding condition data table. It shows an enlarged view of a welding gun according to another embodiment. It is a schematic diagram of a welding robot system according to another embodiment. It is a block diagram of the welding robot system shown in FIG. 10. It is a flowchart showing an example of a method for correcting a pressing force command, which is executed by the welding robot system shown in FIG. 10. It is a block diagram showing other functions of the welding robot system shown in FIG. 11. It is a flowchart showing an example of a method for correcting a pressing force command, which is executed by the welding robot system shown in FIG. 13. It is a block diagram showing other functions of the welding robot system shown in FIG. 2. It is a flowchart showing an example of a method for correcting a pressing force command, which is executed by the welding robot system shown in FIG. 15. It is a flowchart showing an example of the flow of step S35 in FIG. It shows another example of a position data table. It shows an example of an attitude reproduction program. It shows yet another example of a position data table. It is a block diagram showing still another function of the welding robot system shown in FIG. 11. It is a flowchart showing an example of a method for correcting a pressing force command, which is executed by the welding robot system shown in FIG. Fig. 23 is a flowchart showing an example of the process of step S54 in Fig. 22. Fig. 24 shows yet another example of the position data table. Fig. 25 shows another example of the posture reproduction program.
[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the various embodiments described below, like elements will be designated by like reference numerals, and redundant description will be omitted. First, a welding robot system 10 according to one embodiment will be described with reference to FIGS. 1 and 2 . The welding robot system 10 includes a robot 12, a welding gun 14, a welding force sensor 16, and a control device 18.
[0010] In this embodiment, the robot 12 is a vertically articulated robot and includes a robot base 20, a rotating body 22, a lower arm 24, an upper arm 26, and a wrist 28. The robot base 20 is fixed to the floor of a work cell. The rotating body 22 is mounted on the robot base 20 so as to be rotatable about a vertical axis.
[0011] The lower arm 24 is provided on the rotating body 22 so as to be rotatable around a horizontal axis. The upper arm 26 is rotatably provided at the tip of the lower arm 24. The wrist 28 has a wrist base 28a rotatably provided at the tip of the upper arm 26, and a wrist flange 28b provided on the wrist base 28a so as to be rotatable around the wrist axis A1.
[0012] A plurality of servo motors 30 ( FIG. 2 ) are provided on each of the robot base 20, the rotating body 22, the lower arm 24, the upper arm 26, and the wrist 28. These servo motors 30 rotate each movable component of the robot 12 (i.e., the rotating body 22, the lower arm 24, the upper arm 26, the wrist 28, and the wrist flange 28 b) in response to commands from the control device 18, thereby moving the welding gun 14.
[0013] The welding gun 14 is detachably attached to the wrist flange 28b. As shown in Figure 3, in this embodiment, the welding gun 14 is a so-called C-type spot welding gun, and includes a base 32, a fixed arm 34, a fixed welding tip 36, a movable arm 38, a servo motor 40, a motion conversion mechanism 42, and a movable welding tip 44.
[0014] The base portion 32 is connected to the wrist flange 28b. The fixed arm 34 has a base end 34a fixed to the base portion 32 and extends in a generally L-shaped curve from the base end 34a to a tip end 34b. The fixed welding tip 36 is fixed to the tip end 34b of the fixed arm 34.
[0015] The movable arm 38 is provided on the base 32 so as to be reciprocable along the gun axis A2. In this embodiment, the movable arm 38 is a rod-shaped member extending linearly along the gun axis A2. The movable welding tip 44 is fixed to the tip 38a of the movable arm 38 so as to be aligned with the fixed welding tip 36 on the gun axis A2. The gun axis A2 may be arranged parallel to the wrist axis A1.
[0016] The servo motor 40 has an output shaft (not shown) and is fixed to the base portion 32. The motion conversion mechanism 42 has, for example, a ball screw mechanism or a mechanism consisting of a timing belt and pulley, and converts the rotational motion of the output shaft of the servo motor 40 into reciprocating motion of the movable arm 38 along the gun axis A2.
[0017] The control device 18 controls the operations of the robot 12 and the welding gun 14. As shown in Fig. 2, the control device 18 is a computer having a processor 50, a memory 52, and an I / O interface 54. The processor 50 has a CPU or a GPU, etc., and is communicatively connected to the memory 52 and the I / O interface 54 via a bus 56, and performs arithmetic processing for the function of correcting a pressing force command, which will be described later, while communicating with these components.
[0018] The memory 52 has a RAM, a ROM, or the like, and temporarily or permanently stores various data used in the arithmetic processing executed by the processor 50 and various data generated during the arithmetic processing. The I / O interface 54 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices via a wired or wireless connection under instructions from the processor 50. In this embodiment, the servo motors 30 and 40 and the pressure sensor 16 are connected to the I / O interface 54 so as to be able to communicate via a wired or wireless connection.
[0019] The control device 18 is further provided with an input device 58 and a display device 60. The input device 58 has a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 60 has a liquid crystal display, an organic EL display, or the like, and displays various data.
[0020] The input device 58 and the display device 60 are communicably connected to the I / O interface 54 via a wired or wireless connection. The input device 58 and the display device 60 may be integrated into the housing of the control device 18, or may be provided as a single computer (such as a PC) separate from the housing of the control device 18.
[0021] 1 , a robot coordinate system C1 is set for the robot 12. The robot coordinate system C1 is a coordinate system for automatically controlling each movable component of the robot 12. In this embodiment, the robot coordinate system C1 is set for the robot 12 so that its origin is located at the center of the robot base 20 and its z-axis coincides with the rotation axis of the rotating body 22.
[0022] 3, a tool coordinate system C2 is set for the welding gun 14. The tool coordinate system C2 is a coordinate system that defines the position and orientation of the welding gun 14 in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set for the welding gun 14 so that its origin (so-called TCP) is located on the fixed welding tip 36 (e.g., the center of the tip face) and its z-axis coincides with (or is parallel to) the gun axis A2.
[0023] When moving the welding gun 14, the processor 50 first sets a tool coordinate system C2 in the robot coordinate system C1, and generates commands (position commands, speed commands, torque commands, etc.) to each servo motor 30 of the robot 12 so as to position the welding gun 14 at the position and orientation represented by the set tool coordinate system C2. In this way, the welding gun 14 is moved by the operation of the robot 12, and is positioned at any position and orientation in the robot coordinate system C1.
[0024] The welding gun 14 applies pressure to a workpiece (not shown) to weld it. Specifically, the processor 50 sends a pressure command F C and moves the movable arm 38 along the gun axis A2, thereby moving the movable welding tip 44 toward the fixed welding tip 36. As a result, the workpiece is clamped between the movable welding tip 44 and the fixed welding tip 36. At this time, the movable welding tip 44 applies a pressure command F C A pressure F according to the above is applied.
[0025] Next, the processor 50 activates the fixed welding tip 36 and the movable welding tip 44, and energizes the fixed welding tip 36 and the movable welding tip 44. As a result, the workpiece held between the fixed welding tip 36 and the movable welding tip 44 is welded. C is a command that defines the welding force F to be generated by the welding gun 14, and represents a target value of the welding force F (for example, 2 kN).
[0026] The welding force sensor 16 has a piezoelectric element, a strain gauge, or the like, and measures the welding force F of the welding gun 14. Specifically, the welding force sensor 16 is configured to be able to be held by an operator with one hand, and is manually set between the fixed welding tip 36 and the movable welding tip 44 by the operator when measuring the welding force F. The welding force sensor 16 is held between the fixed welding tip 36 and the movable welding tip 44, which are driven by a servo motor 40, and measures the welding force F applied to the welding force sensor 16 at this time. The welding force sensor 16 supplies detection data of the measured welding force F to the control device 18.
[0027] Here, the predetermined pressure command F C The pressure force F generated by the welding gun 14 when the welding gun 14 is driven can vary depending on the attitude of the welding gun 14. For example, in the example shown in FIG. 3, the welding gun 14 is in an attitude OR in which the gun axis A2 is parallel to the vertical direction and the movable welding tip 44 is aligned vertically above the fixed welding tip 36. 0 are located at.
[0028] This posture OR 0 In this case, suppose the processor 50 controls the servo motor 40 to operate at a predetermined pressure command F C_0 (For example, F C_0 = 1 [kN]), and the welding gun 14 is driven by the welding force command F C_0 Assume that the movable welding tip 44 pressurizes an object to be pressed (for example, the fixed welding tip 36) in accordance with the above.
[0029] At this time, the pressure force F applied to the object to be pressed from the movable welding tip 44 0 is the force component F obtained by converting the torque of the servo motor 40 in the direction of the gun axis A2 by the motion conversion mechanism 42. τ and the gravity component F of the movable portion of the welding gun 14, which is composed of the motion conversion mechanism 42, the movable arm 38, and the movable welding tip 44. g The resultant force F 0 (=F τ +F g )
[0030] Next, the posture OR shown in FIG. 0 Then, the welding gun 14 is rotated by an angle θ around the y axis of the tool coordinate system C2 to assume the orientation OR shown in FIG.θ In this state, the processor 50 controls the servo motor 40 to generate the same pressure command F C_0 The movable welding tip 44 is driven by the force F , and the workpiece is pressed by the movable welding tip 44. θ is the force component F τ and the above-mentioned gravity component F g Force component F multiplied by cosθ g Resultant force F with cosθ θ (=F τ +F g cosθ).
[0031] Therefore, this posture OR θ The applied pressure F θ is the posture OR shown in FIG. 0 The applied pressure F 0 Compared to F g The applied pressure F decreases by (1-cos θ). In this way, the applied pressure F changes depending on the attitude OR of the welding gun 14. Such a variation in the applied pressure F depending on the attitude OR affects the welding quality.
[0032] Therefore, in this embodiment, the processor 50 determines the welding force command F in accordance with the attitude OR of the welding gun 14. C Hereinafter, referring to FIG. 5, the pressure command F C 5 is started when the processor 50 receives a correction start command from an operator, a higher-level controller, or the like.
[0033] In step S1, processor 50 acquires welding operation program 200. This welding operation program 200 is a computer program for causing robot 12 and welding gun 14 to perform welding operation. An example of welding operation program 200 is schematically shown in FIG. 6.
[0034] In the welding operation program 200 shown in FIG. 6, for example, the code "MOVE[TP1] VELOCITY[V1]" on the first line causes the robot 12 to move the welding gun 14 at a velocity V=V 1[mm / sec] to the first teaching position TP represented by the identifier [TP1]. 1 and teaching posture OR 1 Positioning instruction IN for positioning to P is.
[0035] Meanwhile, a position data table 202 is created in advance as data separate from the welding operation program 200 and stored in the memory 52. An example of the position data table 202 is shown in Fig. 7. In the position data table 202 shown in Fig. 7, coordinate data each assigned with an identifier "TP1", "TP2", "TP3", and "TP4" is stored.
[0036] For example, the identifier "TP1" has the coordinates (X 1 , Y 1 , Z 1 , W 1 , P 1 , R 1 ) is assigned to this coordinate (X 1 , Y 1 , Z 1 , W 1 , P 1 , R 1 ) among (X 1 , Y 1 , Z 1 ) are coordinates in the robot coordinate system C1 where the welding gun 14 (specifically, the TCP) should be positioned, and are the first taught position TP 1 On the other hand, (W 1 , P 1 , R 1 ) are coordinates that define the axial directions (so-called yaw, pitch, and roll) of the tool coordinate system C1 in the robot coordinate system C1, and are the first teaching attitude OR 1 represents.
[0037] When executing the welding operation program 200, the processor 50 executes the positioning instruction IN "MOVE [TP1] VELOCITY [V1]" on the first line. P When the coordinates (X 1 , Y 1 , Z 1 , W 1 , P1 , R 1 ) is obtained from the position data table 202.
[0038] Then, the processor 50 calculates the coordinates (X 1 , Y 1 , Z 1 , W 1 , P 1 , R 1 ) and a tool coordinate system C2 in each axis direction is set, and a first teaching position TP represented by the set tool coordinate system C2 is set. 1 and teaching posture OR 1 The welding gun 14 is moved to a speed V 1 In this way, the processor 50 generates a positioning command IN P By operating the robot 12 in accordance with the above, the welding gun 14 is moved to the first teaching position TP 1 and teaching posture OR 1 Position it at.
[0039] In this manner, in this embodiment, the welding operation program 200 includes the n-th teaching position TP n and teaching posture OR n (n=1, 2, 3, 4) are defined. The nth teaching position TP n and teaching posture OR n Each of the above is taught to the robot 12 in advance by an operator using a teaching device (a teaching pendant, a tablet terminal device, etc.).
[0040] In addition, each positioning command IN P In the code "MOVE[TPn] VELOCITY[Vn]" (n=1, 2, 3, 4), the code "[Vn]" that specifies the velocity V contains the velocity V n Alternatively, the maximum velocity V at which the robot 12 moves the welding gun 14 may be written in "[Vn]". MAX A percentage [%] of the value may also be stated (e.g., "80%").
[0041] Or, similarly to the position data table 202 described above, the velocity Vn A velocity data table storing the velocity data together with the identifier "Vn" may be prepared in advance as data separate from welding operation program 200. In this case, processor 50 executes positioning instruction IN "MOVE[TPn] VELOCITY[Vn]" in the 2i-1th row (i=1, 2, 3, 4). P When the speed data table is referenced, the speed V n The speed V defined in the welding operation program 200 is obtained from the speed data table. n "VELOCITY[Vn]" may be different from each other, or may be a combination of at least two (e.g., all) velocities V n may be the same.
[0042] Referring again to FIG. 6, in welding operation program 200, the code "GUN [ON] CONDITION [1]" in the 2ith line (i=1, 2, 3, 4) is a welding command IN for starting welding gun 14 and welding a workpiece in accordance with welding condition 1 assigned identifier [1]. W is.
[0043] Here, multiple types of workpieces having various thicknesses and materials can be welded. In this embodiment, multiple welding conditions m (m=1, 2, 3, ...) that are different from each other are preset for each type of workpiece. Figure 8 shows an example of welding condition 1 assigned with identifier [1].
[0044] The welding condition 1 is a pressure F 1 = 2 [kN], welding current I 1 = 8 [kA], and welding time t 1 The parameters are set as follows: m , welding current I m , welding time t m ) are prepared in advance for each type of workpiece (i.e., thickness, material) and stored in the memory 52. The welding conditions m include the pressure F m , welding current I m , and welding time t mAny other parameters (for example, welding voltage, etc.) may be set.
[0045] When executing the welding operation program 200, the processor 50 executes the welding command IN "GUN [ON] CONDITION [1]" on the 2i-th line. W When the welding condition 1 is read, the data table for the welding condition 1 to which the identifier [1] is assigned is referenced, and the welding force F 1 = 2 [kN], welding current I 1 = 8 [kA], and welding time t 1 The parameter of welding condition 1, ie, welding time = 10 [sec], is obtained.
[0046] Then, the processor 50 calculates the welding pressure F 1 The pressure command F corresponding to C_1 (=2 [kN]) is generated, and the pressure command F C_1 The servo motor 40 of the welding gun 14 is driven in accordance with the command, and the workpiece is clamped between the movable welding tip 44 and the fixed welding tip 36.
[0047] On the other hand, the servo motor 40 of the welding gun 14 is provided with a load detection sensor LS (not shown) that detects the load torque, feedback current, etc. of the servo motor 40. The processor 50 obtains feedback FB1 (i.e., the load torque, feedback current, etc.) from the load detection sensor LS.
[0048] Here, the pressure command F to the servo motor 40 C and the pressure command F C The calibration work is performed in advance to match the welding force F generated by the welding gun 14 driven in accordance with the reference position OR. 0 This reference position OR 0 is, for example, the posture shown in FIG.
[0049] In this calibration work, the operator 0 The welding force sensor 16 is set between the movable welding tip 44 and the fixed welding tip 36 of the welding gun 14 arranged at CThe welding gun 14 is driven in accordance with the above formula, and the applied pressure F is measured by the pressure sensor 16. The operator obtains the correlation between the feedback FB1 from the load detection sensor LS at this time and the measured applied pressure F, and outputs the applied pressure command F. C The correlation is calibrated so that the pressure F and the pressure V coincide with each other.
[0050] The processor 50 receives the welding command IN W According to the pressure command F C_1 While the servo motor 40 is being driven, a feedback FB1 is obtained from the load detection sensor LS, and the feedback FB1 corresponds to the pressure command F C_1 When the value corresponding to the value of the servo motor 40 is reached, the servo motor 40 is stopped.
[0051] Next, the processor 50 calculates the welding current I 1 (=8 kA) to energize the fixed welding tip 36 and the movable welding tip 44, and the welding time t 1 (=10 [sec]) to weld the workpiece. In this way, the processor 50 executes the welding command IN W By executing the above, welding work is performed on the workpiece.
[0052] In step S1, the processor 50 generates the positioning command IN P and welding instruction IN W For example, the welding operation program 200 is stored in advance in the memory 52, and the processor 50 acquires the welding operation program 200 by reading it from the memory 52.
[0053] Alternatively, welding operation program 200 may be stored in another computer (such as a host controller, a production control server, or a teaching device). The other computer may be communicatively connected to I / O interface 54 of control device 18 via a communication network (such as the Internet or a LAN). Processor 50 may obtain welding operation program 200 by downloading it from the other computer.
[0054] In step S2, the processor 50 executes the positioning command IN of the welding operation program 200. P In this embodiment, in step S2, the processor 50 executes the positioning instruction IN "MOVE [TP1] VELOCITY [V1]" specified in the first line of the welding operation program 200. P The robot 12 moves the welding gun 14 to the first teaching position TP 1 and teaching posture OR 1 To position it at speed V 1 In this way, in this embodiment, the robot is moved in the teaching posture OR defined in the welding operation program 200. n The robot 12 functions as an operation execution unit 62 (FIG. 2) that operates the robot 12 to position the welding gun 14 at the target position.
[0055] In step S3, the processor 50 moves the welding gun 14 to the n-th teaching position TP n and teaching posture OR n Specifically, the processor 50 determines whether the welding gun 14 has been positioned to the n-th teaching position TP based on feedback FB2 (for example, position feedback, velocity feedback, or acceleration feedback of the servo motor 30) from a rotation detection sensor RS1 (encoder, Hall element, or the like) provided on each servo motor 30 of the robot 12. n and teaching posture OR n It can be determined whether or not the positioning has been completed.
[0056] For example, when step S3 is executed after step S2, the processor 50 moves the welding gun 14 to the first taught position TP 1 and teaching posture OR 1 The processor 50 determines whether the welding gun 14 has been positioned to the n-th teaching position TP n and teaching posture OR n If it is determined that the welding gun 14 has been positioned at the n-th teaching position TP (i.e., YES), the operation of the robot 12 is stopped and the process proceeds to step S4. n and teaching posture OR nOn the other hand, if the result of the determination is NO, the processor 50 loops step S3.
[0057] When the determination in step S3 is YES, the processor 50 executes the positioning command IN executed in step S2 (or the most recently executed step S8 described below) in the welding operation program 200. P The welding instruction IN is specified in the next line of W However, in the flow of FIG. 5, the processor 50 reads out the welding command IN W Instead, the pressure acquisition operation FO is performed.
[0058] In this embodiment, the control device 18 receives the welding command IN W In place of the flag FL, a flag FL is set for executing a welding force acquisition operation FO, which will be described later. When the flag FL is enabled, the processor 50 reads out the welding command IN when it determines YES in step S3. W Instead, steps S4 to S7 described below are executed as the pressure acquisition operation FO.
[0059] For example, the operator or the upper controller may be configured to send a flag setting signal to the control device 18, and the processor 50 may be configured to switch the flag FL between enabled and disabled in response to the flag setting signal. When executing the flow of Figure 5, the operator or the upper controller may send a flag setting signal to the control device 18 to enable the flag FL, and the processor 50 sets the flag FL to enabled in response to the flag setting signal. Therefore, when the determination in step S3 during execution of the flow of Figure 5 is YES, the processor 50 issues a welding command IN W Instead, steps S4 to S7 are executed as the pressure obtaining operation FO.
[0060] In step S4, the processor 50 determines whether a command to start the welding force acquisition operation has been received from the operator. For example, the processor 50 generates a visual or audio notification signal SG1 stating, "Please set the welding force sensor between the movable welding tip and the fixed welding tip," and displays the notification signal SG1 as a visual on the display device 60 or outputs it as audio from a speaker (not shown) provided in the control device 18.
[0061] The operator manually sets the welding force sensor 16 between the movable welding tip 44 and the fixed welding tip 36, and operates the input device 58 to issue a command to start the welding force acquisition operation to the processor 50. If the processor 50 receives the command to start the welding force acquisition operation, it determines YES and proceeds to step S5, but if it determines NO, it loops back to step S4.
[0062] In step S5, the processor 50 calculates the welding pressure F m The pressure command F corresponding to C_m Specifically, the processor 50 drives the welding gun 14 in accordance with the welding command IN (first pressure command) read out when the determination in the most recent step S3 is YES. W In response to the code "CONDITION [1]", the welding force F specified in the welding condition 1 to which the identifier [1] is assigned is 1 (=2 [kN]). Then, the processor 50 obtains the applied pressure F obtained from the welding condition 1. 1 The pressure command F corresponding to C_1 (=2 [kN]) is generated, and the pressure command F C_1 The servo motor 40 of the welding gun 14 is driven in accordance with the above.
[0063] On the other hand, while the servo motor 40 is being driven, the processor 50 acquires a feedback FB1 from the load detection sensor LS, and the feedback FB1 is used to generate a pressure command F C_1 As a result, the welding force sensor 16 is clamped between the movable welding tip 44 and the fixed welding tip 36, and the welding force sensor 16 is supplied with the welding force command F C_1A pressure F according to the above is applied.
[0064] In step S6, the pressure force F is acquired. Specifically, the processor 50 acquires the pressure force F measured by the pressure force sensor 16 at the end of step S5 (i.e., when the servo motor 40 is stopped) from the pressure force sensor 16 and stores it in the memory 52. In this manner, in this embodiment, the processor 50 acquires the n-th taught position TP in the most recent step S2 (or step S8 described later). n and teaching posture OR n The welding gun 14 positioned at the pressure command F C_1 The pressure sensor 16 acquires the pressure F actually measured when the actuator is driven at .
[0065] Therefore, the processor 50 functions as a pressure acquisition unit 64 (FIG. 2) that acquires the pressure F. The pressure F acquired in step S6 is the same as the pressure F acquired in the nth teaching posture OR in which the welding gun 14 is positioned, even if the above-described calibration work is performed. n In response to this, the pressure command F C_1 (That is, the pressure F specified in welding condition 1 1 = 2 [kN]).
[0066] In step S7, the processor 50 calculates all teaching positions TP defined in the welding operation program 200. n and teaching posture OR n If the processor 50 determines YES, it ends the flow shown in Fig. 5, whereas if the processor 50 determines NO, it proceeds to step S8.
[0067] In step S8, the processor 50 executes the positioning command IN P For example, when executing step S8 for the first time, the processor 50 executes the positioning instruction IN P Execute "MOVE [TP2] VELOCITY [V2]" to move the welding gun 14 to the second teaching position TP 2 and teaching posture OR 2 To position it at speed V 2 Move it with .
[0068] Then, the processor 50 returns to step S3. In this manner, the processor 50 repeatedly executes the loop of steps S3 to S8 until it determines YES in step S7, and executes step S8 to move the welding gun 14 to the n-th teaching position TP n and teaching posture OR n Each time positioning is performed, the pressure force F is acquired in step S6.
[0069] 5 ends, the processor 50 executes the welding operation program 200 and performs actual welding on the workpiece. When performing actual welding, the operator or the upper controller provides the control device 18 with a flag setting signal for invalidating the flag FL, and the processor 50 invalidates the flag FL in response to the flag setting signal. As a result, the processor 50 invalidates the welding command IN of the welding operation program 200 during the actual welding. W By executing the above, welding work is performed on the workpiece.
[0070] In this embodiment, when the welding operation program 200 is executed for the actual welding operation, the processor 50 calculates the welding force command F based on the welding force F acquired in step S6. C_1 For example, in step S2 or S8, the positioning instruction IN P is executed to move the welding gun 14 to the n-th teaching position TP n and teaching posture OR n It is assumed that the applied pressure F obtained in step S6 immediately after positioning is 1.5 kN.
[0071] In this case, the processor 50 executes the positioning instruction IN 2i-1 in the actual welding operation. P The welding command IN on the second i-th line after W The welding force command F for driving the servo motor 40 of the welding gun 14 when C_1 (=2 [kN]) is calculated by, for example, calculating the correction amount ΔF for correcting the pressure F and the pressure command F C_1 The difference ΔF (= 0.5 kN) is calculated.
[0072] Then, the processor 50 calculates the pressure command F C_1 is corrected by adding a correction amount ΔF, and a new pressure command F C_1 '=2.5 [kN] (second pressure command). The correction amount ΔF is calculated by subtracting the pressure F from the pressure command F C_1 For example, it may be a value obtained by multiplying the difference by a predetermined coefficient, or a value obtained by multiplying the pressure force F and the pressure force command F C_1 It may be obtained by any other calculation using
[0073] Then, the processor 50 executes the welding command IN W When the above is executed, the corrected pressure command F C_1 ' (=2.5 [kN]) in the actual welding work. n The welding gun 14 positioned at the position applies a pressure F to the workpiece, which is set to the pressure F specified in the welding condition 1. 1 can be substantially matched to
[0074] In this manner, in this embodiment, the processor 50 calculates the first pressure command F based on the pressure F acquired in step S6. C_1 By correcting the teaching posture OR when the welding operation program 200 is executed, n The second pressure command F when driving the welding gun 14 is C_1 '.
[0075] As described above, in this embodiment, the processor 50 functions as the operation execution unit 62, the pressure acquisition unit 64, and the command correction unit 66 to obtain the pressure command F that defines the pressure F of the welding gun 14. C is corrected in accordance with the attitude OR of the welding gun 14. Therefore, the operation execution unit 62, the pressure acquisition unit 64, and the command correction unit 66 correct the pressure command F C The apparatus 70 (FIG. 2) is configured to correct the above.
[0076] In this device 70, the operation execution unit 62 executes the teaching posture OR nThe robot 12 is operated so as to position the welding gun 14 at the teaching posture OR (steps S2 and S8). n When the welding gun 14 is positioned at the first pressure command F C_1 The pressure F when the pressure sensor 64 is driven is acquired (step S6). Then, the command corrector 66 calculates a first pressure command F based on the pressure F acquired by the pressure acquisition unit 64. C_1 By correcting the teaching posture OR when the welding operation program 200 is executed, n The second pressure command F when driving the welding gun 14 is C_1 ' is required.
[0077] According to this configuration, the teaching posture OR for positioning the welding gun 14 in the actual welding work is n Based on the pressure F obtained in C_1 This allows the second pressure force command F to be corrected, which can generate a constant pressure force F in the welding gun 14 regardless of the posture in which the welding gun 14 is positioned during actual welding work. C_1 ' can be calculated with high accuracy. C_1 Since it is not necessary to newly teach the robot 12 a posture for correcting the pressure force command F C_1 This simplifies the process of correcting the above.
[0078] In addition, in the apparatus 70, the welding operation program 200 operates the robot 12 to move the welding gun 14 to the n-th teaching position TP n and teaching posture OR n Positioning command IN P and a welding command IN to start the welding gun 14 and weld the workpiece. W The operation execution unit 62 then executes the positioning command IN of the welding operation program 200. P By executing the above, the robot 12 moves the welding gun 14 to the n-th teaching position TP n and teaching posture OR n (Steps S2, S8) Meanwhile, the welding command IN W is not executed (steps S4 to S7).
[0079] Then, the pressing force acquisition unit 64 receives the pressing force from the operation execution unit 62 when the welding gun 14 is moved to the n-th teaching position TP n and teaching posture OR n In this configuration, the pressing force F when the robot 12 is positioned at the position indicated by the arrow is acquired (step S6). C_1 Therefore, the operation of acquiring the pressing force F can be performed at the welding work site while avoiding interference between the robot 12 and peripheral equipment.
[0080] In the apparatus 70, the pressure acquisition unit 64 acquires the n-th teaching posture OR n The welding gun 14 positioned at the first pressure command F C_1 According to this configuration, the pressure sensor 16 can measure the pressure F with high accuracy, so the second pressure command F C_1 ' can be calculated with higher accuracy.
[0081] In the above-described embodiment, an operation program PG1 for executing the pressing force acquisition operation FO (steps S4 to S7) may be prepared separately from welding operation program 200. In this case, when processor 50 determines YES in step S3, it executes operation program PG1 and executes steps S4 to S7 as the pressing force acquisition operation FO.
[0082] In the above embodiment, the flag FL is set in the control device 18. However, the present invention is not limited to this. In the welding operation program 200 acquired in step S1, each welding command IN W The code "GUN [ON] CONDITION [1]" may be assigned a flag FL for alternatively executing the welding force acquisition operation FO. Then, the processor 50 reads the welding command IN W The flag FL assigned to the welding command IN is referenced. W Instead, steps S4 to S7 may be executed as the pressure obtaining operation FO.
[0083] Then, when executing welding operation program 200 to perform an actual welding operation, flag FL may be deleted from welding operation program 200. Alternatively, processor 50 may delete the welding instruction IN of welding operation program 200. W When executing the welding command IN, the flag FL is ignored. W may be executed.
[0084] Furthermore, in the above embodiment, the case has been described in which the pressure sensor 16 is connected to the I / O interface 54 of the control device 18 and supplies the measured pressure F to the control device 18. However, this is not limiting, and the pressure sensor 16 does not have to be connected to the control device 18. In this case, the operator may manually input the pressure F measured by the pressure sensor 16 at the end of the above-mentioned step S5 into the control device 18 by operating the input device 58.
[0085] In the above embodiment, the welding robot system 10 is provided with the welding force sensor 16 that is independent of the welding gun 14, and the operator manually sets the welding force sensor 16. However, the welding force sensor 16 may be integrally incorporated into the welding gun 14.
[0086] Such a configuration is shown in Fig. 9. In the welding robot system 10' shown in Fig. 9, the pressurizing force sensor 16' is fixed integrally to the movable arm 38 together with the movable welding tip 44. When the movable welding tip 44, driven by the servo motor 40, presses the object to be pressed (e.g., the fixed welding tip 36), the pressurizing force sensor 16' is configured to measure the pressurizing force F applied to the object to be pressed by detecting the force acting on the pressurizing force sensor 16' as a reaction force.
[0087] According to this welding robot system 10', step S4 can be omitted from the flow of Fig. 5. Specifically, when the determination in step S3 is YES, the processor 50 executes step S5 and issues a pressure command F C_1The servo motor 40 of the welding gun 14 is driven in accordance with the load command F. As a result, the movable welding tip 44 is pressed against the fixed welding tip 36, which is the object to be pressed, and presses the fixed welding tip 36. Then, the processor 50 calculates the force command F based on the feedback FB1 obtained from the load detection sensor LS. C_1 When the value corresponding to the value of the servo motor 40 is reached, the servo motor 40 is stopped.
[0088] When performing step S5, an object to be pressed (such as a steel plate) separate from the welding gun 14 may be inserted between the movable welding tip 44 and the fixed welding tip 36, and the object to be pressed may be pressed by the movable welding tip 44. Next, in step S6, the processor 50 acquires the applied pressure F measured by the applied pressure sensor 16' at this time. The applied pressure sensor 16' may be fixed between the fixed welding tip 36 and the fixed arm 34.
[0089] 10 and 11 , a welding robot system 80 according to another embodiment will be described. The welding robot system 80 differs from the above-described welding robot system 10 in the following configuration. Specifically, the welding robot system 80 does not include the above-described pressure sensor 16, but the welding gun 14 includes a position sensor 68.
[0090] The position sensor 68 detects the position PS of the movable welding tip 44. As an example, the position sensor 68 has a rotation detection sensor RS2 (an encoder, a Hall element, or the like) provided on the servo motor 40 of the welding gun 14, and detects the rotational position (or rotation angle) of the servo motor 40. Because the rotational position of the servo motor 40 correlates with the positions of the movable arm 38 and the movable welding tip 44 in the direction of the gun axis A2, the position sensor 68 in this example can detect the position PS of the movable welding tip 44 by detecting the rotational position of the servo motor 40.
[0091] As another example, the position sensor 68 is provided on the welding gun 14 (e.g., the base 32) and has a linear scale SC that can directly detect the position PS in the direction of the gun axis A2 of the movable arm 38 or the movable welding tip 44. The position sensor 68 (rotation detection sensor RS2 or linear scale SC) supplies detection data of the detected position PS to the control device 18.
[0092] Next, referring to FIG. 12, in the welding robot system 80, a pressure command F C 12, the same steps as those in the flow shown in FIG. 5 are denoted by the same step numbers, and redundant explanations will be omitted. After the flow shown in FIG. 12 starts, processor 50 executes step S1 and acquires welding operation program 200.
[0093] In this embodiment, the processor 50 analyzes the acquired welding operation program 200 and W Then, the processor 50 refers to the code "CONDITION[1]" in the code. The processor 50 then refers to the welding force F included in the welding condition 1 to which the identifier [1] in the code is assigned. 1 (=2 [kN]) information is obtained from the data table of welding condition 1 (FIG. 8).
[0094] After step S1, in step S11, the processor 50 sets the welding gun 14 in the reference position OR 0 Specifically, the processor 50 operates the robot 12 to position the welding gun 14 at the reference position OR shown in FIG. 0 As a result, the gun axis A2 of the welding gun 14 is parallel to the vertical direction, and the movable welding tip 44 is aligned vertically above the fixed welding tip 36.
[0095] In step S12, the processor 50 calculates the welding pressure F m The pressure command F corresponding to C_m Specifically, the processor 50 drives the welding gun 14 in accordance with the welding pressure F (first pressure command) included in the welding condition 1 acquired in step S1. 1 Based on the information, the applied pressure F1 The pressure command F corresponding to C_1 (=2 [kN]) is generated, and the pressure command F C_1 The servo motor 40 of the welding gun 14 is driven in accordance with the above.
[0096] As a result, the movable welding tip 44 is pressed against the fixed welding tip 36 as the object to be pressed. Then, the processor 50 converts the feedback FB1 from the load detection sensor LS into the welding force command F C_1 As a result, the movable welding tip 44 outputs the welding force F to the welding force sensor 16. 1 will be added.
[0097] Here, by the above-mentioned calibration work, the reference attitude OR 0 The welding gun 14 placed at C The pressure F and the pressure command F C Therefore, the pressure F applied to the pressure sensor 16 in step S12 is the pressure command F C_1 The applied pressure F under welding condition 1 corresponds to 1 (= 2 [kN]).
[0098] In step S13, the processor 50 determines whether the movable welding tip 44 is at the first position PS 1 Specifically, the processor 50 acquires the first position PS detected by the position sensor 68 at the end of step S12 (i.e., when the servo motor 40 is stopped). 1 (or rotational position) is obtained from the position sensor 68 .
[0099] In this manner, in this embodiment, the processor 50 determines the reference attitude OR 0 The welding gun 14 positioned at the first pressure command F C_1 The first position PS detected by the position sensor 68 when the movable welding tip 44 is driven by the 1 The position acquisition unit 72 (FIG. 11) acquires the position.
[0100] After step S13, the processor 50 sequentially executes steps S2, S3, and S5 described above. As a result, the n-th teaching position TP n and teaching posture OR n The welding gun 14 positioned at the welding pressure command F C_1 (=2 kN) so that the movable welding tip 44 applies a pressure force F to the fixed welding tip 36 as the object to be pressed. The pressure force F at this time is n In response to this, the pressure command F C_1 (That is, the pressure F under welding condition 1 1 = 2 [kN]).
[0101] In step S14, the processor 50 functions as the position acquisition unit 72 and acquires the second position PS 2 Specifically, the processor 50 acquires the second position PS detected by the position sensor 68 at the end of step S5 (i.e., when the servo motor 40 is stopped). 2 (or rotational position) is obtained from the position sensor 68 .
[0102] The pressure F with which the movable welding tip 44 presses the fixed welding tip 36 when step S14 is performed is, as described above, the pressure F when step S13 is performed. 1 Therefore, the second position PS obtained in step S14 may differ from 2 is the first position PS obtained in step S13 1 may differ from
[0103] In this way, the processor 50 functions as the position acquisition unit 72 and acquires the n-th teaching posture OR n The welding gun 14 positioned at the first pressure command F C_1 The second position PS detected by the position sensor 68 when the movable welding tip 44 is driven by the 2 Get.
[0104] In step S15, the processor 50 functions as the pressure acquisition unit 64 and acquires the pressure F. Here, the first position PS acquired in step S131 and the second position PS acquired in step S14. 2 and the pressure F defined in the welding condition 1 acquired in step S1. 1 and the applied pressure F acquired in step S15 have a relationship shown in the following formula 1. 1 / PS 2 =F 1 / F...(Formula 1)
[0105] By the above-mentioned calibration work, the applied pressure F in Equation 1 1 As described above, the pressure command F C_1 = 2 [kN] and is known. Therefore, from Equation 1, the applied pressure F is F = F 1 ・PS 2 / PS 1 The processor 50 stores the calculated applied pressure F in the memory 52.
[0106] After step S15, the processor 50 sequentially executes the above-described steps S7 and S8, and repeatedly executes the loop of steps S3, S5, S14, S15, S7, and S8 until it determines YES in step S7. In step S8, the processor 50 moves the welding gun 14 to the n-th teaching position TP n and teaching posture OR n Each time positioning is performed, the pressure force F is acquired in step S15.
[0107] After the flow shown in FIG. 12 is completed, the processor 50 executes the welding operation program 200 for the actual welding operation, as in the above-described embodiment, and during the execution of the welding operation program 200, functions as the command corrector 66 to correct each teaching posture OR based on the welding force F acquired in step S15. n Pressure command F C_1 By correcting the pressure command F C_1 ' is required.
[0108] As described above, in this embodiment, the processor 50 functions as the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, and the position acquisition unit 72, thereby determining the pressure command F in accordance with the attitude OR of the welding gun 14. CTherefore, the operation execution unit 62, the pressure force acquisition unit 64, the command correction unit 66, and the position acquisition unit 72 correct the pressure force command F in accordance with the attitude OR of the welding gun 14. C The present inventors construct a device 90 (FIG. 11) for correcting the above.
[0109] In this device 90, the position acquisition unit 72 acquires the reference position OR 0 The welding gun 14 positioned at the first pressure command F C_1 The first position PS detected by the position sensor 68 when the movable welding tip 44 is driven by the 1 is acquired (step S13).
[0110] Furthermore, the position acquisition unit 72 acquires the n-th teaching posture OR n The welding gun 14 positioned at the first pressure command F C_1 The second position PS detected by the position sensor 68 when the movable welding tip 44 is driven by the 2 (Step S14). Then, the pressure acquisition unit 64 acquires the first position PS 1 and the second position PS 2 Based on this, the nth teaching posture OR n The applied pressure F at this point is calculated by a predetermined calculation (specifically, calculation using the above-mentioned formula (1)) (step S15).
[0111] According to this configuration, the teaching posture OR can be obtained without using a physical sensor such as the pressure sensor 16 described above. n Therefore, the operator does not have to manually set the pressure sensor 16, and the flow of FIG. 12 can be effectively automated, so the work of obtaining the pressure F can be simplified.
[0112] In the above embodiment, the processor 50 executes step S2 or S8 to move the welding gun 14 to all of the teaching positions TP n and teaching posture OR n The above description is directed to a case where the n-th teaching position TP is obtained in step S6 or S15. However, the present invention is not limited to this. The processor 50 may also be configured to perform the command correction unit 66 to obtain the n-th teaching position TPn and teaching posture OR n Pressure command F C_1 When the pressure command F C_1 ' and the nth teaching position TP n and k (k≠n) teaching position TP k Based on this, the k-th teaching position TP k and teaching posture OR k Pressure command F C_1 ' can also be estimated.
[0113] For example, in step S2, the processor 50 moves the welding gun 14 to the first taught position TP 1 and teaching posture OR 1 Then, the processor 50 determines the first welding force command F based on the determined welding force F during the actual welding operation. C_1 By correcting the first teaching position TP 1 and teaching posture OR 1 Pressure command F C_1 Suppose we ask for '.
[0114] In this case, the processor 50 calculates the calculated pressure command F C_1 ' and the first taught position TP defined in the welding operation program 200. 1 and the second teaching position TP 2 (specifically, the coordinates of the robot coordinate system C1) by performing a predetermined calculation using a predetermined approximation formula, the second teaching position TP 2 and the second teaching posture OR 2 The second pressure command F C_1 This approximation formula can be used to estimate, for example, the first teaching position TP 1 to the second teaching position TP 2 is a formula that represents a change (for example, a linear change) in the applied pressure F up to the point where the applied pressure F is equal to the applied pressure F, and is determined in advance by the operator.
[0115] In this case, the processor 50, as the operation execution unit 62, moves the welding gun 14 to the second taught position TP in step S8 described above. 2 and the second teaching posture OR 2According to this configuration, the operation of positioning the second teaching posture OR 2 Regarding the second teaching posture OR, the positioning operation in step S8 and the operation for acquiring the applied force F in step S15 can be canceled. 2 The second pressure command F C_1 ' can be estimated with high accuracy.
[0116] Next, other functions of welding robot system 80 will be described with reference to Figures 13 and 14. Welding robot system 80 further executes the flow shown in Figure 14. In the flow shown in Figure 14, the same processes as those in Figure 12 are assigned the same step numbers, and duplicated descriptions will be omitted.
[0117] 14, when the determination in step S7 is NO, the processor 50 executes step S21. In step S21, the processor 50 executes the positioning instruction IN P The teaching posture specified in 1 , OR 2 , ... OR n and the next positioning command to be executed is IN P The teaching posture specified in n+1 Calculate the difference φ between
[0118] For example, in step S2, the processor 50 executes the positioning instruction IN P The welding gun 14 is moved to the first teaching position TP 1 and teaching posture OR 1 After positioning, steps S3, S5, S14, S15 and S7 are executed, and the process proceeds to step S21.
[0119] In this case, in step S21, the processor 50 executes the positioning instruction IN P The first teaching posture OR 1 and the positioning instruction IN on the third line that is scheduled to be executed next. P The second teaching posture OR 2 The difference φ 1_2Specifically, the processor 50 calculates the positioning instruction IN P : Refer to the code "MOVE[TP2] VELOCITY[V2]" and use the coordinates (X 2 , Y 2 , Z 2 , W 2 , P 2 , R 2 ) is obtained from the position data table 202.
[0120] Then, the processor 50 executes the most recently executed positioning instruction IN P The first teaching posture OR 1 coordinates (W 1 , P 1 , R 1 ) and the second teaching attitude acquired from the position data table 202 OR 2 coordinates (W 2 , P 2 , R 2 ) and the first teaching posture OR 1 and the second teaching posture OR 2 The difference φ 1_2 Ask for.
[0121] Below, the difference φ 1_2 First, the processor 50 calculates the first teaching posture OR 1 coordinates (W 1 , P 1 , R 1 ) into a 3x3 matrix M 1 This matrix M 1 In this case, the vector V is expressed by the three parameters in the first column. 1_1 is a unit vector indicating the rotation component around the x-axis of the tool coordinate system C2, and the vector V 1_2 is a unit vector indicating the rotation component around the y-axis of the tool coordinate system C2, and the vector V 1_3 is a unit vector indicating a rotation component around the z axis of the tool coordinate system C2.
[0122] Similarly, the processor 50 calculates the second teaching posture OR2 coordinates (W 2 , P 2 , R 2 ) into a 3x3 matrix M 2 Then, the processor 50 calculates the matrix M 1 The first column vector V 1_1 and the matrix M 2 The first column vector V 2_1 and inner product IP 1 This inner product IP 1 is a vector V 1_1 and vector V 2_1 The angle with x Then, cosφ x This angle φ x is the first teaching attitude OR in the direction around the x-axis of the tool coordinate system C2 1 and the second teaching posture OR 2 The difference φ 1_2 The processor 50 calculates the calculated inner product IP 1 = cosφ x From this, angle φ x = cos -1 (IP 1 ) can be obtained.
[0123] Similarly, the processor 50 calculates the matrix M 1 The second column vector V 1_2 and the matrix M 2 The second column vector V 2_2 Inner product IP with 2 This inner product IP 2 is a vector V 1_2 and vector V 2_2 The angle with y Then, cosφ y This angle φ y is the first teaching attitude OR in the direction around the y-axis of the tool coordinate system C2 1 and the second teaching posture OR 2 The difference φ 1_2 The processor 50 calculates the calculated inner product IP 2 = cosφ y From this, angle φ y = cos -1 (IP 2) can be obtained.
[0124] Thus, the processor 50 determines the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 As the angle φ x and φ y Therefore, the processor 50 calculates the first teaching posture OR 1 and the second teaching posture OR 2 The difference φ 1_2 The above-described method for calculating the difference φ is an example, and the processor 50 may calculate the difference φ by any other method.
[0125] In step S22, the processor 50 calculates whether the difference φ calculated in step S21 is equal to or smaller than a predetermined threshold φ th For example, if the processor 50 determines in the immediately preceding step S21 that the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 As the angle φ x and φ y Suppose we ask for
[0126] In this case, the processor 50 calculates the angle φ x is a predetermined threshold φ th_x is smaller than (i.e., φ x <φ th_x ) and the angle φ y is a predetermined threshold φ th_y is smaller than (i.e., φ y <φ th_y The processor 50 determines whether φ x <φ th_x , and φ y <φ th_y If the first teaching posture OR 1 and the second teaching posture OR 2 The difference φ 1_2 is the threshold φ th On the other hand, it is determined that φ is smaller than φ (i.e., YES). x ≧φ th_x , or φy ≧φ th_y If the first teaching posture OR 1 and the second teaching posture OR 2 The difference φ 1_2 is the threshold φ th It is determined that the answer is equal to or greater than this (i.e., NO).
[0127] In this manner, in this embodiment, the processor 50 calculates the difference φ calculated in step S21. 1_2 is a predetermined threshold value φ th If the result of the determination in step S22 is NO, the processor 50 proceeds to step S8. Then, in step S8, the processor 50 determines whether the positioning instruction IN P is executed to move the welding gun 14 to the second teaching position TP 2 and the second teaching posture OR 2 and returns to step S3.
[0128] On the other hand, if the determination in step S22 is YES, the processor 50 returns to step S7. That is, in this embodiment, the processor 50 determines whether the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 is small (in other words, two postures OR 1 and OR 2 are similar), in step S8, the positioning instruction IN P and then in step S15, the second teaching position TP 2 and the second teaching posture OR 2 Then, in step S7, the processor 50 does not execute the operation of acquiring the applied pressure F at the second taught position TP 2 and teaching posture OR 2 It is assumed that the applied pressure F is obtained.
[0129] In this way, in this embodiment, the positioning command IN P The teaching posture specified in 1 , OR 2 ...OR nand the next positioning instruction IN P The teaching posture specified in n+1 If the difference φ is small, the next positioning command IN P is not executed, and the operation of obtaining the applied pressure F is canceled.
[0130] For example, the four teaching postures shown in FIG. n Among these, the first teaching posture OR 1 and the second teaching posture OR 2 The difference φ 1_2 However, as mentioned above, the threshold φ th In this case, the processor 50 executes the positioning instruction IN P The welding gun 14 is moved to the third teaching position TP 3 and teaching posture OR 3 After positioning, steps S3, S5, S14, S15 and S7 are executed, and the process proceeds to step S21.
[0131] In this case, in step S21, the processor 50 executes the positioning instruction IN P The first teaching posture OR 1 and the positioning instruction IN on the 7th line that is scheduled to be executed next. P The fourth teaching posture OR 4 The difference φ 1_4 , and the already executed positioning instruction IN on the third line P The third teaching posture defined in 3 and the fourth teaching posture OR 4 The difference φ 3_4 are calculated respectively.
[0132] Then, in step S22, the processor 50 calculates the difference φ 1_4 and the difference φ 3_4 At least one of the thresholds φ th In this case, the processor 50 determines that the positioning instruction IN P Without executing the fourth teaching posture OR 4In other words, in this embodiment, the processor 50 cancels step S15 of acquiring the applied pressure F by the difference φ. th That's all) Teaching posture OR n In step S15, the pressure F is acquired only for the above.
[0133] After the flow of FIG. 14, processor 50 executes welding operation program 200 for the actual welding operation, and during the execution of welding operation program 200, processor 50 functions as command corrector 66 to correct each teaching posture OR based on the welding force F acquired in step S15. n Pressure command F C_1 By correcting the pressure command F C_1 ' is required.
[0134] In this embodiment, the processor 50 selects a plurality of teaching postures ORs having small differences φ (i.e., similar postures) from each other. n For example, in step S22, the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 Since the value of F is small, the answer is YES, and the operation of obtaining the applied pressure F in step S15 is canceled.
[0135] In this case, the processor 50 functions as a command corrector 66 to correct the first teaching attitude OR 1 Using the correction amount ΔF calculated for the second teaching attitude OR 2 The welding force command F for driving the welding gun 14 is C_1 For example, the first teaching posture OR 1 Assume that the correction amount ΔF calculated in step 2 is ΔF=0.5 kN as described above.
[0136] In this case, the processor 50 executes the welding command IN W When the second teaching posture OR 2 The welding force command F for driving the welding gun 14 is C_1 (=2 [kN]) as the first teaching posture OR 1The correction amount ΔF (= 1 [kN]) obtained in step 1 is added to the pressure command F C_1 Then, the processor 50 calculates the welding command IN ' on the fourth line. W When the second teaching posture OR 2 The welding gun 14 positioned at the new pressure command F C_1 ' (=2.5 [kN]).
[0137] Furthermore, in step S22, the first teaching posture OR 1 and the fourth teaching posture OR 4 The difference φ 1_4 Since the first teaching attitude OR is small, the determination is YES, and the operation of acquiring the applied force F in step S15 is canceled. In this case, the processor 50 functions as the command corrector 66 and acquires the first teaching attitude OR 1 Using the correction amount ΔF (=0.5 [kN]) obtained for the fourth teaching posture OR 4 The welding force command F for driving the welding gun 14 is C By correcting the force, a new pressure command F C_1 '(=2.5 [kN]).
[0138] Then, the processor 50 executes the welding command IN W When the fourth teaching posture OR 4 The welding gun 14 positioned at the new pressure command F C_1 That is, in this case, the processor 50 drives the robot at the first teaching posture OR 1 , second teaching posture OR 2 , and the fourth teaching posture OR 4 Then, the common correction amount ΔF (=0.5 [kN]) is used to obtain the original pressure command F C_1 will be corrected.
[0139] In this embodiment, all teaching postures OR n The same pressure command F C_1 (That is, the pressure F under welding condition 1 shown in FIG. 8 1 = 2 [kN]) is predetermined. However, this is not limiting. n A different pressure command FC_1 In this case, the teaching posture OR may be set in the data table of welding conditions 1 shown in FIG. n Each pressure command F C_1 may be stored.
[0140] As described above, in this embodiment, the processor 50 functions as the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, and the difference determination unit 76, thereby determining the pressure command F in accordance with the attitude OR of the welding gun 14. C Therefore, the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, and the difference determination unit 76 correct the pressure command F in accordance with the attitude OR of the welding gun 14. C The present inventors construct an apparatus 100 (FIG. 13) for correcting the above.
[0141] In this apparatus 100, the pressurizing force acquisition unit 64 receives the pressurizing force from the operation execution unit 62 when the welding gun 14 is in the first teaching posture OR 1 The first pressure force F when the positioning is performed is acquired (step S15), and the command correction unit 66 calculates the first teaching posture OR based on the first pressure force F. 1 The first pressure command F for driving the welding gun 14 is C_1 (=2 [kN]) is the second pressure command F C_1 A correction amount ΔF (=0.5 [kN]) for correcting the force to ' (=2.5 [kN]) is calculated.
[0142] On the other hand, the attitude difference calculation unit 74 calculates the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 (step S21), and the difference determination unit 76 calculates the difference φ 1_2 is a predetermined threshold value φ th Then, the difference determining unit 76 determines whether the difference φ 1_2 is the threshold φ th If it is determined that the teaching position is smaller than the teaching position (i.e., YES in step S22), the operation execution unit 62 moves the welding gun 14 to the second teaching position OR 2 Therefore, the operation of positioning (step S8) is not performed.
[0143] Then, the command corrector 66 calculates the first teaching attitude OR 1 Using the correction amount ΔF obtained in the above, the second teaching posture OR 2 The first pressure command F for driving the welding gun 14 is C (=2 [kN]) to obtain the second teaching posture OR 2 The second pressure command F C_1 ' (= 2.5 [kN]).
[0144] According to this configuration, a plurality of teaching postures OR n 14. Therefore, the positioning operation in step S8 and the operation for obtaining the applied pressure F in step S15 can be canceled. This makes it possible to reduce the cycle time of the flow in FIG.
[0145] The difference determination unit 76 and the attitude difference calculation unit 74 of the device 100 can also be applied to the device 70 shown in Fig. 2. In this case, when the processor 50 determines NO in step S7 in Fig. 5, it executes steps S21 and S22 in Fig. 14, and when it determines YES in step S22, it returns to step S7, whereas when it determines NO, it proceeds to step S8.
[0146] In this embodiment, the processor 50 selects a plurality of teaching postures ORs having small differences φ (i.e., similar postures) from each other. n However, the present invention is not limited to this. The processor 50 may use a common correction amount ΔF between a plurality of teaching postures OR n If there is one teaching posture OR n The second pressure command F corrected by C_1 Based on the difference φ, other teaching postures OR n+1 The second pressure command F C_1 ' may be required.
[0147] For example, the processor 50 determines whether the first teaching posture OR 1 In this case, as described above, the first pressure command F C_1 By correcting the second pressure command F C_1 ' and the first teaching posture OR 1and the second teaching posture OR 2 The difference φ 1_2 (i.e., angle φ x and φ y ) is small. In this case, the processor 50 calculates the difference φ 1_2 Among these, the angle φ around the y-axis of the tool coordinate system C2 perpendicular to the gun axis A2 y In response to the first teaching posture OR 1 The second pressure command F C_1 By linearly changing ', the second teaching posture OR 2 The second pressure command F C_1 ' may be required.
[0148] For example, the second teaching posture OR 2 is the posture shown in FIG. 4, and the first teaching posture OR 1 The second teaching posture OR 2 , and the angle φ y In this case, the processor 50 functions as the command corrector 66 to correct the second teaching attitude OR 2 The second pressure command F C_1 ', angle φ y In response, the first teaching posture OR 1 The second pressure command F C_1 ' may be linearly increased.
[0149] On the other hand, the first teaching posture OR 1 is the posture shown in FIG. 4, and the second teaching posture OR 1 The first teaching posture OR 1 , and the angle φ y In this case, the processor 50 functions as the command corrector 66 to correct the second teaching attitude OR 2 The second pressure command F C_1 ', angle φ y In response, the first teaching posture OR 1 The second pressure command F C_1 ' may be linearly decreased to obtain the value.
[0150] In this manner, in this embodiment, the command correction unit 66 determines the first teaching attitude OR 1 The second pressure command F C_1 ' and the difference φ (e.g., angle φ y ) and the second teaching posture OR 2 The second pressure command F C_1 According to this configuration, the second teaching posture OR 2 Regarding the second teaching posture OR, the positioning operation in step S8 and the operation for acquiring the applied force F in step S15 can be canceled. 2 The second pressure command F C_1 ' can be calculated with high accuracy according to the difference φ.
[0151] The processor 50 calculates a plurality of teaching postures OR n If there is one teaching posture OR n Based on the correction amount ΔF and the difference φ obtained in the above, other teaching postures OR n+1 For example, as described above, the correction amount ΔF may be calculated for the first teaching posture OR 1 The correction amount ΔF is calculated by the first teaching attitude OR 1 and the second teaching posture OR 2 The difference φ 1_2 In this case, the processor 50 calculates the angle φ about the y-axis of the tool coordinate system C2 that is orthogonal to the gun axis A2. y In response to the first teaching posture OR 1 The correction amount ΔF calculated in the above is linearly changed to obtain the second teaching posture OR 2 The first pressure command F C_1 Alternatively, a correction amount ΔF for correcting the above may be calculated.
[0152] For example, the second teaching posture OR 2 is the posture shown in FIG. 4, and the first teaching posture OR 1 The second teaching posture OR 2 3, an angle φ y In this case, the processor 50 functions as the command corrector 66 to correct the second teaching attitude OR 2 The first pressure command F C_1The correction amount ΔF for correcting the angle φ y In response to the first teaching posture OR 1 Alternatively, the correction amount ΔF may be linearly increased.
[0153] On the other hand, the first teaching posture OR 1 is the posture shown in FIG. 4, and the second teaching posture OR 1 The first teaching posture OR 1 , an angle φ y In this case, the processor 50 functions as the command corrector 66 to correct the second teaching attitude OR 2 The first pressure command F C_1 The correction amount ΔF for correcting the angle φ y In response to the first teaching posture OR 1 Alternatively, the correction amount ΔF may be linearly decreased.
[0154] Next, other functions of the welding robot system 10 will be described with reference to Figures 15 to 17. The welding robot system 10 further executes the flow shown in Figure 16. In this embodiment, the processor 50 executes the teaching postures OR n and each teaching posture OR n The posture reproduction program 204 for acquiring the applied force F is generated.
[0155] 16 starts, the processor 50 executes step S1 to acquire the welding operation program 200. In step S31, the processor 50 acquires the teaching posture OR n Specifically, the processor 50 analyzes the welding operation program 200 and extracts all the positioning instructions IN P Extract.
[0156] Then, the processor 50 issues a positioning command IN P The identifier [TPn] included in the code is extracted, and the teaching posture indicated by the identifier [TPn] OR nfrom the position data table 202 (FIG. 7). As a result, the processor 50 obtains the first taught attitude OR 1 Coordinates representing (W 1 , P 1 , R 1 ), second teaching posture OR 2 Coordinates representing (W 2 , P 2 , R 2 ), the third teaching posture OR 3 Coordinates representing (W 3 , P 3 , R 3 ), and the fourth teaching posture OR 4 Coordinates representing (W 4 , P 4 , R 4 ) from the welding operation program 200. n The posture extractor 78 (FIG. 15) extracts the posture.
[0157] In step S32, the processor 50 determines whether or not input of the posture reproduction position OP has been received. This posture reproduction position OP is a position (specifically, coordinates (X, Y, Z)) in the robot coordinate system C1 that positions the welding gun 14 (in other words, the TCP) when a posture reproduction program 204 (FIG. 19) described later is executed.
[0158] For example, the processor 50 generates an input image IM for inputting the posture reproduction position OP and displays it on the display device 60. While visually checking the input image IM, the operator operates the input device 58 to provide an input specifying the coordinates of the posture reproduction position OP to the processor 50. Hereinafter, the operator may input coordinates (X 0 , Y 0 , Z 0 ) is specified.
[0159] The coordinates of this posture reproduction position OP (X 0 , Y 0 , Z 0 ) indicates at least one (for example, all) teaching positions TP defined in the welding operation program 200. n (X n , Yn , Z n ) and the at least one teaching position TP n The operator designates the coordinates closer to the origin of the robot coordinate system C1 (i.e., the robot base 20) than the coordinates of the robot base 20.
[0160] If the processor 50 receives the input of the attitude reproduction position OP from the operator, it determines YES and proceeds to step S33, whereas if it determines NO, it loops step S32. n 15, which functions as an input receiving unit 84 that receives an input of a posture reproduction position OP different from the above.
[0161] In step S33, the processor 50 determines the teaching posture OR extracted in step S31. n Specifically, the processor 50 first generates the posture reproduction program 204 based on the teaching posture OR extracted in step S31. n and the posture reproduction position OP received in step S32, a position data table 206 for the posture reproduction program 204 is generated.
[0162] An example of the position data table 206 is shown in FIG. 18. In the position data table 206 shown in FIG. 18, coordinate data to which identifiers "OP1", "OP2", "OP3", and "OP4" are respectively assigned are stored. As shown in FIG. 18, the coordinates of the identifier "OPn" (n=1, 2, 3, 4) are the coordinates (X 0 , Y 0 , Z 0 ) are shared, while the teaching posture OR extracted in step S31 n coordinates (W n , P n , R n ) respectively. The processor 50 extracts the teaching posture OR n and the posture reproduction position OP received in step S32, a position data table 206 as shown in FIG. 18 is created.
[0163] Next, the processor 50 generates the posture reproduction program 204 based on the created position data table 206. An example of the posture reproduction program 204 is shown in Fig. 19. In the posture reproduction program 204 shown in Fig. 19, for example, the code "MOVE[OP3] VELOCITY[V13]" on the fifth line causes the robot 12 to move the welding gun 14 at a velocity V = V 13 [mm / sec] to set the orientation reproduction position OP indicated by the identifier [OP3] and the teaching orientation OR 3 Positioning instruction IN for positioning to O is.
[0164] The velocity V defined in the posture reproduction program 204 n : "VELOCITY [Vn]" (n=11, 12, 13, 14) is the velocity V specified in the welding operation program 200 n (n=1, 2, 3, 4) can be set to a different (specifically, lower) speed (e.g., V 11 =V 12 =V 13 =V 14 <V 1 =V 2 =V 3 =V 4 ).
[0165] When the posture reproduction program 204 is executed, the processor 50 executes the positioning command IN O When the coordinates (X 0 , Y 0 , Z 0 , W 3 , P 3 , R 3 Then, the processor 50 functions as the operation execution unit 62 to operate the robot 12 in the robot coordinate system C1 to position the welding gun 14 at the coordinates (X 0 , Y 0 , Z 0 , W 3 , P 3 , R 3 ) to position it.
[0166] On the other hand, the code "PRESSURIZE CONDITION [1]" in the 2ith line (i=1, 2, 3, 4) of the posture reproduction program 204 is a pressure command IN that drives the servo motor 40 of the welding gun 14 in accordance with the welding condition 1 assigned with the identifier [1], and causes the welding gun 14 to pressurize the object to be pressed. R In this way, the posture reproduction program 204 performs the welding command IN W Does not include.
[0167] The processor 50 issues a pressure command IN R When the welding condition 1 is read, the welding force F is calculated by referring to the data table of the welding condition 1 to which the identifier [1] is assigned. 1 = 2 [kN], and the applied pressure F 1 The pressure command F corresponding to C_1 (=2 [kN]) to drive the servo motor 40 of the welding gun 14.
[0168] In this manner, in this embodiment, the processor 50 determines whether the teaching posture OR extracted in step S31 is correct. n and the posture reproduction position OP received in step S32, the position data table 206 is generated, and the posture reproduction program 204 is generated based on the position data table 206. Therefore, the processor 50 generates the posture reproduction program 204 based on the taught posture OR n It also functions as a program generating section 82 (FIG. 15) that generates the posture reproduction program 204 based on the posture reproduction position OP.
[0169] 16 again, in step S34, processor 50 determines whether or not a posture reproduction program start command has been received from the operator or the upper controller. If processor 50 determines YES, it proceeds to step S35, whereas if processor 50 determines NO, it loops step S34.
[0170] In step S35, the processor 50 executes a pressure acquisition process. Step S35 will be described with reference to Fig. 17. In the flow shown in Fig. 17, the same processes as those in the flow of Fig. 5 are assigned the same step numbers, and duplicated descriptions will be omitted.
[0171] In step S41, the processor 50 executes the positioning command IN of the posture reproduction program 204. O Specifically, the processor 50 functions as the motion execution unit 62 and executes the positioning command IN "MOVE [OP1] VELOCITY [V11]" defined in the first line of the posture reproduction program 204. O The robot 12 reads out the posture reproduction position OP and the teaching posture OR. 1 (That is, the coordinates (X 0 , Y 0 , Z 0 , W 1 , P 1 , R 1 )) to position it at a speed V 11 Move it with .
[0172] In step S42, the processor 50 moves the welding gun 14 between the posture reproduction position OP and the nth teaching posture OR n (That is, the coordinates (X 0 , Y 0 , Z 0 , W n , P n , R n Specifically, the processor 50 determines whether the welding gun 14 has been positioned at the attitude reproduction position OP and the nth taught attitude OR based on the feedback FB2 from the rotation detection sensor RS1. n It is determined whether the positioning has been completed.
[0173] The processor 50 moves the welding gun 14 between the posture reproduction position OP and the nth teaching posture OR n If it is determined that the welding gun 14 has been positioned at the posture reproduction position OP and the nth teaching posture OR, the operation of the robot 12 is stopped, and the process proceeds to step S4. n On the other hand, if the result of the determination is NO, the processor 50 loops step S42.
[0174] After step S4, in step S43, the processor 50 calculates the welding pressure Fm The pressure command F corresponding to C_m Specifically, the processor 50 drives the welding gun 14 in accordance with the pressure command IN (first pressure command). R Read out.
[0175] Then, in step S43, the processor 50 reads out the pressurizing command IN R In response to the code "CONDITION [1]", the welding force F specified in the welding condition 1 to which the identifier [1] is assigned is 1 (=2 [kN]). Then, the processor 50 obtains the applied pressure F obtained from the welding condition 1. 1 The pressure command F corresponding to C_1 (=2 [kN]) is generated, and the pressure command F C_1 The servo motor 40 of the welding gun 14 is driven in accordance with the above.
[0176] Then, the processor 50 calculates the pressure command F C_1 When the value of the welding force F reaches a value corresponding to the welding force F, the servo motor 40 is stopped. As a result, the welding force sensor 16 is clamped between the movable welding tip 44 and the fixed welding tip 36. Next, the processor 50 executes step S6 and functions as the welding force acquisition unit 64 to acquire from the welding force sensor 16 the welding force F measured by the welding force sensor 16 at the end of step S43 (i.e., when the servo motor 40 is stopped).
[0177] In step S44, the processor 50 performs a program to reproduce all the teaching postures OR n If the processor 50 determines YES, it ends the flow shown in Fig. 17, thereby ending the flow of Fig. 16. On the other hand, if the processor 50 determines NO, it proceeds to step S45.
[0178] In step S45, the processor 50 executes the positioning command IN OFor example, when executing step S45 for the first time, the processor 50 executes the positioning instruction IN O Execute "MOVE [OP2] VELOCITY [V12]" to move the welding gun 14 between the posture reproduction position OP and the second teaching posture OR 2 To position it at speed V 12 Move it with .
[0179] Then, the processor 50 returns to step S42. In this manner, the processor 50 repeatedly executes the loop of steps S42, S4, S43, S6, S44, and S45 until it determines YES in step S44, and in step S45, it moves the welding gun 14 to the attitude reproduction position OP and the nth taught attitude OR n Each time positioning is performed, the pressure force F is acquired in step S6.
[0180] That is, according to the posture reproduction program 204, the processor 50 executes steps S41 and S45 to change only the posture of the welding gun 14 to the teaching posture OR without changing the position of the welding gun 14 (that is, the posture reproduction position OP) (that is, while maintaining the welding gun 14 at the posture reproduction position OP). n , and the applied pressure F is acquired in step S6.
[0181] 17 ends, the processor 50 executes the welding operation program 200 to perform the actual welding operation on the workpiece. When the welding operation program 200 is executed for the actual welding operation, the processor 50 functions as the command corrector 66 and corrects each of the taught postures OR based on the welding force F acquired in step S6 of step S35. n Pressure command F C_1 By correcting the pressure command F C_1 ' is required.
[0182] As described above, in this embodiment, the processor 50 functions as the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the attitude extraction unit 78, the program generation unit 82, and the input reception unit 84, thereby determining the pressure command F in accordance with the attitude OR of the welding gun 14. CTherefore, the operation execution unit 62, the welding force acquisition unit 64, the command correction unit 66, the attitude extraction unit 78, the program generation unit 82, and the input reception unit 84 correct the welding force command F in accordance with the attitude OR of the welding gun 14. C The apparatus 110 (FIG. 15) for correcting the above is constructed.
[0183] In this apparatus 110, the operation execution unit 62 operates the robot 12 to move the welding gun 14 to the teaching position TP n The posture reproduction position OP and the teaching posture OR are different from n Positioning command IN O Meanwhile, welding instructions IN W By executing the posture reproduction program 204 that does not include n (steps S41 and S45).
[0184] Then, the pressure acquisition unit 64 receives the pressure information from the operation execution unit 62, and moves the welding gun 14 to the posture reproduction position OP and the teaching posture OR. n In this configuration, the welding force F when the welding tool is positioned at the teaching posture OR defined in the welding operation program 200 is acquired (step S6). n By executing the posture reproduction program 204 that reproduces the posture, the welding gun 14 is set to the teaching posture OR n and the teaching posture OR n Pressure command F C Therefore, the pressure F for correcting the above can be obtained effectively.
[0185] In the welding device 110, the posture extraction unit 78 extracts the teaching posture OR from the welding operation program 200. n (step S31), and the program generating unit 82 extracts the teaching posture OR n Based on this, the posture reproduction program 204 is generated. According to this configuration, the posture reproduction program 204 can be automatically generated by the computer, thereby reducing the workload of the operator.
[0186] Furthermore, in the apparatus 110, the input receiving unit 84 receives input of the posture reproduction position OP (step S32), and the program generation unit 82 generates the posture reproduction program 204 based on the posture reproduction position OP received by the input receiving unit 84. With this configuration, the operator can arbitrarily specify the posture reproduction position OP as a coordinate close to the origin (robot base 20) of the robot coordinate system C1, for example. As a result, the operating range of the robot 12 when the posture reproduction program 204 is being executed can be reduced, thereby reliably preventing the robot 12 from interfering with peripheral devices when the posture reproduction program 204 is being executed.
[0187] In step S32, the processor 50 may function as the input receiving unit 84 and receive input of the allowable operating range RG of the robot 12 instead of the posture reproduction position OP. For example, the processor 50 generates an input image IM for inputting the allowable operating range RG and displays it on the display device 60. While visually viewing the input image IM, the operator may operate the input device 58 to provide the processor 50 with an input specifying the allowable operating range RG (for example, an input specifying a radius R from the origin of the robot coordinate system C1).
[0188] In this case, after determining YES in step S32, the processor 50 performs the following in step S33: n and the allowable operating range RG received in step S32, a position data table 206' is generated. An example of this position data table 206' is shown in FIG.
[0189] In the example shown in FIG. 20, the coordinates stored in the position data table 206′ and assigned with the identifier “OPn” (n=1, 2, 3, 4) are the coordinates (X j , Y j , Z j ) (j=11, 12, 13, 14). The coordinates of the posture reproduction position OP (X j , Y j , Z j ) indicates at least one (for example, all) teaching positions TP defined in the welding operation program 200. n (X n, Y n , Z n ) and is automatically generated by the processor 50 as coordinates that are within the allowable operating range RG accepted in step S32.
[0190] Then, in step S33, the processor 50 functions as the program generating unit 82 and generates the posture reproduction program 204 based on the position data table 206'. That is, in this case, the processor 50 functions as the program generating unit 82 and generates the posture reproduction program 204 based on the teaching posture OR extracted by the posture extracting unit 78 in step S31. n Then, the posture reproduction program 204 is generated based on the allowable movement range RG received by the input receiving unit 84 in step S32.
[0191] Next, further functions of welding robot system 80 will be described with reference to Figures 21 to 23. Welding robot system 80 further executes the flow shown in Figure 22. In the flow shown in Figure 22, the same processes as those in the flow of Figure 16 are assigned the same step numbers, and duplicated explanations will be omitted.
[0192] After the flow of FIG. 22 starts, processor 50 executes step S1 to acquire welding operation program 200, and then executes step S31 to function as posture extraction unit 78 and extract a teaching posture OR from welding operation program 200. n Next, the processor 50 executes step S32 to extract the posture reproduction position OP(X 0 , Y 0 , Z 0 ) has been received.
[0193] If the determination in step S32 is YES (i.e., the posture reproduction position OP(X 0 , Y 0 , Z 0 ) is received), in step S51, the processor 50 functions as the attitude difference calculation unit 74 and calculates the plurality of taught attitudes OR n Find the difference φ between
[0194] Specifically, the processor 50 determines the first teaching attitude OR 1 (W 1 , P 1 , R 1 ) and the second teaching posture OR 2 (W 2 , P 2 , R 2 ) and the difference φ 1_2 , first teaching posture OR 1 (W 1 , P 1 , R 1 ) and the third teaching posture OR 3 (W 3 , P 3 , R 3 ) and the difference φ 1_3 , and the first teaching posture OR 1 (W 1 , P 1 , R 1 ) and the fourth teaching posture OR 4 (W 2 , P 2 , R 2 ) and the difference φ 1_4 are calculated respectively.
[0195] The processor 50 also determines the second teaching attitude OR 2 (W 2 , P 2 , R 2 ) and the third teaching posture OR 3 (W 3 , P 3 , R 3 ) and the difference φ 2_3 , second teaching posture OR 2 (W 2 , P 2 , R 2 ) and the fourth teaching posture OR 4 (W 4 , P 4 , R 4 ) and the difference φ 2_4 , and the third teaching posture OR 3 (W 3 , P 3 , R 3 ) and the fourth teaching posture OR 4 (W 4 , P 4 , R4 ) and the difference φ 3_4 are calculated respectively.
[0196] In step S52, the processor 50 functions as the difference determination unit 76 and calculates whether each difference φ calculated in step S51 is equal to or smaller than a predetermined threshold value φ th Specifically, the processor 50 determines whether the difference φ 1_2 , difference φ 1_3 , difference φ 1_4 , difference φ 2_3 , difference φ 2_4 , and the difference φ 3_4 and the threshold φ th Compare with φ 1_2 <φ th , φ 1_3 <φ th , φ 1_4 <φ th , φ 2_3 <φ th , φ 2_4 <φ th , or φ 3_4 <φ th It is determined whether or not each of them is true.
[0197] As described in the above embodiment, the first teaching posture OR 1 , second teaching posture OR 2 , and the fourth teaching posture OR 4 The difference φ between th If φ is smaller than 1_2 <φ th , φ 1_4 <φ th , and φ 2_4 <φ th It is determined that the above condition is satisfied.
[0198] In step S53, the processor 50 functions as the program generator 82 to generate the posture reproduction program 204. Specifically, the processor 50 generates the posture reproduction program 204 by using the plurality of teaching postures OR extracted in step S31. n Among them, the difference φ is the threshold φ th The above teaching posture OR nand the posture reproduction position OP received in step S32, a position data table 206'' for the posture reproduction program 204 is generated.
[0199] In this embodiment, in step S52, the first teaching attitude OR 1 , second teaching posture OR 2 , and the fourth teaching posture OR 4 The difference φ between th is smaller than (i.e., φ 1_2 <φ th , φ 1_4 <φ th , φ 2_4 <φ th Therefore, the processor 50 determines that the first teaching attitude OR 1 and the third teaching posture OR 3 and the posture reproduction position OP received in step S32, a position data table 206'' shown in FIG. 24 is generated.
[0200] Then, the processor 50 generates the posture reproduction program 204' shown in FIG. 25 based on the position data table 206''. The posture reproduction program 204' includes the positioning instruction IN O and the pressure command IN on the 2ith line R Thereafter, the processor 50 executes step S34, and if determined as YES, proceeds to step S54.
[0201] In step S54, the processor 50 executes a pressure force acquisition process. This pressure force acquisition process is shown in Fig. 23. In the flow shown in Fig. 23, the same processes as those in the flow of Fig. 12 or 17 are given the same step numbers, and redundant explanations will be omitted.
[0202] The processor 50 executes the above steps S41 to S43, S14, S15, S44, and S45 in accordance with the posture reproduction program 204′ generated in step S53, thereby acquiring the applied force F. As a result, the processor 50 acquires the first taught posture OR 1 The pressure F at the third teaching posture OR 3 The applied pressure F at the time of the test is obtained.
[0203] After the flow of FIG. 23 ends, processor 50 executes welding operation program 200 for the actual welding operation, and during the execution of welding operation program 200, processor 50 functions as command corrector 66 to correct the first teaching attitude OR based on the welding force F acquired in step S15 in step S54. 1 , and the third teaching posture OR 3 The correction amount ΔF is calculated for each of the pressure command F C_1 By correcting each of these, the first teaching posture OR 1 and the third teaching posture OR 3 Pressure command F C_1 ' are obtained respectively.
[0204] On the other hand, the processor 50 determines the second teaching attitude OR 2 and the fourth teaching posture OR 4 Regarding the first teaching posture OR 1 The correction amount ΔF obtained for the original pressure command F C_1 In this way, the processor 50 corrects the second teaching posture OR 2 and the fourth teaching posture OR 4 Pressure command F C_1 That is, the processor 50 calculates the first teaching postures OR 1 , second teaching posture OR 2 , and the fourth teaching posture OR 4 Then, the common correction amount ΔF is used to correct the original pressure command F C_1 will be corrected.
[0205] As described above, in this embodiment, the processor 50 functions as the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, the difference determination unit 76, the attitude extraction unit 78, the program generation unit 82, and the input reception unit 84, thereby determining the pressure command F in accordance with the attitude OR of the welding gun 14. C Correct the following.
[0206] Therefore, the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, the difference determination unit 76, the attitude extraction unit 78, the program generation unit 82, and the input reception unit 84 generate the pressure command F in accordance with the attitude OR of the welding gun 14. C The apparatus 120 (FIG. 21) for correcting the above is constructed.
[0207] In this device 120, a plurality of teaching postures OR defined in the welding work program 200 are n The difference φ between the postures OR is the threshold φ th or more (i.e., the orientation OR is different) n The posture reproduction program 204' is generated using only the postures OR. This configuration allows the posture reproduction program 204' to optimize the number of postures OR for positioning the welding gun 14.
[0208] In this embodiment, the processor 50 may generate the posture reproduction program 204 shown in Fig. 19 in place of the posture reproduction program 204' in step S53. In this case, steps S51 and S52 can be omitted from the flow in Fig. 22. Then, the processor 50 may execute steps S21 and S22 shown in Fig. 14 after determining NO in step S44 in Fig. 23.
[0209] 15 and 21, the processor 50 functions as the program generator 82 to generate the posture reproduction programs 204 and 204'. However, this is not limiting, and in the embodiment of Fig. 15 or 21, the processor 50 may obtain the posture reproduction program 204 or 204' by downloading it from another computer (such as a host controller or a production control server).
[0210] In this case, the posture extraction unit 78, the program generation unit 82, and the input reception unit 84 can be omitted from the device 110 or 120. In this case, the processor 50 executes step S35 shown in Fig. 17 or step S54 shown in Fig. 23 in accordance with the downloaded posture reproduction program 204 or 204'.
[0211] In the above embodiment, the processor 50 executes the welding operation program 200 for the actual welding operation. C_1 However, the processor 50 may correct the pressure command F during the execution of the flow of FIG. C_1 may be corrected.
[0212] For example, in the flow of FIG. 5, FIG. 12, or FIG. 14, when the determination in step S7 is YES, the processor 50 calculates each teaching posture OR based on the pressure force F collected in step S6 or S15. n Pressure command F C_1 By correcting the pressure command F C_1 Then, the processor 50 may obtain the teaching posture OR n The pressure command F C_1 ' to the teaching posture OR n A data table DT may be created in which the above data are stored in association with each other.
[0213] In this case, the processor 50 executes the welding command IN of the welding operation program 200 during the actual welding operation. W When the teaching posture OR n (That is, the welding command IN W Positioning instruction for the previous line IN P The teaching posture specified in n ) corresponding to the pressure command F C_1 ' is obtained from the data table DT.
[0214] In the flow of FIG. 16 or FIG. 22, when step S35 or S54 is completed (that is, when YES is determined in step S44), the processor 50 calculates the teaching posture OR based on the pressure force F collected in step S6 or S15. n Pressure command F C_1 By correcting the pressure command F C_1 ' may be required.
[0215] In the flow of FIG. 5, in step S2 or S8, the processor 50 controls the robot 12 to move the welding gun 14 in accordance with the positioning command IN P (code "Vn") n However, in step S2 or S8 of FIG. 5, the processor 50 moves the welding gun 14 at the speed V n (for example, the velocity V n (lower than) velocity V n In this case, the welding gun 14 may be moved at a speed V n Alternatively, in the welding operation program 200 acquired in step S1, a flag FL' for moving the welding position by the positioning command IN P The flag FL' may be added to the code.
[0216] In the above embodiment, the processor 50 determines in steps S5 and S43 whether the feedback FB1 from the load detection sensor LS is equal to the pressure command F C_1 However, the present invention is not limited to this. In step S5 or S43, the processor 50 may stop the servo motor 40 when the movable welding tip 44 comes into contact with the non-pressurized object (the fixed welding tip 36) and is forcibly stopped.
[0217] In this case, the processor 50 executes the welding command IN of the welding operation program 200 during the actual welding operation. W Even when the above operation is performed, the servo motor 40 may be stopped when the movable welding tip 44 comes into contact with the workpiece and is forced to stop. Furthermore, the object to be pressurized is not limited to the fixed welding tip 36, but any object (e.g., an iron plate) fixed to the fixed arm 34 may be used.
[0218] 5, 12, 14, 16, or 22 in accordance with a computer program PG2 pre-stored in memory 52. Furthermore, the functions of the devices 70, 90, 100, 110, or 120 executed by the processor 50 (i.e., the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, the difference determination unit 76, the attitude extraction unit 78, the program generation unit 82, and the input reception unit 84) may be functional modules realized by the computer program PG.
[0219] 6, the posture reproduction program 204 shown in FIG. 19, and the posture reproduction program 204' shown in FIG. 25 are merely examples, and any other types of commands may be included. For example, in the welding operation program 200 shown in FIG. 6, a positioning command IN P is specified, and the welding command IN W However, in the welding operation program 200, the positioning command IN P and welding instruction IN W It may be specified that:
[0220] Similarly, in the posture reproduction program 204 or 204', the positioning command IN O and pressure command IN R Furthermore, the teaching position TP defined in the welding operation program 200 may be n and teaching posture OR n The number of the taught postures OR defined in the posture reproduction program 204 or 204′ is not limited to four, but may be one, or may be five or more. n The same applies to the number of .
[0221] In the welding operation program 200 shown in FIG. 6, the positioning command IN P In the above description, an identifier "TPn" (n=1, 2, 3, 4) is defined for each position, and the position data table 202 shown in FIG. 7 is created separately. However, the present invention is not limited to this. P Instead of the identifier "TPn", the coordinates (Xn , Y n , Z n , W n , P n , R n ) may be directly written as a code. O The same is true for .
[0222] In the welding operation program 200 shown in FIG. W In the above description, an identifier [m] (m=1 in the example of FIG. 6) corresponding to welding condition m is written in the welding command IN, and a data table of welding condition m as shown in FIG. 8 is prepared separately. However, the present invention is not limited to this. W In place of the identifier "m", the value of the welding condition m (i.e., the welding force F m , welding current I m , welding time t m ) may be directly written as a code. R The same is true for .
[0223] The operator may input a positioning command IN to the welding operation program 200 acquired in step S1. P (Specifically, teaching posture OR n ) may be modified to create welding operation program 200′. Then, processor 50 may execute the modified welding operation program 200′ during actual welding work to perform the welding work.
[0224] For example, before carrying out the actual welding work, the operator may change the program name of the welding work program 200 (FIG. 6) acquired in step S1, or may change the program name of the positioning command IN P Codes other than the above may be edited or added, or the above-mentioned flag FL may be added.
[0225] In addition, the operator inputs the welding command IN of the welding work program 200 acquired in step S1. Wwith an instruction to execute welding force acquisition operation FO, and processor 50 may execute the flow of Fig. 5, 12 or 14 in accordance with welding operation program 200' after the replacement. Both welding operation program 200 acquired in step S1 and welding operation program 200' after such a change can be regarded as welding operation programs that cause robot 12 and welding gun 14 to perform welding operation.
[0226] Furthermore, welding operation program 200 or 200' may include multiple programs. For example, welding operation program 200 shown in Fig. 6 may be composed of first program 200A including command codes from lines 1 to 4 and second program 200B including command codes from lines 5 to 8. Similarly, posture reproduction program 204 or 204' may also include multiple programs.
[0227] In the above embodiment, the welding operation program 200 and the posture reproduction programs 204 and 204′ use the welding condition 1 assigned with the identifier [1] (i.e., the code “CONDITION[1]”), but other welding conditions m may also be used.
[0228] In the above embodiment, the processor 50 calculates the correction amount ΔF when an actual welding operation is performed, and calculates the first welding force command F C_1 By correcting the second pressure command F C_1 However, the present invention is not limited to this. The processor 50 may calculate each teaching posture OR based on the applied force F obtained in step S6 or S15. n The second pressure command F C_1 ' may be determined prior to the actual welding operation.
[0229] At this time, the processor 50 uses the correction amount ΔF calculated as described above to calculate the second pressure command F C_1 Alternatively, the first pressure command F C_1 and the pressure F, the second pressure command F C_1Then, the processor 50 may determine the first welding force command F C_1 is set as a predetermined second pressure command F C_1 This can be corrected by replacing it with '.
[0230] Furthermore, in the above-described embodiment, the functions of the devices 70, 90, 100, 110, and 120 (the operation execution unit 62, the pressure acquisition unit 64, the command correction unit 66, the position acquisition unit 72, the attitude difference calculation unit 74, the difference determination unit 76, the attitude extraction unit 78, the program generation unit 82, and the input acceptance unit 84) are described as being implemented in the control device 18.
[0231] However, without being limited thereto, at least one of the functions of the device 70, 90, 100, 110, or 120 (for example, the movement execution unit 62, the posture extraction unit 78, the program generation unit 82, and the input reception unit 84) may be implemented in a teaching device (a teaching pendant, a tablet terminal device, or the like) that teaches the robot 12 a movement, or in another computer such as a PC. In this case, a processor of the other computer functions as the device 70, 90, 100, 110, or 120.
[0232] Furthermore, the robot 12 is not limited to a vertical articulated robot, but may be any other type of robot, such as a horizontal articulated robot or a parallel link robot. Furthermore, the concept of the present invention is not limited to a C-type spot welding gun, but may be applied to any other type of welding gun, such as an X-type spot welding gun. While the present disclosure has been described above through the embodiments, the above-described embodiments do not limit the scope of the invention claimed.
[0233] 10, 10', 80 Welding robot system 12 Robot 14 Welding gun 16, 16' Pressurizing force sensor 18 Control device 62 Operation execution unit 64 Pressurizing force acquisition unit 66 Command correction unit 70, 90, 100, 110, 120 Device 72 Position acquisition unit 74 Attitude difference calculation unit 76 Difference determination unit 78 Attitude extraction unit 82 Program generation unit 84 Input reception unit 200 Welding operation program 204, 204' Attitude reproduction program
Claims
1. A device for correcting a pressure command that defines a pressure applied by a welding gun that is moved by a robot and applies pressure to a workpiece to weld it, in accordance with the attitude of the welding gun, comprising: an operation execution unit that operates the robot so as to position the welding gun in a teaching posture defined in a welding operation program that causes the robot and the welding gun to perform a welding operation; a pressure acquisition unit that acquires a pressure applied when the welding gun is driven by a first pressure command when the operation execution unit positions the welding gun in the taught attitude; and a command correction unit that corrects the first pressure force command based on the pressure force acquired by the pressure force acquisition unit, thereby obtaining a second pressure force command for driving the welding gun in the taught attitude when the welding operation program is executed.
2. the welding operation program includes a positioning command for operating the robot to position the welding gun at a teaching position and at the teaching attitude, and a welding command for starting the welding gun to weld a workpiece, the operation execution unit executes the positioning command of the welding operation program to position the welding gun at the taught position and the taught posture by the robot, while not executing the welding command; The apparatus according to claim 1 , wherein the pressing force acquisition unit acquires the pressing force when the operation execution unit positions the welding gun at the taught position and the taught attitude.
3. the operation execution unit executes a posture reproduction program that includes a positioning command for operating the robot to position the welding gun at a position and the teaching posture different from a teaching position defined in the welding work program, but does not include a welding command for starting the welding gun to weld a workpiece, thereby positioning the welding gun at the different position and the teaching posture by the robot; The apparatus according to claim 1 , wherein the pressure acquisition unit acquires the pressure applied when the operation execution unit positions the welding gun at the different positions and the taught attitude.
4. a posture extraction unit that extracts the teaching posture from the welding operation program; The apparatus according to claim 3 , further comprising: a program generating unit that generates the posture reproduction program based on the teaching posture extracted by the posture extracting unit.
5. An input receiving unit that receives an input of the different position, The apparatus according to claim 4 , wherein the program generation unit generates the posture reproduction program further based on the different positions accepted by the input acceptance unit.
6. an input receiving unit that receives an input of an allowable motion range of the robot when the posture reproduction program is executed, The apparatus according to claim 4 , wherein the program generation unit generates the posture reproduction program further based on the allowable movement range accepted by the input acceptance unit.
7. the pressing force acquisition unit acquires the first pressing force when the operation execution unit positions the welding gun in the first taught attitude, the command correcting unit determines a correction amount for correcting the first pressing force command for driving the welding gun in the first teaching attitude to the second pressing force command based on the first pressing force; The apparatus comprises: a posture difference calculation unit that calculates a difference between the second teaching posture and the first teaching posture; a difference determination unit that determines whether the difference calculated by the attitude difference calculation unit is smaller than a predetermined threshold value, When the difference determination unit determines that the difference is smaller than the threshold value, the operation execution unit does not execute an operation of positioning the welding gun in the second teaching attitude, The device according to any one of claims 1 to 6, wherein the command correction unit obtains the second pressing force command in the second teaching posture by correcting the first pressing force command for driving the welding gun in the second teaching posture using the correction amount obtained in the first teaching posture.
8. the welding operation program defines a first taught position and a first taught posture for positioning the welding gun, and a second taught position and a second taught posture for positioning the welding gun; the pressing force acquisition unit acquires a first pressing force when the operation execution unit positions the welding gun at the first taught position and the first taught attitude, The command correction unit is correcting the first pressure force command based on the first pressure force to obtain the second pressure force command at the first teaching position and the first teaching attitude; estimating the second pressing force command at the second taught position and the second taught attitude based on the obtained second pressing force command and the first taught position and the second taught position defined in the welding operation program; The apparatus according to any one of claims 1 to 6, wherein the operation execution unit does not execute an operation of positioning the welding gun in the second taught attitude.
9. The apparatus according to any one of claims 1 to 6, wherein the pressure acquisition unit acquires the pressure measured by a pressure sensor when the welding gun positioned in the teaching posture by the operation execution unit is driven by the first pressure command.
10. The welding gun has a movable welding tip and a position sensor that detects a position of the movable welding tip; the device further includes a position acquisition unit that acquires the first position detected by the position sensor when the welding gun positioned in a predetermined reference posture is driven by the first pressurizing force command to pressurize the pressurized object with the movable welding tip, and the second position detected by the position sensor when the welding gun positioned in the taught posture by the operation execution unit is driven by the first pressurizing force command to pressurize the pressurized object with the movable welding tip, The device according to any one of claims 1 to 6, wherein the pressure acquisition unit determines the pressure in the teaching posture by a predetermined calculation based on the first position and the second position acquired by the position acquisition unit.
11. A control device for a robot, comprising the device according to any one of claims 1 to 6.
12. A method for correcting a pressure command that defines a pressure applied by a welding gun that is moved by a robot and applies pressure to a workpiece to weld it, in accordance with the attitude of the welding gun, comprising: The processor: operating the robot to position the welding gun in a teaching posture defined in a welding operation program that causes the robot and the welding gun to perform a welding operation; acquiring the pressing force when the welding gun is driven by the first pressing force command when the welding gun is positioned in the taught attitude; The method includes correcting the first pressure force command based on the acquired pressure force, thereby determining a second pressure force command for driving the welding gun in the taught attitude during execution of the welding operation program.