Control device for correcting the position or posture of a robot

By integrating the functions of correction amount calculation, motion control, shape detection and variable calculation in the control device, the problem of difficulty in correcting the position and posture of the robot in the prior art is solved, efficient and accurate robot correction is achieved, and workpiece quality is improved.

CN112775545BActive Publication Date: 2025-05-13FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202011232794.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-07
Filing Date
2020-11-06
Publication Date
2025-05-13
Estimated Expiration
2040-11-06

AI Technical Summary

Technical Problem

The prior art is difficult to correct the position and posture of the robot simultaneously, especially when the quality of the workpiece is low, it is difficult to determine whether the position or posture needs to be corrected, and the correction process is time-consuming and affects production efficiency.

Method used

The control device is adopted, including a correction amount calculation unit, an action control unit, a shape detection sensor and a variable calculation unit. By detecting the shape and mass variables of the workpiece, the correction amount of the movement path of the computer robot, and determining whether it is necessary to correct the position or posture of the robot.

Benefits of technology

It realizes accurate correction of the position and posture of the robot without affecting production efficiency, improve the quality of the workpiece, and reduces human intervention and experience dependence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112775545B_ABST
    Figure CN112775545B_ABST
Patent Text Reader

Abstract

The present invention provides a control device for calculating a correction amount of a position of a robot (1) at a moving point on a first moving path, and driving the robot (1) according to a second moving path obtained by correcting the first moving path. The control device comprises: a second camera for detecting the shape of a part after operation by the robot device; and a variable calculation unit for calculating a mass variable representing the mass of a workpiece based on the output of the second camera. When the mass variable deviates from a predetermined determination range, the determination unit of the control device determines that the position or posture of the robot (1) needs to be corrected based on the correlation between the correction amount of the position of the first moving path and the mass variable.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device for determining a correction method for a position or posture of a robot. Background Art

[0002] The robot device includes a robot, a working tool mounted on the robot, and a control device for controlling the robot. The control device drives the robot and the working tool based on an action program. The operator can teach the teaching points in advance to determine the position and posture of the robot. The action program is created based on the position of the teaching points and the posture of the robot at the teaching points. When driving the robot, the control device can set interpolation points between the teaching points based on the teaching points. The control device controls the robot so that it reaches the determined position and posture at the teaching points and the interpolation points.

[0003] In the prior art, the following control is known: during the operation of the robot device, a camera is used to detect the position of the workpiece, and the position and posture of the robot are corrected according to the actual position of the workpiece (for example, Japanese Patent Publication No. 9-72717). Alternatively, the following control is known: when the action program is created in an offline state, the movement path is corrected based on the actual image of the workpiece. (For example, Japanese Patent Publication No. 2004-255547 and Japanese Patent Publication No. 2016-140958). In addition, it is known to install a sensor on the robot to check the workpiece on which the operation is performed (for example, Japanese Patent Publication No. 7-98217). Summary of the invention

[0004] The workpiece operated by the robot is fixed to a stand or the like. The robot performs the operation while changing the position and posture relative to the portion of the workpiece being operated. However, sometimes the portion of the workpiece being operated is offset at the stand, and the position of the workpiece relative to the robot is offset. For example, there are cases where the jig used to fix the workpiece to the stand is slightly deformed or the screws are loose due to deterioration over the years. Or, there are cases where the rubber parts included in the jig are deteriorated and the jig is worn. As a result, there are cases where the workpiece is fixed at a position on the stand that deviates from the desired position.

[0005] Alternatively, when welding is performed by a robot, spatter generated during welding may adhere to the surface of the stage. A slight gap may be generated between the stage and the workpiece due to spatter. As a result, the position of the workpiece on the stage may be slightly offset. Alternatively, when the workpiece is thin, the workpiece may be deformed due to the heat during welding.

[0006] In addition, in each group of parts manufactured by multiple factories, the size of the workpiece may be slightly different. In other words, the size of the workpiece may vary slightly if the batches of the workpieces are different. Alternatively, the position of the part on which the work is performed may deviate from the desired position due to the manufacturing error of each workpiece.

[0007] If the position where the robot device performs the operation deviates from the expected position, there is a problem that the quality of the workpiece deteriorates. Therefore, the operator can correct the position of the teaching point and the posture at the teaching point. However, there are various production methods for manufacturing products. In addition, a variety of components are used, so it is difficult for the operator to determine the position or posture of the robot that has an adverse effect on the quality of the workpiece. The operator needs experience to correct the position or posture of the robot.

[0008] In the prior art, there is a known technique for correcting the robot's moving path using a sensor installed on the robot. However, there is a problem that although the position of the robot can be corrected, the posture of the robot cannot be corrected. In particular, in arc welding or adhesive coating, the posture of the robot relative to the workpiece (the posture of the working tool) has a great impact on the quality of the workpiece. Therefore, there is the following problem: when the quality of the workpiece is low, it is difficult for the operator to determine whether the position of the robot should be corrected or the posture of the robot should be corrected.

[0009] Furthermore, it takes time for the operator to correct the position or posture of the robot, and there is a problem that the robot device cannot perform work while the position or posture of the robot is being corrected.

[0010] One embodiment of the present disclosure is a control device for a robot device having a robot and a working tool. The control device has a correction amount calculation unit, which is used to calculate the correction amount of the position of the robot at a moving point of a predetermined first moving path. The control device has an action control unit, which drives the robot according to a second moving path obtained by correcting the first moving path based on the correction amount calculated by the correction amount calculation unit. The control device has: a shape detection sensor, which is used to detect the shape of a part after the robot device performs work; and a variable calculation unit, which calculates a mass variable representing the mass of the workpiece based on the shape detected according to the output of the shape detection sensor. The control device has a determination unit, which is used to determine a correction method for the position or posture of the robot. When the mass variable deviates from a predetermined determination range, the determination unit determines that the position or posture of the robot needs to be corrected based on the correlation between the correction amount of the position of the first moving path and the mass variable. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1This is a schematic diagram of a first robot device in an embodiment.

[0012] Figure 2 is a front view of a robot and a working tool of the first robotic apparatus.

[0013] Figure 3 is a block diagram of a first robotic apparatus.

[0014] Figure 4 This is an enlarged perspective view of a workpiece and a welding torch when arc welding is performed by the first robot device.

[0015] Figure 5 1 is a diagram showing the movement path of the robot before correction and the movement path after correction.

[0016] Figure 6 This is a flow chart of control of welding performed by the first robot device.

[0017] Figure 7 This is a flowchart of control for acquiring parameters related to the shape of the workpiece after welding.

[0018] Figure 8 This is a schematic cross-sectional view of a workpiece for explaining parameters for inspecting the quality of the workpiece.

[0019] Fig. 9 This is a schematic cross-sectional view of another workpiece for explaining parameters for detecting the quality of the workpiece.

[0020] Fig.10 This is a graph showing the inspection results of parameters when the quality of the workpiece is inspected.

[0021] Fig.11 This is a flowchart of a first control method for determining a correction method of a position or posture of a robot.

[0022] Fig.12 This is a diagram of the movement path after the position of the movement point is corrected based on the determination result of the determination unit.

[0023] Fig.13 This is a schematic diagram of a workpiece and a welding torch for explaining control for calculating a corrected path before welding.

[0024] Fig.14 A schematic diagram of a workpiece and a welding torch illustrating control for calculating a corrected path while welding is in progress.

[0025] Fig.15 This is a graph of the current flowing to the welding wire when arc welding is performed while oscillating.

[0026] Fig.161 and 10 are diagrams showing a movement path before correction and a movement path after correction in a comparative example.

[0027] Fig.17 This is a diagram for explaining control for calculating the correction amount of the robot's posture.

[0028] Fig.18 This is a diagram for explaining another control for calculating the correction amount of the robot's posture.

[0029] Fig.19 This is a diagram of a movement path for explaining control for calculating a correction amount of the robot position.

[0030] Fig. 20 This is a diagram of the auxiliary coordinate system set at the moving point with the best score.

