Robot control system

By using sensors in the robot control system to detect coarse teaching points and determine sensing teaching points, the problem of heavy teaching burden on operators is solved, and more accurate robot operation is achieved.

CN121848413APending Publication Date: 2026-04-14DAIHEN CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-09
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In robot control systems using the teach-and-playback method, existing technologies require operators to perform rigorous teaching, resulting in a heavy workload and an inability to effectively handle workpiece position deviations.

Method used

The robot control system uses sensors to detect coarse teaching points, determines the actual teaching points based on the sensing results, and accumulates the sensing teaching data, reducing the operator's need for the correct teaching points.

Benefits of technology

By automatically sensing the teaching point, the teaching burden on the operator is reduced, and the accuracy of robot control is improved, enabling the robot to perform tasks more correctly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121848413A_ABST
    Figure CN121848413A_ABST
Patent Text Reader

Abstract

The invention provides a robot control system capable of reducing the burden of an operator. A control device (20) is provided with: a receiving unit (21) that receives a rough teaching instruction relating to a rough teaching point, which is a temporary teaching point; an accumulation unit (22) that accumulates teaching data of the coarse teaching point in response to reception of the coarse teaching instruction; and a control unit (24) that specifies a sensing teaching point corresponding to the rough teaching point using a sensing result obtained by causing a sensor of the robot (10) to perform sensing using the rough teaching point as a reference. The storage unit (22) stores teaching data for sensing teaching points. The control unit (24) controls the robot (10) using the sensed teaching point. As a result, it is possible to reduce the burden on the operator during teaching, and to operate the robot (10) with higher accuracy using the sensed teaching point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a robot control system using a teach-and-reproduce method. Background Technology

[0002] In conventional teach-and-playback robot control systems, the robot is taught to the correct position for tasks such as welding, and during playback control, the robot's end effector moves to that taught position. Furthermore, even if teaching and playback are performed correctly, the robot cannot properly handle workpiece position deviations. Therefore, contact sensors in arc welding robots are used to detect workpiece position deviations. For example, see Patent Document 1 for robots equipped with contact sensors.

[0003] Prior art literature

[0004] Patent documents

[0005] Patent Document 1: JP Japanese Patent Application Publication No. 2001-259836

[0006] In robot control systems that rely on teach-and-reproduce, more careful operation is required when teaching the correct position, which can lead to a heavy workload for the operator. Summary of the Invention

[0007] The present invention was made to solve the above-mentioned problems, and its purpose is to provide a robot control system that can reduce the burden on the operator during teaching.

[0008] To achieve the above objectives, a robot control system based on one aspect of the present invention includes: a robot having multiple joints; and a control device for controlling the robot. The robot has sensors for sensing and detecting objects. The control device includes: a receiving unit for receiving a coarse teaching instruction related to a coarse teaching point as a temporary teaching point; an accumulation unit for accumulating teaching data of the coarse teaching point based on the angles of each joint of the robot when the coarse teaching instruction is received; and a control unit for causing the sensors to perform sensing based on the coarse teaching point, determining a sensing teaching point using the sensing results of the sensors, wherein the sensing teaching point is a teaching point corresponding to the coarse teaching point and a teaching point corresponding to the sensing results, the accumulation unit accumulates the teaching data of the sensing teaching point, and the control unit controls the robot using the sensing teaching point.

[0009] Invention Effects

[0010] According to one aspect of the robot control system of the present invention, teaching can be performed on a coarse teaching point that serves as a temporary teaching point, thus reducing the operator's workload. Furthermore, by sensing using sensors based on this coarse teaching point, teaching data for a sensed teaching point that serves as a correct teaching point can be accumulated. Moreover, by using this sensed teaching point, the robot can be controlled more accurately. Attached Figure Description

[0011] Figure 1 This is a schematic diagram illustrating the structure of a robot control system based on an embodiment of the present invention.

[0012] Figure 2 This diagram illustrates an example of a coarse teaching point and a sensing teaching point in this embodiment.

[0013] Figure 3 This is a flowchart illustrating the operation of the control device based on this implementation.

[0014] Figure 4 This diagram illustrates an example of a coarse teaching point and a sensing teaching point in this embodiment. Detailed Implementation

[0015] Hereinafter, an embodiment of the robot control system based on the present invention will be described. Furthermore, in the following embodiments, components and steps marked with the same reference numerals are the same or equivalent, and repeated descriptions are sometimes omitted. The robot control system based on this embodiment uses the results of sensing based on a coarse teaching point as a temporary teaching point to obtain and accumulate teaching data for the sensing teaching point, and uses this sensing teaching point to control the robot.

[0016] Figure 1 This is a schematic diagram showing the structure of the robot control system 100 based on this embodiment. The robot control system 100 based on this embodiment includes a robot 10 with multiple joints and a control device 20 for controlling the robot 10; a teach pendant 30 may also be included as needed. Furthermore, if the robot 10 is a welding robot, the robot control system 100 may also include a welding power source, a welding wire feed device, etc., as needed. The robot 10 has a robot body 11 and an end effector 12 mounted on the front end of the robot body 11.

[0017] Robot 10 may also have multiple arms connected by motor-driven joints. Robot 10 may be a vertical jointed robot, a horizontal jointed robot, or other types of robots. Furthermore, robot 10 may be a handling robot, a welding robot, an assembly robot, a painting robot, or a robot for other purposes. The end effector 12 may correspond to the application of robot 10. For example, if robot 10 is a welding robot, end effector 12 may be a welding torch. Additionally, if robot 10 is a handling robot or an assembly robot, end effector 12 may be a gripper that grasps and holds objects being handled or assembled.

[0018] Additionally, robot 10 has sensors for sensing and detecting objects. These sensors can be, for example, contact sensors, laser sensors, vision sensors (i.e., image sensors), or other types of sensors. The object detected based on these sensors can be, for example, the workpiece to be welded if robot 10 is a welding robot, the object to be transported if robot 10 is a handling robot, or the object to be assembled if robot 10 is an assembly robot.

