Control assistance system, control assistance method, and control assistance program

The control assistance system optimizes motor control device configuration by simulating controller combinations and determining optimal parameters, addressing the challenge of time and cost in existing optimization methods.

WO2025248625A1PCT designated stage Publication Date: 2025-12-04YASKAWA DENKI KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/019557
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-28
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing motor control devices require significant time and cost to determine the optimal configuration of multiple controllers, making overall optimization difficult.

Method used

A control assistance system that simulates various candidate combinations of controllers to calculate virtual performance data, determining a recommended configuration through a simulation and optimization process, which includes selecting and adjusting operating parameters of candidate controllers.

Benefits of technology

Facilitates easier and more efficient determination of the motor control device configuration, optimizing controller selection and parameter adjustment, thereby enhancing machine performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024019557_04122025_PF_FP_ABST
    Figure JP2024019557_04122025_PF_FP_ABST
Patent Text Reader

Abstract

This control assistance system comprises: a simulation unit for calculating virtual performance data with respect to each of a plurality of candidate combinations of a plurality of candidate controllers structuring a motor control device to operate a machine, through a simulation based on characteristic data indicating characteristics of the machine and the candidate combinations, the virtual performance data indicating virtual performance of the machine under virtual control of the motor control device; and a determination unit for selecting one candidate combination from among the plurality of candidate combinations on the basis of the virtual performance data of each of the plurality of candidate combinations, and determining the selected candidate combination as a recommended configuration of the motor control device used for operating the machine.
Need to check novelty before this filing date? Find Prior Art

Description

Control support system, control support method, and control support program

[0001] One aspect of the present disclosure relates to a control assistance system, a control assistance method, and a control assistance program.

[0002] There is known a technique for determining the configuration of a motor control device that operates a machine. For example, Patent Document 1 describes a notch filter adjustment device that includes a vibration extraction unit that extracts one or more vibration components that are caused by one or more resonance characteristics of a controlled object and that are superimposed on a response of a control system, a sequential frequency estimator that sequentially estimates the frequency of one vibration component and outputs a vibration frequency estimate sequence, and a resonance number estimator that outputs, based on the vibration frequency estimate sequence, the number of resonance characteristics that cause vibrations that are superimposed on the response of the control system as a resonance number estimate sequence, and that installs a number of notch filters corresponding to the values ​​of the resonance number estimate sequence in series downstream of a controller of the control system.

[0003] Japanese Patent Application Laid-Open No. 2020-204823

[0004] There is a demand for a mechanism that allows for easier determination of the overall configuration of a motor control device that is made up of multiple controllers than has been possible in the past.

[0005] A control assistance system according to one aspect of the present disclosure includes a simulation unit that calculates virtual performance data indicating the virtual performance of a machine under virtual control by the motor control unit for each of a plurality of candidate combinations of a plurality of candidate controllers that constitute a motor control unit that operates a machine, by simulating the candidate combinations and characteristic data indicating the characteristics of the machine, and a determination unit that selects one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determines the selected candidate combination as the recommended configuration for the motor control unit to be used to operate the machine.

[0006] According to one aspect of the present disclosure, the overall configuration of a motor control device made up of multiple controllers can be determined more easily than in the past.

[0007] It is a diagram showing an example of the functional configuration of a control assistance system. It is a diagram showing an example of the hardware configuration of a computer used for the control assistance system. It is a flowchart showing an example of a control assistance method. It is a diagram showing an example of selecting virtual performance data and candidate combinations by an optimization method.

[0008] Various examples of the present disclosure will be described in detail below with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.

[0009] [System Overview] The control assistance system according to the present disclosure is a computer system for determining the configuration of a motor control device that operates a machine. A machine is a device that receives power, performs a predetermined operation according to a purpose, and performs useful work. A machine is also called a controlled object. A motor control device is a device that causes the output of a machine's motor to follow a command signal from a host controller.

[0010] In order to operate a motor control device optimally in accordance with the characteristics of the machine, it is necessary to determine which of the multiple controllers that make up the motor control device to use (i.e., which to enable) and adjust the operating parameters of the controller that is to be used (enabled). Because combining controllers and adjusting their operating parameters takes a great deal of time and cost, it is difficult to achieve overall optimization of the motor control device.

[0011] The control assistance system automatically determines a motor control device configuration predicted to be optimal through simulation. The control assistance system runs a simulation for each of multiple candidate combinations of multiple candidate controllers that make up the motor control device. In each simulation, the control assistance system calculates virtual machine performance resulting from virtual control of the motor control device. Based on the results of each simulation, the control assistance system determines one of the multiple candidate combinations as a recommended configuration for the motor control device. The recommended configuration is a motor control device configuration predicted to be optimal and is used to operate a real machine using the real motor control device. The recommended configuration indicates which of the multiple candidate controllers should be enabled and which should be disabled. The control assistance system presents the recommended configuration to a user. The user configures or adjusts the motor control device based on the recommended configuration and operates the machine using the motor control device. By using the control assistance system, a user can more easily configure or adjust the motor control device to match the characteristics of the machine than before.

