Engine control unit and engine control computer program

The control device and engine control computer program optimize the dynamic property compensation filter configuration in servomotor control systems to improve position control accuracy by addressing the challenge of periodic interference variables, resulting in reduced position deviations during repetitive operations.

DE102020001993B4Active Publication Date: 2025-03-13FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
DE102020001993
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-04-03
Filing Date
2020-03-27
Publication Date
2025-03-13
Estimated Expiration
2040-03-27

AI Technical Summary

Technical Problem

Existing technologies struggle to optimize the configuration of dynamic property compensation filters in servomotor control systems, particularly when dealing with periodic interference variables, which can lead to unsuppressed position deviations during repetitive operations.

Method used

A control device and engine control computer program that generate a phase signal and a periodic interference signal, calculate position deviations, and optimize the configuration of the dynamic property compensation filter to reduce position deviations by adjusting the filter configuration based on evaluation values that represent the size of position deviations.

Benefits of technology

The solution effectively improves position control accuracy by optimizing the dynamic property compensation filter configuration, even in the presence of periodic interference variables, thereby reducing position deviations during repetitive operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Control device of a motor (3) which drives a movable element (2) such that the movable element (2) is caused to repeat a certain operation, wherein the control device comprises: - a phase signal generation unit (22) that generates a phase signal with a predetermined period, - a disturbance signal generation unit (23) which generates a disturbance signal repeated in the specified period based on the phase signal, - a drive signal generation unit (21) that calculates a position deviation between a position of the movable element (2) specified by a position command and a position of the movable element (2) measured by a position detector (4) in each specified sampling period, adds a correction amount to the position deviation to correct the position deviation, adds the disturbance signal to a drive signal for driving the motor (3) that is generated based on the position deviation to which the correction amount has been added, and causes the motor (3) to operate based on the drive signal to which the disturbance signal has been added, - a learning control unit (24) which, using a dynamic property compensation filter to compensate for a dynamic property of a control system of the motor (3), calculates the correction amount such that the position deviation is reduced, and - an operational evaluation unit (25) which, in each repetition period comprising at least one of the specified periods, calculates an evaluation value representing a magnitude of the position deviation in each of the specified sampling periods within the repetition period, and modifies a configuration of the dynamic property compensation filter such that the evaluation value satisfies a specified condition.
Need to check novelty before this filing date? Find Prior Art

Description

Background of the invention 1. Field of the invention

[0001] The present invention relates, for example, to a control device of an engine and an engine control computer program used in such a control device. 2. Description of the related prior art

[0002] In an automatic machine such as a robot or a machine tool including a movable member driven using a servo motor, the same operation may be repeated every predetermined period, such as in a case where the same machining is repeatedly performed on a workpiece. In such a case, reducing a positional deviation between an individual target position of the movable member driven by the servo motor and an actual position of the movable member during a repeated operation by applying so-called learning control has been proposed (see, for example, Japanese Unexamined Patent Publication (Kokai) No. JP 2004-280772 A).

[0003] A servo motor drive control device described in Japanese Unexamined Patent Publication (Kokai) No. JP 2004-280772 A obtains a position deviation of a predetermined position at a reference position, which is output synchronously with a servo motor drive, from a position deviation obtained during sampling and the reference position, adds the position deviation to corresponding correction data, and filters the correction data to update corresponding correction data stored in a storage device corresponding to the position. Furthermore, the drive control device obtains correction data during sampling based on the correction data stored in the storage device corresponding to the position and the reference position, obtains a correction amount by compensating for a dynamic characteristic of the correction data, and adds the correction amount to the position deviation.

[0004] For such learning control, a technique capable of setting a more suitable control condition of a servo motor or selecting a learning parameter corresponding to a mechanical property or an operating condition has been proposed (see, for example, Japanese Unexamined Patent Publication (Kokai) No. JP 2017 - 84 104 A and Japanese Unexamined Patent Publication (Kokai) No. JP 2009 - 122 779 A).

[0005] For example, a servo control device described in Japanese Unexamined Patent Publication (Kokai) No. JP 2017-84104 A calculates an evaluation value indicative of a position control characteristic from an output of a position control loop when a sine wave is input to the position control loop by a learning controller based on an actually measured frequency characteristic and a frequency characteristic of the learning controller with respect to a gain and phase of a position control loop input / output signal. The controller then changes the configuration of a band-limiting filter constituting the learning controller based on the evaluation value and / or a dynamic characteristic compensation filter.

[0006] A control support device described in Japanese Unexamined Patent Publication (Kokai) No. JP 2009 - 122 779 A further automatically sets a setting parameter and a setting condition related to the setting parameter based on a result of performing a simulation in controlling the electric motor with respect to a predetermined target operation using a calculation model obtained by creating a model of an operation of an electric motor in a servo system and a simulation condition that is a simulated setting parameter condition for performing a simulation of a setting parameter for adjusting a control response of the electric motor. Summary

[0007] In the technique described in Japanese Unexamined Patent Publication (Kokai) No. JP 2017-84104 A, a disturbance in the form of a sine wave is input to a position deviation detection unit of the position control loop, thus performing an evaluation when the disturbance in the form of a sine wave is applied to a position deviation itself. However, in a case where a position deviation is not limited to being periodic even if the disturbance itself is periodic, the technique cannot optimize a configuration of the dynamic characteristic compensation filter to suppress the influence of the disturbance.