[0019] Additionally, robot 10 may be a collaborative robot, or it may not be a collaborative robot. If robot 10 is a collaborative robot, an input interface for direct teaching may be provided on the end effector 12 of robot 10. The input interface for direct teaching may be, for example, a... Figure 1 Button 12a is shown.

[0020] Teaching robot 10 can be performed, for example, by direct teaching if robot 10 is a collaborative robot. Alternatively, robot 10 can also be taught using teach pendant 30.

[0021] In this embodiment, the following situation is mainly described: the robot 10 is a collaborative robot and an arc welding robot, the end effector 12 is a welding torch, and the sensor of the robot 10 is a contact sensor that senses the position of the workpiece 1, which is the object to be detected, by bringing the consumable electrode into contact with the object to be detected.

[0022] Control device 20 controls robot 10, such as Figure 1 As shown, it includes a receiving unit 21, an accumulation unit 22, a storage unit 23, and a control unit 24.

[0023] The receiving unit 21 receives a coarse teaching instruction related to a coarse teaching point that serves as a temporary teaching point. The coarse teaching point is not the correct teaching point used for reproducing control of the robot 10 according to its purpose, but rather a teaching point that serves as a reference for sensing the correct teaching point using the sensors of the robot 10. In the case of welding by the robot 10, the coarse teaching point may not be a point on the welding line of the workpiece 1, but rather a point located away from the workpiece 1. Furthermore, the coarse teaching point is preferably a point near the correct teaching point corresponding to that coarse teaching point, i.e., a point near the sensing teaching point. The coarse teaching instruction may also indicate the accumulation of teaching data for the coarse teaching point.

[0024] Coarse teaching instructions can be input, for example, through direct teaching or via the teach pendant 30. That is, the receiving unit 21 can receive coarse teaching instructions, for example, through direct teaching of the robot 10, or from the teach pendant 30. In the former case, for example, the receiving unit 21 can also receive coarse teaching instructions based on the pressing of the button 12a of the end effector 12. As will be described later, since the coarse teaching point and the sensing teaching point are in a given relationship, the operator preferably inputs a coarse teaching instruction related to the coarse teaching point to the control device 20 so that the sensing teaching point becomes the desired point.

[0025] The receiving unit 21 can, for example, accept multiple types of rough teaching instructions. As an example, the receiving unit 21 can also accept a first rough teaching instruction and a second rough teaching instruction. The number of such types is not limited. The number of types of rough teaching instructions can be, for example, two or more.

[0026] The receiving unit 21 can also accept instructions other than coarse teaching instructions. For example, the receiving unit 21 can also accept motion instructions from the robot 10. These motion instructions could be, for example, motion instructions from the robot body 11, and can be accepted during operator teaching. As another example, the receiving unit 21 can also accept instructions for the action of the end effector 12 corresponding to the coarse teaching point, such as the start of welding or the end of welding, along with the coarse teaching instructions. Furthermore, the receiving unit 21 can also accept, for example, start instructions for reproducing control. In the start instruction for reproducing action, the presence or absence of the end effector 12's action can be specified, for example, based on the presence or absence of welding based on the welding torch.

[0027] Furthermore, the receiving unit 21 may include a device for receiving (e.g., a communication device), or it may not. Additionally, the receiving unit 21 may be implemented in hardware or in software such as a driver for a given device.

[0028] The accumulation unit 22 accumulates teaching data for coarse teaching points in the storage unit 23 based on the angles of each joint of the robot 10 when it receives a coarse teaching instruction from the receiving unit 21. The teaching data for coarse teaching points can be, for example, information indicating the position and posture of the end effector 12 of the robot 10 at the time the coarse teaching instruction is received, or information indicating the angles of each joint of the robot 10 at that time. Both pieces of information can be transformed through the forward or inverse kinematics of the robot 10, and are therefore essentially the same. The accumulation of teaching data for sensing teaching points, described later, is similar. For example, the accumulation unit 22 can also obtain the angles of each joint of the robot 10 from the control unit 24 when it receives a coarse teaching instruction from the receiving unit 21, and accumulate teaching data indicating the angles of each joint, or teaching data indicating the position and posture of the end effector 12 obtained by transforming the angles of the joints through forward kinematics, in the storage unit 23.

[0029] The accumulation unit 22 can also accumulate teaching data for two or more coarse teaching points in the storage unit 23. For example, if the receiving unit 21 receives two or more coarse teaching instructions, the accumulation unit 22 can also accumulate teaching data for two or more coarse teaching points in the storage unit 23 based on the two or more receipts of the coarse teaching instructions. In this case, the accumulation unit 22 preferably accumulates two or more teaching data in a sequence that is known to the accumulation.

[0030] The storage unit 22 can also store the motion instructions of the end effector 12, the types of interpolation such as linear interpolation, joint interpolation, and circular interpolation, along with the teaching data of the coarse teaching point, based on the information received by the receiving unit 21. For example, if the end effector 12 is a welding torch, the motion instructions of the end effector 12 can be instructions for the start or end of welding; if the end effector 12 is a gripper, it can be instructions for gripping the object or instructions for releasing the gripper from gripping the object.

[0031] Furthermore, when the receiving unit 21 receives multiple types of coarse teaching instructions, the storage unit 22 can also store the robot 10's motion instruction corresponding to the type of the received coarse teaching instruction, along with the teaching data of the coarse teaching point, in the storage unit 23. The robot 10's motion instruction can be, for example, the motion instruction of the robot 10's end effector 12, a motion instruction related to the robot 10's sensors (i.e., a sensing instruction), or other motion instructions related to the robot 10. As an example, if the storage unit 23 stores information identifying the type of coarse teaching instruction and multiple sets of robot 10's motion instructions, the storage unit 22 can also determine the robot 10's motion instruction corresponding to the type of the received coarse teaching instruction using these multiple sets, and store the teaching data of the determined motion instruction in the storage unit 23. In this way, the operator can automatically set the robot 10's motion instruction corresponding to the type by selecting its type when inputting the coarse teaching instruction.

