Control System

By detecting the acceleration of the robot's vibration and generating synthetic data with short sampling periods, the problems of long sampling periods and insufficient accuracy of the sensor are solved, and high-precision robot motion control is achieved, reducing vibrations and improving processing quality.

CN114929435BActive Publication Date: 2024-12-20FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202180008088.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-10
Filing Date
2021-01-06
Publication Date
2024-12-20
Estimated Expiration
2041-01-06

AI Technical Summary

Technical Problem

The vibration detection sensor at the front end of the existing robotic mechanism part has problems such as long sampling period and insufficient detection accuracy, making it difficult to achieve high-precision operation control.

Method used

The sensor is used to detect the acceleration of the robot's vibration, and interpolate the multiple sensor data through the interpolation unit. The data generation unit generates synthetic data with a short sampling period for high-precision control of the robot's movement.

Benefits of technology

It realizes high-precision control of robot movements, reduces vibrations, and improves processing quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114929435B_ABST
    Figure CN114929435B_ABST
Patent Text Reader

Abstract

The present invention provides a control system capable of controlling the motion of a robot with high precision. The control system (1) comprises: a sensor (44) for detecting acceleration based on vibration of a robot (3); an interpolation unit (222) for interpolating a plurality of sensor data detected by the sensor (44); and a data generation unit (223) for generating synthetic data with a short sampling period based on a plurality of interpolation data interpolated by the interpolation unit (222).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to control systems. Background Art

[0002] Industrial robots, for example, are known that perform laser processing, sealing, arc welding, etc. by controlling the position of the front end of the arm of the robot mechanism (the target part of position control). In such robots, by making the movement faster, the tact time can be shortened and the production efficiency can be improved. However, if the movement of the robot is made faster, the front end of the arm of the robot mechanism may vibrate due to the lack of rigidity of the speed reducer or the arm of the robot mechanism, and the quality of the object to be processed may be deteriorated.

[0003] Patent Documents 1 and 2 describe robots that solve such problems. These robots include a sensor at the front end of the arm of the robot mechanism, and use the sensor to measure the vibration of the front end of the arm of the robot mechanism during the operation of the robot mechanism based on the operation program. The robot repeatedly performs learning control to calculate a learning correction amount for reducing the measured vibration.

[0004] The robot uses the learned correction amount to correct the position control of the arm tip end portion of the robot mechanism (the target portion of the position control), thereby reducing the vibration of the arm tip end portion of the robot mechanism.

[0005] Prior art literature

[0006] Patent Literature

[0007] Patent Document 1: Japanese Patent Application Publication No. 2011-167817

[0008] Patent Document 2: Japanese Patent Application Publication No. 2012-240142 Summary of the invention

[0009] Problems to be solved by the invention

[0010] In order to perform the above-described learning control, it is necessary to dispose a sensor for detecting vibration of the front end portion of the arm of the robot mechanism at the front end portion of the arm.

[0011] When a terminal device having such a sensor is mounted on the front end of an arm to detect vibration, the sensor in the terminal device generally has problems such as a long sampling period and insufficient detection accuracy. Therefore, a control system capable of controlling the motion of a robot with high accuracy is desired.

[0012] Means for solving problems

[0013] A control system according to one embodiment of the present disclosure includes: a sensor that detects acceleration based on vibration of a robot; an interpolation unit that interpolates a plurality of sensor data detected by the sensor; and a data generation unit that generates synthetic data with a short sampling period based on the plurality of interpolation data interpolated by the interpolation unit.

[0014] Effects of the Invention

[0015] According to the present invention, the motion of the robot can be controlled with high precision. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a diagram showing an outline of the control system according to the present embodiment.

[0017] Figure 2 This is a block diagram showing the structure of a robot control device and a terminal device.

[0018] Figure 3 This is a diagram showing a process of synthesizing sensor data.

[0019] Figure 4 This is a flowchart showing the processing of the robot control device. DETAILED DESCRIPTION

[0020] Hereinafter, an example of an embodiment of the present invention will be described.

[0021] Figure 1 It is a diagram showing an outline of the control system 1 according to the present embodiment.

