Robot control system

The robot control system addresses the challenge of workpiece displacement by using sensors to identify and store sensing teaching points, enhancing accuracy and reducing operator effort in teaching precise positions.

JP2026068854APending Publication Date: 2026-04-23DAIHEN CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DAIHEN CORP
Filing Date
2024-10-11
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Conventional robot control systems face challenges in accurately performing operations like welding when the workpiece position is displaced, despite precise teaching and playback, as they rely on fixed taught positions that do not account for workpiece displacement.

Method used

A robot control system that uses sensors to identify sensing teaching points based on rough teaching points, allowing for accurate robot control by storing and using these sensing points for playback, reducing operator burden and ensuring precise operation.

Benefits of technology

The system enables accurate robot operation by automatically identifying and using sensing teaching points, reducing the need for meticulous teaching of precise points and ensuring consistent performance even with workpiece displacement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026068854000001_ABST
    Figure 2026068854000001_ABST
Patent Text Reader

Abstract

We provide a robot control system that can reduce the burden on workers. [Solution] The control device 20 includes a reception unit 21 that receives rough teaching instructions regarding rough teaching points, which are provisional teaching points; a storage unit 22 that stores teaching data for rough teaching points in response to the receipt of rough teaching instructions; and a control unit 24 that identifies sensing teaching points corresponding to rough teaching points using sensing results obtained by having the robot 10's sensors perform sensing based on the rough teaching points. The storage unit 22 stores teaching data for sensing teaching points. The control unit 24 controls the robot 10 using the sensing teaching points. In this way, the burden on the operator during teaching can be reduced, and the robot 10 can be operated with higher precision using the sensing teaching points.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] ,

[0006] , , , , , ,

[0005] , , , , ,

[0001] The present invention relates to a robot control system of a teaching playback method.

Background Art

[0002] Conventionally, in a robot control system of a teaching playback method, the accurate position where the robot performs operations such as welding is taught, and during playback control, the taught position is controlled so that the end effector of the robot moves. Even if teaching and playback are performed accurately, if the position of the workpiece is displaced, accurate processing by the robot cannot be performed. Therefore, by using a touch sensor of an arc welding robot, displacement of the workpiece position has also been detected. For a robot having a touch sensor, refer to, for example, Patent Document 1.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0007] According to one aspect of the present invention, a robot control system requires teaching only to rough teaching points, which are temporary teaching points, thus reducing the burden on the operator. Furthermore, by using sensors to sense the rough teaching points as a reference, teaching data for sensing teaching points, which are accurate teaching points, can be accumulated. By using these sensing teaching points, the robot can be controlled more accurately. [Brief explanation of the drawing]

[0008] [Figure 1] A schematic diagram showing the configuration of a robot control system according to an embodiment of the present invention. [Figure 2] This figure shows an example of rough teaching points and sensing teaching points in the same embodiment. [Figure 3] Flowchart showing the operation of the control device according to this embodiment [Figure 4] This figure shows an example of rough teaching points and sensing teaching points in the same embodiment. [Modes for carrying out the invention]

[0009] The robot control system according to the present invention will be described below using embodiments. In the following embodiments, components and steps denoted by the same reference numerals are the same or equivalent and may not be described again. The robot control system according to this embodiment acquires and stores teaching data for sensing teaching points using the results of sensing based on rough teaching points, which are provisional teaching points, and controls the robot using those sensing teaching points.

[0010] Figure 1 is a schematic diagram showing the configuration of the robot control system 100 according to this embodiment. The robot control system 100 according to this embodiment comprises a robot 10 having multiple joints and a control device 20 for controlling the robot 10, and may also include a teaching pendant 30 as needed. Furthermore, if the robot 10 is a welding robot, the robot control system 100 may further include a welding power supply, a wire feeding device, etc., as needed. The robot 10 comprises a robot body 11 and an end effector 12 attached to the tip of the robot body 11.

[0011] The robot 10 may have, for example, multiple arms connected by motor-driven joints. The robot 10 may be, for example, a vertical articulated robot, a horizontal articulated robot, or any other type of robot. The robot 10 may also be, for example, a transport robot, a welding robot, an assembly robot, a painting robot, or a robot for other purposes. The end effector 12 may be appropriate to the application of the robot 10. For example, if the robot 10 is a welding robot, the end effector 12 may be a welding torch. Also, for example, if the robot 10 is a transport robot or an assembly robot, the end effector 12 may be a gripping part that grips the object to be transported or assembled.

[0012] Furthermore, the robot 10 has a sensor for sensing the object to be detected. This sensor may be, for example, a touch sensor, a laser sensor, a vision sensor (i.e., an image sensor), or any other type of sensor. The object to be detected by the sensor may be, for example, a workpiece to be welded if the robot 10 is a welding robot, an object to be transported if the robot 10 is a transport robot, or an object to be assembled if the robot 10 is an assembly robot.

[0013] Furthermore, the robot 10 may be a collaborative robot, or it may not be. If the robot 10 is a collaborative robot, the end effector 12 of the robot 10 may be provided with an input interface for direct teaching. The input interface for direct teaching may be, for example, the button 12a shown in Figure 1.

[0014] The teaching of robot 10 may be performed by direct teaching, for example, if robot 10 is a collaborative robot. Alternatively, the teaching of robot 10 may be performed using a teaching pendant 30, for example.

[0015] This embodiment primarily describes the case where the robot 10 is a collaborative robot and an arc welding robot, the end effector 12 is a welding torch, and the sensor on the robot 10 is a touch sensor that senses the position of the workpiece 1, which is the target of detection, by touching the target with a consumable electrode.

[0016] The control device 20 controls the robot 10 and, as shown in Figure 1, comprises a reception unit 21, a storage unit 22, a memory unit 23, and a control unit 24.