[0031] Fig.21 This is a diagram of an auxiliary coordinate system set at a moving point for correcting a position.

[0032] Fig. 22 is a block diagram of a second robot apparatus in the embodiment. DETAILED DESCRIPTION

[0033] Reference Figures 1 to 22 The robot control device in the embodiment will be described. In this embodiment, a robot device that fixes a workpiece by arc welding is described as an example.

[0034] Figure 1 This is a schematic diagram of a first robot device in this embodiment. Figure 2 It is a front view of the robot and the welding torch in this embodiment. Figure 3 is a block diagram of the first robot device in this embodiment. Figures 1 to 3 The first robot device 8 includes a welding torch 2 as a working tool and a robot 1 for moving the welding torch 2. The robot 1 of the present embodiment is a multi-joint robot including a plurality of joints.

[0035] The robot 1 includes a base portion 14 and a rotating base 13 supported by the base portion 14. The base portion 14 is fixed to a setting surface. The rotating base 13 rotates relative to the base portion 14. The robot 1 includes an upper arm 11 and a lower arm 12. The lower arm 12 is supported on the rotating base 13 via a joint portion. The upper arm 11 is supported on the lower arm 12 via a joint portion. The robot 1 includes a wrist 15 connected to an end of the upper arm 11. The wrist 15 is supported on the upper arm 11 via a joint portion. The welding torch 2 is fixed to a flange 16 of the wrist 15.

[0036] The robot 1 of this embodiment has six drive axes. The robot 1 includes a robot drive device for driving structural members of the robot 1 such as the upper arm 11. The robot drive device of this embodiment includes a plurality of robot drive motors 22 for driving the upper arm 11, the lower arm 12, the swivel base 13, and the wrist 15. The position and posture of the robot 1 are changed by changing the orientation of the structural members of the robot 1 at the joints.

[0037] The control device 10 of the robot device 8 includes a robot control device 4 for controlling the robot 1. The robot control device 4 includes a processing device (computer) having a CPU (Central Processing Unit) as a processor. The processing device has a RAM (Random Access Memory) and a ROM (Read Only Memory) connected to the CPU via a bus. The robot 1 is connected to the robot control device 4 via a communication line.

[0038] Robot device 8 includes welding wire supply device 18 for supplying welding wire 19 to welding torch 2. Welding wire supply device 18 supplies welding wire 19 consumed as welding is performed to welding torch 2. Welding wire supply device 18 of the present embodiment is fixed to robot 1.

[0039] The control device 10 of the robot device 8 includes a welding control device 5 for controlling the welding torch 2 and the welding wire supply device 18. The welding control device 5 includes a CPU as a processor and a calculation processing device such as a RAM connected to the CPU via a bus. In addition, the welding control device 5 includes a circuit for supplying power to the welding torch 2 and the welding wire supply device 18. The welding control device 5 is connected to the robot control device 4. The welding control device 5 is formed to be able to communicate with the robot control device 4. The welding control device 5 supplies power to the welding torch 2 or supplies the welding wire 19 according to the operation of the robot 1. The welding control device 5 of this embodiment is controlled by the robot control device 4.

[0040] The robot control device 4 includes a teaching operation panel 3 for the operator to operate the robot control device 4. The teaching operation panel 3 includes an input unit 3a for inputting information related to the robot 1 and the welding torch 2. The input unit 3a is composed of components such as a keyboard and a dial. The teaching operation panel 3 includes a display unit 3b for displaying information related to the control of the robot device 8. The display unit 3b is composed of a display panel such as a liquid crystal display panel.

[0041] An action program 41 prepared in advance for controlling the robot device 8 is input to the robot control device 4. Alternatively, the operator can drive the robot 1 by operating the teaching operation panel 3 to perform a teaching operation to set the teaching point of the robot 1. The robot control device 4 can generate an action program 41 for the robot 1 and the welding torch 2 based on the teaching point. The robot device 8 performs welding based on the action program 41.

[0042] The robot control device 4 includes a storage unit 42 for storing information related to the control of the robot 1 and the welding torch 2. The storage unit 42 can be composed of a storage medium capable of storing information, such as a volatile memory, a nonvolatile memory, or a hard disk. The operation program 41 is stored in the storage unit 42.

[0043] The robot control device 4 includes a motion control unit 43 for sending motion instructions to the robot 1 and the welding torch 2. The motion control unit 43 is equivalent to a processor driven according to the motion program 41. The motion control unit 43 is formed to be able to read information stored in the storage unit 42. The processor functions as the motion control unit 43 by reading the motion program 41 and implementing the control determined as the motion program 41. Alternatively, the processor functions as the motion control unit 43 by driving the robot 1 based on the instruction from the first image processing unit 51.

[0044] The motion control unit 43 sends a motion command for driving the robot 1 to the robot driving unit 45. The robot driving unit 45 includes a circuit for driving the robot driving motor 22. The robot driving unit 45 supplies power to the robot driving motor 22 based on the motion command. In addition, the motion control unit 43 controls the motion of the welding torch 2. The motion control unit 43 sends a motion command for driving the welding torch 2 and the welding wire supply device 18 to the welding control device 5 based on the motion program 41. The welding control device 5 supplies power to the welding torch 2 and the welding wire supply device 18 based on the motion command.

[0045] The robot 1 includes a state detector for detecting the position and posture of the robot 1. The state detector in this embodiment includes a position detector 23 installed on the robot drive motor 22. The orientation of the components on each drive axis of the robot 1 can be obtained through the output of the position detector 23. For example, the position detector 23 detects the rotation angle when the robot drive motor 22 is driven. In this embodiment, the position and posture of the robot 1 are detected based on the outputs of multiple position detectors 23.

[0046] The control device 10 of the robot device 8 of this embodiment includes a robot control device 4 for controlling the robot 1 and a welding control device 5 for controlling the welding torch 2 and the welding wire supply device 18, but is not limited to this embodiment. The robot device 8 may be configured so that a single control device controls the robot 1, the welding torch 2, and the welding wire supply device 18. For example, the robot control device 4 may also have the function of the welding control device 5.

[0047] A world coordinate system 71 is set in the robot device 8 of this embodiment. Figure 1 In the example shown, the origin of the world coordinate system 71 is arranged on the base portion 14 of the robot 1. The world coordinate system 71 is also called the reference coordinate system of the robot 1. The world coordinate system 71 is a coordinate system in which the position of the origin is fixed and the directions of the coordinate axes are fixed. Even if the position and posture of the robot 1 change, the position and direction of the world coordinate system 71 do not change. The world coordinate system 71 has mutually orthogonal X-axis, Y-axis and Z-axis as coordinate axes. In addition, the W axis is set as the coordinate axis around the X axis. The P axis is set as the coordinate axis around the Y axis. The R axis is set as the coordinate axis around the Z axis.

[0048] In this embodiment, a tool coordinate system is set, and the tool coordinate system has an origin set at an arbitrary position of the working tool. The origin of the tool coordinate system 72 of this embodiment is set at the tip of the tool. The tool coordinate system 72 has mutually orthogonal X-axis, Y-axis and Z-axis as coordinate axes. Figure 1 In the example shown, the origin of the tool coordinate system 72 is set at the front end of the welding wire 19. In addition, the tool coordinate system 72 is set so that the direction in which the Z axis extends is parallel to the direction in which the welding wire 19 protruding from the front end of the welding torch 2 extends. The tool coordinate system 72 has a W axis around the X axis, a P axis around the Y axis, and an R axis around the Z axis.

[0049] If the position and posture of the robot 1 change, the position and direction of the origin of the tool coordinate system 72 change. For example, the position of the robot 1 corresponds to the position of the tip of the tool (the position of the origin of the tool coordinate system 72). In addition, the posture of the robot 1 corresponds to the orientation of the tool coordinate system 72 relative to the world coordinate system 71.

