Robot systems and methods of robot motion
Patent Information
- Application Number
- CN202180054676.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-11
- Filing Date
- 2021-09-06
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2041-09-06
AI Technical Summary
[0037]根据本公开的机器人系统以及机器人动作的方法,具有如下作用效果:即使在安装于机械臂前端的工具产生故障并需要修理的情况下,在使安装于机械臂前端的工具从应用处理作业区域退出而在修理后复原时,也不会需要人工或需要进行多个用户程序的示教而花费工夫,也不会产生与障碍物等的碰撞等恢复作业中的错误,另外,恢复不花费时间而能够迅速地恢复。
Smart Images

Figure CN116507457B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a robot system that performs application processing operations while moving a tool mounted at the end of a robotic arm, and particularly to a robot system and a method of robot movement relating to the resumption of application processing operations after an interruption of the movement of the tool at the end of the robotic arm. Background Technology
[0002] Application processing tasks performed by robots, such as coating and welding, are carried out while the tool / hand (EOAT) attached to the wrist at the end of the robotic arm is moved. If the application processing task is interrupted due to a malfunction of the EOAT, the resumed application processing task will start from the point of interruption.
[0003] Patent document 1 describes the following: When the location where the application processing operation performed by the EOAT (mobile body) is interrupted is different from the current location where the EOAT (mobile body) is actually stopped, the application processing operation is temporarily restored from the current location to the interrupted location and then restarted from the interrupted location.
[0004] Existing technical documents
[0005] Patent documents
[0006] Patent Document 1: Japanese Patent Application Publication No. 3-104581 Summary of the Invention
[0007] The problem that the invention aims to solve
[0008] However, Patent Document 1 does not consider the operation of repairing a malfunctioning EOAT, nor its operating area. Therefore, when a malfunctioning EOAT needs repair, the repair operation is performed at the location where the EOAT (moving body) is stopped, but the location where the EOAT (moving body) is stopped may not be a suitable location for repair. For example, there may be obstacles such as other equipment approaching the location where the EOAT (moving body) is stopped, making it impossible or extremely difficult to insert repair tools for repair.
[0009] Therefore, in the event of an interruption in the application processing operation performed by the EOAT, it is considered that the EOAT may be temporarily moved from its stopped position to a repair position for repair, and then returned to the position where the application processing operation was interrupted to continue the application processing operation. When the EOAT is deep within the work area, this operation becomes a labor-intensive and time-consuming task to ensure the EOAT can enter and exit without colliding with other obstacles.
[0010] Such operations, involving temporarily removing the EOAT for repair and returning it to its original position, have historically been performed using various methods. One of these methods is manual. For example, the following method is used: In Figure 1 In the coating operation performed by the robot as shown, if an error occurs that causes the EOAT in the robot to stop, the robot operator temporarily and manually moves the robot's EOAT to the EOAT repair station.
[0011] The recovery process in this case is as follows.
[0012] (1) After a stop caused by an error, the operator uses the manual control panel to manually move the robot's EOAT.
[0013] (2) After the EOAT arrives at the repair station, repair any defects in the EOAT.
[0014] (3) After the repair is completed, the operator uses the manual operation panel again to move EOAT to the wrong position (the interrupted position of the process).
[0015] (4) After returning EOAT to the error position, restart the interrupted application process (coating operation).
[0016] By temporarily removing EOAT from the work area, repairs can be carried out smoothly. However, manual recovery work presents problems such as the need for manual labor, the risk of collisions with obstacles, and the time-consuming nature of the recovery process.
[0017] The second method for temporarily removing EOAT for repairs and returning it to its original position is based on the Exit Path procedure. For example... Figure 2 As shown, this is the method as follows: during the coating operation performed by the robot, when an error occurs that causes the EOAT in the robot to stop, the pre-taught "Exit Path" (exit user program) is executed, thereby temporarily moving the EOAT to the EOAT repair station.
[0018] The recovery process in this case is as follows.
[0019] (1) After a stop caused by an error, the robot’s EOAT is safely moved to the EOAT repair station by executing the pre-taught “Exit Path” procedure.
[0020] (2) After the EOAT arrives at the repair station, repair any malfunctions of the EOAT.
[0021] (3) After the repair is completed, the EOAT is moved to the vicinity of the error location (the interruption location of the process) by executing the pre-taught "ReEnter" procedure.
[0022] (4) After returning EOAT to the error position, restart the interrupted process (coating operation).
[0023] (Note) In (3) above, it is also possible to replace the pre-taught ReEnter procedure and move EOAT to the vicinity of the error position by executing the Exit Path procedure in reverse.
[0024] The advantages of this method include faster recovery operations, avoidance of errors such as collisions with obstacles, and automation of the entire recovery process without manual intervention. However, it also presents several drawbacks: different exit paths are required depending on the location of the error, and multiple "Exit Paths" and "ReEnter" (user programs) need to be taught, which is time-consuming.
[0025] The third method for temporarily withdrawing EOAT for repairs and returning it to its original position is based on the Fast Exit method. For example... Figure 3 As shown, this is the method as follows: During the coating operation performed by the robot, after an error occurs that causes the EOAT in the robot to stop, the application processing operation (coating operation) is temporarily invalidated and the user program of the application processing operation is executed to the end. As a result, the EOAT is removed from the work area of the application processing operation and safely moved to the EOAT repair station.
[0026] The recovery process in this case is as follows.
[0027] (1) After the error causes a stop, temporarily invalidate the application processing job and continue the user program for the application processing job (coating job) until the end. Also, safely move the robot's EOAT to the EOAT repair station.
[0028] (2) After the EOAT arrives at the repair station, repair any malfunctions of the EOAT.
[0029] (3) After that, with the application processing job set to invalid, the user program for the application processing job is executed from the beginning.
[0030] (4) When EOAT returns to the error position, reset the application processing job to be active and restart the interrupted application processing job.
[0031] The method offers the following advantages: it eliminates the need for additional teaching of the exit path, avoids errors during recovery operations such as collisions with obstacles, and automates the entire recovery process without manual intervention. However, it also presents the following drawbacks: when the user program for the processing task is long, time is consumed before the robot's EOAT (Exit-Oriented Attack) returns to the starting position after the user program is set to invalid.
[0032] As mentioned above, in order to repair a malfunctioning EOAT, the conventional approach involves temporarily exiting the EOAT for repair and then returning it to its original position. Methods employed include manual exit, Exit Path-based methods, and Fast Exit methods. However, among these three methods, manual exit requires manual intervention and is prone to errors during recovery operations such as collisions with obstacles, and is time-consuming. Exit Path-based methods require teaching multiple "Exit Paths" (user programs), which is time-consuming. Fast Exit methods involve time spent waiting for the robot's EOAT to return to its starting position after the user program has been set to invalid.
[0033] Therefore, there is a requirement for a robot system and a method for robot movement that, during application processing operations performed by the robot, even if the EOAT (tool mounted on the front end of the robotic arm) malfunctions and needs repair, when the EOAT is removed from the application processing area and restored after repair, there is no need for manual intervention or the need to teach multiple user programs, and there are no errors in the recovery operation such as collisions with obstacles. In addition, the recovery is quick and does not take time.
[0034] Methods for solving problems
[0035] To address the aforementioned issues, the robot system and robot motion method disclosed herein perform application processing tasks while simultaneously guiding a tool mounted on the front end of a robotic arm along a desired trajectory via a user program. Regarding the resumption of processing after an interruption caused by an error during user program execution, the system can reverse the path recorded during the tool's movement, causing the tool to exit the work area. After eliminating the cause of the error, the system forward follows the recorded tool path back to the point of error occurrence and then resumes the interrupted user program-based application processing task.
[0036] Invention Effects
[0037] The robot system and robot movement method disclosed herein have the following effects: even if the tool mounted on the front end of the robotic arm malfunctions and needs repair, when the tool mounted on the front end of the robotic arm is removed from the application processing work area and restored after repair, no manual intervention or multiple user program teaching is required, and no errors such as collisions with obstacles occur during the recovery operation. In addition, the recovery is quick and does not take time. Attached Figure Description
[0038] Figure 1 This is a schematic diagram of a conventional method where the tool at the front end of the robotic arm is removed from the work area for repair and then the process can resume from its original position.
[0039] Figure 2 This is a schematic diagram of other conventional methods that allow the tool at the front end of the robotic arm to be removed from the work area for repair and then resume processing from its original position.
[0040] Figure 3 This is a schematic diagram of another conventional method that allows the tool at the front end of the robotic arm to be removed from the work area for repair and then resume processing from its original position.
[0041] Figure 4 This is a structural diagram of the robot system disclosed herein.
[0042] Figure 5 This is a block diagram illustrating the signal transmission and reception relationship during robot control according to this disclosure.
[0043] Figure 6 This is a schematic diagram illustrating the functions provided by the invention in this disclosure.
[0044] Figure 7 This diagram illustrates the recording points along the forward trajectory of the tool at the front end of the robotic arm.
[0045] Figure 8 This represents a spline curve that smoothly connects a series of location data.
[0046] Figure 9 This is a schematic diagram of a first embodiment of the present disclosure, which involves removing the tool at the front end of the robotic arm from the work area for repair and then resuming processing from its original position.
[0047] Figure 10 This is a schematic diagram of the second method of the present disclosure, which involves removing the tool at the front end of the robotic arm from the work area for repair and then resuming processing from its original position.
[0048] Figure 11 This is a flowchart of the first embodiment of the present disclosure.
[0049] Figure 12 This is a flowchart of the second embodiment of the present disclosure.
[0050] Figure 13 This is a flowchart of the third embodiment of this disclosure. Detailed Implementation
[0051] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0052] In the following examples, the coating process is exemplified as an application task performed by an industrial robot. However, this is just one example; the technology can also be applied to other application tasks (e.g., coating with sealants, plasma irradiation, laser welding, arc welding, spot welding, and others). Additionally, in the following examples, the tool mounted on the end of the robotic arm is referred to as "EOAT (End of Arm Tooling)".
[0053] Figure 4 This is a structural diagram of a common robot system in various embodiments of this disclosure. Figure 4 The robot 10 in the illustrated robot system is a multi-joint robot with a robotic arm 11 consisting of multiple joints. An EOAT 12 for applying paint to the workpiece 30 is mounted at the front end of the robotic arm 11. The painting operation is performed by a robot control unit 20 controlling servo motors 14 (…) built into the joints of the robotic arm 11 of the robot 10. Figure 6 The robot arm 11 moves at a predetermined speed along a curved trajectory smoothly connected to a series of taught motion commands (taught positions) within the user program. This causes the EOAT12 to move along the predetermined curved trajectory on the workpiece 30 at a predetermined speed, while simultaneously ejecting a predetermined flow rate of paint at the instant the EOAT12 reaches the predetermined position. In addition to the taught position information of the EOAT12, the user program also records information required for the application processing operation, such as the EOAT12's movement speed, motion type (linear, circular, or spline curve movement), paint ejection position, and ejection flow rate.
[0054] exist Figure 4The robot system includes a repair station 40, which is used to repair the EOAT12 to eliminate the cause of the error when an error occurs during the execution of the user program due to a malfunction of the EOAT12. The repair station 40 is located outside the area required for the coating operation of the EOAT12. When an error occurs during the execution of the user program due to a malfunction of the EOAT12, the robot control unit 20 causes the EOAT12 to exit from the area required for the coating operation and then move it to the repair station 40. In the repair station 40, various repairs to the EOAT12 can be performed according to the nature of the malfunction.
[0055] Figure 5 This is a block diagram illustrating the signal transmission and reception relationships between the robot control device 20 and the robot 10, as well as between the various units of the robot control device 20 and the various components of the robot 10 during robot motion control. The robot control device 20 comprises a processing unit (CPU) 21 consisting of a microcomputer or the like, a storage unit 22 including memory components such as ROM and RAM, and a transceiver unit 23 for transmitting and receiving signals with the robot 10.
[0056] The robot 10 includes a transceiver device 13 for transmitting and receiving signals between the robot and the robot control device, and multiple servo motors 14-1, 14-2...14-n built into the joints of the arm to enable arm movement.
[0057] The processing unit 21 includes: a robot motion control unit 211, which controls the motion of the robot 10 so that the EOAT 12 at the front end of the robotic arm 11 can perform a coating operation according to a predetermined trajectory drawn by the user program, or move along a recorded trajectory; and an error generation location and error stop location determination unit 212, which identifies the error generation point when an error occurs during the execution of the user program and interrupts the user program, for example, determining whether the error generation point is a location that exceeds a predetermined reference point. In addition, the processing unit 21 also includes: an EOAT position calculation unit 213, which obtains signals from the servo motors 14-1, 14-2, ... 14-n of the robot 10 via the transceiver device 13 of the robot 10 and the transceiver unit 23 of the robot control device 20, and calculates the position of the EOAT 12.
[0058] The storage unit 22 of the robot control device 20 includes: an existing setting data storage unit 221, which stores existing setting data such as user programs and teaching data for the robot 10 to move while drawing a desired trajectory and applying the coating; and a path recording unit 222, which records the path followed by the EOAT12 during the execution of the user program.
[0059] In robot 10, multiple servo motors 14-1, 14-2...14-n are rotated according to command signals received from robot control device 20. In the EOAT position calculation unit 213 of robot control device 20, position data for each specific cycle of EOAT 12 is calculated based on data of the actual rotational speed of each servo motor 14-1, 14-2...14-n detected at specific cycles. This EOAT position data for each specific cycle is stored in the path recording unit 222 of storage unit 22. Furthermore, the method of calculating the EOAT position is not essential to this disclosure. In this embodiment, the EOAT position is calculated based on the actual rotational speed data of each servo motor, but it can also be calculated, for example, based on data detected by an EOAT detection device (camera, etc.) placed in a specific location.
[0060] The robot motion control unit 211 in the processing unit 21 of the robot control device 20 generates command signals for the multiple servo motors 14-1, 14-2...14-n of the robot 10 based on user program data read from the existing setting data storage unit 221 of the storage unit 22 and path recording data fed back from the robot 10 and stored in the path recording unit 222. These command signals are then transmitted to each servo motor 14-1, 14-2...14-n via the transceiver unit 23 and transceiver device 13 to control the robot 10's movements, enabling the EOAT 12 to perform the coating operation. Furthermore, during the coating operation, if an error occurs during the execution of the user program and interrupts the coating operation, the error point determination unit 212 of the processing unit 21 determines whether the error point is a location exceeding a predetermined reference point based on user program data read from the existing setting data storage unit 221 and path recording data stored in the path recording unit 222.
[0061] Next, a method for controlling the movement of the EOAT12 at the tip of the robotic arm in the coating operation according to an embodiment of the present disclosure will be described, namely, a method for restarting the coating operation after an error occurs and the operation is interrupted. To implement such a restart after a coating operation is interrupted, the functions shown below need to be provided.
[0062] The initial function required to restart the coating operation after an interruption is Figure 6 The diagram illustrates a function that, during the execution of the user program, records the current position of the robot's EOAT12 at regular intervals, starting from a specified position within the user program. To implement this function, a path recording unit 222 in the storage unit 22 of the robot control device 20 is required. Figure 5Ensure sufficient storage space in the program. However, it is not necessary to record all robot activities. The timing for starting recording can be specified within the user program. In addition, the recording process can be interrupted / restarted within the user program as needed.
[0063] At this point, if the positions of EOAT12 were recorded at all interpolation points, i.e., all command positions calculated for the robot's actions, a huge amount of storage would be required. Therefore, the period for recording the position of EOAT12 is a necessary and sufficient period. As an example, such as Figure 7 As shown, the following method is listed: record the current position at a time point where the distance D from the straight line connecting the two points of the past record of EOAT12 to the current position exceeds a certain limit.
[0064] Furthermore, even if the distance D is small, it is worth studying the combination of the method of recording the current position with the time point when the distance E from the last recording point to the current position exceeds a certain limit.
[0065] When performing reverse movement along the recorded EOAT12 position, it is also possible to move in a straight line from one recorded point to the next recorded point, but in this case, such as Figure 8 As shown, the actual EOAT12 trajectory deviates to some extent. By calculating and following a curve (spline curve) that smoothly connects a series of position data, the deviation from the actual trajectory can be reduced. Furthermore, in the above... Figure 7 In this method, the distance D used as an indicator for recording the current position is set to the distance from the spline curve obtained from the recorded positions of the past to the current position. This allows for an extension of the recording period and ensures that a smaller storage area is used for recording the position.
[0066] The second function required for restarting a coating operation after an interruption is the ability to fine-tune the restart position of the coating operation. This is necessary to prevent blank or overlapping areas from being created between the already coated area and the area being coated again when the coating operation is restarted.
[0067] The third function required for restarting the coating operation after an interruption is the following: during the period from the interruption to the restart of the coating operation, the height position of EOAT12 can be finely adjusted up and down, and the fine adjustment can be immediately released and the height returned to the original teaching position after the coating operation resumes. This is necessary to prevent damage to the already coated areas due to the movement of EOAT12.
[0068] Next, three embodiments will be described in turn with reference to the accompanying drawings as methods for restarting the coating operation after an interruption, as described above.
[0069] Figure 9 This is a schematic diagram illustrating a first embodiment of a method for restarting a coating operation after an interruption. The first method, such as... Figure 9 As shown, after an interruption caused by an error, the program follows the path recorded during execution in reverse, exits to the recorded starting position, and after repair, resumes the forward direction following the recorded path, returns to the error stopping position, and restarts the interrupted user program from the error stopping position.
[0070] The processing procedure of this embodiment is as follows: Figure 9 As shown below.
[0071] (1) During the execution of the user program, the position of EOAT12 is recorded in the buffer area at specific intervals. Figure 5 In the path record section 222).
[0072] (2) After an interruption caused by an error, the robot motion control unit 211 stores the stopping position of the robotic arm 11 as an "error stop position". Simultaneously, the robot motion control unit 211 pre-saves the program execution context (variable values, execution step numbers, subroutine call nesting, motion plan information, etc.) so that the interrupted user program can be restarted later. Then, to safely exit the EOAT12 from the work area, it reverses the process according to external instructions or by automatically executing a "backward exit" command, following the sequence recorded in the buffer area (…). Figure 5 The position of EOAT12 in the path recording section 222) is determined, and EOAT12 is moved to the position of the start position record (starting position).
[0073] (3) Correcting malfunctions of EOAT12. The operator repairs EOAT12 manually or by executing a user-created repair procedure. This also includes manually moving (jogging) or moving EOAT12 using a repair procedure. After correcting the malfunction of EOAT12, return it to the starting position.
[0074] (4) To return EOAT12 to the error stop position, execute the "Forward Re-entry" command, following the path stored in the buffer area in the positive direction. Figure 5 The position in the path recording section 222) causes EOAT12 to move from the starting position to the error stop position. At this time, EOAT12 returns not strictly the error stop position, but the final position recorded in the buffer area.
[0075] (5) Before executing the user program in the interrupt, use the "stop position recovery function" to accurately return EOAT12 to the "error stop position" stored after the error occurred.
[0076] (6) Starting from the strict “error stop position”, restart the interrupted user program according to the saved execution context and start the application processing job (coating job) again.
[0077] The aforementioned series of error recovery operations are not limited to being performed by the operator, by an external PLC or other starting device, or automatically by the robot motion control unit 211 (various methods can be explored).
[0078] Figure 10 This is a schematic diagram illustrating a second embodiment of a method for restarting a coating operation after an interruption. Regarding the second method, as... Figure 10 As shown, after an interruption caused by an error, the program exits by following the path recorded during the execution of the user program, either from an external instruction or automatically in reverse. After repair, the application processing job (coating job) is invalidated and the user program is executed from the beginning. When returning to the location where the error occurred, the application processing job is made valid and starts again.
[0079] The processing procedure of the second embodiment is as follows: Figure 10 As shown below.
[0080] (1) During the execution of the user program, the position of EOAT12 is recorded in the buffer area at specific intervals. Figure 5 In the path record section 222).
[0081] (2) Unlike the first embodiment, it is not necessary to store the “error stop position” of the robotic arm 11 and the execution context of the user program after the interruption caused by the error, but the “error occurrence position” at the moment the error occurs is stored in advance. After the user program is interrupted, in order to safely exit the EOAT12 from the work area, the “back exit” command is executed, and the recorded position of EOAT12 is reversed to move EOAT12 to the starting position.
[0082] (3) Correcting malfunctions of EOAT12. The operator repairs EOAT12 manually or by executing a user-created repair procedure. This also includes manually moving (jogging) or moving EOAT12 using a repair procedure. After correcting the malfunction of EOAT12, return it to the starting position.
[0083] (4) After that, the application processing job (coating job) is temporarily disabled, and the user program is started from the beginning.
[0084] (5) The moment EOAT12 returns to the location where the error occurred, the application processing job is re-enabled, causing the interrupted application processing job to restart. (At this point, it is not necessarily necessary to temporarily stop / restart the user program, and the application processing can be restarted without stopping the movement of the robotic arm 11.)
[0085] Regarding the third embodiment of the method for restarting the coating operation after an interruption, in Figure 10 The second embodiment shown combines Figure 3 The third existing example shown employs the following approach when the error location does not exceed the reference location shown in the user program: Figure 10 The second embodiment shown employs the following method when the error location exceeds the reference location: Figure 3 The third existing example is shown. That is, when the recovery process starts automatically according to an external instruction, if the error location has not exceeded the reference location, it exits by following the path recorded during the execution of the user program in reverse. If the error location exceeds the reference location, the application processing job is temporarily invalidated, the user program is executed to the end and exits. After repair, the user program is executed from the beginning in the state where the application processing job (coating job) is temporarily invalidated. At the moment of returning to the error location, the application processing job is made valid and starts again.
[0086] The processing procedure of this third embodiment is as follows.
[0087] (1) During the execution of the user program, the position of EOAT12 is recorded in the buffer area at specific intervals. Figure 5 In the path record section 222).
[0088] (2) When an error causes an interruption, determine whether the location of the error exceeds the predetermined reference point shown in the user program.
[0089] (3) If the location of the error does not exceed the predetermined reference point, and Figure 10 Similarly, in the second embodiment shown, in order to safely exit EOAT12 from the work area, a "backward exit" command is executed, and the recorded position of EOAT12 is reversed to move EOAT12 to the starting position.
[0090] (4) When the error occurs at a location that exceeds the predetermined reference point, and... Figure 3 Similarly, in the third existing example shown, the application processing job is temporarily invalidated and the user program is executed to the end, allowing EOAT12 to exit safely and move to the starting position.
[0091] (5) Correcting malfunctions of EOAT12. The operator repairs EOAT12 manually or by executing a user-created repair procedure. This also includes manually moving (jogging) or moving EOAT12 using a repair procedure. After correcting the malfunction of EOAT12, return it to the starting position.
[0092] (6) After that, the application processing job (coating job) is temporarily disabled, and the user program is started from the beginning.
[0093] (7) At the moment when EOAT12 returns to the location where the error occurred, the application processing job is set to be valid again, so that the interrupted application processing job can start again.
[0094] Next, for each of embodiments 1 to 3 in this disclosure, a flowchart is used to illustrate the process of restarting the application processing operation (coating operation) after it has been interrupted.
[0095] First, using Figure 11 The flowchart illustrates the process of restarting the application processing operation (coating operation) after it has been interrupted in Implementation Method 1. For example... Figure 11 As shown, firstly, the user program is executed to begin the application processing job. However, during the execution of the user program, the path points of the tool (EOAT12) at the front end of the robotic arm are recorded at specific intervals (step St11). Next, it is determined whether the execution of the user program has been completed (step St12). If the execution of the user program has been completed (if yes in step St12), the process ends. If the execution of the user program has not been completed (if no in step St12), it is then determined whether an error has caused an interruption to the application processing job (step St13).
[0096] If no error causes an interruption in the application processing (if no error occurs in step St13), return to step St11 to continue the user program, waiting for the user program to complete execution or for an error to cause an interruption. If an error causes an interruption in the application processing (if yes occurs in step St13), then record the error stop position (step St14).
[0097] Next, following the recorded path points in reverse, the tool (EOAT12) is moved from the work area of the application processing job back to the starting position (step St15-1), and then moved to repair station 40 (step St15-2). Then, the tool (EOAT12) is repaired, the cause of the error is eliminated, and then it is moved back to the starting position (step St16).
[0098] Next, following the recorded path points in the forward direction, the tool (EOAT12) is moved towards the error stop position (step St17). Then, it is determined whether the tool (EOAT12) has reached the last recorded point (step St18). If the last recorded point has not been reached (if not in step St18), the process returns to step St17 and waits to reach the last recorded point. If the last recorded point has been reached (if yes in step St18), the tool is moved to the error stop position (step St19). Then, the interrupted user program is restarted from the error stop position, causing the application processing job to start again (step St20). Then, the application processing job is completed, and the process ends. More precisely, after step St20, the process returns to step St11 until it is yes in St12, that is, until the user program completes execution, repeating the loop from step St11 to step St20. However, if such a loop is created, then... Figure 11 The flowchart will be described later. Figure 12 as well as Figure 13 The same loop is also needed in the flowchart, making the flowchart complex and difficult to understand. Therefore, in Figures 11-13 In this context, the aforementioned loop is omitted, and the graph is set to end after the final step. Figure 12 , Figure 13 In this context, additional explanations regarding omissions for the same type of loop are omitted.
[0099] Next, using Figure 12 The flowchart illustrates the process of restarting the application processing operation (coating operation) after it has been interrupted in Implementation Method 2. For example... Figure 12 As shown, firstly, the user program is executed to begin the application processing job. However, during the execution of the user program, the path points of the tool (EOAT12) at the front end of the robotic arm are recorded at specific intervals (step St21). Next, it is determined whether the execution of the user program has been completed (step St22). If the execution of the user program has been completed (if yes in step St22), the process ends. If the execution of the user program has not been completed (if no in step St22), it is then determined whether an error has caused an interruption to the application processing job (step St23).
[0100] If no error causes the application processing job to be interrupted (if no error occurs in step St23), return to step St21 and continue the user program, waiting for the user program to complete execution or for an error to cause an interruption. If an error causes the application processing job to be interrupted (if yes occurs in step St23), then record the location where the error occurred and the application processing job was interrupted (step St24).
[0101] Next, following the recorded path points in reverse, the tool (EOAT12) is removed from the work area of the application processing job (step St25-1) and moved to repair station 40 (step St25-2). Then, the tool (EOAT12) is repaired, the cause of the error is eliminated, and it is moved back to the starting position (step St26).
[0102] Next, using the repaired tool (EOAT12) to eliminate the cause of the error, the application processing job (coating job) is invalidated, and the user program is executed from the beginning, causing the tool (EOAT12) to move in the forward direction (step St27). Then, it is determined whether the tool (EOAT12) has reached the error location (step St28). If the error location has not been reached (if not in step St28), the process returns to step St27 and waits to reach the error location. If the error location has been reached (if yes in step St28), the application processing job is made valid from the error location at that instant, and the user program continues, restarting the application processing job (step St29). Then, the application processing job is completed, and the process ends.
[0103] Next, using Figure 13 The flowchart illustrates the process of restarting the application processing operation (coating operation) after it has been interrupted in Implementation Method 3. For example... Figure 13 As shown, firstly, the user program is executed to begin the application processing job. However, during the execution of the user program, the path points of the tool (EOAT12) at the front end of the robotic arm are recorded at specific intervals (step St301). Next, it is determined whether the execution of the user program has been completed (step St302). If the execution of the user program has been completed (if yes in step St302), the process ends. If the execution of the user program has not been completed (if no in step St302), it is then determined whether an error has caused an interruption to the application processing job (step St303).
[0104] If no error causes the application processing job to be interrupted (if no error occurs in step St303), return to step St301 and continue the user program, waiting for the user program to complete execution or for an error to cause an interruption. If an error causes the application processing job to be interrupted (if yes occurs in step St303), then record the location where the error occurred and interrupted the application processing job (step St304).
[0105] Next, it is determined whether the location of the error exceeds a predetermined reference point (step St305). If the location of the error does not exceed the predetermined reference point (if not in step St305), the tool (EOAT12) is moved back to the starting position by reversing the recorded path points and exiting the work area of the applied processing job (step St306-1), and then moved to repair station 40 (step St306-2). Then, the tool (EOAT12) is repaired, the cause of the error is eliminated, and then it is moved back to the starting position (step St308).
[0106] If the error occurs at a location exceeding a predetermined reference point (as indicated in step St305), the application processing job is invalidated from the error location, and the user program is restarted. The user program is executed until the end, causing the tool (EOAT12) to exit the application processing job's work area and return to the starting position (step St307-1), and then move to repair station 40 (step St307-2). Then, the tool (EOAT12) is repaired, the cause of the error is eliminated, and it moves back to the starting position (step St308).
[0107] Next, using the repaired tool (EOAT12) to eliminate the cause of the error, the application processing operation (coating operation) is temporarily disabled, and the user program is executed from the beginning, causing the tool (EOAT12) to move in the forward direction (step St309). Then, it is determined whether the tool (EOAT12) has reached the error location (step St310). If the error location has not been reached (if not in step St310), the process returns to step St309 and waits to reach the error location. If the error location has been reached (if yes in step St310), the application processing operation is enabled from the error location at that instant, and the user program continues, restarting the application processing operation (step St311). Then, the application processing operation is completed, and the process ends.
[0108] Next, the effects of the robot motion method and robot system of this disclosure, as well as the advantages and disadvantages in comparing the various embodiments, will be explained. First, as a common effect in the various embodiments related to the robot motion method and robot system of this disclosure, it is listed that when the tool (EOAT) mounted on the front end of the robotic arm is withdrawn from the application processing work area, it can be performed without requiring manual intervention or the effort of teaching multiple user programs. As a common means in all embodiments, the path points of the tool (EOAT) moving in the forward direction from the starting point of the user program execution of the application processing work are automatically and periodically recorded. When the tool (EOAT) withdraws / recovers, it simply moves in the opposite / forward direction along these recorded points. Therefore, it is all done automatically, without manual intervention, and no additional user programs are required besides the user program for the application processing work. Thus, the effect of being able to easily and effortlessly resume operations after an interruption is achieved.
[0109] Other common effects in the various embodiments related to the robot motion method and robot system of this disclosure include the advantage of being able to quickly perform recovery operations without incurring errors such as tool collisions with obstacles. When manually performing recovery operations to remove the tool from the work area or return it to the interrupted position, if there are many other obstacles or similar obstacles surrounding the exit / recovery path, resulting in a complex situation, errors such as tool collisions with obstacles increase. If the operation is performed carefully to avoid errors, the recovery operation takes time. In contrast, in the embodiments of this disclosure, the tool automatically travels in the opposite / forward direction along the recorded point, thus avoiding collision errors and enabling rapid recovery operations.
[0110] Next, the advantages and disadvantages of various embodiments related to the robot motion method and robot system of the present invention will be described. In the first embodiment, when the tool returns to the error stop position along the recording point, strictly speaking, the tool does not return to the error stop position, but rather to the last recording point. After an error occurs and the application processing operation is interrupted, the tool continues to move due to inertia, and the error stop position is sometimes different from the last recording point. In this case, a stop position recovery function is needed to accurately return to the stop position after the application processing operation was interrupted, i.e., the error stop position. In contrast, in the second and third embodiments, the tool returns to the error occurrence position by implementing the user program with the application processing operation set to invalid, thus accurately passing through the error occurrence position. Therefore, the operation of returning to the error stop position using the stop position recovery function is not required. On the other hand, in the movement of the tool based on the implementation of the user program, when returning to the error occurrence position, the application processing operation must be switched from invalid to valid instantly, requiring more advanced technology.
[0111] In the first and second embodiments, when the error occurs near the end of the overall path of the tool executing the user program, there is a drawback of a long return path for tool exit. That is, when the error occurs near the end of the overall path of the tool executing the user program, exiting by proceeding to the end of the remaining path allows for an earlier exit compared to returning along the already traversed path. The third embodiment can separate the exit by returning along the traversed path from the exit by proceeding to the end of the remaining path, depending on the error occurrence location, and can be considered an embodiment that overcomes the drawbacks of the first and second embodiments.
[0112] The above describes the implementation of this disclosure, but the present invention is not limited to such implementations and can be implemented in various ways without departing from the spirit of the invention. For example, the application of processing operations is not limited to the application of paint, but also includes the application of adhesives and sealants, and can be applied to various surface treatments, pressing / injection operations, plasma irradiation, laser welding, arc welding, and spot welding. Furthermore, in the embodiments, a method for periodically recording the robot's current position during user program execution has been described, but other methods, such as storing the teaching number (or line number) of the execution within the user program in the execution sequence, can also be used to move the robot in the opposite direction. This method has the advantage of requiring less storage capacity. On the other hand, to ensure that the robot trajectory is the same as the original trajectory during forward execution, the motion form (linear interpolation, interpolation of each axis, circular interpolation, etc.), motion speed, etc., need to be considered in the same way as during forward execution, and the execution needs to be more careful.
[0113] Symbol Explanation
[0114] 10…robots
[0115] 11…robotic arm,
[0116] 12…EOAT (tool)
[0117] 13… Robot's transceiver device,
[0118] 14-1~14-n… servo motors
[0119] 15…EOAT position calculation unit,
[0120] 20… Robot control device,
[0121] 21…Processing Unit (CPU)
[0122] 211…Robot Motion Control Department
[0123] 212… Error Generation Location (Error Stopping Location) Determination Unit
[0124] 22… storage units,
[0125] 221… Existing data storage department settings,
[0126] 222… Path Recording Department
[0127] 23…Transceiver unit of robot control device,
[0128] 30…workpieces
[0129] 40… Repair Station (Repair Department for Error Causes).
Claims
1. A robotic system that performs application processing tasks while simultaneously guiding a tool mounted on the front end of a robotic arm along a desired trajectory via a user program, characterized in that... The robot system has the following features: A path recording unit that records the path at specific intervals during the robot's tool movement caused by the execution of the user program; and The robot motion control unit enables the robot to execute user programs. When an error occurs during the execution of the user program and interrupts the application processing operation, it reverses the path recorded during the movement of the robot's tool, causing the tool to exit the work area, providing the user with an opportunity to repair the cause of the error. After eliminating the cause of the error, it forward follows the recorded path of the tool to return to the point where the error occurred, and then resumes the interrupted application processing operation based on the user program.
2. A robotic system that performs application processing tasks while simultaneously guiding a tool mounted on the front end of a robotic arm along a desired trajectory via a user program, characterized in that... The robot system has the following features: A path recording unit that records the path at specific intervals during the robot's tool movement caused by the execution of the user program; and The robot motion control unit enables the robot's tool to execute the user program. When an error occurs during the execution of the user program and interrupts the application processing operation, it reverses the path recorded during the robot's tool's movement, causing the tool to exit the work area and providing the user with an opportunity to repair the cause of the error. After eliminating the cause of the error, it temporarily invalidates the application processing operation and resumes the execution of the user program from the beginning. When the tool reaches the point where the error occurred again, it makes the application processing operation valid and resumes the interrupted application processing operation based on the user program.
3. A robotic system that performs application processing tasks while simultaneously guiding a tool mounted on the front end of a robotic arm along a desired trajectory via a user program, characterized in that... The robot system has the following features: The path recording unit records the path at specific intervals during the movement of the robot's tools caused by the execution of the user program; The error location determination unit determines whether the error location is a position that has not exceeded a predetermined reference position in the desired trajectory when the application processing operation is interrupted due to an error in the execution of the user program. as well as The robot motion control unit causes the robot's tool to execute a user program. When an error occurs during the execution of the user program and interrupts the application processing operation, if the error point does not exceed a predetermined reference point in the desired trajectory, the unit reverses the path recorded during the robot's tool's movement and causes the tool to exit the work area. Alternatively, if the error point exceeds the predetermined reference point in the desired trajectory, the unit executes the user program to the end while invalidating the application processing operation, thereby causing the tool to exit the work area and providing the user with an opportunity to repair the cause of the error. After eliminating the cause of the error, the unit invalidates the application processing operation. The user program is then executed again by the tool after the cause of the error has been eliminated. The application processing operation is then made valid again at the point when the tool reaches the error point again, thus restarting the interrupted user program-based application processing operation.
4. The robot system according to any one of claims 1 to 3, characterized in that, The starting position of the application processing job can be finely adjusted.
5. The robot system according to any one of claims 1 to 4, characterized in that, During the period from when an error occurs until the processing job is restarted, the height of the tool can be finely adjusted up and down during both the reverse and forward path following periods, and can return to the original teaching position height when the processing job is restarted.
6. A method for manipulating a robot, wherein a tool mounted on the front end of a robotic arm is directed along a desired trajectory via a user program while application processing is performed, characterized in that... The robot's motion method includes the following steps: The steps of recording the path at specific cycles during the movement of the robot's tool caused by the execution of the user program; When the application processing operation is interrupted due to an error in the execution of the user program, the steps of reversing the path recorded during the movement of the robot's tool are followed to remove the tool from the work area and move it to the repair station. Steps to eliminate the cause of the error at the repair shop; as well as After the tool that eliminated the cause of the error returned to the point where the error occurred by following the recorded path of the tool, the interrupted application processing job based on the user program was restarted.
7. A method for manipulating a robot, wherein a tool mounted on the front end of a robotic arm is directed along a desired trajectory via a user program while application processing is performed, characterized in that... The robot's motion method includes the following steps: The steps of recording the path at specific cycles during the movement of the robot's tool caused by the execution of the user program; When the application processing operation is interrupted due to an error in the execution of the user program, the steps of reversing the path recorded during the movement of the robot's tool are followed to remove the tool from the work area and move it to the repair station. Steps to eliminate the cause of the error at the repair shop; as well as The application processing job is temporarily invalidated, and the user program is executed from the beginning by the tool that has eliminated the cause of the error. When the tool reaches the point where the error occurred again, the application processing job is made valid again, and the interrupted application processing job based on the user program is restarted.
8. A method for manipulating a robot, wherein a tool mounted on the front end of a robotic arm is directed along a desired trajectory via a user program while application processing is performed, characterized in that... The robot's motion method includes the following steps: The steps of recording the path at specific cycles during the movement of the robot's tool caused by the execution of the user program; When the application processing job is interrupted due to an error in the execution of the user program, the step of determining whether the error point is a location that has not exceeded a predetermined reference point in the desired trajectory; If the error occurs at a location that does not exceed a predetermined reference point in the desired trajectory, the tool is removed from the work area by reversing the path recorded during the robot's tool travel. In the case where the error occurs at a location that exceeds a predetermined reference point in the desired trajectory, the user program is executed to the end while the application processing operation is invalidated, thereby causing the tool to exit the work area and move to the repair station. Steps to eliminate the cause of the error at the repair shop; as well as The steps of invalidating the application processing job, executing the user program from the beginning by eliminating the cause of the error, and then re-enabling the interrupted application processing job when the tool reaches the point where the error occurred again.
9. The robot motion method according to any one of claims 6 to 8, characterized in that, The starting position of the application processing job can be finely adjusted.
10. The robot motion method according to any one of claims 6 to 9, characterized in that, During the period from when an error occurs until the processing job is restarted, the height of the tool can be finely adjusted up and down during both the reverse and forward path following periods, and can return to the original teaching position height when the processing job is restarted.
Citation Information
Patent Citations
Robot control system
JP1991104581A
Numerical controller
JP1997050310A
Robot for arc welding
JP2002205167A
Programming device for returning robot to waiting position
US20060009878A1
Normal operating condition restoration device
US5825655A