[0022] like Figure 1 As shown, the control system 1 includes a robot control device 2, a robot 3, and terminal devices 4a and 4b.

[0023] The robot control device 2 outputs a drive command to the robot 3 based on the robot program, and controls the operation of the robot 3 .

[0024] like Figure 1 As shown, the robot 3 is, for example, a six-axis vertical articulated robot, and has an arm 31 connected via respective joint axes.

[0025] The robot 3 drives servomotors 30a to 30f disposed on respective joint axes based on a drive command from the robot control device 2, thereby driving movable parts such as the arm 31. The servomotors 30a to 30f are collectively referred to as servomotors 30.

[0026] In addition, an end effector 33 such as a welding gun, a handle, a laser irradiation device, etc. is mounted on the flange 32 of the robot 3. In addition, the robot 3 is a 6-axis vertical multi-joint robot, but it can also be a vertical multi-joint robot other than 6 axes, or a horizontal multi-joint robot or a parallel link robot.

[0027] The terminal devices 4a and 4b are attached to the end effector 33 of the robot 3. The terminal devices 4a and 4b detect acceleration due to vibration of the robot 3 and transmit the detected sensor data to the robot control device 2. The terminal devices 4a and 4b are also collectively referred to as the terminal device 4.

[0028] Figure 2 It is a block diagram showing the configuration of the robot control device 2 and the terminal device 4 .

[0029] The robot control device 2 includes a communication unit 21 , a control unit 22 , and a storage unit 23 .

[0030] The communication unit 21 is a communication interface for communicating with the terminal device 4 via a network. The communication unit 21 includes a processor, a connector, a circuit, etc. for performing communication. The communication unit 21 performs predetermined processing on the communication signal received from the terminal device 4 to obtain data, and inputs the obtained data to the control unit 22. In addition, the communication unit 21 performs predetermined processing on the data input from the control unit 22 to generate a communication signal, and sends the generated communication signal to the terminal device 4. For example, the communication unit 21 receives sensor data from the terminal device 4.

[0031] The control unit 22 is a processor such as a CPU (Central Processing Unit), and functions as a coordinate conversion unit 221, an interpolation unit 222, a data generation unit 223, an action control unit 224, a correction amount calculation unit 225, and a learning control unit 226 by executing a program stored in the storage unit 23.

[0032] The storage unit 23 is a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory) that stores an OS (Operating System) and application programs, or a hard disk drive or SSD (Solid State Drive) that stores other various information.

[0033] The storage unit 23 stores, for example, a robot program for operating the robot 3 .

[0034] The terminal device 4 (the terminal devices 4 a and 4 b ) includes a communication unit 41 , a control unit 42 , a storage unit 43 , and a sensor 44 .

[0035] The communication unit 41 is a communication interface for communicating with the robot control device 2 via a network. The communication unit 41 includes a processor, a connector, a circuit, etc. for performing communication. The communication unit 41 performs predetermined processing on the communication signal received from the robot control device 2 to obtain data, and inputs the obtained data to the control unit 42. In addition, the communication unit 41 performs predetermined processing on the data input from the control unit 42 to generate a communication signal, and sends the generated communication signal to the robot control device 2.

[0036] The control unit 42 is a processor such as a CPU (Central Processing Unit).

[0037] The storage unit 43 is a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory) that stores an OS (Operating System) and application programs, or a hard disk drive or SSD (Solid State Drive) that stores other various information.

[0038] The sensor 44 is an acceleration sensor that periodically detects the acceleration of the end effector 33 accompanying the movement of the robot 3 at a predetermined sampling time. The sensor 44 is not limited to an acceleration sensor, and may be, for example, a visual sensor, an acceleration sensor, a gyro sensor, an inertial sensor, a strain gauge, etc.

[0039] The control unit 42 has a clock (not shown) and acquires time information output from the clock as the time when the acceleration is detected each time the acceleration is detected. Then, the communication unit 41 transmits a sensor signal including the detected acceleration and the time information to the robot control device 2 as sensor data.