[0012] In this disclosure, the multiple controllers that make up the motor control device are classified into two groups: basic controllers and candidate controllers. That is, the motor control device includes one or more basic controllers and one or more candidate controllers. A basic controller is a controller that has the basic control function of the motor control device. A basic controller is always used to operate the machine (i.e., always enabled) and is therefore commonly used among multiple candidate combinations in a simulation. On the other hand, a candidate controller is a controller that can be selectively added to that basic control function (basic controller). Each candidate controller may or may not be used (i.e., disabled) to operate the machine.

[0013] In one example, each candidate controller has one or more operating parameters for adjusting the control performance of the candidate controller. The control assistance system may further determine, as a recommended configuration, values ​​of the respective operating parameters of the one or more candidate controllers constituting the selected candidate combination. "Candidate controllers constituting the selected candidate combination" refers to candidate controllers that are enabled to operate a machine in the selected candidate combination. The control assistance system may further determine, as a recommended configuration, values ​​of the respective operating parameters of the one or more basic controllers.

[0014] [System Configuration] An example of the configuration of the control assistance system 1 will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the functional configuration of the control assistance system 1. The control assistance system 1 determines a recommended configuration for a motor control device 3 that operates a machine 2. Both the machine 2 and the motor control device 3 exist in real space.

[0015] The machine 2 may be an industrial machine, a machine tool, or a robot. The machine 2 includes a driven object and a motor. The driven object is a component that processes a workpiece. The motor is a device that generates power to drive the driven object in response to power supplied from the motor control device 3. The motor may be a rotary motor that rotates the driven object, or a linear motor that displaces the driven object along a straight line. The motor may be a synchronous motor or an induction motor. The motor may be a permanent magnet synchronous motor such as an SPM (Surface Permanent Magnet) motor or an IPM (Interior Permanent Magnet) motor. The motor may be a synchronous motor without a permanent magnet, such as a synchronous reluctance motor. The motor may be a DC motor or an AC motor.

[0016] The motor control device 3 is a device for making the output of the motor of the machine 2 follow a command signal from the host controller. Examples of command signals include a position command and a speed command. Based on the command signal, the motor control device 3 generates power for operating the motor and supplies the power to the motor. This supplied power corresponds to a driving force command such as a torque command or a current command. Examples of the motor control device 3 include a servo amplifier and an inverter.

[0017] The motor control device 3 includes a plurality of controllers that are used or have the potential to be used when actually operating the machine 2. FIG. 1 also shows an example of the functional configuration of the motor control device 3. In this example, the motor control device 3 includes, as controllers, a position controller 31, a speed controller 32, a low-pass filter (LPF) 33, a friction compensator 34, a plurality of notch filters 35 (five notch filters 35), and a vibration controller 36 based on a disturbance observer. The position controller 31, the speed controller 32, the low-pass filter (LPF) 33, and the friction compensator 34 are examples of basic controllers, and the notch filter 35 and the vibration controller 36 are examples of candidate controllers. Therefore, the plurality of candidate controllers that make up the motor control device 3 include two types of candidate controllers.

[0018] The notch filter 35 and the vibration controller 36 are both examples of controllers for suppressing vibration of the machine 2 at a predetermined target frequency. The target frequencies differ among the multiple notch filters 35. The vibration controller 36 is a controller for suppressing vibration at a target frequency that is different from any of the multiple target frequencies corresponding to the multiple notch filters 35, using the estimation result by the disturbance observer.

[0019] In the example of FIG. 1 , the control assistance system 1 includes, as functional components, an acquisition unit 11, a simulation unit 12, and a determination unit 13. The acquisition unit 11 is a functional module that acquires characteristic data indicating the characteristics of the machine 2. The simulation unit 12 is a functional module that calculates virtual performance data of the machine 2 for each candidate combination by performing a simulation based on the characteristic data and multiple candidate combinations of multiple candidate controllers that constitute the motor control device 3. The virtual performance data refers to data that indicates the virtual performance of the machine 2 under virtual control by the motor control device 3. The virtual performance data does not indicate performance observed when the machine 2 is actually operated, but indicates the performance of the machine 2 predicted by calculation on a computer. The determination unit 13 is a functional module that determines one of the multiple candidate combinations as a recommended configuration based on the virtual performance data for each of the multiple candidate combinations.

[0020] The control assistance system 1 can be realized by any type of computer. The computer may be a general-purpose computer such as a personal computer or a business server, or may be incorporated into a dedicated device that executes a specific process.

[0021] 2 is a diagram showing an example of the hardware configuration of a computer 100 used for the control assistance system 1. In this example, the computer 100 includes a main body 110, an output device 120, and an input device .

[0022] The main body 110 is a device having a circuit 160. The circuit 160 has a processor 161, a memory 162, a storage 163, an input / output port 164, and a communication port 165. The number of each hardware component may be one or more. The storage 163 records programs for configuring each functional module of the main body 110. The storage 163 is a computer-readable recording medium such as a hard disk, a non-volatile semiconductor memory, a magnetic disk, or an optical disk. The memory 162 temporarily stores programs loaded from the storage 163, calculation results of the processor 161, and the like. The processor 161 configures each functional module by executing programs in cooperation with the memory 162. The input / output port 164 inputs and outputs electrical signals to and from the output device 120 or the input device 130 in response to instructions from the processor 161. The input / output port 164 may also input and output electrical signals to and from other devices. The communication port 165 performs data communication with other devices via a communication network N in response to instructions from the processor 161.