[0017] The reception unit 21 receives a rough teaching instruction regarding a rough teaching point, which is a temporary teaching point. The rough teaching point is not the precise teaching point used when controlling the robot 10 in playback mode according to its application, but rather a reference teaching point for sensing the precise teaching point using the robot 10's sensors. When welding is performed by the robot 10, the rough teaching point may be a point located away from the workpiece 1, rather than a point on the weld line of the workpiece 1. Preferably, the rough teaching point is a point near the sensing teaching point, which is the precise teaching point corresponding to the rough teaching point. The rough teaching instruction may also instruct the accumulation of teaching data for the rough teaching point.

[0018] Rough teaching instructions may be input, for example, by direct teaching, or via the teaching pendant 30. That is, the receiving unit 21 may receive rough teaching instructions, for example, by direct teaching of the robot 10, or it may receive rough teaching instructions from the teaching pendant 30. In the former case, for example, the rough teaching instructions may be received by the receiving unit 21 in response to the pressing of button 12a on the end effector 12. As will be described later, since the rough teaching points and the sensing teaching points have a predetermined relationship, it is preferable for the operator to input rough teaching instructions regarding the rough teaching points to the control device 20 so that the sensing teaching points become the desired points.

[0019] The reception unit 21 may, for example, accept multiple types of rough teaching instructions. For example, the reception unit 21 may accept a first rough teaching instruction and a second rough teaching instruction. The number of types is not limited. The number of types of rough teaching instructions may be, for example, two, or three or more.

[0020] The reception unit 21 may receive instructions other than rough teaching instructions. As an example, the reception unit 21 may receive an operation instruction for the robot 10. This operation instruction may be, for example, an operation instruction for the robot main body 11, and may be received when an operator performs teaching. As another example, the reception unit 21 may receive, together with the rough teaching instruction, an instruction for the operation of the end effector 12 corresponding to the rough teaching point of the rough teaching instruction, for example, an instruction such as the start or end of welding. Further, the reception unit 21 may receive, for example, an instruction to start playback control. In the instruction to start the playback operation, for example, it may be possible to specify the presence or absence of the operation of the end effector 12, for example, the presence or absence of welding by the welding torch.

[0021] Note that the reception unit 21 may or may not include a device (for example, a communication device, etc.) for performing reception. Further, the reception unit 21 may be realized by hardware or may be realized by software such as a driver for driving a predetermined device.

[0022] The storage unit 22 stores the teaching data of the rough teaching point in the storage unit 23 according to the angle of each joint of the robot 10 when the rough teaching instruction is received by the reception unit 21. The teaching data of the rough teaching point may be, for example, information indicating the position and posture of the end effector 12 of the robot 10 at the time when the rough teaching instruction is received, or may be information indicating the angle of each joint of the robot 10 at that time. Since both pieces of information can be converted by the forward kinematics or inverse kinematics of the robot 10, they are substantially the same information. The same shall apply to the storage of the teaching data of the sensing teaching point described later. The storage unit 22 may, for example, acquire the angle of each joint of the robot 10 from the control unit 24 when the rough teaching instruction is received by the reception unit 21, and store in the storage unit 23 the teaching data indicating the angle of each joint or the teaching data indicating the position and posture of the end effector 12 obtained by converting the angle of each joint by forward kinematics.

[0023] The storage unit 22 may store teaching data for two or more rough teaching points in the storage unit 23. For example, if the reception unit 21 receives rough teaching instructions two or more times, the storage unit 22 may store teaching data for two or more rough display points in the storage unit 23 in response to the two or more receipts of rough teaching instructions. In this case, it is preferable for the storage unit 22 to store two or more teaching data so that the order of storage can be determined.

[0024] The storage unit 22 may store operation instructions for the end effector 12, as well as types of interpolation such as linear interpolation, joint interpolation, and circular interpolation, along with the teaching data of the rough teaching points, according to the information received by the reception unit 21. The operation instructions for the end effector 12 may be, for example, instructions to start or end welding if the end effector 12 is a welding torch, or instructions to grip or release the object being gripped if the end effector 12 is a gripping unit.

[0025] Furthermore, if the reception unit 21 receives multiple types of rough teaching instructions, the storage unit 22 may, in response to the receipt of the rough teaching instructions, store in the storage unit 23 the robot operation instructions corresponding to the type of rough teaching instruction received, along with the teaching data of the rough teaching points. These robot operation instructions may be, for example, operation instructions for the end effector 12 of the robot 10, operation instructions related to the sensors of the robot 10, i.e., sensing instructions, or other operation instructions related to the robot 10. As an example, if multiple pairs of information identifying the type of rough teaching instruction and robot operation instructions are stored in the storage unit 23, the storage unit 22 may use these multiple pairs to identify the robot operation instructions corresponding to the type of rough teaching instruction received, and store the teaching data of the identified operation instructions in the storage unit 23. In this way, the operator can automatically set the robot operation instructions according to the type by selecting the type when inputting the rough teaching instructions.

[0026] The storage unit 22 stores teaching data for sensing teaching points corresponding to rough teaching points in the storage unit 23. Sensing teaching points are teaching points corresponding to rough teaching points and are teaching points corresponding to sensing results. These sensing results may be the results of sensing based on rough teaching points, performed using sensors on the robot 10, as will be described later. That is, sensing teaching points are identified using the results of sensing based on rough teaching points. Sensing teaching points are identified by the control unit 24, as will be described later. Sensing teaching points may be, for example, information indicating the position of the end effector 12 of the robot 10. In this case, the posture of the end effector 12 indicated by the teaching data of the sensing teaching point may be the same as, for example, the posture of the end effector 12 indicated by the teaching data of the rough teaching point corresponding to that sensing teaching point. As an example, the storage unit 22 may overwrite the teaching data of the rough teaching points stored in the memory unit 23 with the teaching data of the sensing teaching points corresponding to those rough teaching points.