[0050] The robot control device 4 is provided with a first camera 27 as a visual sensor for photographing a portion where the robot device 8 performs an operation. The first camera 27 in the present embodiment is a three-dimensional camera. As a three-dimensional camera, for example, a TOF (Time of Flight) camera that photographs a distance image by a light flight time method can be used. The first camera is not limited to a three-dimensional camera, and may also be a two-dimensional camera.

[0051] The first camera 27 is supported by the robot 1. The first camera 27 of the present embodiment is fixed to the main body of the welding torch 2 to move together with the welding torch 2. The robot control device 4 includes a first image processing unit 51 for processing the image of the first camera 27. The first image processing unit 51 includes a work position detection unit 52, which detects the position where the welding torch 2 is working based on the image captured by the first camera 27. The first image processing unit 51 includes a correction amount calculation unit 53, which calculates the correction amount of the position of the robot 1 relative to the moving point of the first moving path based on the work position detected by the work position detection unit 52. The first image processing unit 51 includes an instruction generation unit 54, which sends an instruction to drive the robot according to a second moving path obtained by correcting the first moving path based on the correction amount calculated by the correction amount calculation unit 53.

[0052] Each of the first image processing unit 51, the work position detection unit 52, the correction amount calculation unit 53, and the command generation unit 54 corresponds to a processor driven according to the operation program 41. The processor reads the operation program 41 and performs control determined by the operation program 41, thereby functioning as each unit.

[0053] The robot control device 4 includes an inspection device for inspecting the quality of the portion operated by the robot device 8. In the present embodiment, the shape of the weld bead generated by arc welding and the shape of the workpiece around the weld bead are inspected. The robot device 8 is provided with a shape detection sensor for detecting the shape of the portion after the robot device 8 performs the operation. In the present embodiment, as the shape detection sensor, a second camera 28 as a visual sensor is configured. The second camera 28 of the present embodiment is a three-dimensional camera. The second camera 28 is supported by the robot 1. In the present embodiment, the second camera 28 is fixed to the main body of the welding torch 2 to move together with the welding torch 2.

[0054] In addition, the visual sensor as the shape detection sensor is not limited to a three-dimensional camera, and a two-dimensional camera may be used. Furthermore, the shape detection sensor may be any sensor that can detect the shape of the part after the robot device 8 performs the work. For example, as the shape detection sensor, a contact sensor that can detect the shape of the workpiece by contacting the workpiece may be used.

[0055] The robot control device 4 includes a second image processing unit 57 that processes the image captured by the second camera 28. The second image processing unit 57 includes an inspection portion detection unit 58 that detects the portion to be inspected based on the image captured by the second camera 28. The second image processing unit 57 includes a variable calculation unit 59 that calculates a mass variable that expresses the mass of the workpiece based on the shape detected based on the output of the second camera 28. In the present embodiment, as described below, the width of the weld bead and the depth of the undercut correspond to the mass of the workpiece.

[0056] The second image processing unit 57 includes a determination unit 60 that determines a method of correcting the position or posture of the robot based on the correlation between the correction amount of the position of the first moving path and the mass variable. The determination result of the determination unit 60 is displayed on the display unit 3 b of the teaching operation panel 3 .

[0057] Each of the second image processing unit 57, the inspection part detection unit 58, the variable calculation unit 59 and the determination unit 60 corresponds to a processor driven according to the operation program 41. The processor reads the operation program 41 and executes the control determined by the operation program 41 to function as each unit.

[0058] Figure 4 An enlarged perspective view of a workpiece and a welding torch when welding is performed by the first robot device in this embodiment is shown. In this embodiment, a workpiece 81 is fixed to the upper surface of a stand 89. A workpiece 82 is arranged on the upper surface 81a of the workpiece 81. Figure 4 The workpieces 81 and 82 shown are plate-like members. The workpieces 81 and 82 are fixed to the stand 89 by a jig not shown. The robot device 8 fixes the end surface 82a of the workpiece 82 to the upper surface 81a of the workpiece 81 by welding. The robot control device 4 changes the position and posture of the robot 1 so that the welding torch 2 moves along the end surface 82a as shown by the arrow 91. In this embodiment, welding is performed while correcting the position of the robot 1 based on the image captured by the first camera 27.

[0059] Figure 5 The moving path of the robot before and after position correction is shown. The moving path corresponds to the path that the tip of the tool passes through, for example. Figure 4 and Figure 5The teaching point TP1 for starting welding and the teaching point TP2 for ending welding are set in the action program 41. The moving path of the robot 1 before position correction is the first moving path 77. The first moving path 77 is a moving path based on the action program 41. The first moving path 77 extends from the teaching point TP1 to the teaching point TP2. The first moving path 77 is corrected based on the image captured by the first camera 27, thereby generating a second moving path 78 as a corrected moving path.

[0060] Figure 6 A flow chart showing control when welding is performed by the first robot device is shown. Figures 3 to 6 When the robot device 8 starts to control welding, in step 111, the motion control unit 43 obtains the teaching points TP1 and TP2 from the motion program 41. The motion control unit 43 sets a plurality of interpolation points between the teaching point TP1 and the teaching point TP2. The interpolation points are set along the first moving path 77. For example, the interpolation points can be set at predetermined intervals. Figure 5 In the example shown, interpolation points IP1, IP2, IP3, and IP4 are shown among a plurality of interpolation points set between teaching point TP1 and teaching point TP2. In addition, in the present embodiment, teaching points and interpolation points are collectively referred to as moving points. Figure 5 , the movement points MP1 to MP6 before correction are shown in the first movement path 77. For example, the movement point MP1 corresponds to the teaching point TP1, and the movement point MP3 corresponds to the interpolation point IP1.

[0061] In step 112 , the first camera 27 captures an image of the welded portion. In this embodiment, the first camera 27 captures an image including the end surface 82 a of the workpiece 82 and the upper surface 81 a of the workpiece 81. The first image processing unit 51 acquires the image of the first camera 27 .

[0062] In step 113, the working position detection unit 52 of the first image processing unit 51 detects the position of the workpieces 81 and 82 where welding is performed. The working position detection unit 52 detects the line where the end face 82a of the workpiece 82 and the upper surface 81a of the workpiece 81 are in contact with each other in the image captured by the first camera 27. For example, a reference image of the workpieces 81 and 82 can be generated in advance. The working position detection unit 52 can detect the line where the end face 82a of the workpiece 82 and the upper surface 81a of the workpiece 81 are in contact with each other by a template matching method using the reference image and the image actually captured.

[0063] The first camera 27 in this embodiment is a three-dimensional camera, so it is possible to detect the distance from the first camera to the part included in the image. The first camera 27 is calibrated so that the actual position can be detected based on the position of the screen coordinate system in the image and the distance from the first camera 27. The working position detection unit 52 can detect the three-dimensional position of the line where the end surface 82a of the workpiece 82 contacts the upper surface 81a of the workpiece 81. That is, the working position detection unit 52 can detect the three-dimensional position of the part to be welded. In this embodiment, the tool tip point is arranged near the line where the upper surface 81a of the workpiece 81 contacts the end surface 82a of the workpiece 82.

[0064] Next, in step 114, the correction amount calculation unit 53 calculates the correction amount at the positions of the movement points MP1 to MP6 based on the position of the robot 1 at each movement point and the position of the portion to be welded. Figure 5 In the example shown, correction amounts D1 to D4 are calculated for each of the moving points MP3 to MP6 (interpolation points IP1 to IP4) based on the image captured by the first camera 27. In addition, the correction amounts at the positions of the moving point MP1 (teaching point TP1) where welding starts and the moving point MP2 (teaching point TP2) where welding ends are zero. The moving point MPC1 after correction is the same position as the moving point MP1 before correction. In addition, the moving point MPC2 after correction is the same position as the moving point MP2 before correction.

[0065] In step 115 , the correction amount calculation unit 53 calculates the positions of the corrected interpolation points IPC1 to IPC4 (corrected movement points MPC3 to MPC6 ) based on the correction amounts D1 to D4 . The movement path based on the corrected movement points MPC1 to MPC6 corresponds to the corrected second movement path 78 .