[0008] Furthermore, in the technique described in Japanese Unexamined Patent Publication (Kokai) No. JP 2009-122779 A, ​​a setting parameter and the like are set through simulation, and thus, an actual mechanical property or operating characteristic of a servomotor or a movable member driven by the servomotor is not accurately evaluated. As a result, the setting parameter cannot be optimized.

[0009] It is an object of the invention to provide a control device of a motor which can improve the position control accuracy when a movable member driven by the motor is caused to repeat a certain operation.

[0010] The problem is solved by a control device having the features of patent claim 1 and by an engine control computer program having the features of patent claim 6.

[0011] According to one embodiment, a control device for a motor 3 that drives a periodically operating movable element 2 is provided. The control device comprises a phase signal generation unit 22 that generates a phase signal with a predetermined period; a disturbance signal generation unit 23 that generates a disturbance signal repeated at the predetermined period based on the phase signal; a drive signal generation unit 21 that calculates a position deviation between a position of the movable element 2 specified by a position command and a position of the movable element 2 measured by a position detector 4 in each predetermined sampling period; adds a correction amount for correcting the position deviation to the position deviation; and adds the disturbance signal to a drive signal for driving the motor 3, which is generated based on the position deviation to which the correction amount has been added.and causes the motor 3 to operate based on the drive signal to which the disturbance signal has been added; a learning control unit 24 that calculates the correction amount so as to reduce the positional deviation using a dynamic characteristic compensation filter for compensating a dynamic characteristic of a control system of the motor 3; and an operation evaluation unit 25 that calculates, in each repetition period including at least one of the predetermined periods, an evaluation value representing a magnitude of the positional deviation in each of the predetermined sampling periods within the repetition period, and changes a configuration of the dynamic characteristic compensation filter so that the evaluation value satisfies a predetermined condition.

[0012] According to another embodiment, a motor control computer program is provided for controlling a motor 3 that drives a movable element 2 that periodically repeats a specific operation. The motor control computer program causes a computer to perform the following: generating a phase signal with a predetermined period; generating a disturbance signal repeated at the predetermined period based on the phase signal; calculating, in each predetermined sampling period, a position deviation between a position of the movable element 2 specified by a position command and a position of the movable element 2 measured by a position detector 4; adding a correction amount for correcting the position deviation to the position deviation; adding the disturbance signal to a drive signal for driving the motor 3, which is generated based on the position deviation to which the correction amount has been added;and causing the motor 3 to operate based on the drive signal to which the disturbance signal has been added, calculating the correction amount using a dynamic characteristic compensation filter for compensating a dynamic characteristic of a control system of the motor 3 such that the positional deviation is reduced, and calculating, in each repetition period including at least one of the predetermined periods, an evaluation value representing a magnitude of the positional deviation in each of the predetermined sampling periods within the repetition period, and changing a configuration of the dynamic characteristic compensation filter such that the evaluation value satisfies a predetermined condition.

[0013] According to one aspect, position control accuracy can be improved when a movable member driven by the motor is caused to repeat a certain operation. Brief description of the drawings Fig. 1 is a schematic configuration diagram of an engine control system and a control device included in the engine control system according to an embodiment. Fig. 2 is a functional block diagram of a processor of the control device relating to learning control processing and calibration processing. Fig. 3 is a diagram showing an example of a display of a value of a parameter that is a change target of a dynamic characteristic compensation filter. Fig. 4A and Fig. 4B each shows an operation flowchart of the calibration processing. Description of the embodiments

[0014] A control device of a motor according to an embodiment of the present invention will be described below with reference to the drawings. The control device controls a motor (e.g., a servo motor) for driving a movable member of an automatic machine such as a robot or a machine tool. Specifically, the control device optimizes a filter for compensating a dynamic characteristic of a control system of the motor (hereinafter simply referred to as a dynamic characteristic compensation filter) with respect to a periodic disturbance applied when the movable member is caused to repeat the same operation in each constant operation period. To achieve this, the control device generates a disturbance signal of a predetermined period that pseudo-represents a periodic disturbance when executing calibration processing.Then, the controller operates the motor in addition to applying the disturbance signal to a speed command or a current command obtained from a position command indicating a target rotation amount of the motor (i.e., a target position of the movable member driven by the motor). Furthermore, the controller optimizes a configuration of the dynamic characteristic compensation filter such that an evaluation value representing a position deviation amount between an actual measurement position of the motor and a position specified by the position command satisfies a predetermined condition. Then, the controller applies the optimized configuration of the dynamic characteristic compensation filter when the movable member machines a workpiece.

[0015] Oscillation in a period different from that of the disturbance may occur, for example, in the case of positional deviation due to nonlinear oscillation caused by mechanical resonance or backlash. Furthermore, learning control has the characteristic of amplifying a disturbance that is not adapted to repetitive operation. In the prior art described above, when these phenomena occur, positional deviation may not be suppressed. However, the control device according to the present embodiment can optimize the configuration of the dynamic characteristic compensation filter so that positional deviation can be reduced even when these phenomena occur.

[0016] Fig. 1 is a schematic configuration diagram of a motor control system 1 and a control device 5 included in the motor control system 1 according to an embodiment. The motor control system 1 includes a movable member 2, a servomotor 3 that drives the movable member 2, a position detector 4 for measuring a rotation amount based on a reference position of the servomotor 3, i.e., a position of the movable member 2, and the control device 5.