[0027] The sensing teaching point is a precise teaching point used when controlling the robot 10 in playback mode according to its application. In other words, this sensing teaching point corresponds to the teaching point taught by an operator in a conventional robot control system. When welding is performed by the robot 10, the sensing teaching point may be, for example, a teaching point on the weld line of the workpiece 1.

[0028] The memory unit 23 stores the information stored by the storage unit 22. The memory unit 23 may store teaching data such as rough teaching points, sensing teaching points, operation instructions for the end effector 12, and interpolation types. Other information may also be stored in the memory unit 23. The memory unit 23 is preferably implemented using a non-volatile recording medium, but may also be implemented using a volatile recording medium. The recording medium may be, for example, a semiconductor memory or a magnetic disk.

[0029] The control unit 24 controls the robot 10. The control unit 24 may, for example, control each joint of the robot 10, control the end effector 12 of the robot 10, control the sensors of the robot 10, or perform other controls related to the robot 10. This control of the robot 10 may be performed, for example, in response to operation instructions for the robot 10 received by the reception unit 21, or in response to rough teaching points, sensing teaching points, operation instructions for the end effector 12, sensing instructions by sensors, etc., indicated by teaching data stored in the storage unit 23.

[0030] The control unit 24 may cause the robot 10's sensors to perform sensing based on rough teaching points indicated by teaching data. This sensing is performed to identify sensing teaching points. For example, if the robot 10 is a welding robot, this sensing may identify sensing teaching points on the weld line of the workpiece 1 to be welded. If the robot 10 has a touch sensor, the control unit 24 may perform sensing by moving the touch sensor with respect to the rough teaching points. The movement of the touch sensor may be performed by operating the robot body 11. Furthermore, if the robot 10 has a laser sensor or a vision sensor, the control unit 24 may perform sensing using the laser sensor or vision sensor in a predetermined direction with respect to the rough teaching points. The control unit 24 may or may not operate the robot body 11 for sensing using the laser sensor or vision sensor. For example, the control unit 24 may use the sensing results of the sensor based on these rough teaching points to identify the sensing teaching points corresponding to those rough teaching points. This approach allows the operator to teach rough teaching points, which automatically acquires teaching data for the corresponding sensing teaching points. This eliminates the need for the operator to meticulously teach more precise teaching points.

[0031] The control unit 24 may control the robot 10 using sensing teaching points indicated by teaching data. By controlling the robot 10 using these sensing teaching points, the robot 10 will perform the desired operation. For example, if the robot 10 is a welding robot, welding may be performed on the workpiece 1 by controlling the robot 10 using sensing teaching points. Controlling the robot 10 using sensing teaching points may mean, for example, controlling the robot 10's end effector 12 to move to the position of the sensing teaching point. The orientation of the end effector 12 in this case may be, for example, the orientation indicated by the teaching data of the sensing teaching point.

[0032] Furthermore, the control unit 24 may perform a first playback control on the robot 10 that does not operate the end effector 12, and a second playback control that operates the end effector 12. The second playback control may be performed only when the first playback control identifies two or more sensing teaching points corresponding to two or more rough teaching points, and the teaching data for those two or more sensing teaching points is stored in the storage unit 23 by the storage unit 22. In other words, the control unit 24 does not have to execute the second playback control if the teaching data for the sensing teaching points has not been stored in response to the first playback control. By doing so, for example, the end effector 12 can be prevented from operating during playback control using rough teaching points. Such control is particularly effective when the first playback control that does not operate the end effector 12 and the second playback control that operates the end effector 12 are performed in response to instructions from the operator. In this case, for example, the storage unit 23 may store an executed flag indicating whether the accumulation of sensing teaching points corresponding to the first playback control that does not operate the end effector 12 has been completed. The executed flag may be set to "1" if the accumulation of sensing teaching points corresponding to the first playback control that does not operate the end effector 12 has been completed, and to "0" if the accumulation of sensing teaching points has not been completed. The initial value of the executed flag may be "0". The control unit 24 may set the executed flag to "1" after the accumulation of sensing teaching points corresponding to the first playback control that does not operate the end effector 12 has been completed. Furthermore, when the control unit 24 starts the second playback control that operates the end effector 12, if the executed flag is "0", it may not execute the second playback control, and if the executed flag is "1", it may execute the second playback control.

[0033] Next, we will describe the process by which the operation instructions of the end effector 12 are accumulated according to the type of rough teaching instruction. For example, when direct teaching is performed using the button 12a of the end effector 12, the first rough teaching instruction may be received by the receiving unit 21 in response to a short press of the button 12a, and the second rough teaching instruction may be received by the receiving unit 21 in response to a long press of the button 12a. Alternatively, as another example, the first rough teaching instruction may be received in response to a press of the first button of the end effector 12, and the second rough teaching instruction may be received in response to a press of the second button of the end effector 12. The storage unit 22 may, for example, in response to receiving a first rough teaching instruction, store the teaching data for the first rough teaching points corresponding to the angles of each joint of the robot 10 at that time, along with steps 1 to 3 of the next program, as teaching data in the storage unit 23. In response to receiving a second rough teaching instruction, the storage unit 23 may store the teaching data for the second rough teaching points corresponding to the angles of each joint of the robot 10 at that time, along with steps 4 to 6 of the next program, as teaching data in the storage unit 23. 1. LINE 2. SF10(P1) 3. AS 4. LINE 5. SF10(P2) 6.AE