[0040] Next, refer to Figure 2 and Figure 3 The control performed by the control unit 22 will be described. Figure 3 is a diagram showing the processing of synthesizing sensor data. Figure 3 As shown, in each terminal device 4a and 4b, N sensor data are detected by the sensor 44. In addition, in the present embodiment, an example of using the terminal device 4 to obtain sensor data through two terminal devices 4a and 4b is described, but three or more terminal devices 4 may be used to obtain sensor data, or one terminal device 4 may be used to obtain sensor data multiple times.

[0041] The coordinate conversion unit 221 converts the sensor data received by the communication unit 21 from the sensor coordinate system based on the surface of the flange 32 of the robot 3 to the tool coordinate system based on the front end of the robot 3. In addition, for each terminal device 4a and 4b, the sensor coordinate system is obtained by, for example, presetting the position and posture of the sensor 44 based on the surface of the flange 32 of the robot 3. In addition, the front end of the robot 3 is, for example, the end effector 33.

[0042] Thus, even when the robot control device 2 obtains sensor data from the sensors 44 of the plurality of terminal devices 4a and 4b at different positions, it is possible to control the position of the front end portion of the robot 3 to which the end effector 33 is attached using the position defined by the tool coordinate system. In addition, the coordinate conversion unit 221 may use the flange coordinate system when the tool coordinate system is not defined.

[0043] The interpolation unit 222 interpolates the plurality of sensor data after coordinate conversion. Figure 3 As shown, the interpolation unit 222 interpolates a plurality of discrete sensor data to generate continuous interpolation data. Here, the interpolation unit 222 generates the interpolation data using, for example, linear interpolation or spline interpolation.

[0044] The data generating unit 223 generates synthetic data having a short sampling period based on the plurality of interpolation data interpolated by the interpolation unit.

[0045] Specifically, the data generation unit 223 synthesizes a plurality of interpolation data to generate one synthesized data. That is, the data generation unit 223 superimposes the waveforms of a plurality of interpolation data to generate one synthesized data. In addition, the data generation unit 223 averages the synthesized data.

[0046] Alternatively, the data generating unit 223 may calculate a correlation coefficient based on a plurality of interpolation data, synthesize the plurality of interpolation data according to the correlation coefficient, and average the synthesized data.

[0047] By synthesizing a plurality of interpolation data in this manner, the data generating unit 223 can generate synthesized data having a short sampling period.

[0048] In addition, since the time of each of the plurality of interpolation data is not synchronized, the data generating unit 223 synchronizes the time of the plurality of interpolation data, and generates synthetic data based on the plurality of interpolation data whose time is synchronized.

[0049] For example, the data generating unit 223 calculates a correlation value C which is a digitized correlation between first interpolation data f(t) obtained by interpolating the first sensor data and second interpolation data g(t) obtained by interpolating the second sensor data, and calculates a delay time ta of the first interpolation data f(t) relative to the second interpolation data g(t) based on the correlation value C.

[0050] The correlation value C can be obtained by applying the least square method to a continuous function, for example. That is, the difference between the first interpolation data f(t) and the second interpolation data g(t) at the same time point is squared, and the squared value is integrated within a predetermined time range to obtain the sum of squares, which is set as the correlation value C. Specifically, the correlation value C can be given by the following formula.

[0051] [Mathematical formula 1]