[0032] The accumulation unit 22 accumulates the teaching data of the sensing teaching point corresponding to the coarse teaching point in the storage unit 23. The sensing teaching point is the teaching point corresponding to the coarse teaching point, and is the teaching point corresponding to the sensing result. As described later, the sensing result may also be the result of sensing based on the coarse teaching point using the sensors of the robot 10. That is, the sensing teaching point is determined using the sensing result based on the coarse teaching point. The sensing teaching point is determined by the control unit 24, as described later. The sensing teaching point may, for example, be information representing the position of the end effector 12 of the robot 10. In this case, the posture of the end effector 12 represented by the teaching data of the sensing teaching point may, for example, be the same as the posture of the end effector 12 represented by the teaching data of the coarse teaching point corresponding to the sensing teaching point. In addition, as an example, the accumulation unit 22 may also overwrite the teaching data of the coarse teaching point stored in the storage unit 23 with the teaching data of the sensing teaching point corresponding to the coarse teaching point.

[0033] The sensing teach point is the correct teach point used when reproducing control of the robot 10 according to its purpose. That is, the sensing teach point is equivalent to the teach point taught by the operator in a conventional robot control system. In the case of welding by the robot 10, the sensing teach point may also be, for example, a teach point on the welding line of the workpiece 1.

[0034] The storage unit 23 stores the information accumulated by the storage unit 22. The storage unit 23 may also store, for example, coarse teaching points, sensing teaching points, operation instructions of the end effector 12, interpolation types, and other teaching data. Additionally, other information may be stored in the storage unit 23. The storage unit 23 is preferably implemented using a non-volatile recording medium, but it can also be implemented using a volatile recording medium. The recording medium may be, for example, a semiconductor memory, a magnetic disk, etc.

[0035] The control unit 24 controls the robot 10. For example, the control unit 24 can control each joint of the robot 10, the end effector 12 of the robot 10, the sensors of the robot 10, and perform other controls related to the robot 10. The control of the robot 10 can be based on motion instructions received by the receiving unit 21, or on coarse teaching points, sensed teaching points, motion instructions of the end effector 12, sensor-based sensing instructions, etc., represented by teaching data stored in the storage unit 23.

[0036] The control unit 24 can also cause the sensors on the robot 10 to perform sensing based on a coarse teaching point represented by teaching data. This sensing is performed to determine the sensing teaching point. Therefore, for example, if the robot 10 is a welding robot, the sensing teaching point on the welding line of the workpiece 1 to be welded can also be determined by this sensing. If the robot 10 has a contact sensor, the control unit 24 can also perform sensing by moving the contact sensor based on the coarse teaching point. The movement of the contact sensor can also be performed by moving the robot body 11. In addition, if the robot 10 has a laser sensor or a vision sensor, the control unit 24 can also perform sensing using the laser sensor or the vision sensor in a given direction based on the coarse teaching point. The control unit 24 can move the robot body 11 to perform sensing using the laser sensor or the vision sensor, or it can choose not to. For example, the control unit 24 can also use the sensing results of the sensor based on the coarse teaching point to determine the sensing teaching point corresponding to the coarse teaching point. Therefore, it has the following advantages: by having the operator teach a coarse teaching point, the teaching data of the sensing teaching point corresponding to the coarse teaching point is automatically obtained, and the operator does not need to strictly teach a more accurate teaching point.

[0037] The control unit 24 can also control the robot 10 using a sensor teaching point represented by teaching data. By controlling the robot 10 using this sensor teaching point, the robot 10 performs a predetermined action. For example, if the robot 10 is a welding robot, it can be controlled using the sensor teaching point to weld the workpiece 1. Controlling the robot 10 using a sensor teaching point can also mean controlling the end effector 12 of the robot 10 to move to the position of the sensor teaching point. Furthermore, the posture of the end effector 12 at this time can be, for example, the posture represented by the teaching data of the sensor teaching point.

[0038] Furthermore, the control unit 24 can also perform a first reproduction control that prevents the end effector 12 from operating and a second reproduction control that operates the end effector 12 on the robot 10. Moreover, the second reproduction control can be performed only when the first reproduction control has determined two or more sensor teaching points corresponding to two or more coarse teaching points, and the teaching data of these two or more sensor teaching points is accumulated in the storage unit 23 via the accumulation unit 22. That is, the control unit 24 can also not perform the second reproduction control if the teaching data of the sensor teaching points has not been accumulated according to the first reproduction control. Thus, for example, when using reproduction control of coarse teaching points, the end effector 12 can be prevented from operating. Such control is particularly effective when performing a first reproduction control that prevents the end effector 12 from operating and a second reproduction control that operates the end effector 12 according to instructions from the operator. In this case, for example, an execution completion flag indicating whether the accumulation of the sensor teaching points corresponding to the first reproduction control that prevents the end effector 12 from operating can be stored in the storage unit 23. The completion flag can be set to "1" if the accumulation of the sensor teaching points corresponding to the first reproduction control that prevents the end effector 12 from operating has been completed, and to "0" if the accumulation of the sensor teaching points has not been completed. The initial value of the completion flag can also be "0". Furthermore, the control unit 24 can, for example, set the completion flag to "1" after the accumulation of the sensor teaching points corresponding to the first reproduction control that prevents the end effector 12 from operating. Alternatively, when the second reproduction control that starts operating the end effector 12 begins, the control unit 24 can either not execute the second reproduction control if the completion flag is "0", or execute the second reproduction control if the completion flag is "1".

[0039] Next, the process of accumulating motion instructions for the end effector 12 according to the type of coarse teaching instruction will be explained. For example, when directly teaching using the button 12a of the end effector 12, a short press of the button 12a may receive a first coarse teaching instruction from the receiving unit 21, and a long press of the button 12a may receive a second coarse teaching instruction from the receiving unit 21. Alternatively, as another example, a first coarse teaching instruction may be received based on pressing the first button of the end effector 12, and a second coarse teaching instruction may be received based on pressing the second button of the end effector 12. Furthermore, the storage unit 22 may, for example, store the teaching data of the first coarse teaching point corresponding to the angle of each joint of the robot 10 at that time point and the subsequent program steps 1 to 3 as teaching data in the storage unit 23 according to the receipt of the first coarse teaching instruction, and store the teaching data of the second coarse teaching point corresponding to the angle of each joint of the robot 10 at that time point and the subsequent program steps 4 to 6 as teaching data in the storage unit 23 according to the receipt of the second coarse teaching instruction.