[0023] The output device 120 is a device for outputting information from the main body 110. Examples of the output device 120 include display devices such as various displays and speakers.

[0024] The input device 130 is a device for inputting information to the main body 110. Examples of the input device 130 include operation interfaces such as a keypad, a mouse, and an operation controller.

[0025] The output device 120 and the input device 130 may be integrated as a touch panel. For example, the main body 110, the output device 120, and the input device 130 may be integrated as a tablet computer.

[0026] Each functional module of the control assistance system 1 is realized by loading a control assistance program onto the processor 161 or memory 162 and having the processor 161 execute the program. The control assistance program includes code for realizing each functional module of the control assistance system 1. The processor 161 operates the input / output port 164 and the communication port 165 in accordance with the control assistance program, and executes reading and writing of data from and to the memory 162 or the storage 163.

[0027] The control assistance program may be provided in a state recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, a semiconductor memory, etc. Alternatively, the control assistance program may be provided via a communication network as a data signal superimposed on a carrier wave.

[0028] [Control Assistance Method] A control assistance method according to the present disclosure will be described with reference to Fig. 3. Fig. 3 is a flowchart showing an example of the control assistance method as a process flow S1. That is, the control assistance system 1 executes the process flow S1. The following description will be given assuming the configuration of the motor control device 3 shown in Fig. 1.

[0029] In step S11, the acquisition unit 11 acquires characteristic data indicating the characteristics of the machine 2. The characteristic data is obtained by measuring the machine 2 while it is actually in operation. For example, the characteristic data indicates the frequency characteristics of the machine 2 that can be expressed by a Bode diagram. The acquisition unit 11 may read the characteristic data from a predetermined storage device that stores the characteristic data in advance, may receive the characteristic data from the machine 2 or a predetermined measuring device, or may accept characteristic data input by a user.

[0030] In step S12, the simulation unit 12 virtually sets a plurality of candidate combinations of a plurality of candidate controllers that constitute the motor control device 3. In the example of FIG. 1, the candidate controllers are five notch filters 35 and one vibration controller 36. The plurality of candidate combinations in this example are a set of cases where all six candidate controllers are disabled, where any one of the six candidate controllers is enabled, where any two of the six candidate controllers are enabled, ..., and where all six candidate controllers are enabled. Therefore, the simulation unit 12 virtually sets a plurality of candidate combinations of 64 (= 6 C 0 + 6 C 1 + 6 C 2 + 6 C 3 + 6 C 4 + 6 C 5 + 6 C 6 ) candidate combinations are set. The notch filter 35 and the vibration controller 36 are different types of candidate controllers. Therefore, the simulation unit 12 sets a plurality of candidate combinations such that at least one of the plurality of candidate combinations includes at least two or more types of candidate controllers. When a candidate combination includes two or more types of candidate controllers, this means that two or more types of candidate controllers are enabled.

[0031] In step S13, the simulation unit 12 sets a value of the performance to be optimized. Hereinafter, this value will also be referred to as a set value. The performance to be optimized may be the performance of the machine 2 or the performance of the motor control device 3. Examples of the performance to be optimized include the suppression of disturbances in position control and the magnitude of the torque command. In one example, the simulation unit 12 receives a set value input by the user.

[0032] In step S14, the simulation unit 12 calculates hypothetical performance data of the machine 2 for each of the plurality of candidate combinations by performing a simulation based on the characteristic data and the candidate combination.

[0033] In one example, the simulation unit 12 calculates virtual performance data for each candidate combination as follows: First, the simulation unit 12 expresses each of one or more candidate controllers constituting the candidate combination in a mathematical formula. The simulation unit 12 may further express each of one or more basic controllers in a mathematical formula. Next, the simulation unit 12 executes a simulation based on the mathematical formula expression of each controller, characteristic data, and the performance to be optimized, and calculates virtual performance data.

[0034] As described above, the virtual performance data indicates the virtual performance of the machine 2. For example, the virtual performance data indicates performance represented by an index related to vibration of the machine 2. As another example, the virtual performance data may indicate performance represented by an index related to the operating speed of the machine 2. Alternatively, the virtual performance data may indicate performance represented by an index related to the suppression of disturbances to the machine 2. The performance indicated by the virtual performance data may be the same as or different from the performance set in step S13.

[0035] In one example, the simulation unit 12 performs a simulation for each of a plurality of candidate combinations while changing the operating parameters of one or more candidate controllers constituting the candidate combination among a plurality of candidate values, thereby calculating a plurality of candidate virtual performance data. This candidate virtual performance data is a candidate for the virtual performance data of the candidate combination. In another example, the simulation unit 12 performs a simulation for each of a plurality of candidate combinations while changing the operating parameters of one or more candidate controllers constituting the candidate combination and the operating parameters of one or more basic controllers among a plurality of candidate values, thereby calculating a plurality of candidate virtual performance data. A candidate value refers to a value that an operating parameter can take.