[0066] In step 116, the correction amount calculation unit 53 calculates the distance L between the corrected moving points MPC2 to MPC6 and the predetermined reference point. In the present embodiment, the correction amount calculation unit 53 calculates the distance L from the moving point MPC1 which is the starting point of the operation. The correction amount calculation unit 53 calculates the distance L along the second moving path 78. Figure 5 In the example shown, the distance L1 from the movement point MPC1 to the corrected movement point MPC3 is shown. Similarly, for the corrected movement points MPC4, MPC5, MPC6 and the movement point MPC2, the distances L2, L3, L4, and L5 from the movement point MPC1 are calculated.

[0067] In step 117, the storage unit 42 stores the correction amounts D1 to D4 of the position of the robot 1 and the distances L1 to L5 from the reference point. The storage unit 42 stores the correction amount D of the position in combination with the distance L from the reference point for each corrected moving point MPC1 to MPC6. In other words, the storage unit 42 stores the correction amount D as a function of the distance L.

[0068] Next, in step 118, the command generation unit 54 sends a command to change the position of the robot 1 based on the positions of the corrected moving points MPC1 to MPC6. The command generation unit 54 generates a motion command for the robot 1 so that the tool tip point moves along the corrected second moving path 78. The motion control unit 43 drives the robot 1 along the second moving path 78 obtained by correcting the first moving path 77 based on the correction amount calculated by the correction amount calculation unit 53. The motion control unit 43 performs welding while driving the robot 1.

[0069] In this case, welding can be performed without changing the posture of the robot 1. The posture of the robot 1 at each of the movement points MPC1 to MPC6 after correction can be the posture of the robot 1 at the movement points MP1 to MP6 before correction. For example, the posture of the robot 1 at the movement point MPC3 can be the posture of the robot 1 at the movement point MP3.

[0070] Thus, the robot control device 4 calculates the deviation of the movement path from the actual position of the workpiece by processing the image captured by the first camera 27. The robot control device 4 performs welding while correcting the position of the robot 1 based on the deviation of the movement path.

[0071] Figure 7 A flow chart showing the control of parameters for obtaining inspections performed in conjunction with welding is shown. Figure 3 , Figure 4 and Figure 7 In step 121, the second camera 28 captures the weld bead 80 and the workpieces 81 and 82 after welding. The second camera 28 captures the portion after the robot device 8 performs the operation. The inspection part detection unit 58 of the second image processing unit 57 detects the part to be inspected in the image captured by the second camera 28. For example, the inspection part detection unit 58 detects the inspection part in the image based on a reference image of the inspection part produced in advance. In the example here, the inspection part detection unit 58 detects the weld bead 80 and the surrounding area of ​​the weld bead 80.

[0072] In step 122, the inspection location detection unit 58 detects parameters of the shapes of the weld bead 80 and the workpieces 81 and 82 at the corrected movement points MPC1 to MPC6. Here, the parameters of the shapes of the weld bead 80 and the workpieces 81 and 82 for evaluating the quality of the welded workpieces 81 and 82 will be described.

[0073] Figure 8 An enlarged cross-sectional view showing the workpiece and weld bead after welding. Figure 8 Parameters related to the quality of the welded workpieces 81 and 82 are shown. The second camera 28 in this embodiment is a three-dimensional camera, so it is possible to detect various dimensions related to the welded portion.

[0074] The thickness tw1 of the workpiece 81 and the thickness tw2 of the workpiece 82 are measured in advance. The parameters for determining the quality of welding include the height hb of the weld bead. The height hb of the weld bead can be calculated by the difference between the position of the highest point in the surface of the weld bead 80 and the position of a point in the upper surface 81a of the workpiece 81. The parameters for determining the quality include the residual height he. The residual height he can be calculated by subtracting the thickness tw2 of the workpiece 82 from the height hb of the weld bead. Preferably, the residual height is, for example, about 10% of the thickness tw2 of the second workpiece 82. In addition, the parameters for evaluating the quality include the width wb of the weld bead. Preferably, the width wb of the weld bead is substantially the same as the thickness tw2 of the workpiece 82. In addition, it is preferred that the angle ab related to the weld bead 80 is approximately 45°.

[0075] When arc welding is performed, an undercut 81b may be formed on the workpiece 81. The depth du of the undercut 81b can be calculated by the difference between the position of the deepest point of the undercut 81b and the position of a point on the upper surface 81a of the workpiece 81. The depth du of the undercut 81b is preferably small. That is, the depth du of the undercut 81b is preferably zero.

[0076] Fig. 9 An enlarged cross-sectional view of other workpieces and weld beads after welding is performed is shown. Fig. 9 The cross-sectional view shows a case where fillet welding is performed on plate-like workpieces 83 and 84. When fillet welding is performed, undercut 83a may be formed on workpiece 83 and undercut 84a may be formed on workpiece 84. In such a case, the height hb of the weld bead, the width wb of the weld bead 80, the depths du1 and du2 of the undercuts 83a and 84a, and the angle ab of the weld bead can also be detected.

[0077] Reference Figure 7 In step 122, the inspection part detection unit 58 detects Figure 8 and Fig. 9 The shape parameters of the workpiece related to the quality as shown in FIG. 123 , the storage unit 42 stores the corrected shape parameters at the movement points MPC1 to MPC6 .

[0078] Fig.10 An example of a graph of parameters detected by the examination part detection unit is shown. Fig.10 The image displayed on the display unit 3b of the teaching operation panel 3 is shown. As parameters for quality inspection, the height of the weld bead, the width of the weld bead, the depth of the undercut, and the excess height are shown. The magnitude of the parameter relative to the distance L between the moving point MPC1 as the reference point is shown. The robot control device 4 changes the position and posture of the robot 1 so that the parameters at all the moving points MPC1 to MPC6 can be measured. In this way, the inspection part detection unit 58 can detect the magnitude of the parameter at each moving point MPC1 to MPC6.

[0079] (First Control for Determining Correction Method of Robot Position or Posture)

[0080] Fig.11 A flowchart showing a first control method for determining a correction method of a position or posture of a robot. Figure 3 , Figure 5 and Fig.11 The variable calculation unit 59 of the second image processing unit 57 calculates a mass variable representing the quality of the workpiece after welding based on the parameters of the shape detected from the image captured by the second camera 28 .

[0081] In step 131 , the variable calculation unit 59 acquires the parameters of the corrected shape at the movement points MPC1 to MPC6 . In step 132 , the variable calculation unit 59 calculates the score ΔS as a quality variable representing the quality of the workpieces 81 , 82 at the movement points MPC1 to MPC6 .

[0082] In this embodiment, the score ΔS is calculated by evaluating multiple parameters simultaneously. Figure 8 As shown, when welding thin workpieces 81 and 82, the variable S can be calculated as shown in the following formula (1).

[0083]

[0084] Here, the coefficient C is a weight set by the operator according to the importance. The coefficient C can be a value greater than 0 and less than 1. In formula (1), the height hb of the weld bead and the depth du of the undercut are evaluated. It is preferred that the height hb of the weld bead is close to the thickness tw2 of the second workpiece 82. Alternatively, it is preferred that the depth du of the undercut is zero. As a result, the closer the variable S is to 100%, the better the quality of the workpiece after welding can be determined.

[0085] In addition, in Fig. 9 When fillet welding is performed on thick workpieces 83 and 84 as shown in FIG. 8 , the variable S can be calculated as shown in the following formula (2).

[0086]

[0087] In formula (2), the height hb of the weld bead and the width wb of the weld bead are evaluated. When the workpieces 83 and 84 are thick, the depths du1 and du2 of the undercuts do not become a problem, so the variable S for evaluating the height hb of the weld bead and the width wb of the weld bead can be used. As in formula (1), the closer the variable S is to 100%, the better the quality of the workpiece after welding.