[0040] 1. LINE

[0041] 2.SF10 (P1)

[0042] 3.AS

[0043] 4. LINE

[0044] 5. SF10 (P2)

[0045] 6.AE

[0046] Here, LINE indicates that the interpolation type is linear interpolation, SF10(P1) and SF10(P2) are instructions to determine the sensing teaching point corresponding to the coarse teaching point based on the sensing results based on the coarse teaching point, and to replace the teaching data of the coarse teaching point with the teaching data of the determined sensing teaching point. AS is the action instruction to start welding, and AE is the action instruction to end welding. Therefore, this program can also be considered to include the action instructions of the robot 10 and the instructions to replace the teaching data. In addition, after replacing the teaching data of the coarse teaching point with the teaching data of the sensing teaching point according to the instructions of SF10(P1), etc., the instructions of SF10(P1) etc. may not be executed. In this way, the instructions to replace the teaching data of the coarse teaching point with the teaching data of the sensing teaching point based on the sensing results based on the coarse teaching point can be stored in the storage unit 23 according to the type of coarse teaching instruction. In addition, the processing of replacing the teaching data of the coarse teaching point with the teaching data of the sensing teaching point can also be performed by the storage unit 22 according to the instructions. Therefore, it is not necessary to manually input instructions to replace the teaching data of the coarse teaching point with the teaching data of the sensing teaching point, thus improving the convenience for the operator. In addition, as an example, if the storage unit 23 stores multiple sets of information and programs that identify the types of coarse teaching instructions, the storage unit 22 can also read the program corresponding to the type of the received coarse teaching instruction from the storage unit 23 by using these multiple sets, and store the read program as teaching data in the storage unit 23.

[0047] When the teaching data of the first and second coarse teaching points, and the teaching data containing the above-described procedure, are stored in the storage unit 23, and the receiving unit 21 receives an instruction to start the first reproduction control without actuating the end effector 12, the control unit 24 can also move the end effector 12 to the first coarse teaching point by linear interpolation according to "1. LINE", and determine the first sensing teaching point corresponding to the first coarse teaching point using the sensing results of the sensor based on the first coarse teaching point according to "2. SF10 (P1)". The teaching data of the first sensing teaching point can also be overwritten by the storage unit 22 onto the teaching data of the first coarse teaching point and stored in the storage unit 23. In addition, the control unit 24 can also move the end effector 12 to the second coarse teaching point by linear interpolation according to "4. LINE", and determine the second sensing teaching point corresponding to the second coarse teaching point using the sensing results of the sensor based on the second coarse teaching point according to "5. SF10 (P2)". The teaching data of the second sensing teaching point can also be overwritten by the accumulation unit 22 onto the teaching data of the second coarse teaching point and stored in the storage unit 23. Additionally, the execution completion flag can be set to "1" later. Furthermore, in the first reproduction control, since the end effector 12 is not activated, the welding corresponding to "3.AS" and "6.AE" is not performed.

[0048] Subsequently, upon receiving an instruction from the receiving unit 21 to begin the second reproduction control that would activate the end effector 12, the control unit 24 moves the welding torch, which is the end effector 12, to the first sensing teaching point via linear interpolation according to "1.LINE". Furthermore, during this reproduction control, sensing corresponding to "2.SF10(P1)" and "5.SF10(P2)" is not performed. This is because teaching data for the sensing teaching point has already been accumulated. Additionally, since the execution completion flag is set to "1", the control unit 24 initiates welding based on the welding torch according to "3.AS". Then, the control unit 24 moves the welding torch to the second sensing teaching point via linear interpolation according to "4.LINE". Finally, the control unit 24 terminates welding based on the welding torch according to "6.AE". Thus, during the second reproduction control, welding is performed from the first sensing teaching point to the second sensing teaching point. Furthermore, even if the receiving unit 21 receives an instruction to start the second reproduction control that causes the end effector 12 to operate, the second reproduction control corresponding to the instruction is not executed because the execution completion flag is set to "0".

[0049] Next, refer to Figure 2 The process of determining the sensing teaching point using the sensing results of a sensor based on a coarse teaching point is explained. For example, such as... Figure 2As shown, when performing fillet welding on a workpiece 1 composed of a plate 1a arranged horizontally and a plate 1b arranged vertically, and accumulating teaching data of coarse teaching points RP1 and RP2 in the storage unit 23 according to coarse teaching instructions, the control unit 24 can also move the end effector 12 from the coarse teaching point RP1 represented by the accumulated teaching data as indicated by the horizontal arrow, and obtain the position of the plate 1b by the contact sensor. More specifically, the control unit 24 can also detect the contact between the consumable electrode at the tip of the welding torch of the end effector 12 and the plate 1b, and obtain the position of the plate 1b. Similarly, the control unit 24 can also move the end effector 12 from the coarse teaching point RP1 as indicated by the vertical arrow, and obtain the position of the plate 1a by the contact sensor. In this way, the control unit 24 can obtain the distance from the coarse teaching point RP1 to the plates 1a and 1b, and can determine the position of the sensing teaching point SP1, which is the point that moves from the coarse teaching point RP1 according to the horizontal and vertical arrows. Thus, the sensing teaching point SP1 can be determined using the sensing results of the contact sensor based on the coarse teaching point RP1. The determination of the sensing teaching point SP1 can also be performed by the control unit 24, and the teaching data of the sensing teaching point SP1 is transmitted to the storage unit 22. Furthermore, the storage unit 22 can also store the teaching data in the storage unit 23. Similarly, the sensing teaching point SP2 can also be determined using the sensing results of the contact sensor based on the coarse teaching point RP2, and the teaching data of the sensing teaching point SP2 can be stored in the storage unit 23.