[0017] The movable member 2 is, for example, a tool provided on a machine tool or a robot, and is attached directly or indirectly via a gear and the like to a rotating shaft of the servo motor 3. Then, the movable member 2 is driven by the servo motor 3 and repeats the same operation in each constant operation period, so that the same processing is performed on a single workpiece (not shown).

[0018] The servo motor 3 is an example of a motor and drives the movable member 2 by rotating according to a drive current supplied from the control device 5.

[0019] The position detector 4 is, for example, a rotary encoder or resolver and is mounted on the rotary shaft of the servo motor 3. Then, the position detector 4 measures a rotation amount (i.e., an actual position of the movable element 2) based on a reference position of the servo motor 3 and outputs the measured value to the controller 5.

[0020] The controller 5 controls the servo motor 3 to cause the movable member 2 attached to the servo motor 3 to perform a predetermined operation. In the present embodiment, by applying so-called learning control to the control of the servo motor 3, the controller 5 reduces a positional deviation between a target position of the movable member 2 and an actual position in each predetermined sampling period while performing the predetermined operation.

[0021] To achieve this, the control device 5 comprises a user interface 11, a communication interface 12, a drive circuit 13, a memory 14 and a processor 15.

[0022] The user interface 11 includes, for example, an input device such as a keyboard or a mouse, and a display device. Alternatively, the user interface 11 may include a device in which the input device and the display device are integrally formed, such as a touch panel display. Then, the user interface 11 generates an operation signal representing an operation such that an operation of the servo motor 3 is started or stopped according to a user operation, and transmits the operation signal to the processor 15. Furthermore, the user interface 11 displays various display information received from the processor 15.The display information includes, for example, information representing an operating situation of the servo motor 3 or the movable member 2, information representing a relationship between an evaluation value of a position deviation and each parameter value of a parameter set defining a configuration of a dynamic characteristic compensation filter during execution of the calibration processing, and the like.

[0023] The communication interface 12 includes, for example, a communication interface for connecting the control device 5 to a communication line, a circuit for executing processing related to transmitting and receiving a signal via a communication line, and the like. Then, the communication interface 12 receives, for example, from a host controller (not shown), a series of position commands and the like indicating an individual target position during a predetermined operation when the movable element 2 is caused to perform the predetermined operation, and transmits the received position command to the processor 15.In addition, the communication interface 12 includes an interface for connecting a signal line from the position detector 4 and transmits a measured value of a position of the movable element 2 to the processor 15 each time the communication interface 12 receives the measured value from the position detector 4.

[0024] The drive circuit 13 includes a circuit for supplying electrical power to the servo motor 3. The drive circuit 13 is connected to the servo motor 3 via a power supply cable and supplies electrical power to the servo motor 3 according to a torque to be generated by the servo motor 3, a rotation direction, or a rotational speed according to a current command received from the processor 15.

[0025] Memory 14 represents an example of a storage unit and includes, for example, a read / write semiconductor memory and a read-only semiconductor memory. Furthermore, memory 14 may include a storage medium, such as a semiconductor memory card, a hard disk, or an optical storage medium, and a device that accesses the storage medium.

[0026] The memory 14 stores various computer programs (i.e., a computer program for controlling the servo motor 3) executed in the processor 15 of the control device 5. In addition, the memory 14 stores correction data for correcting a positional deviation between a target position of the movable member 2 and an actual position when the servo motor 3 is caused to perform a predetermined operation, a parameter set defining a configuration of the dynamic characteristic compensation filter for compensating a dynamic characteristic of a control system of the servo motor 3 implemented by the motor control system 1, and the like.

[0027] The processor 15 is an example of a control unit and includes, for example, a central processing unit (CPU) and a peripheral circuit of the CPU. Furthermore, the processor 15 may include a numerical operation processor. Then, the processor 15 executes learning control on the entire motor control system 1 to perform learning control processing that causes the servo motor 3 and the movable element 2 to repeatedly perform a predetermined operation. Furthermore, the processor 15 executes calibration processing to calibrate the dynamic characteristic compensation filter.

[0028] Fig. 2 is a functional block diagram of the processor 15 related to learning control processing and calibration processing. The processor 15 includes a drive signal generation unit 21, a phase signal generation unit 22, a repetition command generation unit 23, a learning control unit 24, and an operation evaluation unit 25. Each of these units of the processor 15 is, for example, a functional module implemented by a computer program executed in the processor 15. Alternatively, each of these units may be installed as a dedicated arithmetic circuit installed on a part of the processor 15. Note that each of these units of the processor 15—namely, the phase signal generation unit 22, the repetition command generation unit 23, and the operation evaluation unit 25—is used in calibration processing.The drive signal generation unit 21 and the learning control unit 24, on the other hand, are used in both the calibration processing and the learning control processing. Note that, unless the applicable processing is clearly specified in the following description, the same control is performed in both the calibration processing and the learning control processing. Note that in . Fig. 2 For the sake of simplicity, the illustration of the drive circuit 13 has been omitted.

[0029] The drive signal generation unit 21 generates a drive signal for driving the servo motor 3 every predetermined sampling period (i.e., each control period for controlling the servo motor 3) that is shorter than a period of repetitive operation of the movable member 2 (hereinafter referred to as an operation period). Then, the drive signal generation unit 21 causes the servo motor 3 to operate by outputting the generated drive signal to the drive circuit 13. To achieve this, the drive signal generation unit 21 includes a subtractor 31, three adders 32 to 34, a speed control unit 35, a current control unit 36, and two switches 37 and 38. Then, the drive signal generation unit 21 causes the servo motor 3 to operate according to position loop control and speed loop control.