[0036] The operating parameters are defined depending on the type of controller. The operating parameters of the position controller 31 include a position loop gain. The operating parameters of the velocity controller 32 include at least one of a velocity loop gain, a velocity integral control gain, and a filter time constant. The operating parameters of the friction compensator 34 include a friction compensation gain. The operating parameters of the notch filter 35 include at least one of a target frequency of vibration to be suppressed, a Q value, and a depth coefficient. The operating parameters of the vibration controller 36 include at least one of a target frequency of vibration to be suppressed, an observer gain, and a nominal value of the moment of inertia.

[0037] When the operating parameters of each controller are further taken into consideration, the simulation unit 12 calculates virtual performance data for each candidate combination as follows. First, the simulation unit 12 expresses each of one or more candidate controllers constituting the candidate combination in a mathematical formula. The simulation unit 12 may further express each of one or more basic controllers in a mathematical formula. Next, the simulation unit 12 repeats simulations based on the mathematical formula representation of each controller, characteristic data, and performance to be optimized while changing candidate values ​​of one or more operating parameters for each of the one or more controllers. The number of times the simulation is repeated depends on the number of combinations of candidate values ​​of one or more operating parameters corresponding to one or more controllers. As a simplified example, suppose the operating parameters of a certain notch filter 35 are composed of a target frequency, a Q value, and a depth coefficient, and four candidate values ​​f for the target frequency are selected. a , f b , f c , f d are prepared, and two candidate values ​​q a , q b Three candidate values ​​d a , d b , d cis prepared. In this case, the simulation unit 12 simulates 24 (=4×2×3) candidate value patterns for the single notch filter 35 and calculates candidate virtual performance data for each simulation. As in this example, the simulation unit 12 can calculate multiple candidate virtual performance data for one candidate combination.

[0038] In step S15, the determination unit 13 selects one candidate combination from the plurality of candidate combinations based on the virtual performance data of each of the plurality of candidate combinations, and determines the selected candidate combination as the recommended configuration of the motor control device 3. For example, the determination unit 13 determines the candidate combination that provides the optimal virtual performance data as the recommended configuration.

[0039] When multiple candidate virtual performance data are calculated for each candidate combination, the determination unit 13 first selects one of the multiple candidate virtual performance data for each of the multiple candidate combinations as the virtual performance data for the candidate combination. For example, the determination unit 13 selects optimal candidate virtual performance data for each candidate combination as the virtual performance data for the candidate combination. Next, the determination unit 13 selects one candidate combination (e.g., a candidate combination that provides optimal virtual performance data) from the multiple candidate combinations based on the selected virtual performance data for each of the multiple candidate combinations, and determines the selected candidate combination as the recommended configuration. The determination unit 13 further determines, as the recommended configuration, values ​​of each operating parameter of one or more candidate controllers that are used to obtain virtual performance data using the one or more candidate controllers that make up the selected candidate combination. That is, the determination unit 13 determines, as the recommended configuration, the candidate values ​​of each operating parameter of one or more candidate controllers that were enabled when the virtual performance data (selected candidate virtual performance data) was obtained. In the simplified example above, the candidate value f c , q a , d b When the candidate virtual performance data obtained by the combination of the above is selected as the virtual performance data, the determination unit 13 selects the target frequency f c , Q value q a , and the depth coefficient d bAs a result of this process, the determination unit 13 obtains a recommended configuration that includes one or more candidate controllers to be enabled to operate the machine and values ​​of one or more operating parameters for each of the one or more candidate controllers.

[0040] If the operational parameters of the basic controllers were used in the simulation, the determination unit 13 further determines, as the recommended configuration, the values ​​of the operational parameters of the one or more basic controllers corresponding to the values ​​of the operational parameters of the one or more candidate controllers (the one or more candidate controllers to be activated) constituting the selected candidate combination. That is, the determination unit 13 determines, as the recommended configuration, the candidate values ​​of the operational parameters of the one or more basic controllers when the virtual performance data (the selected candidate virtual performance data) is obtained. In this case, the determination unit 13 obtains a recommended configuration including one or more candidate controllers to be activated to operate the machine and the values ​​of one or more operational parameters for each of the one or more candidate controllers and the one or more basic controllers.

[0041] In one example, the decision unit 13 selects one candidate combination from a plurality of candidate combinations by an optimization method in which virtual performance of the machine 2 is set as a response variable. Therefore, the response variables in the optimization method correspond to the virtual performance data and the candidate virtual performance data. As described above, the virtual performance data and the candidate virtual performance data may indicate performance represented by any one of an index related to vibration of the machine 2, an index related to the operating speed of the machine 2, and an index related to suppression of disturbances to the machine 2. Therefore, the decision unit 13 may set any one of the index related to vibration of the machine 2, an index related to the operating speed of the machine 2, and an index related to suppression of disturbances to the machine 2 as a response variable.