[0050] Furthermore, the direction of movement of the contact sensor, based on the coarse teaching point RP1, i.e. Figure 2 The direction of the arrow shown can be, for example, a predetermined direction in the local coordinate system of the end effector 12 at the coarse teaching point RP1, or a predetermined direction in the world coordinate system. In the former case, the operator inputting the coarse teaching instruction can determine the movement direction of the contact sensor based on the orientation of the end effector 12 at the time the coarse teaching instruction is input. Figure 2 In the input of a rough teaching instruction, the predetermined orientation of the end effector 12 in the local coordinate system, i.e., the direction of each arrow, is the normal direction of the plates 1a and 1b.

[0051] Next, use Figure 3 The flowchart illustrates the operation of the control device 20.

[0052] (Step S101) The receiving unit 21 determines whether it has received a motion instruction from the robot 10. Then, if a motion instruction from the robot 10 is received, proceed to step S102; otherwise, proceed to step S103. The motion instruction may, for example, be a motion instruction from the robot body 11. The operator may also input the motion instruction to position and pose the end effector 12 of the robot 10 as desired.

[0053] (Step S102) The control unit 24 controls the robot 10 according to the motion instruction received in step S101. Then, it returns to step S101.

[0054] (Step S103) The receiving unit 21 determines whether a coarse teaching instruction has been received. Then, if a coarse teaching instruction has been received, proceed to step S104; otherwise, proceed to step S105. In addition, the receiving unit 21 may also receive the type of interpolation, the operation instruction of the end effector 12, etc., along with the coarse teaching instruction.

[0055] (Step S104) The accumulation unit 22 accumulates the teaching data of the coarse teaching points in the storage unit 23 according to the angles of each joint of the robot 10. Furthermore, when interpolation types, motion instructions from the end effector 12, etc., are also received, the accumulation unit 22 can also accumulate this teaching data in the storage unit 23. Additionally, the accumulation unit 22 can also accumulate teaching data in the storage unit 23 that includes program instructions for the robot 10's motion corresponding to the type of received coarse teaching instructions, other instructions, etc. Then, the process returns to step S101.

[0056] (Step S105) The control unit 24 determines whether to perform playback control. Then, if playback control is performed, proceed to step S106; otherwise, return to step S101. For example, the control unit 24 may also determine to perform playback control when it receives a start instruction for playback control from the receiving unit 21.

[0057] (Step S106) The control unit 24 determines whether to activate the end effector 12 in the reproduction control. Then, if the end effector 12 is activated, proceed to step S107; otherwise, proceed to step S108. For example, the control unit 24 may also determine whether to activate the end effector 12 based on whether the start instruction for reproduction control received by the receiving unit 21 specifies that the end effector 12 should be activated.

[0058] (Step S107) The control unit 24 determines whether the accumulation of teaching data for the sensing teaching point has been completed. Then, if the accumulation of teaching data for the sensing teaching point has been completed, it proceeds to step S108; if the accumulation has not been completed, it returns to step S101. For example, the control unit 24 may determine that the accumulation of teaching data for the sensing teaching point has been completed when the completion flag is "1", and determine that the accumulation has not been completed when the completion flag is "0".

[0059] (Step S108) The control unit 24 performs playback control using the teaching points represented by the teaching data stored in the storage unit 23. For example, in the case of the first playback control, it can also perform control of the robot 10 using the coarse teaching points represented by the teaching data stored in the storage unit 23, determination of the sensing teaching points using the sensing results based on the coarse teaching points, and accumulation of the teaching data of the sensing teaching points into the storage unit 23. In addition, the execution completion flag can be set to "1" accordingly. In addition, for example, in the case of the second or subsequent playback control, it can also perform control of the robot 10 using the sensing teaching points represented by the teaching data stored in the storage unit 23. In addition, if the start instruction of playback control specifies that the end effector 12 should be activated, the end effector 12 can also be activated accordingly. Then, return to step S101.

[0060] also, Figure 3 The processing order in the flowchart is one example; as long as the same result is obtained, the order of the steps can be changed. Furthermore, in Figure 3 In the flowchart, the process can also be terminated by disconnecting the power or by an interrupt indicating the end of the process.

[0061] Next, the operation of the robot control system 100 based on this embodiment will be described using a specific example. In this specific example, the case where the robot 10 is a collaborative robot and is directly taught by an operator will be described.

[0062] First, after the operator positions the workpiece 1 in the designated location, they manually move the robot 10, thereby causing the welding torch, which acts as the end effector 12, to become... Figure 2The position and posture shown on the left are (steps S101, S102). Then, when the operator briefly presses button 12a, a first coarse teaching instruction is transmitted from robot 10 to control device 20 accordingly. The receiving unit 21 of control device 20 receives the first coarse teaching instruction and transmits it to storage unit 22 (step S103). When the first coarse teaching instruction is received, storage unit 22 obtains the angles of each joint of robot 10 at that time from control unit 24, and stores the subsequent program corresponding to the first coarse teaching instruction and the teaching data of the coarse teaching point RP1 corresponding to the obtained angles of each joint as teaching data in storage unit 23 (step S104).

[0063] 1. LINE

[0064] 2.SF10 (P1)

[0065] 3.AS

[0066] Next, the operator manually moved robot 10 again, thereby making the welding torch... Figure 2 The position and posture are shown on the right (steps S101, S102). Then, when the operator presses button 12a for a long time, a second coarse teaching instruction is transmitted from robot 10 to control device 20 accordingly. The receiving unit 21 of control device 20 receives the second coarse teaching instruction and transmits it to storage unit 22 (step S103). When the second coarse teaching instruction is received, storage unit 22 obtains the angles of each joint of robot 10 at that time from control unit 24, and stores the subsequent program corresponding to the second coarse teaching instruction and the teaching data of coarse teaching point RP2 corresponding to the obtained angles of each joint as teaching data in storage unit 23 (step S104).

[0067] 4. LINE

[0068] 5. SF10 (P2)

[0069] 6.AE