[0030] The subtractor 31 calculates a difference (positional deviation) between a target position of the movable member 2 represented by a position command from the host controller and a measured value of an actual position of the movable member 2 received from the position detector 4 in every predetermined sampling period, and outputs the calculated positional deviation to the adder 32 and the learning control unit 24.

[0031] Each time the adder 32 receives the position deviation from the subtractor 31, the adder 32 corrects the position deviation by adding a correction amount received from the learning control unit 24 to the position deviation. Then, the adder 32 outputs the corrected position deviation to the speed control unit 35.

[0032] Each time the speed control unit 35 receives the corrected position deviation, the speed control unit 35 calculates a speed command by multiplying the corrected position deviation by a position gain. Note that the speed command is an example of a drive signal for driving the servo motor 3. The speed control unit 35 then outputs the speed command to the adder 33.

[0033] When the switch 37 is turned ON during the execution of the calibration processing, the adder 33 adds a periodic disturbance to the speed command each time the adder 33 receives the speed command by adding a value in the sampling period of a disturbance signal generated by the repetition command generation unit 23 to a speed command value represented by the speed command. Then, the adder 33 outputs the speed command to which the periodic disturbance has been added to the current control unit 36. On the other hand, when the switch 37 is turned OFF during the execution of the calibration processing or during the execution of the learning control processing, the adder 33 outputs the received speed command as it is to the current control unit 36 ​​each time the adder 33 receives the speed command.

[0034] Each time the current control unit 36 ​​receives the speed command, the current control unit 36 ​​obtains a speed deviation representing a difference between the speed command value represented by the speed command and an actual speed of the servo motor 3, and calculates a current command by performing speed loop control, such as proportional integral control, on the speed deviation. Note that the current command is another example of a drive signal for driving the servo motor 3. Furthermore, for example, an actual speed of the servo motor 3 is calculated from a position of the servo motor detected by the position detector during each sampling period. Alternatively, a speed sensor (not shown) for detecting a speed of the servo motor 3 may be provided, and an actual speed of the servo motor 3 may be measured by the speed sensor.The current control unit 36 ​​outputs the current command to the adder 34.

[0035] When the switch 38 is turned ON during the execution of the calibration processing, the adder 34 adds a periodic disturbance to the current command each time the adder 34 receives the current command by adding a value in the sampling period of a disturbance signal generated by the repetition command generation unit 34 to a current command value represented by the current command. Then, the adder 34 outputs the current command to which the periodic disturbance has been added to the drive circuit 13. On the other hand, when the switch 38 is turned OFF during the execution of the calibration processing or during the execution of the learning control processing, the adder 34 outputs the received current command as it is to the drive circuit 13 each time the adder 34 receives the current command.

[0036] During the execution of the calibration processing, one of the two switches 37 and 38 is turned ON and the other is turned OFF. Which of the two switches is turned ON is determined, for example, according to a user operation via the user interface 11 or according to a computer program for the calibration processing. For example, when a load of the servomotor 3 is relatively large and a position deviation in response to the disturbance cannot be accurately evaluated even by applying the disturbance to the current command, the switch 37 is turned on and the disturbance is added to the speed command. Conversely, when a load of the servomotor 3 is relatively small, the switch 38 is turned on and the disturbance is added to the current command. Thus, the controller 5 can more precisely optimize the dynamic characteristic compensation filter with respect to the periodic disturbance.It is noted that when the learning control processing is executed, both of the two switches 37 and 38 are set to OFF.

[0037] During the execution of the calibration processing, the phase signal generation unit 22 generates, at each predetermined generation period, a phase signal having a predetermined period and representing a phase (e.g., any value included in a range from 0 to 2π (or 0° to 360°)) in the predetermined period. The predetermined period may be, for example, identical to a period of a periodic disturbance assumed to be applied to an operation of the servomotor 3 when the movable member 2 performs an operation on a workpiece, and may also be identical to an operation period of the movable member 2, for example. Furthermore, the predetermined period may be different from the operation period of the movable member 2 if the period of the periodic disturbance assumed to be applied to the servomotor 3 can be obtained by the learning control unit 24.For example, when a disturbance is applied to a tool in response to a rotation angle relative to a workpiece, which causes the servo motor 3 to operate during processing to rotate the workpiece and the tool relative to each other, the predetermined period may be identical to an assumed rotation period of the workpiece. Furthermore, the predetermined generation period may be identical to or different from the sampling period described above. Note that the generation period is preferably shorter than the sampling period so that a disturbance signal accurately simulates the periodic disturbance generated when the movable element 2 performs an operation on a workpiece.

[0038] Each time the phase signal generating unit 22 generates a phase signal, the generated phase signal is output to the repetition command generating unit 23 and the learning control unit 24.

[0039] During calibration processing, the repetition command generation unit 23 generates, based on the phase signal, a disturbance signal simulating a periodic disturbance generated when the movable member 2 performs an operation on a workpiece. The periodic disturbance is represented, for example, by a sine wave or triangular wave. Then, each time the repetition command generation unit 23 receives the phase signal, the repetition command generation unit 23 generates the disturbance signal such that a phase of the disturbance signal is adjusted to a phase represented by the phase signal, and outputs the generated disturbance signal. The disturbance signal output from the repetition command generation unit 23 is added to the speed command or current command by the adder 33 or the adder 34 via one of the two switches 37 and 38.