[0034] Here, LINE indicates that the interpolation type is linear interpolation, SF10(P1) and SF10(P2) are instructions to identify a sensing teaching point corresponding to a rough teaching point based on the sensing result with respect to the rough teaching point, and to replace the teaching data of that rough teaching point with the teaching data of the identified sensing teaching point, AS is an instruction to start welding, and AE is an instruction to end welding. Therefore, this program can be considered to include instructions for the operation of the robot 10 and instructions for replacing teaching data. After the teaching data of the rough teaching point has been replaced with the teaching data of the sensing teaching point in accordance with instructions such as SF10(P1), instructions such as SF10(P1) do not need to be executed. In this way, depending on the type of rough teaching instruction, instructions to replace the teaching data of the rough teaching point with the teaching data of the sensing teaching point in accordance with the sensing result with respect to the rough teaching point may be stored in the storage unit 23. Furthermore, in response to such instructions, the storage unit 22 may perform a process to replace the teaching data of the rough teaching points with the teaching data of the sensing teaching points. This eliminates the need to manually input instructions to replace the teaching data of the rough teaching points with the teaching data of the sensing teaching points, thereby improving the convenience of the operator. As an example, if multiple pairs of information identifying the type of rough teaching instruction and a program are stored in the storage unit 23, the storage unit 22 may use these multiple pairs to read the program corresponding to the type of rough teaching instruction received from the storage unit 23 and store the read program in the storage unit 23 as teaching data.

[0035] When the teaching data for the first and second rough teaching points and the teaching data including the program described above are stored in the storage unit 23, and the receiving unit 21 receives an instruction to start a first playback control that does not operate the end effector 12, the control unit 24 may move the end effector 12 to the first rough teaching point using linear interpolation in response to "1. LINE", and, in response to "2. SF10(P1)", identify a first sensing teaching point corresponding to the first rough teaching point using the sensing result from the sensor with respect to the first rough teaching point. The teaching data for this first sensing teaching point may be overwritten by the storage unit 22 and stored in the storage unit 23. Furthermore, the control unit 24 may move the end effector 12 to the second rough teaching point using linear interpolation in response to "4.LINE", and in response to "5.SF10(P2)", it may identify a second sensing teaching point corresponding to the second rough teaching point using the sensing results from the sensor based on that second rough teaching point. The teaching data for this second sensing teaching point may be overwritten by the storage unit 22 with the teaching data for the second rough teaching point and stored in the storage unit 23. After this, the executed flag may be set to "1". Note that in the first playback control, the end effector 12 is not operated, so welding in response to "3.AS" and "6.AE" is not performed.

[0036] Subsequently, when the receiving unit 21 receives an instruction to start a second playback control that operates the end effector 12, the control unit 24 moves the welding torch, which is the end effector 12, to the first sensing teaching point using linear interpolation in accordance with "1. LINE". Note that sensing corresponding to "2. SF10(P1)" and "5. SF10(P2)" is not performed during this playback control because the teaching data for the sensing teaching points has already been accumulated. Also, since the completed flag is set to "1", the control unit 24 starts welding with the welding torch in accordance with "3. AS". After that, the control unit 24 moves the welding torch to the second sensing teaching point using linear interpolation in accordance with "4. LINE". Finally, the control unit 24 ends welding with the welding torch in accordance with "6. AE". In this way, during the second playback control, welding is performed from the first sensing teaching point to the second sensing teaching point. Furthermore, if the receiving unit 21 receives an instruction to start the second playback control that operates the end effector 12, even though teaching data for the sensing teaching points has not been accumulated, the executed flag is set to "0", and therefore the second playback control corresponding to that instruction will not be executed.

[0037] Next, the process of identifying sensing teaching points using sensing results from sensors based on rough teaching points will be explained with reference to Figure 2. For example, as shown in Figure 2, when performing fillet welding on a workpiece 1 composed of a plate material 1a arranged so that its surface direction is horizontal and a plate material 1b arranged so that its surface direction is vertical, and when teaching data for rough teaching points RP1 and RP2 is stored in the storage unit 23 in response to a rough teaching instruction, the control unit 24 may move the end effector 12 from the rough teaching point RP1 indicated by the stored teaching data as shown by a horizontal arrow, and acquire the position of the plate material 1b using a touch sensor. More specifically, the control unit 24 may detect when the consumable electrode at the tip of the welding torch, which is the end effector 12, has come into contact with the plate material 1b, and acquire the position of the plate material 1b. Similarly, the control unit 24 may move the end effector 12 from the rough teaching point RP1 as shown by a vertical arrow, and acquire the position of the plate material 1a using a touch sensor. In this way, the control unit 24 can obtain the distance from the rough teaching point RP1 to the board materials 1a and 1b, and can identify the position of the sensing teaching point SP1, which is a point moved from the rough teaching point RP1 according to the horizontal and vertical arrows. In this way, the sensing teaching point SP1 can be identified using the sensing results of the touch sensor with respect to the rough teaching point RP1. This identification of the sensing teaching point SP1 is performed by the control unit 24, and the teaching data of the sensing teaching point SP1 may be passed to the storage unit 22. The storage unit 22 may then store the teaching data in the storage unit 23. Similarly, the sensing teaching point SP2 may be identified using the sensing results of the touch sensor with respect to the rough teaching point RP2, and the teaching data of the sensing teaching point SP2 may be stored in the storage unit 23.

[0038] The direction of movement of the touch sensor relative to the rough teaching point RP1, i.e., the direction of the arrows shown in Figure 2, may be, for example, a predetermined direction in the local coordinate system of the end effector 12 at the rough teaching point RP1, or a predetermined direction in the world coordinate system. In the former case, the operator inputting the rough teaching instruction can determine the direction of movement of the touch sensor according to the orientation of the end effector 12 at the time of inputting the rough teaching instruction. In Figure 2, it is assumed that the direction of each arrow, which is a predetermined orientation in the local coordinate system of the end effector 12 at the time of inputting the rough teaching instruction, is the normal direction of the plate materials 1a and 1b.