[0042] When multiple candidate virtual performance data are obtained for each candidate combination, the determination unit 13 selects one candidate combination from the multiple candidate combinations using two different optimization methods, a first optimization method and a second optimization method. For each of the multiple candidate combinations, the determination unit 13 selects one of the multiple candidate virtual performance data as virtual performance data using the first optimization method. Then, the determination unit 13 selects one candidate combination from the multiple candidate combinations based on the virtual performance data of each of the multiple candidate combinations using the second optimization method. Examples of the first optimization method include the subgradient method and the cutting plane method, and examples of the second optimization method include the branch and bound method. To select the virtual performance data and the candidate combination, the determination unit 13 may use the first optimization method and the second optimization method simultaneously, or may use the first optimization method and the second optimization method sequentially.

[0043] 4 is a conceptual diagram showing an example of selecting virtual performance data and candidate combinations using the subgradient method or cutting plane method as the first optimization method and the branch and bound method as the second optimization method. In this example, multiple candidate combinations of multiple candidate controllers are represented by a tree structure 200. Each node 210 except for the root 201 is associated with one candidate controller C. n 4 indicates whether or not to use the candidate controller C. n If you do not use "C" n =0" and the candidate controller C n When using "C" n The node 210 located in the first layer next to the root 201 is the candidate controller C 1 The node 210 located in the second layer indicates whether to use the candidate controller C. 2 The node 210 located in the third layer indicates whether to use the candidate controller C. 3 The path 230 from the root 201 to the node 211 indicates whether the candidate controller C 1 , C3 is not used, and the candidate controller C 2The tree structure 200 shows that multiple candidate combinations are used. Each of the multiple candidate combinations is represented by a path from the root 201 to a leaf node located at the end of the tree structure 200. A node 210 marked with an "X" indicates a node where further exploration is unnecessary due to reasons such as not satisfying a constraint. Such unnecessary exploration can be prevented by using the branch-and-bound method. A speech bubble 220 located at each node 210 schematically represents multiple candidate virtual performance data corresponding to the node 210.

[0044] 4 , the determination unit 13 selects one of a plurality of candidate virtual performance data as virtual performance data for each node 210 using the subgradient method or the cutting plane method. Then, the determination unit 13 selects one candidate combination from a plurality of candidate combinations corresponding to a plurality of leaf nodes using the branch and bound method based on the virtual performance data (objective variables) of each candidate combination. For example, the determination unit 13 selects a candidate combination that can obtain optimal virtual performance data, i.e., a candidate combination that optimizes the objective variable.

[0045] 1, the determination unit 13 can select one candidate combination indicating one or more notch filters 35 selected from the plurality of notch filters 35 (five notch filters 35). The determination unit 13 can also select one candidate combination indicating whether or not to use the vibration controller 36.

[0046] 3, in step S16, the determination unit 13 determines whether the recommended configuration achieves the performance, i.e., the set value, set in step S13. The determination unit 13 refers to the simulation results corresponding to the recommended configuration and determines whether the set value is satisfied under the recommended configuration.

[0047] If the set performance is not achieved (NO in step S16), the process returns to step S13. In the repeated step S13, the simulation unit 12 resets the performance to be optimized. For example, the determination unit 13 displays the judgment result on a display device, and the user refers to the result and inputs a new setting value. The simulation unit 12 accepts the setting value. Thereafter, the processes of steps S14 to S16 are executed again.

[0048] On the other hand, if the set performance is achieved (YES in step S16), the process proceeds to step S17. In step S17, the determination unit 13 outputs the recommended configuration. For example, the determination unit 13 displays information about the recommended configuration on a display device. The user can refer to this information to set or adjust the actual motor control device 3. The determination unit 13 may store the information about the recommended configuration in a predetermined storage device, or may transmit it to another computer or device.

[0049] [Modifications] The technology of the present disclosure has been described in detail above based on various examples. However, the technology of the present disclosure is not limited to the above examples. Various modifications are possible within the scope of the gist of the present disclosure.

[0050] In the above example, the motor control device 3 includes two types of candidate controllers, the notch filter 35 and the vibration controller 36, but the motor control device may include other types of candidate controllers. The categories of candidate controllers include controllers for suppressing vibrations, controllers for obtaining robust stability (modeling error compensation), and controllers for improving responsiveness.

[0051] Controllers for suppressing vibrations have the function of suppressing vibrations caused by phase lag due to vibration modes, dead time, etc. of the machine. Examples of such controllers include controllers for removing signal noise, controllers for stabilizing gain, controllers for stabilizing phase, and controllers for shaping commands. Examples of controllers for removing signal noise include low-pass filters, high-pass filters, band-pass filters, band-eliminate filters, Butterworth filters, Chebyshev filters, and Bessel filters. Examples of controllers for stabilizing gain include notch filters and peak filters. Examples of controllers for stabilizing phase include phase-lead compensators, phase-lag compensators, repetitive controllers, and all-pass filters. Examples of controllers for shaping commands include feedforward controllers and notch filters.

[0052] A controller for achieving robust stability has the function of stably driving a machine even if there is an error between a mathematical model of machine characteristics and the true value, such as an inertia estimation error or a change in the frequency of a vibration mode. Examples of such controllers include a controller for compensating for dead time and a controller for estimating or suppressing disturbances. Examples of controllers for compensating for dead time include a Smith compensator, an internal model controller (IMC), and a model predictive controller (MPC). Examples of controllers for estimating or suppressing disturbances include a disturbance observer (DOB), a controller based on an observer (state estimator), and a peak filter. The vibration controller 36 described above is an example of an observer-based controller.