[0070] Subsequently, the operator inputs a start instruction for the reproduction control that causes the weld to break by operating the teach pendant 30. Correspondingly, the start instruction for the reproduction control that causes the weld to break is transmitted from the teach pendant 30 to the control device 20. This start instruction for reproduction control is received by the receiving unit 21 of the control device 20 and transmitted to the control unit 24 (step S105). When the start instruction for reproduction control is received, the control unit 24 determines whether to activate the welding torch in the reproduction control (step S106). In this case, the weld breaks, the welding torch is not activated, and therefore the control unit 24 performs reproduction control (step S108).

[0071] Specifically, the control unit 24 moves the welding torch to the coarse teaching point RP1 represented by the teaching data using linear interpolation based on "1. LINE" in the teaching data, and according to "2. SF10 (P1)," uses the sensing results of a sensor based on the coarse teaching point RP1 to obtain the teaching data of the sensing teaching point SP1 corresponding to the coarse teaching point RP1 and transmits it to the storage unit 22. The storage unit 22 overwrites the teaching data of the sensing teaching point SP1 onto the teaching data of the coarse teaching point RP1 and stores it in the storage unit 23. In addition, since the welding is disconnected, the operation corresponding to "3. AS" is not performed.

[0072] Next, the control unit 24 moves the welding torch to the coarse teaching point RP2 represented by the teaching data using linear interpolation based on "4.LINE" in the teaching data. Then, based on "5.SF10(P2)", it uses the sensing results of a sensor referenced to the coarse teaching point RP2 to obtain the teaching data of the sensing teaching point SP2 corresponding to the coarse teaching point RP2 and transmits it to the storage unit 22. The storage unit 22 overwrites the teaching data of the sensing teaching point SP2 onto the teaching data of the coarse teaching point RP2 and stores it in the storage unit 23. Furthermore, since the welding is disconnected, the action corresponding to "6.AE" is not performed. Afterwards, the control unit 24 sets the execution completion flag stored in the storage unit 23 to "1". Alternatively, the control unit 24 can move the welding torch to the initial position, for example.

[0073] Subsequently, the operator inputs a start instruction for the reproduction control to initiate welding by operating the teach pendant 30. Correspondingly, the start instruction for the reproduction control to initiate welding is transmitted from the teach pendant 30 to the control device 20. This start instruction for reproduction control is received by the receiving unit 21 of the control device 20 and transmitted to the control unit 24 (step S105). Upon receiving the start instruction for reproduction control, the control unit 24 determines whether the welding torch should be activated in the reproduction control (step S106). In this case, since welding has started and the welding torch is activated, the control unit 24 determines whether the accumulation of teaching data at the sensing teach point has been completed (step S107). In this case, the completion flag is "1", the accumulation is completed, and therefore the control unit 24 performs reproduction control (step S108).

[0074] Specifically, the control unit 24 moves the welding torch to the sensing teaching point SP1 represented by the teaching data by linear interpolation based on "1.LINE" included in the teaching data. Furthermore, since sensing has already been performed, the action corresponding to "2.SF10(P1)" is not performed. Additionally, the control unit 24 starts welding based on "3.AS".

[0075] Next, the control unit 24 moves the welding torch to the sensing teaching point SP2 represented by the teaching data using linear interpolation based on "4.LINE" included in the teaching data. Furthermore, since sensing has already been performed, the action corresponding to "5.SF10(P2)" is not performed. Additionally, when the welding torch moves to the sensing teaching point SP2, the control unit 24 terminates the welding operation based on "6.AE". Thus, welding is performed on the workpiece 1 along the welding line L1 from the sensing teaching point SP1 to the sensing teaching point SP2. Alternatively, the control unit 24 can also move the welding torch to its initial position, for example.

[0076] Afterwards, the operator can replace the already welded workpiece 1 by placing the new workpiece 1 in the designated position, operating the teach pendant 30, and inputting a start instruction for the reproduction control to initiate welding. By repeating this process, multiple workpieces 1 can be welded automatically.

[0077] As described above, the control device 20 according to this embodiment can automatically acquire and accumulate teaching data for a more accurate sensing teaching point based on a coarse teaching point taught by the operator. Furthermore, by performing reproduction control using this sensing teaching point, the control device 20 enables the robot 10 to perform operations such as correct welding on the workpiece 1. Therefore, the operator does not need to teach a more accurate teaching point, reducing the operator's burden. Additionally, by overwriting the teaching data of the coarse teaching point with the teaching data of the sensing teaching point, it is possible to avoid situations where, despite accumulating teaching data for the sensing teaching point, the operation is performed based on the coarse teaching data. Furthermore, by performing a second reproduction control to operate the end effector 12 only after the first reproduction control has been performed without operating the end effector 12 and the teaching data for the sensing teaching point has been accumulated, it is possible to, for example, avoid situations where welding is performed based on the coarse teaching point.

[0078] Furthermore, this embodiment primarily describes the scenario where the operator can specify whether or not the end effector 12 is activated during playback control, but this is not always the case. The control device 20 may also accumulate teaching data for sensing teaching points without activating the end effector 12 during the first playback control, and then activate the end effector 12 during subsequent playback controls, using the sensing teaching points represented by the teaching data to control the robot 10. In this case, the control unit 24 may, for example, not activate the end effector 12 during the first playback control, but instead perform sensing by sensors based on two or more coarse teaching points represented by the teaching data stored in the storage unit 23. Alternatively, using the sensing results from the sensors during the first playback control, the control unit 24 may determine two or more sensing teaching points corresponding to two or more coarse teaching points, and the accumulation unit 22 may accumulate the teaching data of these two or more sensing teaching points in the storage unit 23. Furthermore, the control unit 24 can, for example, use two or more sensor teaching points represented by the teaching data accumulated in the storage unit 23 during the first reproduction control to control the robot 10 and cause the end effector 12 to operate during subsequent reproduction control. Thus, for example, the first reproduction control can be performed to acquire and accumulate teaching data for two or more sensor teaching points corresponding to two or more coarse teaching points represented by the teaching data stored in the storage unit 23, and subsequent reproduction control can be performed to operate the robot 10 using the two or more sensor teaching points represented by the teaching data stored in the storage unit 23. Through subsequent reproduction control, the robot 10 can also perform actions such as welding. In this case, for example, the operator may not specify whether the end effector 12 operates during reproduction control.