[0039] Next, the operation of the control device 20 will be explained using the flowchart in Figure 3. (Step S101) The reception unit 21 determines whether it has received an operation instruction for the robot 10. If it has received an operation instruction for the robot 10, it proceeds to step S102; otherwise, it proceeds to step S103. This operation instruction may be, for example, an operation instruction for the robot body 11. The operator may, for example, input this operation instruction to set the end effector 12 of the robot 10 to a desired position and orientation.

[0040] (Step S102) The control unit 24 controls the robot 10 according to the operation instructions received in step S101. Then, the process returns to step S101.

[0041] (Step S103) The reception unit 21 determines whether it has received a rough display instruction. If it has received a rough teaching instruction, it proceeds to step S104; otherwise, it proceeds to step S105. The reception unit 21 may also receive, along with the rough teaching instruction, the type of interpolation, the operation instructions for the end effector 12, etc.

[0042] (Step S104) The storage unit 22 stores the teaching data of the rough teaching points in the storage unit 23 according to the angle of each joint of the robot 10. If the type of interpolation or the operation instructions of the end effector 12 are also received, the storage unit 22 may also store that teaching data in the storage unit 23. The storage unit 22 may also store the teaching data of the program in the storage unit 23, which includes the operation instructions of the robot 10 according to the type of rough teaching instruction received, as well as other instructions. Then, the process returns to step S101.

[0043] (Step S105) The control unit 24 determines whether to perform playback control. If playback control is to be performed, the process proceeds to step S106; otherwise, it returns to step S101. The control unit 24 may, for example, determine to perform playback control when it receives a playback control start instruction from the reception unit 21.

[0044] (Step S106) The control unit 24 determines whether to operate the end effector 12 during playback control. If it decides to operate the end effector 12, it proceeds to step S107; otherwise, it proceeds to step S108. The control unit 24 may also decide whether to operate the end effector 12 depending on whether the start instruction for playback control received by the receiving unit 21 specifies that the end effector 12 should be operated.

[0045] (Step S107) The control unit 24 determines whether the storage of teaching data for the sensing teaching points has been completed. If the storage of teaching data for the sensing teaching points has been completed, the process proceeds to step S108; otherwise, the process returns to step S101. The control unit 24 may, for example, determine that the storage of teaching data for the sensing teaching points has been completed if the completed flag is "1", and determine that the storage has not been completed if the completed flag is "0".

[0046] (Step S108) The control unit 24 performs playback control using teaching points indicated by the teaching data stored in the memory unit 23. For example, in the case of the first playback control, the control unit 24 may control the robot 10 using rough teaching points indicated by the teaching data stored in the memory unit 23, identify sensing teaching points using sensing results based on the rough teaching points, and store the teaching data for those sensing teaching points in the memory unit 23. The executed flag may be set to "1" accordingly. Also, for example, in the case of the second or subsequent playback control, the control unit 24 may control the robot 10 using sensing teaching points indicated by the teaching data stored in the memory unit 23. Also, if it is specified in the playback control start instruction to operate the end effector 12, the end effector 12 may be operated accordingly. Then, the process returns to step S101.

[0047] Note that the order of processing in the flowchart in Figure 3 is just one example, and the order of each step may be changed if similar results can be obtained. Also, in the flowchart in Figure 3, processing may be terminated by power off or processing termination interrupt.

[0048] Next, the operation of the robot control system 100 according to this embodiment will be explained using a specific example. In this example, the robot 10 is a collaborative robot, and the case where direct teaching is performed by an operator will be described.

[0049] First, the operator places the workpiece 1 in the designated position, and then manually moves the robot 10 so that the welding torch, which is the end effector 12, is in the position and orientation shown on the left side of Figure 2 (steps S101, S102). Then, when the operator presses button 12a for a short time, a first rough teaching instruction is transmitted from the robot 10 to the control device 20. The receiving unit 21 of the control device 20 receives the first rough teaching instruction and passes it to the storage unit 22 (step S103). Upon receiving the first rough teaching instruction, the storage unit 22 obtains the angles of each joint of the robot 10 at that time from the control unit 24, and stores the next program corresponding to the first rough teaching instruction as teaching data in the storage unit 23, along with the teaching data of the rough teaching point RP1 corresponding to the obtained joint angles (step S104). 1. LINE 2. SF10(P1) 3. AS

[0050] Next, the operator manually moves the robot 10 again so that the welding torch is in the position and orientation shown on the right side of Figure 2 (steps S101, S102). Then, when the operator presses button 12a for a long time, a second rough teaching instruction is transmitted from the robot 10 to the control device 20. The receiving unit 21 of the control device 20 receives the second rough teaching instruction and passes it to the storage unit 22 (step S103). Upon receiving the second rough teaching instruction, the storage unit 22 obtains the angles of each joint of the robot 10 at that time from the control unit 24, and stores the next program corresponding to the second rough teaching instruction as teaching data in the storage unit 23, along with the teaching data of the rough teaching point RP2 corresponding to the obtained joint angles (step S104). 4. LINE 5. SF10(P2) 6.AE

[0051] Subsequently, the operator inputs a command to start playback control with welding turned off by operating the teaching pendant 30. In response, the teaching pendant 30 transmits a command to start playback control with welding turned off to the control device 20. This command to start playback control is received by the receiving unit 21 of the control device 20 and passed to the control unit 24 (step S105). Upon receiving the command to start playback control, the control unit 24 determines whether to operate the welding torch in the playback control (step S106). In this case, welding is turned off and the welding torch is not operated, so the control unit 24 performs playback control (step S108).

