Robot control device

By storing the interrupt position and speed of the tool in the robot control device and generating a retrograde command signal, the automatic adjustment problem after the application process of job interruption on the curve trajectory is solved, and automated job continuity and efficiency improvement are achieved.

CN115515760BActive Publication Date: 2025-08-15FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180034077.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-12
Filing Date
2021-05-06
Publication Date
2025-08-15
Estimated Expiration
2041-05-06

AI Technical Summary

Technical Problem

In the prior art, when the front-end tool of the robot arm is traveling on the curve track, the application processing job interruption cannot automatically avoid the generation and excessive processing of the application processing interruption part, and manual adjustment is required.

Method used

By storing the tool's continuous processing of the job interrupt position and speed in the robot control device, and generating command signals, the tool starts the work again after retrograde along the curve trajectory before stopping, ensuring the speed is consistent.

Benefits of technology

It automatically avoids application processing interruptions and excessive processing on curve trajectories, improves the continuity and efficiency of jobs, and reduces manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115515760B_ABST
    Figure CN115515760B_ABST
Patent Text Reader

Abstract

The present invention aims to provide a robot control device that automatically avoids the occurrence of interrupted application processing (gaps) and excessive processing when the application processing is resumed, without requiring manual adjustments, when an application processing operation is interrupted due to an error. When an operating part advances further from the interrupted position and then stops, the operating part is caused to reverse a predetermined distance along the curved trajectory of its forward movement before stopping, and then resumes its forward movement along the curved trajectory from the reversed position. This allows the operating part to resume continuous processing at the same speed as at the time the application processing was interrupted, at the position where the continuous processing operation was interrupted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot control device that performs continuous processing operations while moving a tool mounted on the front end of a robot arm, and in particular to a robot control device that controls the resumption of a continuous processing operation after the interruption of the operation while moving a tool on the front end of the robot arm. Background Art

[0002] Application processing operations such as coating operations performed by robots are performed as continuous processing operations while the tool mounted on the front end of the robot arm moves. However, in the event of an error, the application processing operation is first interrupted. Thereafter, the tool mounted on the front end of the robot arm decelerates and moves a certain distance while the application processing operation is interrupted, and then stops. When the application processing operation is restarted from the stopped position after the cause of the error is resolved, the distance decelerated while the application processing operation was interrupted becomes the portion (gap) where the application processing is interrupted, causing quality problems. In addition, the application operation is restarted before the speed of the tool mounted on the front end of the robot arm reaches the speed specified in the program. As a result, the processing amount per unit distance (for example, the coating amount in the coating operation) becomes excessive, which also causes problems with the processing quality.

[0003] In order to solve this problem, patent document 1 records the following content: before the application processing job is restarted, the tool installed at the front end of the robot arm is retreated in a straight line by a distance obtained by adding the distance decelerated in the state where the application processing job is interrupted and the distance required for acceleration to make the speed of the tool installed at the front end of the robot arm reach the speed specified in the program when the application processing job is restarted, and the movement of the tool is restarted from this point. When the tool is accelerated and reaches the speed specified in the program at the interruption point of the application processing job, the application processing job is restarted from this time point.

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: U.S. Patent No. 6,360,143 Summary of the Invention

[0007] Problems to be solved by the invention

[0008] Patent Document 1 can avoid problems such as gaps in application processing and excessive processing when resuming application processing. However, Patent Document 1 assumes that the tool attached to the front end of the robot arm moves in a straight line and does not support tools that move on a curved trajectory.

[0009] If the tool mounted on the front end of the robot arm is moving along a curved trajectory, there is a risk of collision with an obstacle if the tool is retreated linearly as in Patent Document 1, so a linear retreat method cannot be used. Therefore, if the tool mounted on the front end of the robot arm is moving along a curved trajectory and an error occurs and the application processing operation is interrupted, the application processing operation must be restarted without retreating. This requires manual adjustment to prevent the interruption (gaps) in application processing and the excessive processing when the application processing operation is restarted.