[0088] Next, in the present embodiment, the score ΔS can be calculated based on the variable S as shown in the following formula (3).

[0089] ΔS=|100-S|…(3)

[0090] The score ΔS indicates the quality of the workpiece. The smaller the score ΔS is, the better the quality of the workpiece can be determined. The score ΔS can be calculated for each of the corrected movement points MPC1 to MPC6. In addition, the score ΔS can be calculated as a function of the distance L.

[0091] In addition, the score ΔS as the quality variable is not limited to the above-mentioned method, and a parameter of any shape can be set. In addition, for the quality variable, a parameter of a shape that represents the quality of welding can be selected. For example, a reference value of the width of the weld bead can be set to an optimal weld bead width. In addition, the quality variable can be calculated based on the difference between the actually measured weld bead width and the reference value.

[0092] Next, the determination unit 60 of the second image processing unit 57 determines a method of correcting the position or posture of the robot 1 based on the correlation between the correction amounts D1 to D4 of the position of the first movement path 77 and the score ΔS.

[0093] In step 133, the determination unit 60 determines whether there is a moving point where the quality variable deviates from a predetermined determination range. The determination unit 60 determines whether there is a moving point where the quality difference between the workpieces 81 and 82 exists. In the present embodiment, the determination unit 60 determines whether there are moving points MPC1 to MPC6 where the score ΔS exceeds a predetermined determination value. The determination value of the score ΔS can be determined in advance.

[0094] In step 133, if the scores ΔS of all the moving points MPC1 to MPC6 are below the judgment value, the present control is terminated. That is, if there is no moving point with a quality difference between the workpieces 81 and 82, the present control is terminated. In step 133, if there is a moving point MPC1 to MPC6 with a score ΔS exceeding the judgment value, the control is transferred to step 134.

[0095] The determination unit 60 extracts the best moving point, which is the moving point with the best quality variable, and the worst moving point, which is the moving point with the worst quality variable, in the second moving path 78. In step 134, the determination unit 60 detects the moving point MPCbest having the best score ΔS among the plurality of moving points MPC1 to MPC6. In the present embodiment, the determination unit 60 detects the moving point having the lowest score ΔS. In addition, the determination unit 60 detects the correction amount Dbest of the moving point MPCbest having the best score ΔS.

[0096] In step 135, the determination unit 60 detects the moving point MPCworst having the worst score ΔS among the plurality of moving points MPC1 to MPC6. In the present embodiment, the determination unit 60 detects the moving point having the largest score ΔS. In addition, the determination unit 60 detects the correction amount Dworst of the moving point MPCworst having the worst score ΔS.

[0097] In step 136, the determination unit 60 compares the magnitude of the correction amount Dbest with the magnitude of the correction amount Dworst. In the first control of the present embodiment, when the correction amount of the position that has a large influence on the score ΔS is small, it is determined that the correction of the position is the main cause of the deterioration of the score. In this case, it can be determined that the position of the second moving path needs to be corrected. On the other hand, when the score ΔS is excellent regardless of whether the position correction is implemented, it is determined that the influence of the robot's position is small. In this case, it can be determined that the posture of the robot in the second moving path needs to be corrected.

[0098] In step 136 , when the correction amount Dbest is smaller than the correction amount Dworst, control proceeds to step 137 . In step 137 , the determination unit 60 adds the movement point MPCworst as a teaching point. In the case where the movement point MPCworst is already a teaching point, control proceeds to step 138 .

[0099] In step 138, the determination unit 60 sends a command to the teaching operation panel 3 to display a correction of the position of the moving point MPCworst. The display unit 3b of the teaching operation panel 3 displays a correction of the position of the moving point MPCworst as the newly added teaching point. That is, the display unit 3b displays a screen suggesting correction of the position of the robot 1.

[0100] On the other hand, in step 136 , when the correction amount Dbest is equal to or greater than the correction amount Dworst, control proceeds to step 139 . In step 139 , the determination unit 60 adds the movement point MPCbest as a teaching point. If the movement point MPCbest is already a teaching point, control proceeds to step 140 .

[0101] In step 140, the determination unit 60 sends a command to the teaching operation panel 3 to display a correction of the posture of the moving point MPCbest. The display unit 3b of the teaching operation panel 3 displays a correction of the posture of the moving point MPCbest, which is the newly added teaching point. That is, the display unit 3b displays a screen suggesting correction of the posture of the robot 1. The operator can discuss correction of the position or posture of the robot 1 by viewing the screen of the display unit 3b.

[0102] Fig.12 The moving path when the position of the robot at the teaching point added by the determination unit is corrected is shown. In the example here, the corrected moving point MPC3 is set as the teaching point TP3 as the moving point whose position should be corrected. And the position of the teaching point TP3 is corrected by the operator. When the robot device 8 welds the next workpiece 81, 82, the moving path passing through the teaching points TP1, TP2, and TP3 is set as the first moving path 79. Then, the motion control unit 43 sets interpolation points in the interval between the teaching point TP1 and the teaching point TP3 and in the interval between the teaching point TP3 and the teaching point TP2. The correction amount calculation unit 53 calculates the correction amount of the position of the robot 1 based on the image captured by the first camera 27 and the first moving path 79 and sets the second moving path. In this way, the same control as described above can be repeated.

[0103] In the first control of the present embodiment, when the correction amount at the best moving point with the best score is smaller than the correction amount at the worst moving point with the worst score, it is determined that the position of the robot needs to be corrected. On the other hand, when the correction amount at the best moving point with the best score is larger than the correction amount at the worst moving point with the worst score, the determination unit determines that the posture of the robot needs to be corrected. In addition, the display unit can display a screen that recommends correction of the position or posture of the robot.

[0104] In the control of this embodiment, the correction method of the teaching point is determined based on the correlation between the correction amount of the position of the moving path and the mass variable. Therefore, the position or posture of the robot can be appropriately corrected regardless of the experience or skills of the operator. In addition, compared with the case where the position or posture of the robot is corrected based on the experience of the operator, the teaching point can be corrected in a short time.

[0105] The teaching point correction in this embodiment can be implemented by stopping the operation of the robot device during the manufacturing of the product. For example, the movement point correction in this embodiment can be implemented when a screen suggesting correction of the position or posture of the robot is displayed. Alternatively, the movement point correction in this embodiment can be implemented when the batch of workpieces is changed.

[0106] In the first robot device 8 of the present embodiment, the first movement path 77 of the robot 1 is corrected based on the image captured by the first camera 27, but the present invention is not limited to this method. Any sensor can be used to correct the first movement path of the robot. Alternatively, the first movement path of the robot can be corrected without using a sensor.

[0107] Fig.13 A partially enlarged cross-sectional view of a workpiece and a welding torch is shown for explaining control for correcting a first movement path of the robot. Fig.13 The state before welding is performed is shown. The upper surface 81a of the workpiece 81 is arranged to extend in the horizontal direction. In addition, the end surface 82a of the workpiece 82 is arranged to extend in the vertical direction. The motion control unit 43 controls the position and posture of the robot 1 so that the welding wire 19 protruding from the welding torch 2 is arranged near the part to be welded. The welding control device 5 applies a weak voltage to the welding wire 19.

[0108] The motion control unit 43 changes the position and posture of the robot 1 so that the welding torch 2 moves in the direction indicated by the arrow 93. When the welding wire 19 contacts the upper surface 81a of the workpiece 81, a weak current flows. At this time, the position of the front end of the welding wire 19 (the position of the tool front end point) is equivalent to the position of the upper surface 81a of the workpiece 81. The robot control device 4 can detect the position of the upper surface 81a of the workpiece 81.

[0109] Next, the motion control unit 43 returns the welding torch 2 to its original position. The welding control device 5 applies a weak voltage to the welding wire 19. The motion control unit 43 changes the position and posture of the robot 1 so that the welding wire 19 faces the end surface 82a of the workpiece 82 as shown by the arrow 94. When the welding wire 19 contacts the end surface 82a of the workpiece 82, a weak current flows. At this time, the position of the front end of the welding wire 19 is equivalent to the position of the end surface 82a of the workpiece 82. The robot control device 4 can detect the position of the end surface 82a of the workpiece 82.