[0052] Specifically, the control unit 24 moves the welding torch to the rough teaching point RP1 indicated by the teaching data using linear interpolation, in accordance with "1. LINE" included in the teaching data. At the same time, in accordance with "2. SF10(P1)", it uses the sensing results from the sensor, with the rough teaching point RP1 as the reference, to acquire teaching data for the sensing teaching point SP1 corresponding to the rough teaching point RP1 and passes it to the storage unit 22. The storage unit 22 overwrites the teaching data for the rough teaching point RP1 with the teaching data for the sensing teaching point SP1 and stores it in the storage unit 23. Note that welding is turned off, so no operation corresponding to "3. AS" is performed.

[0053] Next, the control unit 24 moves the welding torch to the rough teaching point RP2 indicated by the teaching data using linear interpolation, according to "4.LINE" included in the teaching data. At the same time, according to "5.SF10(P2)", it uses the sensing results from the sensor with the rough teaching point RP2 as the reference to acquire teaching data for the sensing teaching point SP2 corresponding to the rough teaching point RP2 and passes it to the storage unit 22. The storage unit 22 overwrites the teaching data for the rough teaching point RP2 with the teaching data for the sensing teaching point SP2 and stores it in the storage unit 23. Note that welding is turned off, so no operation according to "6.AE" is performed. After that, the control unit 24 sets the executed flag stored in the storage unit 23 to "1". The control unit 24 may, for example, move the welding torch to its initial position.

[0054] Subsequently, the operator inputs a command to start playback control with welding turned on by operating the teaching pendant 30. In response, the teaching pendant 30 transmits a command to start playback control with welding turned on to the control device 20. This command to start playback control is received by the reception unit 21 of the control device 20 and passed to the control unit 24 (step S105). Upon receiving the command to start playback control, the control unit 24 determines whether to operate the welding torch in playback control (step S106). In this case, welding is turned on and the welding torch will be operated, so the control unit 24 determines whether the accumulation of teaching data for sensing teaching points has been completed (step S107). In this case, the completed flag is "1", and the accumulation has been completed, so the control unit 24 performs playback control (step S108).

[0055] Specifically, the control unit 24 moves the welding torch to the sensing teaching point SP1 indicated by the teaching data using linear interpolation, in accordance with "1. LINE" included in the teaching data. Note that since sensing has already been performed, the operation corresponding to "2. SF10(P1)" is not performed. In addition, the control unit 24 starts welding with the welding torch in accordance with "3. AS".

[0056] Next, the control unit 24 moves the welding torch to the sensing teaching point SP2 indicated by the teaching data using linear interpolation, according to "4.LINE" included in the teaching data. Note that since sensing has already been performed, the operation corresponding to "5.SF10(P2)" is not performed. Also, when the welding torch moves to the sensing teaching point SP2, the control unit 24 terminates the welding with the welding torch according to "6.AE". In this way, welding is performed on the workpiece 1 along the welding line L1 from the sensing teaching point SP1 to the sensing teaching point SP2. Note that the control unit 24 may, for example, move the welding torch to its initial position.

[0057] Subsequently, the operator may replace the welded workpiece 1 with a new, unwelded workpiece 1 in the designated position and operate the teaching pendant 30 to input a start command for playback control, which turns on welding. By repeating this process, welding can be automatically performed on multiple workpieces 1.

[0058] As described above, the control device 20 according to this embodiment can automatically acquire and store teaching data for more accurate sensing teaching points in accordance with the rough teaching points taught by the operator. The control device 20 can then perform playback control using these sensing teaching points, allowing the robot 10 to perform accurate welding and other operations on the workpiece 1. Therefore, the operator does not need to teach more accurate teaching points, reducing the operator's burden. Furthermore, by overwriting the teaching data for rough teaching points with the teaching data for sensing teaching points, it is possible to avoid situations where the robot operates according to the teaching data for rough teaching points even though the teaching data for sensing teaching points has been stored. Additionally, by performing a first playback control that does not operate the end effector 12, and then performing a second playback control that operates the end effector 12 only when the teaching data for sensing teaching points has been stored, it is possible to avoid situations where welding is performed according to rough teaching points, for example.

[0059] In this embodiment, the case where the operator can specify whether or not to operate the end effector 12 during playback control has been mainly described, but this is not required. The control device 20 may, during the first playback control, not operate the end effector 12 and store teaching data for sensing teaching points, and during the second and subsequent playback controls, operate the end effector 12 and control the robot 10 using the sensing teaching points indicated by the teaching data. In this case, for example, during the first playback control, the control unit 24 may, without operating the end effector 12, perform sensing by the sensor based on each of the two or more rough teaching points indicated by the teaching data stored in the storage unit 23. Using the sensing results of the sensor during this first playback control, the control unit 24 may identify two or more sensing teaching points corresponding to each of the two or more rough teaching points, and the storage unit 22 may store the teaching data for those two or more sensing teaching points in the storage unit 23. Furthermore, the control unit 24 may, for example, during the second and subsequent playback controls, control the robot 10 using two or more sensing teaching points indicated by the teaching data stored in the memory unit 23 during the first playback control, and also operate the end effector 12. Thus, for example, the first playback control may be performed to acquire and store teaching data for two or more sensing teaching points corresponding to two or more rough display points indicated by the teaching data stored in the memory unit 23, and the second and subsequent playback controls may be performed to operate the robot 10 using two or more sensing teaching points indicated by the teaching data stored in the memory unit 23. Through the second and subsequent playback controls, the robot 10 may perform the desired operation, such as welding. In this case, for example, the operator does not need to specify whether or not to operate the end effector 12 during playback control.