[0010] Therefore, it is desired to perform control so that even when the tool installed at the front end of the robot arm moves on a curved trajectory, when the application processing job is interrupted due to the occurrence of an error, the generation of interrupted application processing parts (gaps) and the generation of excessive processing when the application processing job is restarted can be automatically avoided without the need for manual adjustment.

[0011] Solutions for solving problems

[0012] In order to solve the above-mentioned problems, the robot control device disclosed in the present invention enables a tool installed at the front end of a robot arm to move along a desired curved trajectory at a desired speed while performing continuous processing operations based on a program. The robot control device is provided with: a storage unit, which stores the position where the continuous processing operation is interrupted and the moving speed of the tool at the position where the continuous processing operation is interrupted, when the tool further decelerates and moves forward from the position where the continuous processing operation is interrupted and then stops; and a processing unit, which generates an instruction signal applied to the robot, wherein the instruction signal is used to reverse the curved trajectory along the forward movement before the tool stops by a specified distance and resume the forward movement along the curved trajectory from the position after the reverse movement, so that the tool can resume the continuous processing operation while moving at the speed stored in the storage unit at the position where the continuous processing operation is interrupted.

[0013] Effects of the Invention

[0014] According to the robot control device disclosed in the present invention, when the tool installed at the front end of the robot arm moves on a curved trajectory and the application processing job is interrupted due to the occurrence of an error, the risk of collision with an obstacle can be avoided. There is no need for manual adjustment for the generation of interrupted application processing (gaps) and excessive processing when the application processing job is restarted, and the application processing job can be continued efficiently. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a structural diagram of the robot system disclosed in the present invention.

[0016] Figure 2 This is a block diagram showing the signal transmission and reception relationship during robot control according to the present disclosure.

[0017] Figure 3 This is a diagram showing a curved trajectory when coating on a workpiece is interrupted.

[0018] Figure 4 This is a diagram showing the coating status after the conventional coating operation is resumed.

[0019] Figure 5 This is a diagram showing a coating state after the coating work is resumed when the present disclosure is implemented.

[0020] Figure 6 : is a flowchart showing the process of coating work in the present disclosure.

[0021] Figure 7 This is a diagram showing the distance between a straight line obtained from the past position of the nozzle (tool) and the current position.

[0022] Figure 8 A spline curve smoothly connecting a series of position data is shown. DETAILED DESCRIPTION

[0023] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0024] The following example illustrates a coating process performed by an industrial robot. However, this is only one example; this technology can also be applied to other applications (e.g., sealant coating, plasma irradiation, laser welding, etc.). Furthermore, in the following example, the tool attached to the tip of the robot arm is referred to as a "nozzle." Figure 1 This is a diagram showing the configuration of a robot system common to each embodiment of the present disclosure. Figure 1 The robot 10 shown is a multi-jointed robot having a multi-jointed arm 11, such as a six-axis vertical multi-jointed robot or a four-axis vertical multi-jointed robot. A nozzle 12 (tool) for applying paint to a workpiece 30 is mounted at the front end of the arm 11. The coating operation is performed as follows: the robot control device 20 controls the servo motors 14 ( Figure 2), the arm 11 is actuated to move the nozzle 12 at a specified speed along a curved trajectory that smoothly connects a series of motion commands (taught positions) taught in the user program. This causes the nozzle 12 to move at a specified speed along the specified curved trajectory on the workpiece 30. While moving the nozzle 12 at a specified speed along the specified curved trajectory on the workpiece 30, the nozzle 12 sprays a specified flow rate of paint the moment it reaches the specified position. The user program contains not only the taught position information for the nozzle 12, but also information necessary for application processing, such as the nozzle 12's movement speed, motion pattern (straight line, circular arc, or spline curve), paint spray position, and spray flow rate.