[0110] The robot control device 4 can detect the position of the point CP where the workpiece 82 contacts the workpiece 81 based on the position of the upper surface 81a of the workpiece 81 and the position of the end surface 82a of the workpiece 82. In addition, the first moving path can be corrected based on the position of the point CP to generate the second moving path. For the correction amount of the moving path, the same value can be applied from the starting point of welding to the end point of welding. One correction amount can be applied to the entire moving path. In this way, the robot control device 4 can detect the position where the robot device is working without using a visual sensor.

[0111] Fig.14 A partial enlarged cross-sectional view of a workpiece and a welding torch is shown for explaining other controls for correcting the first movement path of the robot. Fig.14In the example shown, a workpiece 85 having a cutout 85a and a workpiece 86 having a cutout 86a are fixed by welding. The cutout 85a and the cutout 86a form a concave portion having a V-shaped cross-section. The welding torch 2 moves in the direction in which the concave portion extends. A weld bead is formed inside the concave portion.

[0112] In addition, the welding torch 2 performs welding while reciprocating in the recess as indicated by arrow 92. That is, the robot device performs welding while swinging. Swinging is a method of welding while vibrating the welding torch in a direction in which the welded portion extends, for example, in a direction perpendicular to the direction in which the welded portion extends. Swinging is preferably used when the amount of weld bead increases.

[0113] Fig.15 A graph showing the current flowing to the welding wire when welding is performed while oscillating. Fig.14 and Fig.15 The welding control device 5 detects the current flowing to the welding wire 19 during the welding process. The welding torch 2 vibrates around the reference point RP set as the moving point. When the reference point RP is arranged at the center of the recess formed by the notch portions 85a and 86a, the value of the current vibrates around the reference value of the current. When the reference point RP deviates from the center of the recess, the center of the vibration of the current deviates from the reference value.

[0114] The motion control unit 43 in this embodiment slowly moves along the first moving path while welding is being performed so that the center of the vibration of the current is directed toward the reference value. That is, the moving path is corrected so that the center of the vibration of the current is directed toward the reference value over time. The first moving path can be corrected by detecting the current flowing to the welding wire while welding is being performed. In this case, the robot control device 4 also stores the corrected second moving path. The robot control device 4 can calculate the correction amount of the position of the moving point based on the position of the moving point in the second moving path.