[0040] The learning control unit 24 calculates a correction amount for correcting a position deviation in each predetermined sampling period. To achieve this, the learning control unit 24 includes a time / angle conversion unit 41, an adder 42, a filter unit 43, a correction data update unit 44, an angle / time conversion unit 45, and a dynamic characteristic compensation unit 46.

[0041] During calibration processing, each time a position deviation is input, the time / angle conversion unit 41 assigns the position deviation to any one of a plurality of phase segments representing units in which correction data is created. For example, m (m includes two or more integers, such as 72, 180, and 360) phase segments of equal length are set to a period of 0 to 360° of a phase signal. Each time a position deviation is input, the time / angle conversion unit 41, upon input of the position deviation, sets a phase segment comprising a phase represented by a phase signal and assigns the position deviation to the set phase segment. For example, if a phase is represented by a unit of 0.1° (i.e., a phase is represented by a value of 0 to 3599) in a phase signal and a length of each phase segment is 1° (i.e.,there are 360 ​​phase segments), the time / angle conversion unit 41 can set a phase segment including the phase based on a value obtained by dividing a value of a phase represented by the phase signal by 10 (= 1° / 0.1°).

[0042] During the execution of the learning control processing, the time / angle conversion unit 41 also sets, each time a position deviation is input, one of a plurality of phase segments corresponding to the position based on a reference position (e.g., a target position specified by a position command or a position of the movable member 2 measured by the position detector 4) at the time the position deviation is input. The time / angle conversion unit 41 then assigns the input position deviation to the specified phase segment.In this case, the time / angle conversion unit 41 can set a corresponding phase interval by multiplying a ratio of a sequence of position commands at the time of inputting the position deviation from the start of a predetermined repetitive operation to a total number of position commands for causing the movable member 2 to perform the one predetermined repetitive operation by the number of phase intervals. Alternatively, the time / angle conversion unit 41 can set a corresponding phase interval by multiplying a ratio of a movement distance of the movable member 2 from a movement start position of the movable member 2 when the servo motor 3 is caused to perform a predetermined operation to a reference position at the time of inputting the position deviation to a movement distance from the movement start position to a movement completion position by the number of phase intervals.If another motor is present that operates synchronously with the movable member 2 when the servo motor 3 is caused to perform a predetermined operation, the time / angle conversion unit 41 may further set a phase interval by a position command to the synchronously operating other motor or a measured position as a reference position. When the predetermined repetitive operation of the movable member 2 is performed by superimposing a position command from the host controller with a repeat command based on a predetermined phase signal or superimposing a position command from the motor control unit with a repeat command based on a phase signal generated by the phase signal generation unit 22, the time / angle conversion unit 41 may further set a phase interval based on the phase signal, similarly to during the execution of the calibration processing. When a plurality of periods (ieFurthermore, when a period of a phase signal (i.e., a period of a noise signal) is included in a repetitive operation of the movable member 2, the time / angle conversion unit 41 can determine a phase portion corresponding to a reference position by referring to a reference table, which is stored in advance in the memory 14 and represents a correspondence between the reference position and the phase portion. Alternatively, the time / angle conversion unit 41 obtains a remainder number when the number of times a position command is received during a movement from the movement start position of the movable member 2 to the reference position is divided by the number of times a position command is received corresponding to one period of a phase signal.Then, the time / angle conversion unit 41 can set a corresponding phase interval by multiplying the number representing the remainder by a ratio of the number of phase intervals to the reception number of the position command corresponding to one period of the phase signal.

[0043] The time / angle conversion unit 41 outputs the input position deviation and information representing the specified phase interval corresponding to the position deviation to the adder 42.

[0044] Each time the position deviation is input, the adder 42 reads correction data from the memory 14 prior to one period of the phase signal with respect to the phase segment corresponding to the position deviation and adds the read correction data to the input position deviation. The adder 42 then outputs the position deviation to which the correction data prior to one period has been added, along with the information representing the corresponding phase segment, to the filter unit 43.

[0045] Each time the position deviation to which the correction data was added one period ago is input, the filter unit 43 updates the correction data by applying a low-pass filter to the position deviation in such a way that a high-frequency component is attenuated. Note that the low-pass filter may be, for example, a finite impulse response (FIR) filter. The filter unit 43 then outputs the updated correction data, along with the corresponding phase-cut information, to the correction data update unit 44.

[0046] Each time the correction data updating unit 44 receives the updated correction data, the correction data updating unit 44 writes the updated correction data together with the corresponding phase segment into the memory 14.

[0047] Similarly to the time / angle conversion unit 41, the angle / time conversion unit 45, upon input of a position deviation, sets a phase interval corresponding to a reference position or a phase signal. The angle / time conversion unit 45 then reads correction data corresponding to the specified phase interval from the memory 14 and transmits the read correction data to the dynamic characteristic compensation unit 46.

[0048] Each time a position deviation is input to the learning control unit 24, the dynamic characteristic compensation unit 46 calculates a correction amount for the position deviation by applying the dynamic characteristic compensation filter to the correction data obtained by the angle / time conversion unit 45. The dynamic characteristic compensation unit 46 then outputs the calculated correction amount to the adder 32 of the drive signal generation unit 21.

[0049] The dynamic characteristic compensation filter used by the dynamic characteristic compensation unit 46 may, for example, be an FIR phase-advanced filter for compensating for a phase lag of correction data. Furthermore, the dynamic characteristic compensation unit 46 may use a band-limiting FIR filter with a linear phase characteristic together with the phase-advanced filter as the dynamic characteristic compensation filter. Regarding these filters, reference is made, for example, to Inoue et al., "High Precision Control of Playback Servo System," The Institute of Electrical Engineers of Japan Journal C, Vol. 101, No. 4, pp. 89 to 96, 1981.As described in more detail later, during calibration processing, a parameter set defining a configuration of the dynamic characteristic compensation filter, such as the number of taps of the dynamic characteristic compensation filter, a weighting factor of each order, or the number of weighting factors having a value other than 0 of the weighting factors of each order, is optimized by the operation evaluation unit 25 and stored in the memory 14. The dynamic characteristic compensation unit 46 can read the parameter set defining the configuration of the dynamic characteristic compensation filter from the memory 14 and use the parameter set.

[0050] Each time a predetermined number of phase signal periods (e.g., 1, 5, 10, etc.) are generated during calibration processing, that is, in each repetition period, the operation evaluation unit 25 calculates an evaluation value representing a position deviation magnitude in each predetermined sampling period within the repetition period, and changes the configuration of the dynamic characteristic compensation filter so that the evaluation value satisfies a predetermined condition. Note that when executing the learning control processing, the predetermined condition is, for example, a condition where a position deviation converges to equal to or less than a predetermined value.

[0051] The evaluation value may, for example, be a root mean square of a position deviation calculated for each of a series of position commands in each sampling period included in a repetition period of a phase signal, or a sum of absolute values ​​of position deviations.

[0052] Each time the operational evaluation unit 25 calculates an evaluation value, the operational evaluation unit 25 changes at least one parameter of the parameter set that defines the configuration of the dynamic characteristic compensation filter (e.g., the phase-advanced filter or band-limiting filter described above). As described above, when the dynamic characteristic compensation filter is an FIR filter, the parameter set includes, for example, the number of taps, a weighting factor of each order, and the number of weighting factors that are not 0. For example, in a case where the number of correction data of the memory 14 is equal to the number of taps, an order of a weighting factor that is not 0 defines one phase segment of a plurality of phase segments in which the correction data is read out.At this time, the operation evaluation unit 25 may change a parameter according to any optimization technique, such as a Bayesian optimization method, the steepest descent method, or simulated annealing. Then, the operation evaluation unit 25 obtains an evaluation value that is equal to or less than an allowable upper limit that satisfies a predetermined condition and is also the minimum among the evaluation values ​​obtained by performing evaluation value calculation and parameter change a predetermined number of times, and stores the parameter set corresponding to the minimum evaluation value in the memory 14 as a parameter set to be used in the learning control processing.

[0053] Alternatively, the operation evaluation unit 25 may store the parameter set in which an evaluation value is equal to or less than the allowable upper limit and, further, the shortest route to another parameter set having an evaluation value exceeding the allowable upper limit is maximum when the calculation of an evaluation value and parameter change are performed a predetermined number of times, in the memory 14 as the parameter set to be used in the learning control processing. In this way, the operation evaluation unit 25 can lengthen the time required until a position deviation is increased so that an evaluation value exceeds the allowable upper limit even when a dynamic characteristic of the servo motor 3 changes over time due to wear of the servo motor 3 or the movable member 2.

[0054] Alternatively, when an evaluation value is equal to or less than the allowable upper limit, the operation evaluation unit 25 may store the parameter set corresponding to the evaluation value in the memory 14 as a parameter set to be used in the learning control processing. Furthermore, if a speed command or a current command falls outside a predetermined allowable range, the operation evaluation unit 25 may not use the parameter set at that time.

[0055] When an evaluation value is equal to or less than a predetermined reference value during a parameter change iteration, the operation evaluation unit 25 may reduce a change amount of a value of the parameter to be smaller than a change amount when the evaluation value is greater than the predetermined reference value. Note that the predetermined reference value is set to a value equal to or greater than the allowable upper limit. Alternatively, when an evaluation value is equal to or less than the predetermined reference value during a parameter change iteration, the operation evaluation unit 25 may reduce a range in which a value of the parameter is changed to be narrower than a range in which a value of the parameter is changed when the evaluation value is greater than the reference value.

[0056] Furthermore, during execution of the calibration processing or after completion of the calibration processing, the operation evaluation unit 25 may cause the display device of the user interface 11 to display, for each evaluation value, a value of a parameter representing a change target of the dynamic characteristic compensation filter used for calculating the evaluation value in a highlighted manner according to the evaluation value.

[0057] Fig. Figure 3 is a diagram showing an example of a value display of a parameter representing a change target of the dynamic characteristic compensation filter. In this example, two weighting factors other than 0 are selected as parameters representing change targets. In this case, a dynamic characteristic compensation filter Gx(z) is expressed, for example, by the following equation. Gx(z)=wxZx+wyZy

[0058] Here X and Y each represent an order of an FIR filter and Z x and Z y are each a value of correction data of orders X and Y. Then wx and wy (wx ≠ 0, wy ≠ 0, wx + wy = 1) are each a weighting factor of orders X and Y. For a Fig. On the display screen 300 shown in Figure 3, the filter order X, at which the correction data is multiplied by the predetermined weighting factor wx, is shown on a horizontal axis, and the filter order Y, at which the correction data is multiplied by the predetermined weighting factor wy, is shown on a vertical axis. For example, assuming that the number of taps is 360 and the filter order is 1, Z is 1a value obtained by previously reading correction data 359° ago from a certain phase segment, i.e., correction data 1° ago, from the memory 14. Then, a single point 301 represents a combination (X and Y) of the orders having an actually calculated evaluation value. In addition, the single point 301 is highlighted in response to an evaluation value calculated for a combination of weighting factors corresponding to the point. For example, a point 301a corresponding to a combination of weighting factors having an evaluation value equal to or smaller than the allowable upper limit is displayed in green. Meanwhile, a point 301b corresponding to a combination of weighting factors having an evaluation value greater than the allowable upper limit is displayed in orange.Note that a shape, size, or brightness of each dot may be changed in response to an evaluation value. For example, a shape of a dot when an evaluation value is equal to or less than the allowable upper limit and a shape of a dot when an evaluation value is greater than the allowable upper limit may be different from each other. Furthermore, a dot 301c corresponding to a combination of weighting factors selected by the operation evaluation unit 25 for use in the learning control processing may be displayed in a color (e.g., blue or black) different from the color of a dot corresponding to a combination of other weighting factors, or may be flashed.Therefore, a user can visually perceive a combination of weighting factors having an evaluation value equal to or less than the allowable upper limit, indicated by an area surrounded by a dashed line 302, by observing the distribution of the points 301. Note that when the user points to any of the points with a mouse, the processor 15 may further cause the display device to display an evaluation value calculated for a combination of weighting factors corresponding to the point, corresponding correction data, or information indicating whether a positional deviation is converging.

[0059] Furthermore, the user may be able to select a parameter set of the dynamic characteristic compensation filter to be used in the learning control processing by referring to the distribution of points displayed on the display screen. In this case, when an operation (e.g., an operation by double-clicking specific coordinates) representing a selection of a parameter set of the dynamic characteristic compensation filter to be used in the learning control processing is performed via the user interface 11, the user interface 11 may generate an operation signal representing the selection and output the generated operation signal to the processor 15. Then, the processor 15 may determine the parameter set of the dynamic characteristic compensation filter to be used in the learning control processing according to the operation signal and store the parameter set in the memory 14.

[0060] It should be noted that when there are three or more parameters representing change targets, the operation evaluation unit 25 may cause the display device to perform the display as described above for any two of the parameters representing the change targets. In this case, for example, a combination of the parameters to be displayed may be selected by a user operation via the user interface 11.

[0061] Fig. 4A and Fig. 4B each show an operational flowchart of the calibration processing. The processor 15 executes the calibration processing in each period of a phase signal, that is, each period of a noise signal, according to the following operational flowcharts.

[0062] As in Fig. As shown in Figure 4A, the phase signal generation unit 22 generates a phase signal (step S101). The repetition command generation unit 23 generates a disturbance signal representing a periodic disturbance based on the phase signal (step S102). The drive signal generation unit 21 determines whether the phase signal is in a first period (step S103). If the phase signal is in the first period (Yes in step S103), the drive signal generation unit 21 adds the disturbance signal to a speed command or current command every predetermined sampling period to generate the speed command or current command to which the disturbance has been added.Then, the drive signal generation unit 21 drives the servo motor 3 according to the speed command or current command to which the disturbance signal has been added, and calculates a position deviation between a target position of the movable member 2 specified by a position command and an actual position of the movable member 2 measured by the position detector 4 (step S104). Each time the position deviation is input, the learning control unit 24 generates correction data based on a phase signal at the time of the position deviation input by applying the low-pass filter to the position deviation (step S105).

[0063] On the other hand, if the phase signal is not in the first period, that is, if the phase signal is in a second or later period (No in step S103), the drive signal generation unit 21 adds the disturbance signal to a speed command or current command corrected using a correction amount input from the learning control unit 24 every predetermined sampling period to generate the speed command or current command to which the disturbance has been added. Then, the drive signal generation unit 21 drives the servo motor 3 according to the speed command or current command to which the disturbance has been added, and calculates a position deviation between a target position of the movable member 2 specified by a position command and an actual position of the movable member 2 measured by the position detector 4 (step S106).

[0064] Each time the position deviation is input, the learning control unit 24 sets correction data in the same phase as one period ago based on a phase signal when the position deviation was input, reads the set correction data from the memory 14, and adds the read correction data to the position deviation (step S107). Then, the learning control unit 24 updates the correction data by applying the low-pass filter to the position deviation to which the correction data has been added, and calculates a correction amount for the input position deviation by applying the dynamic characteristic compensation filter to the updated correction data (step S108).

[0065] As in Fig.4B, after step S105 or S108, the operation evaluation unit 25 determines whether phase signals of a predetermined number of periods (i.e., one repetition period) have been generated (step S109). If the phase signals of the predetermined number of periods have not been generated (No in step S109), the processor 15 repeats the processing in and after step S101. On the other hand, if the phase signals of the predetermined number of periods have been generated (Yes in step S109), the operation evaluation unit 25 calculates an evaluation value and, based on the evaluation value, updates a parameter set defining a configuration of the dynamic characteristic compensation filter (step S110).

[0066] The operation evaluation unit 25 determines whether the number of calculations of the evaluation value and the number of updates of the parameter set reach a predetermined number (step S111). If the number of calculations of the evaluation value and the number of updates of the parameter set do not reach the predetermined number (No in step S111), the processor 15 readjusts the correction amount and the correction data using the parameter set stored in the memory 14 before the update, and the phase signal generation unit 22 readjusts the number of periods (i.e., the number of repetitions) of the phase signal (step S112). Then, the processor 15 repeats the processing in and after step S101.

[0067] On the other hand, if the number of evaluation value calculations and the number of parameter set updates reach the predetermined number (Yes in step S111), the operation evaluation unit 25 selects the parameter set corresponding to a minimum evaluation value as the parameter set to be used in the learning control processing (step S113). Then, the processor 15 stores the selected parameter set in the memory 14 and completes the calibration processing.

[0068] It is noted that when a minimum value of the evaluation value exceeds the allowable upper limit even if the number of calculations of the evaluation value and the number of updates of the parameter set reach the predetermined number, the operation evaluation unit 25 may notify the user through the user interface 11 that the evaluation value does not converge to equal to or less than the allowable upper limit.

[0069] As described above, the motor controller changes a parameter set defining a configuration of the dynamic characteristic compensation filter to minimize an evaluation value representing a position deviation magnitude, and further adds a disturbance signal simulating a periodic disturbance to a speed command or a current command for driving the servomotor. Thus, the controller can improve position control accuracy even when a periodic disturbance is added while the movable element driven by the motor repeats a specific operation.

[0070] A computer program that realizes a function of each unit of the processor 15 of the control device 5 according to the embodiment or modified example described above can be provided by recording it in a computer-readable portable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium.

[0071] All examples and conditional language used herein are intended to serve an educational purpose to assist the reader in understanding the concepts contributed by the inventor of the present invention and advancing the art, and should not be construed as limited to such specifically mentioned examples and conditions, nor to the organization of such examples in the description, which relates to a demonstration of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that various changes, substitutions, and modifications may be made therein without departing from the spirit and scope of the invention.

Claims

[1] A control device for a motor (3) which drives a movable element (2) so as to cause the movable element (2) to repeat a specific operation, the control device comprising: - a phase signal generating unit (22) which generates a phase signal with a predetermined period, - an interference signal generating unit (23) which generates an interference signal repeated in the predetermined period based on the phase signal, - a drive signal generation unit (21) that calculates a position deviation between a position of the movable element (2) specified by a position command and a position of the movable element (2) measured by a position detector (4) in each predetermined sampling period, adds a correction amount for correcting the position deviation to the position deviation, adds the disturbance signal to a drive signal for driving the motor (3) that is generated based on the position deviation to which the correction amount has been added, and causes the motor (3) to operate based on the drive signal to which the disturbance signal has been added, - a learning control unit (24) which calculates the correction amount so as to reduce the position deviation by using a dynamic characteristic compensation filter for compensating a dynamic characteristic of a control system of the motor (3), and - an operation evaluation unit (25) which, in each repetition period comprising at least one of the predetermined periods, calculates an evaluation value representing a magnitude of the position deviation in each of the predetermined sampling periods within the repetition period, and changes a configuration of the dynamic characteristic compensation filter so that the evaluation value satisfies a predetermined condition. [2] The control device according to claim 1, wherein the learning control unit (24) adds, in each of the predetermined sampling periods, to the positional deviation correction data representing a correction amount of a positional deviation before a period in the predetermined period, calculates, in the sampling period, correction data by applying a low-pass filter to the positional deviation to which the correction data has been added, and calculates the correction amount by applying the dynamic characteristic compensation filter to the correction data. [3] Control device according to claim 1 or 2, wherein - the dynamic property compensation filter is a finite impulse response filter (FIR / Finite Impulse Response filter), and - the operational evaluation unit (25) changes a change parameter comprising the number of taps of the dynamic property compensation filter, a weighting factor of each order and / or the number of weighting factors that are not 0 of the weighting factors of each order, such that the evaluation value satisfies the predetermined condition. [4] The control device according to claim 3, wherein the operation evaluation unit (25) determines a value of the change parameter such that the evaluation value farthest from a value of the change parameter of the dynamic characteristic compensation filter is an allowable upper limit value that satisfies the predetermined condition. [5] The control device according to claim 3 or 4, wherein the operation evaluation unit (25) causes a display device (11) to highlight the change parameter of the dynamic characteristic compensation filter in each of the predetermined periods according to a determination result as to whether the evaluation value in the period satisfies the predetermined condition. [6] A motor control computer program for controlling a motor (3) driving a movable element (2) so as to cause the movable element (2) to repeat a specific operation, the motor control computer program causing a computer to perform the following: - Generating a phase signal with a predetermined period, - Generating a disturbance signal repeated in the specified period based on the phase signal, - calculating, in each predetermined sampling period, a position deviation between a position of the movable element (2) specified by a position command and a position of the movable element (2) measured by a position detector (4), adding a correction amount for correcting the position deviation to the position deviation, adding the disturbance signal to a drive signal for driving the motor (3) generated based on the position deviation to which the correction amount has been added, and causing the motor (3) to operate based on the drive signal to which the disturbance signal has been added, - calculating the correction amount using a dynamic characteristic compensation filter for compensating a dynamic characteristic of a control system of the motor (3) such that the position deviation is reduced, - calculating, in each repetition period comprising at least one of the predetermined periods, an evaluation value representing a magnitude of the position deviation in each of the predetermined sampling periods within the repetition period, and - Changing a configuration of the dynamic property compensation filter so that the evaluation value satisfies a specified condition.

Citation Information

Patent Citations

  • Servo control system for improving machining accuracy with a monotonically increasing reference signal

    DE102011111952A1

  • Servo motor drive control device

    JP2004280772A

  • Control system and control support device

    JP2009122779A

  • Servo control device having function for performing automatic regulation of learning control device

    JP2017084104A

  • JP002004280772A