[0079] In this case, with the teaching data of the first and second coarse teaching points and the teaching data containing the above-described procedure stored in the storage unit 23, during the first playback control, the control unit 24 can also move the end effector 12 to the first coarse teaching point by linear interpolation according to "1. LINE", and according to "2. SF10 (P1)", use the sensing results of the sensor based on the first coarse teaching point to obtain the teaching data of the first sensing teaching point corresponding to the first coarse teaching point. The teaching data of the first sensing teaching point can also be overwritten by the storage unit 22 onto the teaching data of the first coarse teaching point and stored in the storage unit 23. In addition, the control unit 24 can also move the end effector 12 to the second coarse teaching point by linear interpolation according to "4. LINE", and according to "5. SF10 (P2)", use the sensing results of the sensor based on the second coarse teaching point to obtain the teaching data of the second sensing teaching point corresponding to the second coarse teaching point. The teaching data of the second sensing teaching point can also be overwritten by the accumulation unit 22 onto the teaching data of the second coarse teaching point and accumulated in the storage unit 23. Furthermore, in this first reproduction control, the start and end actions of the welding corresponding to “3.AS” and “6.AE” are not executed.

[0080] Subsequently, during subsequent playback control, the control unit 24 moves the welding torch, which serves as the end effector 12, to the first sensing teaching point via linear interpolation according to "1.LINE". Furthermore, during subsequent playback control, the replacement of the sensing and teaching data corresponding to "2.SF10 (P1)" and "5.SF10 (P2)" is not performed. Additionally, the control unit 24 initiates welding with the welding torch according to "3.AS". Then, the control unit 24 moves the welding torch to the second sensing teaching point via linear interpolation according to "4.LINE". Finally, the control unit 24 terminates welding with the welding torch according to "6.AE". Thus, during subsequent playback control, welding is performed from the first sensing teaching point to the second sensing teaching point.

[0081] Furthermore, in this embodiment, the following situation is mainly described: during the first playback control, sensing is performed based on each coarse teaching point, and teaching data of the sensing teaching point corresponding to each coarse teaching point is obtained and accumulated. That is, the case where the end effector 12 is not activated during the first playback control is mainly described, but this is not necessarily the case. The end effector 12 may be activated from the first playback control. In this case, the control unit 24 may obtain the sensing teaching point only for one coarse teaching point, and the accumulation unit 22 may accumulate the teaching data of the sensing teaching point to the storage unit 23 only for that one coarse teaching point. A coarse teaching point may also be a coarse teaching point corresponding to the start point of the end effector 12's operation, such as welding. For example, as Figure 4As shown, when performing fillet welding on workpiece 1, it is also possible to acquire and accumulate teaching data of the coarse teaching point RP1 and its corresponding sensing teaching point SP1.

[0082] Alternatively, the control unit 24 can also use a single sensing teaching point, a coarse teaching point other than the coarse teaching point corresponding to that sensing teaching point, and the sensing results of the sensors possessed by the robot 10 to control the robot 10. The sensor sensing results can also be used, for example, to determine the movement path of the end effector 12. As an example, the sensing results can also be used to determine a welding line or a work line, along which the end effector 12 moves. The movement control of the end effector 12 using the sensing results can, for example, be contour control using the welding line, work line, etc., based on the sensing results. In this embodiment, the case where the control of the robot 10 using the sensing results of the sensors possessed by the robot 10 is contour control will be mainly described. As an example, the control unit 24 can also perform contour control using the sensing results of the sensors possessed by the robot 10 when moving the end effector 12 from one sensing teaching point toward a coarse teaching point.

[0083] The sensor used in this control of the robot 10 may be the same as, or different from, the sensor used to determine the teaching point. The sensor used in this control may be, for example, a laser sensor, a vision sensor, an arc sensor, etc. In the case of an arc sensor, for example, the sensing result of the arc sensor may be used to determine the position of the weld line in oscillating welding. If a contact sensor of the robot 10 is used to obtain the teaching point, the robot 10 may also have a different sensor than the contact sensor for this control.

[0084] In this case, upon acceptance of the first rough teaching instruction, steps 1 to 5 of the next procedure can be stored in the storage unit 23, and upon acceptance of the second rough teaching instruction, steps 6 to 9 of the next procedure can be stored in the storage unit 23.

[0085] 1. LINE

[0086] 2.SF10 (P1)

[0087] 3.AS

[0088] 4.WS

[0089] 5.ST

[0090] 6. LINE

[0091] 7.ET

[0092] 8.WE

[0093] 9.AE

[0094] Here, WS is the action indication for the start of the swing, and WE is the action indication for the end of the swing. Additionally, ST is the indication for the start of contour control using the sensing results, and ET is the indication for the end of the contour control. Furthermore, SF10(P1) here includes not only the aforementioned SF10(P1) indication but also an indication that the end effector 12 is moved based on the teaching data of the replaced sensing teaching point. Similar to the description in this embodiment, when the teaching data of steps 1 to 5 of the above procedure and the teaching data of coarse teaching point RP1 are accumulated together as teaching data, and the teaching data of steps 6 to 9 of the above procedure and the teaching data of coarse teaching point RP2 are accumulated together as teaching data, the following reproduction control can also be performed based on this teaching data.

[0095] First, the control unit 24 moves the welding torch to a coarse teaching point RP1 and, using the sensing results of a contact sensor based on this coarse teaching point RP1, acquires teaching data for a sensing teaching point SP1 corresponding to the coarse teaching point RP1 and transmits it to the storage unit 22. The storage unit 22 overwrites the teaching data of the sensing teaching point SP1 onto the teaching data of the coarse teaching point RP1 and stores it in the storage unit 23. Next, the control unit 24 moves the welding torch to the sensing teaching point SP1 represented by the overwritten teaching data, begins welding and oscillation of the welding torch, and begins sensing using the arc sensor and contour control using the sensing results. Additionally, the control unit 24 moves the welding torch to a coarse teaching point RP2 via linear interpolation. Normally, the welding torch moves along a straight line L2 without contour control corresponding to the arc sensor's sensing results, but here, contour control using the arc sensor's sensing results moves the welding torch. As a result, the control unit 24 controls the welding torch to move along the welding line L1 of the joint between the plates 1a and 1b. Furthermore, when welding along the welding line L1 is completed, contour control, oscillation, and welding termination occur. Additionally, the welding torch can then be moved back to its initial position.