[0115] (Second Control for Determining Correction of Robot's Position or Posture)

[0116] Next, the second control for determining the method of correcting the position or posture of the robot will be described. In the second control, it is determined whether to correct the position of the robot 1 or the posture of the robot 1 .

[0117] Reference Figure 6 , Figure 7 , Fig.11 , until the determination unit 60 calculates the score ΔS (to Fig.11The control up to step 132 of the first control is the same as the first control. Next, the determination unit 60 determines whether there is a moving point where the score ΔS exceeds a predetermined determination value. If there is no moving point where the score ΔS exceeds the determination value, this control is terminated.

[0118] When there is a moving point where the score ΔS exceeds the determination value, the determination unit 60 calculates the correlation coefficient between the score ΔS and the correction amount at the position of the plurality of moving points MPC1 to MPC6. The correlation coefficient CC can be calculated, for example, by the following equation (4). Here, the function E(a) represents the average of a. The variable L represents the distance from the reference point.

[0119]

[0120] The determination unit 60 determines whether the correlation coefficient is greater than a predetermined determination value. The determination value of the correlation coefficient can be set in advance by an operator and stored in the storage unit 42. As the determination value of the correlation coefficient, for example, 0.5 can be adopted.

[0121] When the correlation coefficient exceeds the determination value, the determination unit 60 can determine that there is a correlation between the correction of the position of the robot 1 and the variation of the score ΔS. The determination unit 60 determines that the position of the robot 1 needs to be corrected. The display unit 3b of the teaching operation panel 3 displays a screen suggesting correction of the position of the robot 1.

[0122] On the other hand, when the correlation coefficient is less than a predetermined determination value, the determination unit 60 can determine that there is no correlation between the correction of the position of the robot 1 and the variation of the score ΔS. The determination unit 60 determines that it is necessary to correct the posture of the robot 1. The display unit 3b displays a screen suggesting correction of the posture of the robot 1.

[0123] The determination unit 60 can set the worst-scoring moving point as the teaching point. Furthermore, the display unit 3 b of the teaching operation panel 3 can display the worst-scoring moving point as a point at which the position or posture of the robot 1 should be corrected.

[0124] As described above, also in the second control, the method of correcting the position or posture of the robot 1 can be determined based on the correlation between the correction amount of the position of the movement path and the mass variable.

[0125] (Control of calculating the correction amount of posture)

[0126] The robot control device 4 of the present embodiment is configured to calculate the correction amount of the posture of the robot 1 when it is determined that the posture of the robot 1 should be corrected. The moving point for correcting the posture of the robot 1 can be selected by any method. For example, the moving point selected by the determination unit 60 can be used. Alternatively, the operator can set the teaching point for correcting the posture of the robot 1.

[0127] Fig.16 A diagram is shown to illustrate the posture of the welding torch in the moving path before correction and the moving path after correction in the comparative example. The first moving path 77 of the robot 1 is a path from the moving point MP1 toward the moving point MP2. In the example here, based on the image of the visual sensor, as shown by the arrow 96, the moving point MP2 is corrected to the moving point MPC2. The second moving path 78 is a path from the moving point MPC1 toward the moving point MPC2. At this time, in the world coordinate system 71, the posture of the welding torch 2 at the moving point MPC3 after correction is the same as the posture of the welding torch 2 at the moving point MP3 before correction. That is, the coordinate values ​​of the W axis, the P axis, and the R axis of the world coordinate system 71 are the same.

[0128] By correcting the position of the moving point MP3, the direction in which the moving path extends changes. However, the posture of the welding torch 2 does not change, so the orientation of the welding torch 2 relative to the direction in which the moving path extends changes. As a result, the orientation of the welding torch 2 relative to the workpiece also changes. In this example, it is determined that the posture of the welding torch 2 at the moving point MPC3 is not preferred.

[0129] Fig.17 The moving path before correction and the moving path after correction are shown after the posture of the welding torch is corrected in the corrected moving path. The determination unit 60 of the present embodiment calculates the orientation of the welding torch 2 at the corrected moving point MPC3. The determination unit 60 calculates the posture of the welding torch 2 to maintain the posture of the welding torch 2 relative to the direction in which the moving paths 77 and 78 extend. In other words, the determination unit 60 calculates the orientation of the welding torch 2 so that the orientation of the welding torch 2 relative to the direction in which the second moving path 78 extends is the same as the orientation of the welding torch 2 relative to the direction in which the first moving path 77 extends.

[0130] The determination unit 60 sets the auxiliary coordinate system 73 having the moving point MP3 in the first moving path 77 as the origin. The determination unit 60 sets the direction in which the first moving path 77 extends from the moving point MP3 as the X axis. Next, the determination unit 60 calculates an axis extending from the moving point MP3 to the lower side in the vertical direction, and sets an axis orthogonal to the axis and the X axis as the Y axis. The determination unit 60 sets the Z axis extending in a direction perpendicular to the X axis and the Y axis.

[0131] The determination unit 60 sets the auxiliary coordinate system 74 having the movement point MPC3 in the second movement path 78 as the origin. The X axis of the auxiliary coordinate system 74 can be set to the direction in which the second movement path 78 extends. The determination unit 60 sets the Y axis and the Z axis of the auxiliary coordinate system 74 in the same way as the auxiliary coordinate system 73.

[0132] The determination unit 60 calculates the orientation of the welding torch 2 at the moving point MP3 arranged on the first moving path 77 using the coordinate values ​​of the auxiliary coordinate system 73 on the W axis, the P axis, and the R axis. That is, the determination unit 60 transforms the posture of the robot 1 represented by the coordinate values ​​of the world coordinate system 71 into the coordinate values ​​of the auxiliary coordinate system 73. The coordinate values ​​of the auxiliary coordinate system 73 correspond to the orientation of the welding torch 2 relative to the direction in which the first moving path 77 extends.

[0133] The determination unit 60 sets the same value as the coordinate value of the auxiliary coordinate system 73 as the coordinate value of the auxiliary coordinate system 74. The coordinate values ​​of the auxiliary coordinate system 74 on the W axis, the P axis, and the R axis are set. The coordinate value of the auxiliary coordinate system 74 at this time corresponds to the orientation of the welding torch 2 relative to the direction in which the second moving path 78 extends, and corresponds to the orientation of the welding torch 2 after the posture is corrected. The determination unit 60 can calculate the corrected posture of the robot 1 by converting the coordinate value of the auxiliary coordinate system 74 into the coordinate value of the world coordinate system 71 of the robot 1.

[0134] The determination unit 60 calculates the difference between the posture of the robot 1 before correction and the posture of the robot 1 after correction. The display unit 3b can display the difference in the posture of the robot 1. The difference in posture corresponds to the correction amount of the posture of the robot 1 when the operator corrects the posture. The operator can correct the posture of the robot 1 according to the display of the display unit 3b. In this way, the determination unit 60 can calculate the posture of the robot 1 in the second moving path 78 based on the posture of the robot 1 in the first moving path 77. The display unit 3b of the teaching operation panel 3 can display the correction amount of the posture of the robot 1 calculated by the determination unit 60.

[0135] Fig.18 The corrected movement path for explaining other control for calculating the correction amount of the robot's posture is shown. In other control for calculating the correction amount of the robot's posture, the posture of the robot 1 in the second movement path 78 is referred to. In the example here, the posture of the welding torch 2 is corrected at the movement point MPC5. The movement point MPC5 is, for example, a movement point with a score difference ΔS.

[0136] The determination unit 60 detects the moving point MPC4 with the best score ΔS in the second moving path 78. The determination unit 60 sets the auxiliary coordinate systems 73 and 74 at each of the moving points MPC4 and MPC5. The auxiliary coordinate systems 73 and 74 can be set by the aforementioned control. That is, at each of the moving points MPC4 and MPC5, the direction in which the second moving path 78 extends is set as the direction of the X axis to set the auxiliary coordinate systems 73 and 74.

[0137] Next, similar to the aforementioned control, the determination unit 60 calculates the coordinate value of the orientation of the welding torch 2 in the auxiliary coordinate system 73. Furthermore, the determination unit 60 sets the same value as the coordinate value of the orientation of the welding torch 2 in the auxiliary coordinate system 73 as the coordinate value of the orientation of the welding torch 2 in the auxiliary coordinate system 74. Next, the determination unit 60 can calculate the corrected posture of the robot 1 by transforming the coordinate value of the orientation of the welding torch 2 in the auxiliary coordinate system 74 into the coordinate value of the world coordinate system 71. Furthermore, the determination unit 60 can calculate the correction amount of the posture of the robot 1 by the difference between the posture of the robot 1 before correction and the posture of the robot 1 after correction. The display unit 3b of the teaching operation panel 3 can display the correction amount of the posture of the robot 1 calculated by the determination unit 60.

[0138] By performing this control, the direction of the welding torch relative to the moving path at the moving point where the correction is performed can be made consistent with the direction of the welding torch relative to the moving path at the moving point with the best score. Therefore, it can be expected that the work quality of the robot device can be improved. In addition, the control device 10 of the robot device 8 can also be configured not to calculate the correction amount of the posture of the robot 1. In this case, the operator can determine the correction amount of the posture of the robot 1 based on experience.

[0139] (Control of the calculation position correction amount)

[0140] The robot control device 4 of the present embodiment is configured to calculate the correction amount of the position of the robot 1 when it is determined that the position of the robot 1 should be corrected. Next, the control of calculating the correction amount of the position of the robot 1 is described. The moving point for correcting the position of the robot 1 can be selected by any method. For example, the moving point selected by the determination unit 60 can be used. Alternatively, the operator can set the teaching point for correcting the position of the robot 1.

[0141] Fig.19 The movement path of the robot before and after correction are shown to illustrate the correction of the position. Fig.19In the example shown, the first moving path 77 is set from the moving point MP1 to the moving point MP2 based on the motion program 41. The second moving path 78 is generated from the moving point MPC1 to the moving point MPC2 by correcting the position of the robot 1 based on the image captured by the first camera 27. The robot device 8 performs welding while changing its position along the second moving path 78.

[0142] The moving point MPC4 is a moving point for correcting the position of the robot 1. The moving point MPC4 is, for example, a moving point with a score difference ΔS. The determination unit 60 detects the moving point MPC3 with the best score in the second moving path 78. In addition, the determination unit 60 calculates the movement amount and movement direction of the position of the moving point MP3 as the correction amount of the position indicated by the arrow 97. The correction amount can be calculated, for example, by the coordinate values ​​of the world coordinate system 71 in the X-axis, Y-axis, and Z-axis.

[0143] Next, the determination unit 60 sets auxiliary coordinate systems 73 and 74 at each of the movement points MPC3 and MPC4. The auxiliary coordinate systems 73 and 74 are coordinate systems in which the direction in which the second movement path 78 extends is the X axis at each of the movement points MPC3 and MPC4. The auxiliary coordinate systems 73 and 74 can be set by the above-mentioned control.

[0144] Fig. 20 The auxiliary coordinate system at the best-scoring moving point is shown. The determination unit 60 converts the correction amount of the moving point MPC3 represented by the world coordinate system 71 into the coordinate value of the auxiliary coordinate system 73. That is, the starting point of the arrow 97 is configured as the origin of the auxiliary coordinate system 73. The moving amount and moving direction of the position of the moving point MP3 are calculated using the coordinate values ​​of the X-axis, Y-axis, and Z-axis of the auxiliary coordinate system 73.

[0145] Fig.21 The auxiliary coordinate system at the moving point where the position is corrected is shown. The determination unit 60 sets the coordinate values ​​of the arrow 97 in the auxiliary coordinate system 73 in the X-axis, Y-axis and Z-axis to the coordinate values ​​of the X-axis, Y-axis and Z-axis of the auxiliary coordinate system 74. When the coordinate values ​​are applied to the auxiliary coordinate system 74, an arrow 98 is generated. The arrow 98 is equivalent to the correction amount at the moving point MPC4. The determination unit 60 can calculate the correction amount of the position of the robot 1 by converting the coordinate values ​​of the X-axis, Y-axis and Z-axis of the auxiliary coordinate system 74 into the coordinate values ​​of the X-axis, Y-axis and Z-axis of the world coordinate system 71. The moving point after the moving point MPC4 in the second moving path 78 is moved in the direction shown by the arrow 98 becomes the moving point after the position is corrected.

[0146] The determination unit 60 can calculate the position correction amount by calculating the difference between the coordinate value of the position of the movement point MPC4 in the second movement path 78 and the coordinate value of the corrected position of the robot 1. The display unit 3b of the teaching operation panel 3 can display the position correction amount.

[0147] As described above, in the calculation of the correction amount of the position in the present embodiment, the movement amount and movement direction of the position of the moving point for position correction can be used to calculate the movement amount and movement direction of the position of the moving point for position correction. The movement direction and movement amount of the moving point with respect to the movement path at the moving point with good score can be applied to the correction of the moving point for position correction. Therefore, it can be expected that the work quality of the robot device 8 can be improved.

[0148] Furthermore, the control device 10 of the robot device 8 may be configured not to calculate the correction amount of the position of the robot 1. In this case, the operator can determine the correction amount of the position of the robot 1 based on experience.

[0149] The first robot device 8 is provided with a first camera 27 for detecting the position of the work and a second camera 28 for inspection, but the present invention is not limited to this. The position of the work and the inspection of the workpiece may be performed by a single camera. For example, welding may be performed while the position of the work is detected by a single camera. Thereafter, the welded portion may be photographed by changing the setting of the camera to inspect the workpiece.

[0150] In the first robot device 8, one robot 1 performs welding of the workpieces 81 and 82 and quality inspection of the workpieces 81 and 82, but the present invention is not limited to this embodiment. The robot device may include a robot for inspection in addition to a robot for welding.

[0151] Fig. 22 The block diagram of the second robot device in this embodiment is shown. The second robot device 9 includes a welding robot 32 for performing work and an inspection robot 34 for performing inspection. The welding robot 32 and the inspection robot 34 can each be constituted by a multi-joint robot.

[0152] The welding robot 32 is a robot that moves the welding torch 2 to weld the workpiece. The welding robot 32 has a structure in which the second camera 28 is not mounted on the robot 1 of the first robot device 8. The welding torch 2 is fixed to the wrist of the welding robot 32. The first camera 27 can be mounted on the welding torch 2.

[0153] The inspection robot 34 is a robot for moving the second camera 28. The inspection robot 34 has a structure in which the first camera 27 and the welding torch 2 are not mounted on the robot 1 of the first robot device 8. The second camera 28 can be mounted on the wrist of the inspection robot 34.

[0154] The control device 39 of the second robot device 9 includes a welding robot control device 31 for controlling the welding robot 32 and an inspection robot control device 33 for controlling the inspection robot 34. The welding robot control device 31 includes a calculation processing device having a CPU. The welding robot control device 31 includes a storage unit 42, an action control unit 43, and a robot driving unit 45, similarly to the robot control device 4 of the first robot device 8. In addition, the welding robot control device 31 has a first image processing unit 51. The welding robot control device 31 includes a teaching operation panel. The action program 37 is input to the welding robot control device 31.

[0155] In addition, the inspection robot control device 33 has a storage unit 42, an operation control unit 43, and a robot driving unit 45, similarly to the welding robot control device 31. The inspection robot control device 33 includes a teaching operation panel. An operation program 38 is input to the inspection robot control device 33.

[0156] The control device 39 of the second robot device 9 includes a determination device 35 for determining the inspection result. The determination device 35 is composed of a calculation processing device including a CPU. The determination device 35 includes an input unit 35a and a display unit 35b. The determination device 35 includes a storage unit 35c composed of a storage medium such as a volatile memory or a non-volatile memory. The determination device 35 includes a second image processing unit 57. The determination device 35 processes the image acquired by the second camera 28 of the inspection robot control device 33. The determination device 35 can determine a correction method for the position or posture of the robot 1. The determination result of the determination device 35 can be displayed on the display unit 35b. The operator can view the display of the display unit 35b to determine the correction method for the position or posture of the robot 1.

[0157] The rest of the structure, function, and effect of the second robot device 9 are the same as those of the first robot device 8 , and thus will not be described again here.

[0158] In this embodiment, a robot device that performs arc welding is used as an example for description, but the present invention is not limited to this method. The control of this embodiment can be applied to any robot device that corrects the position or posture of the robot. For example, the control of this embodiment can be applied to a robot device that performs laser welding or a robot device that has a working tool for applying an adhesive.

[0159] According to the aspect of the present disclosure, it is possible to provide a control device for a robot device that can determine a method for correcting the position or posture of the robot.

[0160] The above-mentioned embodiments can be appropriately combined. In the above-mentioned respective figures, the same or equivalent parts are marked with the same symbols. In addition, the above-mentioned embodiments are illustrative and are not used to limit the invention. In addition, in the embodiments, changes of the embodiments shown in the claims are included.

Claims

1. A control device, comprising: a correction amount calculation unit for calculating a correction amount of the position of the robot at a movement point of a predetermined first movement path; a motion control unit that drives the robot according to a second movement path obtained by correcting the first movement path based on the correction amount calculated by the correction amount calculation unit; a shape detection sensor for detecting the shape of a part after work is performed by the robot device; a variable calculation unit that calculates a mass variable representing the mass of the workpiece based on the shape detected by the output of the shape detection sensor; as well as a determination unit for determining a correction method for the position or posture of the robot, The determination unit determines whether the position of the robot or the posture of the robot needs to be corrected based on the correlation between the correction amount of the position of the first movement path and the mass variable when the mass variable deviates from a predetermined determination range.

2. The control device according to claim 1, characterized in that: Also available: a visual sensor for photographing a portion to be worked on by the robot device; and a work position detection unit that detects a work position based on the image captured by the visual sensor, The correction amount calculation unit calculates a correction amount for the position of the robot based on the position of the movement point of the first movement path and the position where the work is performed detected by the work position detection unit.

3. The control device according to claim 1 or 2, characterized in that: further comprising a display unit for displaying information related to the control of the robot device, The determination unit extracts a best moving point having the best quality variable and a worst moving point having the worst quality variable in the second moving path. When the correction amount of the position at the best movement point is smaller than the correction amount of the position at the worst movement point, the determination unit determines that the position of the robot needs to be corrected, and the display unit displays a screen suggesting correction of the position of the robot. When the correction amount of the position at the best movement point is greater than the correction amount of the position at the worst movement point, the determination unit determines that the posture of the robot needs to be corrected, and the display unit displays a screen suggesting correction of the posture of the robot.

4. The control device according to claim 1 or 2, characterized in that: further comprising a display unit for displaying information related to the control of the robot device, The determination unit calculates a correlation coefficient between the correction amount of the position at the plurality of moving points and the quality variable, When the correlation coefficient exceeds a predetermined determination value, the determination unit determines that the position of the robot needs to be corrected, and the display unit displays a screen suggesting correction of the position of the robot. When the correlation coefficient is smaller than a predetermined determination value, the determination unit determines that the posture of the robot needs to be corrected, and the display unit displays a screen suggesting correction of the posture of the robot.

5. The control device according to claim 1 or 2, characterized in that: further comprising a display unit for displaying information related to the control of the robot device, The determination unit calculates the orientation of the working tool relative to the direction in which the first moving path extends at a moving point on the first moving path corresponding to a moving point on the second moving path where posture correction is required, The determination unit calculates a correction amount for the posture of the robot so that the orientation of the working tool with respect to the direction in which the second moving path extends is the same as the orientation of the working tool with respect to the direction in which the first moving path extends at a moving point on the second moving path. The display unit displays the correction amount of the posture of the robot calculated by the determination unit.

6. The control device according to claim 3, characterized in that: further comprising a display unit for displaying information related to the control of the robot device, The determination unit calculates the orientation of the working tool relative to the direction in which the first moving path extends at a moving point on the first moving path corresponding to a moving point on the second moving path where posture correction is required, The determination unit calculates a correction amount for the posture of the robot so that the orientation of the working tool with respect to the direction in which the second moving path extends is the same as the orientation of the working tool with respect to the direction in which the first moving path extends at a moving point on the second moving path. The display unit displays the correction amount of the posture of the robot calculated by the determination unit.

7. The control device according to claim 4, characterized in that: further comprising a display unit for displaying information related to the control of the robot device, The determination unit calculates the orientation of the working tool relative to the direction in which the first moving path extends at a moving point on the first moving path corresponding to a moving point on the second moving path where posture correction is required, The determination unit calculates a correction amount for the posture of the robot so that the orientation of the working tool with respect to the direction in which the second moving path extends is the same as the orientation of the working tool with respect to the direction in which the first moving path extends at a moving point on the second moving path. The display unit displays the correction amount of the posture of the robot calculated by the determination unit.

Citation Information

Patent Citations

  • Method and device for automatic inspection of three dimensional object

    JP1995098217A

  • Acquiring and processing method for image

    JP1997072717A

  • Teaching position correction device

    JP2004255547A

  • Offline teaching device, offline teaching method, and robot system

    JP2016140958A

  • Welding line vision tracking system and method based on laser structural light

    CN107824940A