[0053] A controller for improving responsiveness has a function of responding to a command value as quickly as possible. Examples of such a controller include a feedforward controller and a model predictive controller (MPC).

[0054] The simulation unit may perform a simulation for each of the plurality of candidate combinations to calculate virtual performance data for each candidate combination without using the operating parameters of at least one of the candidate controllers and the base controller. The determination unit may determine a recommended configuration that does not include the operating parameters of at least one of the candidate controllers and the base controller.

[0055] In the above example, the motor control device 3 is separate from the machine 2, but the motor control device may also be incorporated into the machine (the controlled object).

[0056] The hardware configuration of the system is not limited to a configuration in which each functional module is realized by executing a program. For example, at least some of the functional modules may be configured by logic circuits specialized for the functions, or may be configured by an ASIC (Application Specific Integrated Circuit) that integrates the logic circuits.

[0057] The processing steps of the method executed by at least one processor are not limited to the above examples. For example, some of the steps or processes described above may be omitted, or the steps may be executed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the steps described above.

[0058] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" can be used, or either of the two criteria "less than or equal to" and "under".

[0059] [Additional Notes] As can be seen from the various examples above, the present disclosure includes the following aspects.

[0060] (Supplementary Note 1) A control assistance system comprising: a simulation unit that calculates virtual performance data indicating virtual performance of a machine under virtual control by the motor control device, for each of multiple candidate combinations of multiple candidate controllers constituting a motor control device that operates a machine, by simulating the candidate combinations and characteristic data indicating the characteristics of the machine; and a determination unit that selects one candidate combination from the multiple candidate combinations based on the virtual performance data for each of the multiple candidate combinations, and determines the selected candidate combination as a recommended configuration of the motor control device to be used to operate the machine. In this case, a simulation that takes into account the characteristics of the machine operated by the motor control device calculates the performance of the machine for each of multiple candidate combinations of multiple candidate controllers that can be employed in the motor control device. Then, based on the calculation results, the candidate combination to be used to operate the machine is automatically determined as the recommended configuration of the motor control device. Because the controller for the motor control device is automatically selected by this mechanism, the overall configuration of a motor control device composed of multiple controllers can be determined more easily than before.

[0061] (Supplementary Note 2) The control assistance system according to Supplementary Note 1, wherein each of the plurality of candidate controllers is a controller that can be selectively added to the basic control functions of the motor control device. In this case, a candidate controller, which may or may not be added to the basic control functions of the motor control device depending on the characteristics of the machine, is automatically selected, making it easier than ever to determine the overall configuration of the motor control device for expanding the control functions.

[0062] (Supplementary Note 3) The control assistance system according to Supplementary Note 1 or 2, wherein the plurality of candidate controllers include at least two or more types of candidate controllers, and the simulation unit sets the plurality of candidate combinations such that at least one of the plurality of candidate combinations includes the at least two or more types of candidate controllers, and calculates the virtual performance data through the simulation for each of the plurality of set candidate combinations. Generally, as the number of candidate controllers increases, the difficulty of determining the overall configuration of a motor control device increases. However, with the above configuration, a simulation is performed for a motor control device including two or more types of candidate controllers, making it easier than ever to determine the overall configuration of a motor control device including multiple types of candidate controllers.

[0063] (Supplementary Note 4) The control assistance system according to any one of Supplementary Notes 1 to 3, wherein the plurality of candidate controllers includes a controller for suppressing vibration of the machine at a target frequency. In this case, it is possible to determine a configuration related to a controller for suppressing vibration of the machine more easily than in the past. In addition, it is possible to easily identify the frequency of vibration to be suppressed.

[0064] (Supplementary Note 5) The control assistance system according to Supplementary Note 4, wherein the plurality of candidate controllers include a plurality of notch filters having different target frequencies, and the determination unit selects the one candidate combination indicating one or more of the notch filters selected from the plurality of notch filters. In this case, it is possible to determine a configuration including a notch filter more easily than conventional methods.

[0065] (Supplementary Note 6) The control assistance system according to Supplementary Note 5, wherein the plurality of candidate controllers include a vibration controller for suppressing the vibration at a target frequency different from any of the plurality of target frequencies corresponding to the plurality of notch filters, by using an estimation result by a disturbance observer, and the decision unit selects the one candidate combination indicating whether or not to use the vibration controller. In this case, it is possible to decide more easily than conventionally whether or not to use a vibration controller in addition to a notch filter.

[0066] (Supplementary Note 7) The control assistance system according to any one of Supplementary Notes 1 to 6, wherein the determination unit selects the one candidate combination from the plurality of candidate combinations by an optimization method in which the virtual performance of the machine is set as a target variable. In this case, by using the optimization method, it is possible to accurately select the candidate combination that is predicted to be most appropriate for operating the machine.

[0067] (Supplementary Note 8) The control assistance system according to Supplementary Note 7, wherein the determination unit sets an index related to an operating speed of the machine as the objective variable. In this case, it becomes possible to accurately select a candidate combination that is predicted to be able to achieve the most appropriate control of the operating speed of the machine.