[0025] Figure 2 This is a block diagram illustrating the signal exchange relationship between the robot control device 20 and the robot 10, between the various units of the robot control device 20, and between the various components of the robot 10 during robot control. The robot control device 20 includes a processing unit (CPU) 21 composed of a microcomputer, etc., a storage unit 22 including memory components such as ROM and RAM, and a transceiver unit 23 that transmits and receives signals to and from the robot 10. Meanwhile, the robot 10 includes a transceiver 13 that transmits and receives signals to and from the robot control device, a plurality of servo motors 14-1, 14-2, ..., 14-n built into the various joints of the arm to move the arm, and a nozzle position and speed detection unit that receives signals from the servo motors to detect the nozzle position and movement speed.

[0026] The storage unit 22 of the robot control device 20 stores user programs, tool position / travel speed and other teaching data for causing the nozzle 12 of the robot 10 to move along a desired trajectory while performing coating. The processing unit (CPU) generates command signals for multiple servo motors 14-1, 14-2...14-n of the robot 10 based on the storage data read from the storage unit 22 and the feedback data received from the robot 10, and applies command signals to each servo motor 14-1, 14-2...14-n through the sending and receiving unit 23 and the sending and receiving device 13.

[0027] In the robot 10, multiple servo motors 14-1, 14-2, ..., 14-n are rotated in accordance with command signals received from the robot control unit 20. The position and movement speed data of the nozzle 12 for each specific cycle are detected based on the actual rotation speed and rotational speed data of each servo motor 14-1, 14-2, ..., 14-n detected in a specific cycle. The detected data is transmitted to the robot control unit 20 via the transceiver 13 and the transceiver unit 23 and stored in the storage unit 22 as nozzle position and movement speed data for each specific cycle. Alternatively, the data can be directly used for command signal generation processing in the processing unit (CPU) 21. The method for detecting the nozzle position and movement speed is not essential to the present disclosure. In this embodiment, the nozzle position and movement speed are detected based on the actual rotation speed and rotational speed data of each servo motor. However, the nozzle position and movement speed can also be determined based on data detected by a nozzle detection device (such as a camera) mounted at a specific location.

[0028] Next, the movement operation of the nozzle 12 at the tip of the robot arm related to the coating operation and the method for controlling the movement operation according to the embodiment of the present disclosure will be described. Figure 3 The following scenario is depicted: while nozzle 12 is coating workpiece 30 along curved trajectory S, an error occurs in robot 10, interrupting the coating operation at point P, and nozzle 12 stops at point Q. Point R represents the location to which nozzle 12, having stopped at point Q, should return for the purposes of the present disclosure. Furthermore, workpiece 30 has a protruding portion that would collide with and become an obstacle if nozzle 12 were to return directly from point Q to point R.