[0060] In this case, if the teaching data for the first and second rough teaching points and the teaching data including the program described above are stored in the storage unit 23, during the first playback control, the control unit 24 may move the end effector 12 to the first rough teaching point using linear interpolation in response to "1. LINE", and, in response to "2. SF10(P1)", acquire teaching data for the first sensing teaching point corresponding to the first rough teaching point using the sensing result from the sensor based on the first rough teaching point. This teaching data for the first sensing teaching point may be overwritten by the storage unit 22 and stored in the storage unit 23. Furthermore, the control unit 24 may, in response to "4.LINE", move the end effector 12 to the second rough teaching point using linear interpolation, and, in response to "5.SF10(P2)", acquire teaching data for the second sensing teaching point corresponding to the second rough teaching point using the sensing results from the sensor based on the second rough teaching point. This teaching data for the second sensing teaching point may be overwritten by the storage unit 22 over the teaching data for the second rough teaching point and stored in the storage unit 23. Note that in this first playback control, the welding start and end operations corresponding to "3.AS" and "6.AE" are not performed.

[0061] Subsequently, during the second and subsequent playback controls, the control unit 24 moves the welding torch, which is the end effector 12, to the first sensing teaching point using linear interpolation in accordance with "1. LINE". Note that during the second and subsequent playback controls, the sensing and teaching data replacements corresponding to "2. SF10 (P1)" and "5. SF10 (P2)" are not performed. The control unit 24 also starts welding with the welding torch in accordance with "3. AS". Subsequently, the control unit 24 moves the welding torch to the second sensing teaching point using linear interpolation in accordance with "4. LINE". The control unit 24 also ends welding with the welding torch in accordance with "6. AE". In this way, during the second and subsequent playback controls, welding is performed from the first sensing teaching point to the second sensing teaching point.

[0062] Furthermore, in this embodiment, the case where sensing is performed based on each rough teaching point during the first playback control, and teaching data for the sensing teaching point corresponding to each rough teaching point is acquired and stored, that is, the case where the end effector 12 is not operated during the first playback control, has been mainly described, but this is not required. The end effector 12 may be operated from the time of the first playback control. In this case, the control unit 24 may acquire a sensing teaching point for only one rough teaching point, and the storage unit 22 may store the teaching data of the sensing teaching point for only that one rough teaching point in the storage unit 23. The one rough teaching point may be a rough teaching point corresponding to the start point of an operation by the end effector 12, such as welding. For example, as shown in Figure 4, when fillet welding is performed on the workpiece 1, teaching data for the sensing teaching point SP1 corresponding to the rough teaching point RP1 may be acquired and stored only for the rough teaching point RP1.

[0063] Furthermore, the control unit 24 may control the robot 10 using one sensing teaching point, rough teaching points other than the rough teaching point corresponding to that sensing teaching point, and sensing results from the sensors of the robot 10. The sensing results from the sensors may be used, for example, to identify the movement path of the end effector 12. For example, the sensing results may be used to identify a welding line or a work line, and the end effector 12 may move along the identified welding line or work line. This movement control of the end effector 12 using the sensing results may be, for example, a tracing control of a welding line or work line using the sensing results. In this embodiment, the case in which the control of the robot 10 using the sensing results from the sensors of the robot 10 is a tracing control will be mainly described. For example, when the control unit 24 moves the end effector 12 from one sensing teaching point to a rough teaching point, it may perform tracing control using the sensing results from the sensors of the robot 10.

[0064] The sensors of the robot 10 used in this control may be the same as, for example, the sensors used to identify sensing teaching points, or they may be different. The sensors used in this control may be, for example, laser sensors, vision sensors, or arc sensors. If the sensor is an arc sensor, for example, the position of the weld line in weaving welding may be identified using the sensing results of the arc sensor. If the touch sensor of the robot 10 is used to acquire sensing teaching points, the robot 10 may have a sensor other than the touch sensor for this control.

[0065] In this case, upon receiving the first rough teaching instruction, items 1 to 5 of the next program may be stored in the storage unit 23, and upon receiving the second rough teaching instruction, items 6 to 9 of the next program may be stored in the storage unit 23. 1. LINE 2. SF10(P1) 3. AS 4.WS 5.ST 6. LINE 7.ET 8.WE 9.AE

[0066] Here, WS is an instruction to start weaving, and WE is an instruction to end weaving. ST is an instruction to start imitation control using the sensing result, and ET is an instruction to end that imitation control. Note that SF10(P1) here includes, in addition to the instruction of SF10(P1) described above, an instruction to move the end effector 12 according to the teaching data of the replaced sensing teaching point. In the same manner as described above in this embodiment, if items 1 to 5 of the above program are stored as teaching data along with the teaching data of the rough teaching point RP1, and items 6 to 9 of the above program are stored as teaching data along with the teaching data of the rough teaching point RP2, then playback control as follows may be performed according to that teaching data.

[0067] First, the control unit 24 moves the welding torch to the rough teaching point RP1 and, using the sensing result from the touch sensor with respect to the rough teaching point RP1, acquires teaching data for the sensing teaching point SP1 corresponding to the rough teaching point RP1 and passes it to the storage unit 22. The storage unit 22 overwrites the teaching data for the rough teaching point RP1 with the teaching data for the sensing teaching point SP1 and stores it in the storage unit 23. The control unit 24 also moves the welding torch to the sensing teaching point SP1 indicated by the overwritten teaching data and starts welding and weaving with the welding torch, and starts sensing using the arc sensor and tracing control using the sensing result. The control unit 24 also moves the welding torch to the rough teaching point RP2 using linear interpolation. If tracing control based on the sensing result from the arc sensor is not performed, the welding torch will move along the line L2, but here, the welding torch is moved by tracing control using the sensing result from the arc sensor. As a result, the control unit 24 controls the welding torch to move along the welding line L1 at the joint of the plates 1a and 1b. Once welding along the welding line L1 is complete, the tracing control, weaving, and welding are terminated. The welding torch may then be moved back to its initial position.

