Industrial robot and industrial robot control method
By detecting and processing the rotation correlation values of industrial robot motors and accurately detecting abnormalities such as shaft vibration, the problem of inaccurate detection in the existing technology is solved, and early abnormal detection and improvement of production efficiency is achieved.
Patent Information
- Application Number
- CN202411349453.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-06
- Filing Date
- 2024-09-26
- Publication Date
- 2025-04-08
AI Technical Summary
It is difficult to accurately detect abnormal situations such as shaft vibration of industrial robots.
By detecting the values related to the rotation of the drive robot motor, the action values related to the robot action are calculated, and filtering and averaging are performed, and finally comparing with a specific threshold to determine the abnormality.
Accurate detection of abnormalities such as shaft vibration can be achieved, which can suppress vibration and noise in the early stage, extend the life of robot components, and improve production efficiency.
Smart Images

Figure CN119772872A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an industrial robot and a control method of the industrial robot. Background Art
[0002] Conventionally, there is a technology for detecting malfunctions such as abnormalities in the motion axes of industrial robots. Patent Document 1 describes a technique for detecting a collision in an object driven by a servo motor such as an industrial robot with high accuracy and quickly without depending on parameters in a mechanical system.
[0003] In this technology, the collision detection device includes: a bandpass filter that performs bandpass filtering on the torque command value for the motor; an absolute value calculation unit that calculates the absolute value of the signal obtained by the bandpass filtering; and a comparator that is a determination unit that determines whether a collision has occurred by comparing the calculated absolute value with a threshold. The bandpass filter is, for example, a second-order or third-order Butterworth filter, or a third-order Bessel filter. [Prior art literature] [Patent Document]
[0004] Patent Document 1: Japanese Patent Application Publication No. 2023-97304 Summary of the invention Technical problem to be solved by the invention
[0005] However, there is a demand for a technology that can detect not only collision detection like the technology of Patent Document 1 but also abnormality such as vibration of a shaft more accurately.
[0006] The present invention has been made in view of such circumstances, and an object of the present invention is to provide an industrial robot capable of more accurately detecting abnormalities such as vibrations, in order to solve the above-mentioned problems. Technical means used to solve technical problems
[0007] An industrial robot according to one embodiment of the present invention is characterized in that it comprises: a detection unit that detects a value related to the rotation of a motor that drives the robot; a calculation unit that calculates an action value related to the action of the robot based on the value related to the rotation detected by the detection unit; a filtering unit that filters the action value calculated by the calculation unit; an averaging unit that averages the filtered value after the filtering by the filtering unit to calculate the averaged value; and a determination unit that compares the averaged value after the averaging by the averaging unit with a specific threshold value to determine an abnormality. With this configuration, abnormalities such as vibrations can be accurately detected.
[0008] An industrial robot according to one embodiment of the present invention is characterized in that the action value is a speed value or a torque value, the filtering unit performs low-pass filtering and high-pass filtering as the filtering process, and the averaging processing unit calculates a root mean square value as the averaged value. With this configuration, it is possible to evaluate the magnitude of a numerical value regardless of whether the value is positive or negative, after removing values irrelevant to vibrations and the like.
[0009] The industrial robot according to one aspect of the present invention is characterized in that a period for calculating the root mean square value is 0.3 seconds to 2.0 seconds. With this configuration, abnormalities such as vibrations in an appropriate frequency band can be accurately detected.
[0010] An industrial robot according to one aspect of the present invention is characterized in that a maximum value of the plurality of averaged values is output as an inter-task common variable, and the inter-task common variable is stored in a nonvolatile memory. With this configuration, the user can easily determine the degree of vibration.
[0011] The industrial robot according to one aspect of the present invention is characterized in that, when the determination unit determines that an abnormality has occurred, the motor is driven so as to avoid a resonant speed. With this configuration, even if an abnormality is detected, the production can be operated without stopping.
[0012] A control method in one embodiment of the present invention is a control method for an industrial robot executed by a control unit of the industrial robot, and is characterized in that a value related to the rotation of a motor driving the robot is detected, an action value related to the action of the robot is calculated based on the detected value related to the rotation, the calculated action value is filtered, the filtered value after filtering is averaged, the averaged value is calculated, and the averaged value after averaging is compared with a specific threshold value to determine an abnormality. With this configuration, abnormalities such as vibrations can be accurately detected. Effects of the Invention
[0013] According to the present invention, an industrial robot can be provided, wherein a detection unit detects a value related to the rotation of a motor, calculates an action value related to the action of the industrial robot based on the value, filters and averages the value, compares the averaged value with a threshold value, and determines an abnormality, thereby accurately detecting abnormalities such as vibration. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 This is a system configuration diagram of a robot according to an embodiment of the present invention. Figure 2 It is shown Figure 1A block diagram showing details of the setting value group shown. Figure 3 This is a flowchart of the vibration detection process according to the embodiment of the present invention. Figure 4 : is a graph showing an example of calculating the RMS value of the vibration detection process according to the embodiment of the present invention. DETAILED DESCRIPTION
[0015] <Implementation Method> [Structure of Robot X] Reference Figure 1 , the structure of the robot X according to the embodiment of the present invention is described. The robot X of the present embodiment is, for example, an industrial robot that is servo-controlled in accordance with a command from the host device 2. The robot X may be a horizontal multi-joint robot that transports panels or the like. The robot X includes a control device 1 , a host device 2 , an encoder 3 , a motor 4 , a speed reducer 5 , and a load 6 .
[0016] The control device 1 is a control device connected to the host device 2 and the encoder 3. In the present embodiment, the control device 1 obtains various commands sent from the host device 2 and control values accompanying the commands, and drives and controls the motor 4 based on the commands. Specifically, the control device 1 drives and controls the motor 4 of each axis of the robot X based on, for example, a position command value and a torque instruction value as a command.
[0017] The control device 1 and the host device 2 can be connected via a field network such as EtherCAT. On the other hand, the control device 1 and the motor 4 are connected to the encoder 3, for example, via a dedicated line or a serial communication line, and power is also provided to servo-drive the motor 4. The power is provided to the motor 4 via the encoder 3 or directly. Moreover, the control device 1 can also use the current feedback value of the motor control of the motor 4 to calculate the torque value indicating the torque of the shaft. In addition, the control device 1 can also obtain status information such as temperature from the encoder 3 or the motor 4. In addition, the control device 1 can also respond to data requests from the host device 2. The detailed functional structure of the control device 1 will be described later.
[0018] The host device 2 is a device for a client (customer) to send instructions. The host device 2 may be, for example, a PLC or logic board of various devices including a microcontroller, or a FC (Factory Computer) that controls the PLC or logic board. Specifically, the host device 2 sends a control signal for controlling the motor 4 as a command to the control device 1. The transmission cycle of the command, the amount of data sent at one time, etc. are arbitrary (variable) depending on the structure of the field network or the structure of the host device 2. In addition, the host device 2 can perform periodic communication even without a command. In addition, the host device 2 can also obtain the detected position data of the motor 4 and other data from the control device 1 .
[0019] The encoder 3 is a device for detecting the rotational position of the motor 4. In the present embodiment, the encoder 3 detects the position data of the rotational position of the shaft related to the rotational shaft of the motor 4 and transmits it to the control device 1 as angle information. Therefore, the encoder 3 includes, for example: a magnetic or optical angle detection mechanism; a control operation unit such as an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit); a non-temporary recording medium such as a RAM (Random Access Memory) for storing angle information or temporary data, and a ROM (Read Only Memory) for recording a control program. In addition, the encoder 3 may also be equipped with a temperature sensor for measuring the temperature of the motor 4 or the encoder 3 itself, a current sensor for detecting the current applied to the motor 4, and the like. In addition, the encoder 3 may also transmit signals such as the temperature sensor, the battery voltage sensor, and the current feedback value of the motor control as other types of data different from the position data.
[0020] The motor 4 is a motor for driving the shafts of various parts of the robot for conveying a panel, etc. The motor 4 is a general servo motor or the like having a rotor, a bearing, a stator, a bracket, and the like. In this embodiment, the motor 4 rotates the shaft as the rotation output shaft about the rotation axis according to the control signal from the control device 1. Therefore, a speed reducer 5 is attached to the rotation shaft of the motor 4, and the load 6 is mechanically connected to the motor 4 via the speed reducer 5.
[0021] Figure 1 Although one motor 4 is depicted in the figure, a plurality of motors 4 for driving a plurality of axes respectively may be provided in the robot X of the present embodiment. Therefore, in the control device 1, the vibration detection and other abnormality determinations described later can be performed for each motor 4 corresponding to the axis to be controlled. That is, the control device 1 can also drive and control the motor 4 and determine abnormalities for each axis. Therefore, different tasks can be performed by the functional unit described later for each axis.
[0022] [Structure of Control Device 1] Next, the control structure of the control device 1 will be described in more detail. In the present embodiment, the control device 1 includes a control unit 10 , a storage unit 11 , and a communication unit 12 .
[0023] The control unit 10 is a control operation unit that servo-drives the motor 4 according to the command obtained from the communication unit 12, controls the position of the shaft, and determines abnormalities by vibration detection, etc. In this embodiment, the control unit 10 feeds back the angle information indicating the position of the motor 4 obtained by the encoder 3 from the encoder 3 to perform servo control on the motor 4. The control unit 10 includes, for example, a control operation unit such as an MPU, a DSP, or an ASIC. Furthermore, the control unit 10 can also refer to information from various sensors, torque values, and the like to control the motor 4 , determine abnormalities, and the like.
[0024] The storage unit 11 is a non-transient computer-readable recording medium such as RAM and ROM. The control unit 10 and the storage unit 11 may be integrally formed. In addition, the ROM may include a writable non-volatile recording medium such as a flash memory. The storage unit 11 stores therein a control program and various data for controlling the device 1. The various data include setting values, values for each task, and various monitor values.
[0025] The communication unit 12 is a communication means that receives communication on the field network, obtains a command addressed to the control device 1 from the host device 2 , and transmits the command to the control unit 10 . The communication unit 12 includes, for example, a circuit (physical layer) for communication in a field network.
[0026] Next, the functional structure of the control device 1 will be described. The control unit 10 includes a detection unit 100 , a calculation unit 110 , a filter unit 120 , an averaging unit 130 , and a determination unit 140 . The storage unit 11 stores a setting value group 200 and inter-task common variables 210 .
[0027] The detection unit 100 detects a value related to the rotation of the motor 4 driving the robot X. In the present embodiment, the detection unit 100 obtains position data of the rotation position from the encoder 3 as a value related to the rotation, and calculates the value of the angular position. Alternatively, the detection unit 100 can also obtain a current feedback value of the motor control as a value related to the rotation.
[0028] The calculation unit 110 calculates an action value related to the action of the robot X based on the value related to the rotation detected by the detection unit 100, such as the value of the angular position or the current feedback value. The action value may be a speed value or a torque value. In the present embodiment, an example in which the action value is a speed value is described below. The speed value may be a backward difference value of the position detection value of the position data.
[0029] The filter unit 120 performs filtering processing on the motion value calculated by the calculation unit 110 . Specifically, the filter unit 120 performs low-pass filtering and high-pass filtering as filtering processing. The low-pass filtering and high-pass filtering may adopt a Butterworth filter.
[0030] The averaging processing unit 130 performs averaging processing on the filtered values filtered by the filtering unit 120 , and calculates an averaged value. Specifically, the averaging unit calculates a root mean square value (hereinafter referred to as "RMS value") as an averaged value. The RMS value may be a vibration effective value according to the present embodiment. When the vibration effective value is output to the monitor of the host device 2, a gain may be added and the value may be rounded to a specific numerical range, such as a signed 16-bit value.
[0031] The determination unit 140 compares the RMS value averaged by the averaging unit 130 with the threshold value 300 ( Figure 2 ) or the variable threshold value 340 to determine abnormality. This comparison can be performed using a comparator or the like. In addition, in this case, as the determination unit 140, a comparator can be used for each of the threshold value 300 and the variable threshold value 340. In addition, in the case of the variable threshold value 340, a lookup table can be used to calculate the variable value of the speed value. In the present embodiment, the determination unit 140 outputs the maximum value of the RMS values corresponding to the plurality of axes to the inter-task common variable 210 , and stores the inter-task common variable 210 in the nonvolatile memory of the storage unit 11 .
[0032] The setting value group 200 is data including a plurality of setting values used in each section. The details of the setting value group 200 will be described later.
[0033] The inter-task common variable 210 is data of variables that can be commonly accessed by the above-mentioned functional units of each axis. That is, since the robot X controls each axis with multiple tasks, the inter-task common variable 210 stores variables that can be commonly used in each task. The inter-task common variable 210 holds the determination result of the determination unit 140 for each axis, specifically, the maximum value of the RMS value, etc.
[0034] Next, according to Figure 2 , the details of the setting value group 200 are explained. The setting value group 200 includes a threshold value 300 , a signal type 310 , a filter setting 320 , an RMS value calculation time 330 , a variable threshold 340 , a warning type setting 350 , a vibration detection delay time 360 , a warning invalidation setting 370 , and an inter-task common variable 210 .
[0035] The threshold value 300 is a threshold value for detecting (determining) abnormality based on the RMS value. The threshold value 300 can be set appropriately.
[0036] The signal type 310 is a setting value of the type of value related to the rotation of the motor 4. The signal type 310 may be set to "0" when there is no input such as a servo brake, "1" when it is position data of a rotation position, "2" when it is a current feedback value of a motor control, etc.
[0037] The filter setting 320 sets the values of the cutoff frequency, filter order, etc. of each of the low-pass filter and the high-pass filter used by the filter unit 120. The cutoff frequency, etc. are appropriately set to a frequency band that does not affect vibration detection.
[0038] The RMS value calculation time 330 is a value of a period during which the RMS value is calculated by the averaging unit. That is, the RMS value calculation time 330 is a value showing how many times the period (time) is divided to calculate the RMS value. The RMS value calculation time 330 can be appropriately set according to the robot X and its components, the vibration mode, etc. The RMS value calculation time 330 can be, for example, 0.3 seconds to 2.0 seconds, preferably 0.5 seconds to 1.5 seconds. More specifically, the RMS value calculation time 330 may be set to a unit of the number of samples used when calculating the RMS value.
[0039] The fluctuation type threshold value 340 is a threshold value for determining an abnormality based on fluctuations in the RMS value averaged by the averaging processing unit 130 .
[0040] The warning type setting 350 is a setting for various processes (actions) to be executed when abnormality is determined. The warning type setting 350 may be, for example, a setting for sending a warning to the host device 2, displaying it on a monitor, sounding a buzzer, or displaying that the operation speed is reduced in an emergency mode.
[0041] The vibration detection delay time 360 is a setting of a delay time from the start of the robot X to the start of vibration detection. When the rotation of the axis stops for a specific time, the vibration detection delay time 360 may be referred to at the subsequent start.
[0042] The warning disabling setting 370 is a value of a setting mode of a warning for the robot X. The warning disabling setting 370 can set, for example, a setting value used when operating (running) with the warning disabled.
[0043] [Vibration detection processing] Next, according to Figure 3 and Figure 4 , describing the vibration detection processing according to an embodiment of the present invention. The vibration detection process of this embodiment first detects the value related to the rotation of the motor 4 driving the robot X. Then, based on the detected value related to the rotation, the action value related to the action of the robot X is calculated. Then, the calculated action value is filtered. Then, the filtered value after the filtering process is averaged to calculate the averaged value. Then, the averaged value after the averaging process is compared with a specific threshold value 300 to determine abnormality. The vibration detection process of the present embodiment mainly involves the control unit 10 of the control device 1 cooperating with each unit and executing a control program stored in the storage unit 11 using hardware resources. Below, through Figure 3 The vibration detection process of this embodiment is described step by step in the flowchart.
[0044] (Step S101) First, the detection unit 100 and the communication unit 12 perform time elapse processing. The communication unit 12 acquires various commands for controlling the device 1 and control values accompanying the commands through the field network. The detection unit 100 interprets (decodes) the acquired command and control value, and temporarily stores them in the storage unit 11. The command also includes a command to start the control of the motor 4.
[0045] When the command to start the control of the motor 4 is issued, the detection unit 100 also performs a check on the error (tolerance) of each axis and the like. After the tolerance check and the like are completed, the detection section 100 waits for the time set in the vibration detection delay time 360 to elapse, and then starts the task of vibration detection of each axis.
[0046] (Step S102) Next, the detection unit 100 determines whether the servo brake is in effect. When there is a designation of servo braking for stopping or decelerating the rotation of the shaft in the control command of the motor 4, the detection unit 100 determines that the servo braking is in progress and determines "yes". Alternatively, the detection unit 100 may also determine "yes" when a value of "no input" is set in the signal type 310. In other cases, that is, when the servo braking is not in progress, the detection unit 100 determines "no". In the case of "yes", the detection unit 100 ends the vibration detection process. Thus, the task of vibration detection of the axis is stopped or released. In the case of "No", the detection unit 100 advances the processing to step S103.
[0047] (Step S103) When the servo brake is not in use, the detection unit 100 performs a rotation detection process. The detection unit 100 detects a value related to the rotation of the motor 4 that drives the robot X. In the present embodiment, an example is described in which "1" is set for the vibration type and position data of the rotation position is acquired.
[0048] (Step S104) Next, the calculation unit 110 performs an operation value calculation process. The calculation unit 110 calculates the motion value related to the motion of the robot X based on the value related to the rotation detected by the detection unit 100. In the example of this embodiment, the backward difference of the position data, that is, the differential value of the position is calculated as the detected value of the speed (speed value) for each axis.
[0049] (Step S105) Next, the filter unit 120 performs filtering processing. The filter unit 120 performs filtering processing on the motion value calculated by the calculation unit 110 . In the present embodiment, the filter unit 120 performs high-pass filtering and low-pass filtering based on a filter having Butterworth characteristics (Butterworth filter) or the like, for example, with reference to the filter setting 320. Thus, the response curve related to the speed becomes a flatter filter value. Specifically, the filter unit 120 may also perform FFT (Fast Fourier Transform) or the like on the time series data of the speed value, cut off using low-pass filtering and high-pass filtering, and perform inverse FFT on the data to transform it into the time series data of the filter value.
[0050] (Step S106) Next, the averaging processing unit 130 performs RMS processing. The averaging processing unit 130 performs averaging processing on the filtered values filtered by the filtering unit 120 , and calculates an averaged value. In the present embodiment, the averaging processing unit 130 obtains samples within the RMS value calculation time 330 from the time series data of the filter value, calculates the root mean square, and generates an RMS value (effective value of vibration). Therefore, the calculation of the RMS value makes the response curve flat and gradually decreases to zero in the cutoff frequency band. That is, it is possible to eliminate instantaneous waveform disturbances and detect a mode that always vibrates.
[0051] Figure 4 : is an example of a graph of the calculated RMS value. The horizontal axis shows time (seconds) and the vertical axis shows the calculated value. The light-colored line shows the average value of the velocity values of the six axes, and the dark-colored line shows the averaged value of the RMS value of the velocity values of the six axes calculated by the above-mentioned processing.
[0052] (Step S107) Next, the determination unit 140 determines whether or not the value is equal to or greater than a threshold value of 300. In the present embodiment, the determination unit 140 compares each value of the time series data of the RMS value averaged by the averaging unit 130 with the threshold value 300 of the set value group 200, and determines "yes" when there is only one value that is greater than the threshold value 300. Thus, the determination unit 140 can determine abnormalities such as vibration. When all values are less than the threshold value 300, the determination unit 140 determines "no". In the case of “YES”, the determination unit 140 advances the process to step S108. In the case of “NO”, the determination unit 140 ends the vibration detection process.
[0053] (Step S108) When the threshold value is 300 or more, the determination unit 140 performs an abnormality notification process. When the RMS value exceeds the threshold value 300 of vibration detection, the determination unit 140 notifies the host device 2 of a warning as an abnormality is detected. At this time, in order to be able to confirm it through a teaching pendant, etc., the determination unit 140 outputs the maximum value of the RMS value to the inter-task common variable 210 and stores it in a non-volatile memory. Specifically, the determination unit 140 can specify the starting number of the inter-task common variable 210 to be output based on the number of the axis. Thus, the maximum value of the RMS value of each axis is stored in the variables corresponding to the multiple axes including the specified number. Since the inter-task common variable 210 is used, the value can be maintained even if the power supply of the controller 1 is reset.
[0054] Specifically, the determination unit 140 may calculate the period between samples where the RMS value exceeds the threshold value 300 and use it as the resonant frequency, or may use the main frequency of FFT as the resonant frequency for samples where the RMS value exceeds the threshold value 300.
[0055] (Step S109) Next, the determination unit 140 performs a resonance avoidance process. When the RMS value exceeds the threshold value 300, the determination unit 140 is set to drive the motor 4 corresponding to the axis where the abnormality is detected at a speed that avoids the resonant frequency. Specifically, the determination unit 140 may be set, for example, to make the maximum speed lower than the speed corresponding to the resonant frequency (hereinafter referred to as the "resonant speed"). This is because when the performance of the reducer 5, which is a vibration source, decreases, the angle transmission error becomes larger, and it becomes a large vibration at the resonant speed. When the RMS value exceeds the threshold value 300, the determination unit 140 regards it as a sign of detecting such vibration, and in order to extend the life of the robot X, it may be set to reduce the maximum speed as described above. The determination unit 140 may also reduce the ratio of the speed reduction at this time by a specific ratio relative to the resonant speed. Alternatively, the determination unit 140 may increase or decrease the speed while monitoring the behavior of the RMS value.
[0056] When the resonant speed is too low, that is, when the rotation speed is frequently reached even during normal operation, the determination unit 140 shortens the time of using the speed. Therefore, the determination unit 140 performs control during acceleration or deceleration so that the resonant speed is as short as possible. This is because when the time to reach the resonant speed becomes longer, the vibration becomes larger.
[0057] On the other hand, if vibration exists even at a speed deviating from the resonance speed, the determination unit 140 notifies the host device 2 that it is difficult to continue using the device while reducing the speed. Thus, the difficulty of continuing use can be displayed on a display such as a teaching pendant to warn the user. As described above, the vibration detection process according to the embodiment of the present invention is completed.
[0058] [Main effects of this embodiment] With the above configuration, the following effects can be obtained. Conventionally, the technique described in Patent Document 1 does not describe the determination of abnormality such as vibration of a shaft. Therefore, the technique cannot meet the technical demand for more accurate detection of abnormality such as vibration of a shaft.
[0059] (1) The industrial robot X according to an embodiment of the present invention is characterized in that it includes: a detection unit 100 that detects a value related to the rotation of a motor that drives the robot X; a calculation unit 110 that calculates an action value related to the action of the robot X based on the value related to the rotation detected by the detection unit 100; a filter unit 120 that performs filtering processing on the action value calculated by the calculation unit 110; an averaging processing unit 130 that averages the filtered value after the filtering processing by the filter unit 120 to calculate an averaged value; and a determination unit 140 that compares the averaged value after the averaging processing by the averaging processing unit 130 with a specific threshold value 300 to determine an abnormality.
[0060] By configuring in this way, it is possible to accurately detect abnormalities such as vibration of the shaft. Therefore, it is possible to detect abnormalities and suppress the generation of vibration and noise at an early stage.
[0061] Furthermore, conventionally, a speed error of a motor or the like is directly measured, and abnormality such as vibration of a shaft is sometimes detected based on a threshold value (an inappropriate threshold value) of the measured value. However, when an abnormality is pointed out by a pop-up on a monitor using an inappropriate threshold value, the user may not take action and continue to use the robot as is, shortening the life of components such as the reducer. On the other hand, if the robot is simply stopped when an abnormality is detected, the productivity of the process using the robot decreases.
[0062] On the other hand, in the detection of the sign of abnormal bad condition, by comparing the appropriate threshold value 300 with the average value, which reduces the margin, the abnormality such as the vibration of the shaft can be accurately detected. Therefore, when it is determined to be abnormal, it can be handled immediately and thoroughly. Therefore, it is easy to instruct to properly carry out the subsequent treatment. As a result, the life of the components such as the reducer 5 can be extended compared with the past, and the period of stopping of the industrial robot X can be shortened. Therefore, the production efficiency can be improved compared with the past.
[0063] In addition, (2) the industrial robot X of the embodiment of the present invention is characterized in that, in the industrial robot described in (1), the action value is a speed value or a torque value, the filtering unit 120 performs low-pass filtering and high-pass filtering as filtering processing, and the averaging processing unit 130 calculates the RMS value as the averaged value.
[0064] By such a configuration, the speed value obtained from the motor 4 is recorded, and after the frequency band of the part that does not affect the vibration is processed by low-pass filtering and high-pass filtering, the RMS value is calculated and the maximum value is monitored. In this way, by using low-pass filtering and high-pass filtering, the value of the frequency that is not related to the vibration, etc. can be removed. On this basis, by calculating the RMS value as the effective value of the square average, the numerical value can be evaluated regardless of the positive or negative value, and abnormalities can be appropriately detected.
[0065] (3) The industrial robot X according to the embodiment of the present invention is the industrial robot described in (1) or (2), wherein the period for calculating the RMS value is 0.3 seconds to 2.0 seconds.
[0066] With this configuration, it is possible to remove the impact of the shaft and values unrelated to the shaft, and detect abnormalities such as vibrations in an appropriate frequency band.
[0067] In addition, in the past, when an abnormality was detected, the robot was simply stopped or a pop-up was displayed on a monitor to draw attention. However, there is a limit on the number of items that can be browsed in the detection history of errors, etc. That is, in order not to completely fill up the records of other bad conditions, even if an error occurs, the number of abnormal detection items is not increased to a specific number (latched) or more. Therefore, since the detection value of errors, etc. cannot be browsed, the degree of vibration occurrence is also unclear, and the user cannot respond.
[0068] (4) The industrial robot X according to an embodiment of the present invention is characterized in that, in the industrial robot described in any one of (1) to (3), the maximum value of the RMS values of multiple axes is output to the inter-task common variable 210, and the inter-task common variable 210 is stored in a non-volatile memory.
[0069] By configuring in this way, the maximum value (abnormal value) of the RMS value is monitored, and when an abnormality is detected, the abnormal value is updated and recorded in the control device 1. Thus, the user can confirm the vibration of each axis in real time or after the event based on the history, so the vibration degree can be easily determined. In addition, the axis without abnormality can be operated at a normal speed.
[0070] (5) The industrial robot X according to the embodiment of the present invention is characterized in that, in the industrial robot described in any one of (1) to (4), when the determination unit 140 determines that an abnormality occurs, the motor 4 is driven to avoid the resonance speed.
[0071] In this way, for an axis whose detected vibration value is higher than the threshold value 300, it is possible to automatically switch in a manner avoiding the resonant speed. Therefore, when an abnormality is detected, the robot can operate to avoid the resonant speed range. As a result, even if the robot X detects an abnormality, it can be operated without stopping production. In addition, even if an abnormality is detected in the robot X, the operating life can be extended by avoiding the resonant speed (life extension).
[0072] [Other embodiments] In the above-described embodiment, an example of detecting abnormality such as vibration mainly using a speed value as a value related to the rotation of the motor 4 is described, but vibration may be detected using a torque value or position information itself. Furthermore, in the above-described embodiment, an example in which a backward difference value of a position detection value of position data is used as a velocity value is described, but a difference value (acceleration) of the velocity itself may be used. Alternatively, these values may be combined. In this case, a threshold value 300 may be prepared for each value.
[0073] By configuring in this way, it is possible to detect abnormality based on abnormality in torque, acceleration, etc., and it is possible to more appropriately cope with various structures.
[0074] In the above-described embodiment, an example is described in which the RMS value calculation time 330 to be averaged is set to 0.3 seconds to 2.0 seconds. However, this time can be set appropriately in actual operation according to the structure of the robot X. For example, when vibration occurs by visual or auditory observation, the abnormality detection result of the time 330 calculated based on the RMS value can be compared and appropriately set by statistical processing. Similarly, the filter frequency, threshold 300, etc. of the filter setting 320 may be compared with the detection results of other units and automatically set appropriately through statistical processing or the like.
[0075] With this configuration, it is possible to set an appropriate setting value group 200 according to the characteristics of the robot X, the installation environment, and the like.
[0076] In the above-mentioned embodiment, an example is described in which the determination unit 140 is configured to drive the motor 4 while avoiding the resonance speed as long as the RMS value exceeds the threshold value 300. However, the determination unit 140 may drive the motor 4 while avoiding the resonance speed when the maximum value of the RMS value exceeding the threshold value 300 exceeds a specific number of times within a specific time. Furthermore, the determination unit 140 may cancel the setting of avoiding the resonance speed when the maximum value of the RMS value exceeding the threshold value 300 disappears within a specific time, that is, when the value does not exceed the threshold value 300 within a specific time.
[0077] By configuring in this way, it is possible to avoid a reduction in the driving efficiency of the robot X due to an unexpected situation. Specifically, when vibration occurs only in a specific workpiece or operation, the operating efficiency can be avoided in other operations. As a result, the operating efficiency can be improved.
[0078] In the above-described embodiment, an example in which the RMS value is used as the averaging value is described. However, an averaged value other than the RMS value, an absolute value without positive or negative sign, or the like may be used.
[0079] Furthermore, in the above-described embodiment, an example is described in which the driving speed of the motor 4 is reduced when the motor 4 is driven while avoiding the resonance speed. However, the resonance may be suppressed by changing the driving method of the motor 4, for example, by pulse driving, changing the torque application method, or improving the accuracy of position specification.
[0080] Furthermore, in the above-described embodiment, an example has been described in which the determination unit 140 performs abnormality determination on the averaged value mainly using the threshold value 300 . However, the determination unit 140 may determine an abnormality using the variable threshold value 340 .
[0081] With this configuration, it is possible to detect abnormalities such as vibration of a shaft due to different causes in response to various environments and structures.
[0082] Furthermore, in the above-described embodiment, there is no description of resetting the RMS value after determining abnormality. However, after the vibration is processed accordingly, the maximum value of the RMS value may be reset in the nonvolatile memory. In this case, the axis value to be reset may be specified. That is, for example, the inter-task common variable 210 in which the maximum value of the RMS value of the specified axis is written may be cleared by a reset signal or the like. Alternatively, it may be configured so that, in the case of a state where the abnormal judgment continues, the maximum value of the RMS value cannot be reset even if a reset signal or the like is used.
[0083] With this configuration, it is possible to prevent the maximum value of the RMS value from being stored in the nonvolatile memory even after taking measures, thereby enabling appropriate processing of abnormalities such as vibrations.
[0084] In the above-described embodiment, an example in which each functional unit is realized by the control section 10 executing a program is described. However, each functional configuration may be configured in hardware using various logic circuits, FPGA (Field Programmable Gate Array), or the like.
[0085] The configuration and operation of the above-described embodiment are merely examples and can be appropriately modified and executed without departing from the spirit of the present invention. Explanation of symbols
[0086] 1. Control device 2 Host device 3. Encoder 4 Motors 5. Reducer 6 Load 10. Control Unit 11 Storage 12Ministry of Communications 100 Detection Department 110 Computing Department 120 filter unit 130 Averaging Processing Unit 140 Judgment Department 200 Setting value group 210 Common variables between tasks 300 threshold 310 Signal Category 320 filter settings 330RMS value calculation time 340 variable threshold 350 Warning Category Settings 360 degree vibration detection delay time 370 Warning invalidation setting X-Robot.
Claims
1. An industrial robot, characterized in that: include: a detection unit that detects a value related to the rotation of a motor that drives the robot; a calculation unit that calculates an action value related to the action of the robot based on the value related to the rotation detected by the detection unit; a filtering unit configured to filter the action value calculated by the calculating unit; an averaging processing unit that performs an averaging process on the filtered values filtered by the filtering unit to calculate an averaged value; as well as The determination unit compares the averaged value averaged by the averaging unit with a specific threshold value to determine abnormality.
2. The industrial robot according to claim 1, characterized in that: The action value is a speed value or a torque value, The filtering unit performs low-pass filtering and high-pass filtering as the filtering process, The averaging processing unit calculates a root mean square value as the averaged value.
3. The industrial robot according to claim 2, characterized in that: The period for calculating the root mean square value is 0.3 seconds to 2.0 seconds.
4. The industrial robot according to claim 2, characterized in that: The maximum value of the plurality of averaged values is output to a variable, and the variable is stored in a nonvolatile memory.
5. The industrial robot according to claim 1, characterized in that: The determination unit is configured to drive the motor while avoiding a resonance speed when determining that the motor is abnormal.
6. A control method for an industrial robot, executed by a control unit of the industrial robot, characterized in that: Detecting values related to the rotation of the motors driving the robot, Calculating an action value related to the action of the robot based on the detected value related to the rotation, Performing filtering on the calculated action value, The filtered values after filtering are averaged and the averaged value is calculated. The averaged value subjected to the averaging process is compared with a specific threshold value to determine abnormality.
Citation Information
Patent Citations
Collision detection method and collision detection device
JP2023097304A