[0029] The coating trajectory on the workpiece 30 is a curve, so in order to trace the trajectory back to the state where the nozzle coating operation is interrupted, a method of storing all interpolation data (nozzle position data for each fixed period) when the nozzle moves forward can be considered. However, when all interpolation data is stored, there is a disadvantage that the storage volume becomes huge. In addition, for example, when trying to return directly to point R in a straight line, it will collide with the convex part that becomes an obstacle, and returning in a straight line will also become difficult. Therefore, in the past, it was set to restart the coating from point Q (the coating status in this case is Figure 4 (presented in the figure), between point P and point Q, manual correction is performed later.

[0030] In the present disclosure, through the three embodiments described below, it is possible to obtain a trajectory of the state where the coating operation is interrupted and to trace the trajectory back, and to trace the curved trajectory S back to a point R that is sufficient distance to ensure that the nozzle 12 accelerates from the start of movement and becomes the taught movement speed at the coating operation interruption point P, and restart the movement of the nozzle 12 from point R, and from the time point when it reaches point P, coating is started at the taught nozzle movement speed. As a result, as shown in FIG. Figure 5 As shown, no Figure 4 The gaps and over-coating problems that occur during coating can be solved and the coating operation can be continued efficiently.

[0031] Next, the process of coating operation in the present disclosure is represented by a flow chart. Figure 6 As shown, the process begins with the detection of an interruption in the coating operation due to an error in the robot, etc. (step S1). If the interruption in the coating operation is not detected ("No" in step S1), the process waits until an interruption in the coating operation is detected. If an interruption in the coating operation is detected ("Yes" in step S1), the robot controller 20 stores the location where the coating operation was interrupted, i.e., point P (step S2).

[0032] Next, a determination is made as to whether the nozzle has stopped moving (step S3). If the nozzle has not stopped moving ("No" in step S3), the process waits until the nozzle has stopped moving. If the nozzle has stopped moving ("Yes" in step S3), the point R at which the nozzle resumes moving after returning to and stopping following the curved trajectory S is determined (step S4).

[0033] To determine the point R at which the nozzle resumes movement after tracing the curved trajectory S and returning to and stopping in step S4, it is necessary to determine the nozzle's movement trajectory over a sufficient distance to return to point R. This specification introduces three embodiments of methods for determining the nozzle's movement trajectory, which will be described later.

[0034] Afterwards, the nozzle's movement trajectory is traced back to point R (step S5). Here, the nozzle does not return directly to the point obtained in step S4 in a straight line, but instead returns to point R by tracing the nozzle's movement trajectory, thereby avoiding the nozzle from colliding with obstacles. Then, it is determined whether the nozzle has reached point R (step S6). If the nozzle has not reached point R (if the answer is "No" in step S6), wait until the nozzle reaches point R. If the nozzle reaches point R (if the answer is "Yes" in step S6), then after temporarily stopping the nozzle, movement in the forward direction is resumed (step S7).

[0035] Next, a determination is made as to whether the nozzle has reached point P, the point where the coating operation was interrupted (step S8). If the nozzle has not reached point P ("No" in step S8), the process waits until the nozzle reaches point P. If the nozzle reaches point P ("Yes" in step S8), the coating operation instructed in the user program is restarted from that point, and the user program for the coating operation, including the movement of the nozzle, is then continued (step S9), and this process ends.

[0036] When implementing the present disclosure, when the nozzle moves on a curved trajectory S, if all the interpolation data (nozzle position data of each specific period) are saved when the nozzle moves, a large amount of storage capacity is required. In addition, if a long period of storing the nozzle position data is adopted, the curved trajectory S of the nozzle movement cannot be accurately grasped, and the moving distance on the curved trajectory S cannot be accurately calculated.

[0037] Therefore, in the first embodiment of the present disclosure, the position data of the nozzle 12 (including at least six values: XYZ position data and αβγ posture data (Euler angle data) in three-dimensional space, and additional axis data if additional axes are present) is stored in a ring buffer area when the nozzle 12 moves forward on the curved trajectory S. When the position data of the nozzle 12 is stored in the ring buffer area, only the amount of position data that can be accommodated within the limited storage capacity can be stored. When the storage capacity required for storing the position data exceeds the storage capacity of the ring buffer area, the position data is deleted in order, starting with the oldest (most recent) position data, so that new position data can be stored.

[0038] The interval (cycle) of storing the position data of the nozzle 12 should ensure the cycle required to suppress the deviation distance from the original curved trajectory S within the limit. As a method of ensuring the cycle required to suppress the deviation distance from the original curved trajectory S within the limit, a method of storing the position data at a certain fixed cycle (for example, every several centimeters) can be used, such as Figure 7 As shown, a method for storing the position data of the nozzle 12 is to use a straight line connecting two recording points (recording point 1, recording point 2) of the latest data and the second latest data in the tool position data stored before the current nozzle 12 position as the method, and the distance to the current nozzle 12 position is greater than a specific distance D, or the two can be combined.

[0039] By storing the position data of the nozzle 12 during its forward movement in the circular buffer area, the stored position data becomes limited, and this limited position data is a sufficient amount of position data required for the nozzle 12 to accurately reverse the specified distance, so the curved trajectory for reverse movement can be grasped without a large amount of storage capacity.

[0040] In the second embodiment of the present disclosure, while the nozzle 12 is moving forward while performing application processing on the curved trajectory S, the calculated (planned) plan (curve) data (this data is a straight line, circular arc or spline curve, which is diverse, and the set of parameters or data described here is referred to as "plan data") is stored in the storage unit 22 of the robot control device 20 while the nozzle 12 is moved. The plan (curve) data is calculated (planned) in a manner that smoothly connects a series of position data of the nozzle 12 taught in the user program that controls the movement of the nozzle 12. A fixed area is set to store the plan data. When there is no free area for storing new plan data, the old plan data is deleted and new plan data is stored. As for the size of the area, a size sufficient for the distance required for reverse movement is ensured in advance.

[0041] When the nozzle 12 moves backward, it moves in reverse along the movement trajectory based on the planned data stored when the nozzle 12 moves forward (the movement trajectory of the nozzle calculated when moving forward), so that the deviation from the original curved trajectory S can be suppressed to a minimum.

[0042] In the third embodiment of the present disclosure, the nozzle 12 is moved backward using the teaching position data of the nozzle 12 in the user program when the nozzle 12 moves on the curved trajectory S based on the user program. The line number and the teaching position in execution when the user program execution is interrupted are known, and by backtracking and searching for several teaching commands (teaching positions) that are earlier than the currently executing line in the user program, the nozzle 12 is moved backward and returned along the curve obtained by smoothly connecting these teaching positions in the reverse direction along the newly calculated (planned) curve starting from the current stop position. Unlike the first and second embodiments, the third embodiment does not require the position trajectory of the nozzle 12 to be stored in the storage area during forward execution, and does not require redundant control processing for position storage during forward execution, which can reduce the impact of calculation time on the overall system.

[0043] Furthermore, in any one of embodiments 1 to 3, when the present disclosure is implemented, it is very important to make the position where the coating operation is restarted accurately consistent with the position where the coating operation is interrupted (point P). Therefore, in the present disclosure, the position (point P) where the coating operation is interrupted is accurately detected when an error occurs in a robot or the like, and the moment of restarting the coating operation after the nozzle 12 restarts the forward movement is fine-tuned so that the position where the coating operation is restarted can be fine-tuned along the front and back, thereby accurately making the position where the coating operation is restarted consistent with the interruption position (point P) of the coating operation. To this end, the following processing is performed. That is, point P is located on the curved trajectory calculated for the reverse action, or is located at a position very close to the curved trajectory, so the position closest to point P on the curved trajectory is found in advance before the reverse action starts, and it is set as point P'. The position of the nozzle 12 on the curved trajectory is calculated at all times during the reverse action, so that the coating operation is restarted at the moment when the position passes through point P'. Fine adjustment of the position for restarting the coating operation forward and backward means that the position of point P' is shifted forward and backward by a required distance along the curved track. Internally, fine adjustment is performed by moving point P' along the curved track, but when the fine adjustment is presented to the operator, it can be displayed as "distance" or "time" (due to the ).

[0044] Furthermore, in any of Embodiments 1 to 3, during the reverse motion of the nozzle 12, it is necessary to ensure that the paint already applied along the curved trajectory S is not damaged by contact with the tip of the nozzle 12. Therefore, in the present disclosure, when the nozzle 12 begins its reverse motion, the height position of the nozzle 12 can be fine-tuned vertically. After reversing the required specified distance, the nozzle 12's height position is returned to the original, taught position when the forward motion is resumed. This prevents the tip of the nozzle 12 from contacting the paint already applied along the curved trajectory S. Therefore, the following process is performed. Specifically, the tip end point (TCP: Tool Center Point) of the nozzle 12 is represented by its three-dimensional (or six-dimensional) position from the tool mounting surface of the arm 11, and the required fine-tuning value is added to the Z value of the TCP position only during the reverse motion. In other words, by fine-tuning as if the nozzle tip point is located at the previous position of the actual nozzle tip point, the position of the nozzle 12 during the reverse motion is deviated vertically by the required distance.

[0045] While the above descriptions of embodiments relate to the implementation of the present disclosure, the present invention is not limited to these embodiments and can be implemented in various ways without departing from the spirit of the present invention. For example, the continuous processing operations are not limited to coating application but can also include the application of adhesives and sealants. Furthermore, the present invention can be applied to various surface treatments, pressing / spraying operations, plasma irradiation, and laser welding.

[0046] Description of Reference Numerals

[0047] 10: Robot; 11: Arm; 12: Nozzle (tool); 13: Transmitter and receiver of the robot; 14-1 to 14-n: Servo motors; 20: Robot control device; 21: Processing unit (CPU); 22: Storage unit; 23: Transmitter and receiver unit of the robot control device; 30: Workpiece; P: Location where the painting operation is interrupted; Q: Location where the nozzle stops; R: Location to which the nozzle should return; S: Curved trajectory.

Claims

1. A robot control device that, based on a program, causes a tool mounted on a tip of a robot arm to perform continuous processing while moving along a desired curved trajectory at a desired speed, the robot control device comprising: a storage unit that stores the position where the continuous processing operation was interrupted and the travel speed of the tool at the position where the continuous processing operation was interrupted, in a case where the tool stops after further decelerating and advancing from the position where the continuous processing operation was interrupted when the continuous processing operation is interrupted; and a processing unit that generates a command to be applied to the robot, the command being for causing the tool to reverse a predetermined distance along the curved trajectory of the forward movement before the tool stopped, and to resume the forward movement along the curved trajectory of the forward movement before the tool stopped from the reversed position, so that the tool can resume the continuous processing operation while moving at the speed stored in the storage unit at the position where the continuous processing operation was interrupted, stored in the storage unit; The storage unit always stores the position data of the tool at each predetermined period, i.e., interpolation data, during the forward movement. The predetermined period for storing the tool position data, i.e., the interpolation data, is set to occur when the distance from a straight line connecting two points in the interpolation data, namely, a point at a tool position immediately before the current tool position and a point at a tool position immediately before the current tool position, is greater than a specific distance. in, The straight line connecting the two points of the tool position immediately before the current tool position and the tool position immediately before the current tool position in the interpolation data is an infinitely continuous straight line extending beyond the tool position immediately before the current tool position and the tool position immediately before the current tool position. In addition, the distance from the straight line to the current tool position refers to the distance from the point at the current tool position to the point at the current tool position, from the intersection of the straight line and a perpendicular line drawn from the current tool position toward the straight line to the point at the current tool position.

2. The robot control device according to claim 1, wherein: The storage unit has a circular buffer area, in which the earliest stored interpolation data is deleted when the storage amount exceeds a specific range, and the curved trajectory of the forward movement of the tool before it stops is a curved trajectory grasped based on the position of the tool stored in the circular buffer area.

3. The robot control device according to claim 2, wherein: The curve trajectory during the reverse movement before resuming the continuous processing operation is grasped by the curve data calculated based on the program for controlling the forward movement of the tool during the forward movement and based on the position data of the tool in each specified cycle, i.e., interpolation data.

4. The robot control device according to claim 1, wherein: The curved trajectory during the reverse operation before resuming the continuous processing operation is a curved trajectory grasped based on the taught position for the tool stored in accordance with the distance required for reverse travel along the curved trajectory for a predetermined distance during the forward operation.

5. The robot control device according to claim 1, wherein: The position at which the continuous processing operation is restarted can be finely adjusted forward and backward.

6. The robot control device according to claim 1, wherein: When the tool moves back a predetermined distance from the position where the tool stopped, the height position of the tool can be finely adjusted up and down, and when the forward movement is restarted after moving back the predetermined distance, the height position of the tool is returned to the original height teaching position.

Citation Information

Patent Citations

  • Robot controller

    JP1994335883A

  • Laser processing method

    JP3518127B2

  • Error recovery methods for controlling robotic systems

    US6360143B1