[0052] C = ∫{(f(t)-g(t)} 2 dt

[0053] In this case, the stronger the correlation between the first interpolation data f(t) and the second interpolation data g(t), the smaller the correlation value C, which is a calculation value based on the least square method, becomes. a It is given by the following formula.

[0054] [Mathematical formula 2]

[0055]

[0056] For example, when performing spline interpolation on sensor data, f(t) and g(t) are given by polynomials of t, so Equation 3 can be considered as the delay time t a The polynomial of .

[0057] [Mathematical formula 3]

[0058] ∫{(f(tt a )-g(t)} 2 dt

[0059] Therefore, for example, Newton's method can be used to find the optimal delay time t a .

[0060] In addition, instead of the least square method, a correlation value C indicating the degree of correlation between the first interpolation data f(t) and the second interpolation data g(t) may be calculated as follows.

[0061] [Formula 4]

[0062] C=∫f(t)g(t)dt

[0063] The stronger the correlation between the first interpolation data f(t) and the second interpolation data g(t), the larger the correlation coefficient becomes.

[0064] In this case, the delay time t a It is also obtained by the same procedure as the least square method. That is, if f(t) and g(t) are given a polynomial of t, the optimal delay time t can be obtained using, for example, Newton's method. a .

[0065] The data generation unit 223 calculates, for example, the delay time t of each of the plurality of interpolation data with respect to the interpolation data serving as the reference. a Then, the data generation unit 223 subtracts or adds the delay time t from the time value of the interpolation data serving as the reference. a , thereby making it possible to synchronize the timing of each of the plurality of interpolation data.

[0066] The motion control unit 224 controls the motion of the robot 3 according to the motion command value based on the robot program.

[0067] The correction amount calculation unit 225 calculates the motion trajectory of the robot 3 based on the synthesized data synthesized by the data generation unit 223. Then, the correction amount calculation unit 225 calculates the vibration correction amount so as to suppress the vibration of the robot 3.

[0068] In addition, the motion trajectory of the robot 3 is calculated using a known technique. For example, the motion trajectory of the sensor 44 is obtained by integrating the acceleration data included in the synthetic data twice. Furthermore, the motion trajectory of the robot 3 can be calculated by converting the motion trajectory of the sensor 44 from the sensor coordinate system to the tool coordinate system.

[0069] The learning control unit 226 performs learning control to apply the calculated vibration correction amount to the motion control of the robot 3 based on the next same motion command value. The learning control unit 226 reduces the vibration generated in the end effector 33 of the robot 3 by repeatedly performing such learning control.

[0070] Figure 4 It is a flowchart showing the processing of the robot control device 2.

[0071] In step S1, the motion control unit 224 controls the motion of the robot 3 by the motion command value based on the robot program, and the sensor 44 of the terminal device 4 detects the acceleration based on the vibration of the robot 3. Then, the terminal device 4 transmits the sensor data detected by the sensor 44 to the robot control device 2 via the communication unit 41.

[0072] In step S2 , the coordinate conversion unit 221 converts the sensor data received by the communication unit 21 from the sensor coordinate system based on the surface of the flange 32 of the robot 3 to the tool coordinate system based on the front end of the robot 3 .

[0073] In step S3 , the interpolation unit 222 interpolates the plurality of sensor data after the coordinate conversion using linear interpolation, spline interpolation, or the like.

[0074] In step S4 , the data generating unit 223 generates synthetic data having a short sampling period based on the plurality of interpolation data interpolated by the interpolation unit 222 .

[0075] In step S5 , the correction amount calculation unit 225 calculates the motion trajectory of the robot 3 based on the synthesized data synthesized by the data generation unit 223 . The correction amount calculation unit 225 calculates the vibration correction amount so as to suppress the vibration of the robot 3 .

[0076] In step S6 , the learning control unit 226 performs learning control to apply the calculated vibration correction amount to the motion control of the robot 3 based on the next same motion command value.

[0077] According to this embodiment, the control system 1 includes: a sensor 44, which detects acceleration based on the vibration of the robot 3; an interpolation unit 222, which interpolates multiple sensor data detected by the sensor 44; and a data generation unit 223, which generates synthetic data with a short sampling period based on multiple interpolation data interpolated by the interpolation unit 222.

[0078] Thus, the control system 1 can generally generate synthetic data with a short sampling period using the sensor 44 of the terminal device 4 that outputs data with a long sampling period. Therefore, the control system 1 can control the operation of the robot 3 with high accuracy using the synthetic data with a short sampling period.

[0079] The control system 1 further includes a correction amount calculation unit 225 that calculates the motion trajectory of the robot 3 based on the synthesized data and calculates the motion correction amount of the robot 3 to suppress vibration of the robot 3. Thus, the control system 1 can appropriately calculate the motion correction amount of the robot 3.

[0080] The control system 1 further includes a learning control unit 226 that performs learning control for applying the motion correction amount calculated by the correction amount calculation unit 225 to the motion control of the robot 3. Thus, the control system 1 can appropriately perform learning control of the robot 3.

[0081] In addition, the data generation unit 223 synthesizes a plurality of interpolation data and averages the synthesized data. Thus, the control system 1 can obtain appropriate synthesized data to calculate the motion correction amount.

[0082] In addition, the data generation unit 223 calculates a correlation coefficient based on a plurality of interpolation data, synthesizes the plurality of interpolation data based on the correlation coefficient, and averages the synthesized data. Thus, the control system 1 can obtain appropriate synthesized data to calculate the motion correction amount.

[0083] In addition, the data generation unit 223 synchronizes the times of the plurality of interpolation data and generates synthetic data from the plurality of interpolation data synchronized in time. Thus, the control system 1 can obtain appropriate synthetic data to calculate the motion correction amount.

[0084] In addition, the control system 1 further includes: a terminal device 4 having a sensor 44 and provided on the robot 3; and a coordinate conversion unit 221 that converts sensor data from a sensor coordinate system based on the flange surface of the robot 3 to a tool coordinate system based on the front end of the robot 3. Thus, the control system 1 can generate synthetic data with a short sampling period using the sensors 44 of a plurality of terminal devices 4 (terminal devices 4a and 4b).

[0085] Although the embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above. In addition, the effects described in the embodiments are merely the most preferred effects produced by the present invention, and the effects of the present invention are not limited to the effects described in the embodiments.

[0086] Description of Reference Numerals

[0087] 1 Control system

[0088] 2 Robot control device

[0089] 3 Robots

[0090] 4 Terminal Equipment

[0091] 21 Ministry of Communications

[0092] 22 Control Department

[0093] 23 Storage

[0094] 41 Ministry of Communications

[0095] 42 Control Department

[0096] 43 Storage

[0097] 44 Sensors

[0098] 221 Coordinate conversion unit

[0099] 222 Interpolation Department

[0100] 223 Data Generation Department

[0101] 224 Motion Control Department

[0102] 225 Correction calculation unit

[0103] 226 Learning Control Department.

Claims

1. A control system, characterized in that: The control system has: a sensor that detects acceleration based on vibration of the robot; an interpolation unit that interpolates a plurality of sensor data detected by the sensor to generate continuous interpolation data; and a data generating unit that generates synthetic data having a short sampling period by superimposing the waveforms of the plurality of interpolation data based on the plurality of interpolation data interpolated by the interpolation unit, The data generation unit calculates a correlation coefficient based on the plurality of interpolation data, synthesizes the plurality of interpolation data based on the correlation coefficient, and averages the synthesized data.

2. The control system according to claim 1, characterized in that: The data generating unit synchronizes the times of the plurality of interpolation data, and generates the synthesized data based on the plurality of interpolation data whose times are synchronized.

3. A control system, characterized in that: The control system has: a sensor that detects acceleration based on vibration of the robot; an interpolation unit that interpolates a plurality of sensor data detected by the sensor to generate continuous interpolation data; and a data generating unit that generates synthetic data having a short sampling period by superimposing the waveforms of the plurality of interpolation data based on the plurality of interpolation data interpolated by the interpolation unit, The data generating unit synchronizes the times of the plurality of interpolation data, and generates the synthesized data based on the plurality of interpolation data whose times are synchronized.

4. The control system according to any one of claims 1 to 3, characterized in that: The control system further includes a correction amount calculation unit that calculates a motion trajectory of the robot based on the synthesized data and calculates a motion correction amount of the robot to suppress vibration of the robot.

5. The control system according to claim 4, characterized in that: The control system further includes a learning control unit that performs learning control for applying the motion correction amount calculated by the correction amount calculation unit to motion control of the robot.

6. The control system according to any one of claims 1 to 3, characterized in that: The control system also features: a plurality of terminal devices having the sensors and disposed on the robot; and A coordinate conversion unit converts the sensor data from a sensor coordinate system based on a flange surface of the robot to a tool coordinate system based on a front end of the robot.