[0068] (Supplementary Note 9) The control assistance system according to Supplementary Note 7, wherein the determination unit sets an index related to suppression of disturbances to the machine as the objective variable. In this case, it becomes possible to accurately select a candidate combination that is predicted to be most capable of suppressing disturbances to the machine.

[0069] (Supplementary Note 10) The control assistance system according to any one of Supplementary Notes 1 to 9, wherein the simulation unit executes the simulation for each of the plurality of candidate combinations while changing the operating parameters of one or more of the candidate controllers constituting the candidate combination among a plurality of candidate values, to calculate a plurality of candidate virtual performance data that are candidates for the virtual performance data of the candidate combination, and the determination unit selects, for each of the plurality of candidate combinations, one of the plurality of candidate virtual performance data as the virtual performance data of the candidate combination, and further determines, as the recommended configuration, the values ​​of the operating parameters of each of the one or more candidate controllers constituting the selected candidate combination to obtain the selected virtual performance data. In this case, for each of the plurality of candidate combinations of the plurality of candidate controllers, simulation is repeated while changing the values ​​of the operating parameters of each candidate controller, and virtual performance data is selected for each candidate combination from the results of this repeated calculation. Then, one candidate combination is selected from the plurality of candidate combinations based on the selected virtual performance data, and the values ​​of the operating parameters of each candidate controller are determined to realize the virtual performance data using the selected candidate combination. Not only are candidate controllers for the motor control device automatically selected, but the operating parameters of each candidate controller are also automatically determined, so that the detailed overall configuration of the motor control device can be determined more easily than ever before.

[0070] (Supplementary Note 11) The control assistance system according to Supplementary Note 10, wherein the motor control device includes one or more basic controllers that are used in common among the plurality of candidate combinations, and the simulation unit executes the simulation for each of the plurality of candidate combinations while changing the operating parameters of each of the one or more candidate controllers constituting the candidate combination and the operating parameters of each of the one or more basic controllers among a plurality of candidate values, to calculate a plurality of candidate virtual performance data that are candidates for the virtual performance data of the candidate combination. In this case, for each of a plurality of candidate combinations of a plurality of candidate controllers, the simulation is repeated while also changing the values ​​of the operating parameters of each basic controller, to calculate a plurality of candidate virtual performance data. By taking the basic controller into consideration, the candidate virtual performance data can be calculated more accurately, and as a result, the configuration of the candidate controller can be determined more accurately.

[0071] (Supplementary Note 12) The control assistance system according to Supplementary Note 11, wherein the determination unit further determines, as the recommended configuration, values ​​of the operating parameters of each of the one or more basic controllers that correspond to the values ​​of the operating parameters of each of the one or more candidate controllers determined as the recommended configuration. In this case, not only the configurations related to the candidate controllers but also the values ​​of the operating parameters of each basic controller are automatically determined, so that the overall configuration of the motor control device can be determined in more detail.

[0072] (Supplementary Note 13) The control assistance system according to any one of Supplementary Notes 10 to 12, wherein the determination unit selects the virtual performance data for each of the plurality of candidate combinations by a first optimization method, and selects the one candidate combination from the plurality of candidate combinations by a second optimization method different from the first optimization method. In this case, separate optimization methods are used for selecting the virtual performance data and the candidate combination. By using different optimization methods depending on the type of selection, the virtual performance data and the candidate combination can be selected more accurately.

[0073] (Supplementary Note 14) A control assistance method executed by a control assistance system having at least one processor includes the steps of: calculating, for each of a plurality of candidate combinations of a plurality of candidate controllers constituting a motor control device that operates a machine, virtual performance data indicating virtual performance of the machine under virtual control of the motor control device by a simulation based on characteristic data indicating the characteristics of the machine and the candidate combinations; and selecting one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determining the selected candidate combination as a recommended configuration of the motor control device to be used to operate the machine. In this case, the performance of the machine is calculated for each of a plurality of candidate combinations of a plurality of candidate controllers that can be employed in the motor control device by a simulation that takes into account the characteristics of the machine operated by the motor control device. Then, based on the calculation results, the candidate combination to be used to operate the machine is automatically determined as the recommended configuration of the motor control device. Because the controller for the motor control device is automatically selected by this mechanism, the overall configuration of a motor control device composed of a plurality of controllers can be determined more easily than before.

[0074] (Supplementary Note 15) A control assistance program that causes a computer to execute the following steps: for each of a plurality of candidate combinations of a plurality of candidate controllers that constitute a motor control device that operates a machine, calculating virtual performance data that indicates virtual performance of the machine under virtual control of the motor control device by simulating the candidate combinations and characteristic data that indicates characteristics of the machine; and selecting one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determining the selected candidate combination as a recommended configuration of the motor control device to be used to operate the machine. In this case, a simulation that takes into account the characteristics of the machine operated by the motor control device calculates the performance of the machine for each of a plurality of candidate combinations of a plurality of candidate controllers that can be employed in the motor control device. Then, based on the calculation results, the candidate combination to be used to operate the machine is automatically determined as the recommended configuration of the motor control device. Because the controller for the motor control device is automatically selected by this mechanism, the overall configuration of a motor control device composed of a plurality of controllers can be determined more easily than before.