[0068] In this case, welding with a welding torch, i.e., operation by the end effector 12, can be performed from the first playback control, and the period from teaching to playback accompanied by operation by the end effector 12 can be shortened.

[0069] This document primarily describes the case where tracing control is performed using sensing results from an arc sensor, but tracing control may also be performed using sensing results from other sensors. For example, the position of the welding line L1 may be determined using sensing results from a laser sensor or a vision sensor, and the welding torch may be moved along that welding line L1. Note that tracing control using laser sensors and vision sensors is already well known in robot tracing control, and a detailed explanation will be omitted. Note that in Figure 4, if the angle between the straight line L1 and the straight line L2 is large, it becomes difficult to perform proper tracing control. Therefore, it is preferable that the angle be small. As an example, the angle may be 10 degrees or less.

[0070] Furthermore, although this embodiment mainly describes the case where robot 10 is a welding robot, particularly an arc welding robot using consumable electrodes, as mentioned above, robot 10 may be a transport robot or the like other than a welding robot. If robot 10 is a transport robot, for example, the position of the transport object to be grasped may be identified by sensing based on a rough teaching point, and the transport object may be moved from a first position to a second position. In this case, as an example, the transport object may be positioned at both the first and second positions when sensing based on a rough teaching point.

[0071] Furthermore, although this embodiment mainly describes the case where the program includes an instruction to replace the teaching data of rough teaching points with the teaching data of sensing teaching points, this is not required. For example, if the teaching data of rough teaching points is stored in the storage unit 23, the control device 20 may automatically replace the teaching data of those rough teaching points with the teaching data of sensing teaching points. Also, the storage unit 22 does not have to overwrite the teaching data of rough teaching points with the teaching data of the sensing teaching points corresponding to those rough teaching points, as an example. In this case, both the teaching data of rough teaching points and the teaching data of the sensing teaching points corresponding to those rough teaching points may be stored in the storage unit 23. And, if both the teaching data of rough teaching points and the teaching data of the sensing teaching points corresponding to those rough teaching points are stored in the storage unit 23, the control unit 24 may operate the robot 10 using the sensing teaching points indicated by the teaching data during playback control.

[0072] Furthermore, in the above embodiment, each process or function may be implemented by centralized processing by a single device or a single system, or by distributed processing by multiple devices or multiple systems.

[0073] Furthermore, in the above embodiment, each component may be configured with dedicated hardware, or, if it is a component that can be implemented by software, it may be implemented by executing a program. For example, each component can be implemented by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. During execution, the program execution unit may execute the program while accessing the storage unit or recording medium. The program may also be executed by being downloaded from a server or the like, or by being executed by reading a program recorded on a predetermined recording medium (e.g., an optical disk, magnetic disk, semiconductor memory, etc.). Furthermore, this program may be used as a program that constitutes a program product. Furthermore, the computer executing the program may be one or multiple computers. That is, centralized processing may be performed, or distributed processing may be performed.

[0074] Furthermore, the embodiments described above are illustrative examples for specifically carrying out the present invention and do not limit the technical scope of the present invention. The technical scope of the present invention is indicated by the claims rather than by the description of the embodiments, and modifications within the literal scope and equivalent meaning of the claims are intended. [Explanation of Symbols]

[0075] 10 Robot, 20 Control device, 21 Reception unit, 22 Storage unit, 23 Memory unit, 24 Control unit, 100 Robot control system

Claims

1. A robot control system comprising a robot having multiple joints and a control device for controlling the robot, The robot has a sensor for sensing the object to be detected. The control device is The reception area accepts rough teaching instructions regarding the rough teaching points, which are temporary teaching points. A storage unit that stores teaching data for rough teaching points according to the angle of each joint of the robot when a rough teaching instruction is received, The system includes a control unit that causes the sensor to perform sensing based on a rough teaching point, and uses the sensing results of the sensor to identify a sensing teaching point that corresponds to the rough teaching point and is a teaching point corresponding to the sensing result, The storage unit stores the teaching data of the sensing teaching points. The control unit is a robot control system that controls the robot using sensing teaching points.

2. The robot is an arc welding robot, The robot control system according to claim 1, wherein the sensor is a touch sensor.

3. The reception unit receives multiple types of rough teaching instructions. The robot control system according to claim 1, wherein the storage unit stores robot operation instructions corresponding to the type of rough teaching instruction received by the reception unit, together with teaching data of rough teaching points.

4. The robot control system according to any one of claims 1 to 3, wherein the storage unit overwrites the teaching data of a rough teaching point with the teaching data of a sensing teaching point corresponding to the rough teaching point.

5. The robot has an end effector, The storage unit stores teaching data for two or more rough teaching points. The robot control system according to any one of claims 1 to 3, wherein the control unit, during the first playback control, performs sensing by the sensor based on each of the two or more rough teaching points without operating the end effector, and during the second and subsequent playback controls, controls the robot using the two or more sensing teaching points and operates the end effector.

6. The robot has an end effector, The storage unit stores teaching data for two or more rough teaching points. The control unit performs a first playback control that does not operate the end effector, and a second playback control that operates the end effector. The robot control system according to any one of claims 1 to 3, wherein the first playback control identifies two or more sensing teaching points corresponding to two or more rough teaching points, and the second playback control is performed only when teaching data for the two or more sensing teaching points has been accumulated.

7. The storage unit stores the teaching data of the sensing teaching point for only one rough teaching point. The robot control system according to any one of claims 1 to 3, wherein the control unit controls the robot using one sensing teaching point, rough teaching points other than the rough teaching point corresponding to the sensing teaching point, and sensing results from sensors on the robot.

Citation Information

Patent Citations

  • Control method for output of arc working power supply device

    JP2001259836A