[0096] In this case, welding of the welding torch, i.e., the action of the end effector 12, can be performed from the first reproduction control, and the period from teaching to the reproduction of the action of the end effector 12 can be further shortened.

[0097] It should be noted that this section primarily describes the use of arc sensor data for contour control, but other sensors can also be used. For example, laser sensors and vision sensors can be used to determine the position of welding line L1 and move the welding torch along that line. Furthermore, contour control using laser sensors and vision sensors is well-known in robot contour control, and its detailed explanation is omitted. Figure 4 In this case, when the angle between lines L1 and L2 is large, it is difficult to perform proper contour control. Therefore, a small angle is preferred. As an example, this angle can be less than 10 degrees.

[0098] Furthermore, in this embodiment, the case where robot 10 is a welding robot, particularly an arc welding robot using consumable electrodes, has been described primarily. However, as mentioned above, robot 10 can also be a handling robot or something similar to a welding robot. When robot 10 is a handling robot, for example, the position of the object to be grasped can be determined by sensing based on a coarse teaching point, and the object can be moved from a first position to a second position. In this case, as an example, when sensing based on a coarse teaching point, the object to be transported can be positioned at both the first and second positions.

[0099] Furthermore, this embodiment primarily describes the case where the program includes an instruction to replace the teaching data of a coarse teaching point with the teaching data of a sensing teaching point, but this is not always the case. For example, when the teaching data of the coarse teaching point is stored in the storage unit 23, the control device 20 can also perform the process of automatically replacing the teaching data of the coarse teaching point with the teaching data of the sensing teaching point. Additionally, as an example, the storage unit 22 may not overwrite the teaching data of the coarse teaching point with the teaching data of the sensing teaching point corresponding to that coarse teaching point. In this case, the storage unit 23 may store both the teaching data of the coarse teaching point and the teaching data of the sensing teaching point corresponding to that coarse teaching point. Moreover, when both the teaching data of the coarse teaching point and the teaching data of the sensing teaching point corresponding to that coarse teaching point are stored in the storage unit 23, the control unit 24 can also use the sensing teaching point represented by the teaching data to move the robot 10 during control reproduction.

[0100] Furthermore, in the above embodiments, each process or function can be implemented by centralized processing by a single device or a single system, or it can be implemented by decentralized processing by multiple devices or multiple systems.

[0101] Furthermore, in the above embodiments, each component can be constructed using dedicated hardware, or, for components that can be implemented by software, they can be implemented by executing a program. For example, each component can be implemented by reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory using a program execution unit such as a CPU. During this execution, the program execution unit can also execute the program while accessing the storage unit or the recording medium. Additionally, the program can be downloaded from a server or the like, or it can be executed by reading a program recorded on a given recording medium (e.g., optical disc, magnetic disk, semiconductor memory, etc.). Furthermore, the program can also be used as a program to constitute a program product. Furthermore, the computer executing the program can be a single computer or multiple computers. That is, it can be processed centrally or distributed.

[0102] Furthermore, the above embodiments are illustrative examples for specific implementation of the present invention and do not limit the technical scope of the present invention. The technical scope of the present invention is not indicated by the description of the embodiments, but by the claims, and is intended to include the scope of the claims and variations within the scope of their equivalents.

Claims

1. A robot control system comprising: a robot having multiple joints; and a control device for controlling the robot. The robot has sensors for sensing and detecting objects. The control device includes: The receiving department receives rough teaching instructions related to the rough teaching points that serve as temporary teaching points. The accumulation unit accumulates teaching data for the coarse teaching point based on the angles of each joint of the robot when it receives the coarse teaching instruction; and The control unit causes the sensor to perform sensing based on a coarse teaching point, and uses the sensing results of the sensor to determine a sensing teaching point, which is a teaching point corresponding to the coarse teaching point and a teaching point corresponding to the sensing results. The accumulation unit accumulates teaching data from the sensing teaching points. The control unit uses sensor teaching points to control the robot.

2. The robot control system according to claim 1, wherein, The robot in question is an arc welding robot. The sensor is a contact sensor.

3. The robot control system according to claim 1, wherein, The receiving unit accepts multiple types of rough teaching instructions. The accumulation unit will accumulate robot motion instructions and teaching data of coarse teaching points corresponding to the types of coarse teaching instructions received by the receiving unit.

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

5. The robot control system according to any one of claims 1 to 3, wherein, The robot has an end effector. The accumulation section accumulates teaching data from two or more coarse teaching points. During the first reproduction control, the control unit does not activate the end effector, but performs sensor-based sensing with two or more coarse teaching points as references. During subsequent reproduction control, it uses two or more sensing teaching points to control the robot and activates the end effector.

6. The robot control system according to any one of claims 1 to 3, wherein, The robot has an end effector. The accumulation section accumulates teaching data from two or more coarse teaching points. The control unit performs a first reproduction control that prevents the end effector from operating and a second reproduction control that causes the end effector to operate. The first reproduction control determines two or more sensing teaching points corresponding to two or more coarse teaching points, and the second reproduction control is performed only when teaching data of the two or more sensing teaching points has been accumulated.

7. The robot control system according to any one of claims 1 to 3, wherein, The accumulation unit accumulates teaching data for a single coarse teaching point only. The control unit uses a sensing teaching point, coarse teaching points other than the coarse teaching point corresponding to the sensing teaching point, and the sensing results of the sensors possessed by the robot to control the robot.

Citation Information

Patent Citations

  • Control method for output of arc working power supply device

    JP2001259836A