[0075] 1...control assistance system, 2...machine, 3...motor control device, 11...acquisition unit, 12...simulation unit, 13...determination unit, 31...position controller, 32...speed controller, 33...low-pass filter, 34...friction compensator, 35...notch filter, 36...vibration controller based on disturbance observer

Claims

1. A control assistance system comprising: a simulation unit that calculates virtual performance data that indicates the virtual performance of a machine under virtual control by the motor control device, for each of a plurality of candidate combinations of a plurality of candidate controllers that constitute a motor control device that operates a machine, by simulating the candidate combinations and characteristic data that indicates the characteristics of the machine; and a determination unit that selects one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determines the selected candidate combination as the recommended configuration of the motor control device to be used to operate the machine.

2. The control assistance system according to claim 1, wherein each of the plurality of candidate controllers is a controller that can be selectively added to the basic control functions of the motor control device.

3. The control assistance system of claim 2, wherein the plurality of candidate controllers include at least two or more types of candidate controllers, and the simulation unit sets the plurality of candidate combinations so that at least one of the plurality of candidate combinations includes the at least two or more types of candidate controllers, and calculates the virtual performance data by the simulation for each of the plurality of set candidate combinations.

4. The control assistance system according to claim 2, wherein the plurality of candidate controllers includes a controller for suppressing vibrations of the machine at a target frequency.

5. The control assistance system according to claim 4, wherein the plurality of candidate controllers include a plurality of notch filters having different target frequencies, and the decision unit selects the one candidate combination indicating one or more of the notch filters selected from the plurality of notch filters.

6. The control assistance system according to claim 5, wherein the plurality of candidate controllers include a vibration controller for suppressing the vibration at a target frequency different from any of the plurality of target frequencies corresponding to the plurality of notch filters, using an estimation result by a disturbance observer, and the decision unit selects the one candidate combination indicating whether or not to use the vibration controller.

7. A control assistance system according to any one of claims 1 to 6, wherein the determination unit selects the one candidate combination from the plurality of candidate combinations using an optimization method in which the virtual performance of the machine is set as a target variable.

8. The control assistance system according to claim 7, wherein the determination unit sets an index relating to the operating speed of the machine as the objective variable.

9. The control assistance system according to claim 7, wherein the determination unit sets an index relating to suppression of disturbances to the machine as the objective variable.

10. A control assistance system as described in any one of claims 1 to 6, wherein the simulation unit executes the simulation for each of the plurality of candidate combinations while changing the operating parameters of each of the one or more candidate controllers constituting the candidate combination among a plurality of candidate values, and calculates a plurality of candidate virtual performance data that are candidates for the virtual performance data of the candidate combination; and the determination unit selects, for each of the plurality of candidate combinations, one of the plurality of candidate virtual performance data as the virtual performance data of the candidate combination, and further determines, as the recommended configuration, the values ​​of the operating parameters of each of the one or more candidate controllers that are used to obtain the selected virtual performance data by the one or more candidate controllers constituting the selected candidate combination.

11. The control assistance system described in claim 10, wherein the motor control device includes one or more basic controllers that are used in common among the plurality of candidate combinations, and the simulation unit executes the simulation for each of the plurality of candidate combinations while changing the operating parameters of each of the one or more candidate controllers that make up the candidate combination and the operating parameters of each of the one or more basic controllers among a plurality of candidate values, and calculates a plurality of candidate virtual performance data that are candidates for the virtual performance data of the candidate combination.

12. The control assistance system according to claim 11, wherein the determination unit further determines, as the recommended configuration, the value of the operating parameter of each of the one or more basic controllers that corresponds to the value of the operating parameter of each of the one or more candidate controllers determined as the recommended configuration.

13. The control assistance system described in claim 10, wherein the determination unit selects the virtual performance data for each of the plurality of candidate combinations using a first optimization method, and selects the one candidate combination from the plurality of candidate combinations using a second optimization method different from the first optimization method.

14. A control assistance method executed by a control assistance system having at least one processor, comprising: a step of calculating, for each of a plurality of candidate combinations of a plurality of candidate controllers constituting a motor control device that operates a machine, virtual performance data that indicates the virtual performance of the machine through virtual control of the motor control device by simulating the candidate combinations and characteristic data that indicates the characteristics of the machine; and a step of selecting one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determining the selected candidate combination as the recommended configuration of the motor control device to be used to operate the machine.

15. A control assistance program that causes a computer to execute the following steps: for each of a plurality of candidate combinations of a plurality of candidate controllers that constitute a motor control device that operates a machine, calculating virtual performance data that indicates the virtual performance of the machine through virtual control of the motor control device by simulating the candidate combination and characteristic data that indicates the characteristics of the machine; and selecting one candidate combination from the plurality of candidate combinations based on the virtual performance data for each of the plurality of candidate combinations, and determining the selected candidate combination as the recommended configuration of the motor control device to be used to operate the machine.

Citation Information

Patent Citations

  • Automated tuning of closed-loop control

    JP2009537926A

  • Designation assist system

    JP2020030557A

  • Notch filter adjuster, and motor control unit comprising the same

    JP2020204823A