Control parameter tuning system, learning device, and control parameter tuning method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-04-22
- Publication Date
- 2026-04-01
AI Technical Summary
Existing control parameter adjustment systems struggle to appropriately adjust control parameters in servo systems due to the complexity of numerous parameters and reliance on operator skill, leading to instability in device operation.
A control parameter adjustment system that includes a motor control unit, a target setting unit, a data acquisition unit, an importance calculation unit, and a search unit to identify and adjust important control parameters based on evaluation functions and results, iteratively optimizing parameter values to meet specific targets.
Facilitates easy and appropriate adjustment of control parameters, ensuring stable operation by identifying and optimizing key parameters, independent of operator skill, and reproducible across different environments.
Smart Images

Figure 00000024_0000 
Figure 00000024_0001 
Figure 00000024_0002
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a control parameter tuning system, a learning device, and a control parameter tuning method for adjusting control parameter values. [Background technology]
[0002] Servo systems, which control the position, orientation, and posture of an object to track a target value, use a variety of control parameters. Traditionally, adjustment of control parameter values has been performed by autotuning or by engineers with specialized knowledge. In recent years, there has been a demand for parameter value adjustment for devices with complex configurations that is difficult to achieve with autotuning, parameter value adjustment tailored to the installation environment, and parameter value adjustment that is independent of individual users and reproducible.
[0003] The operation adjustment system described in Patent Document 1 generates a calculation model showing the relationship between parameter sets and evaluation indices based on multiple pairs of parameter sets that affect the operation of the motor control device in response to commands and evaluation indices of the machine operated by the motor control device using the parameter sets, and generates a new parameter set based on the calculation model. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2023-017225 Summary of the Invention [Problem to be solved by the invention]
[0005] However, with the technology of Patent Document 1, since there are tens to hundreds of types of control parameters that affect the operation of the device, the operator must narrow down the types of control parameters to be adjusted. Since the types of control parameters cannot be narrowed down in the servo system, whether or not the operator can select a type of control parameter that is significant for the control target depends on the operator's skill level. This has led to the problem that it is difficult to adjust appropriate control parameter values that enable stable operation.
[0006] The present disclosure has been made in view of the above, and aims to provide a control parameter adjustment system that can easily adjust control parameter values appropriately according to control targets. [Means for solving the problem]
[0007] To solve the above-mentioned problems and achieve the object, a control parameter adjustment system disclosed herein includes a motor control unit that controls a control target using control parameter values, which are parameter values of control parameters, and a target setting unit that extracts an evaluation function corresponding to the target based on a control target input by a user. The control parameter adjustment system also includes a data acquisition unit that acquires the control parameter values and an evaluation value when the control target is controlled using the control parameter values, and inputs the evaluation value into the evaluation function to calculate an evaluation result for the target when the control target is controlled using the control parameter values. The control parameter adjustment system also includes an importance calculation unit that generates, as important parameter information, information on important control parameters, which are important control parameters that have a greater influence on the evaluation result than other control parameters, based on the control parameter values and the evaluation result, and a search unit that searches for important control parameter values, which are parameter values of the important control parameters to be set in the motor control unit next, based on the evaluation result, the control parameter values, and the important parameter information. In addition, in the control parameter adjustment system of the present disclosure, the control parameter values are adjusted by repeating the following processes: a data acquisition unit calculates an evaluation result; an importance calculation unit generates important parameter information; a search unit searches for important control parameter values; and a motor control unit controls the controlled object using control parameter values including the important control parameter values. [Effects of the Invention]
[0008] The control parameter adjusting system according to the present disclosure has the effect of easily adjusting control parameter values appropriately according to the control target. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing a configuration of a control parameter adjustment system according to a first embodiment. [Figure 2] 1 is a flowchart showing a processing procedure of a process executed by a control parameter adjusting system according to a first embodiment; [Figure 3] FIG. 1 is a diagram showing a configuration of a learning device according to a first embodiment; [Figure 4] FIG. 1 is a diagram for explaining a neural network used by a learning device according to a first embodiment. [Figure 5] 1 is a flowchart showing a procedure of a learning process executed by the learning device according to the first embodiment; [Figure 6] 1 is a flowchart showing a procedure of an inference process executed by the inference device according to the first embodiment; [Figure 7] FIG. 10 is a diagram showing a configuration of a control parameter adjustment system according to a second embodiment. [Figure 8] 10 is a flowchart showing a processing procedure of a process executed by a control parameter adjusting system according to a second embodiment; [Figure 9] FIG. 10 is a diagram showing a configuration example of a processing circuit provided in a control parameter adjustment system according to a second embodiment when the processing circuit is realized by a processor and a memory. [Figure 10] FIG. 10 is a diagram illustrating an example of a processing circuit when the processing circuit included in the control parameter adjustment system according to the second embodiment is configured with dedicated hardware. DETAILED DESCRIPTION OF THE INVENTION
[0010] A control parameter adjusting system, a learning device, and a control parameter adjusting method according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0011] Embodiment 1 1 is a diagram showing the configuration of a control parameter adjusting system according to a first embodiment. The control parameter adjusting system 1A is a system that adjusts a control parameter value P1 used in a servo system or the like. The control parameter value P1, which is a parameter value of a control parameter, is, for example, the deceleration (deceleration amount), acceleration (acceleration amount), speed, position gain, speed gain, jerk (jerk) or the like of a controlled object (controlled machine) 32.
[0012] The control parameter value P1 in the first embodiment is a control parameter value group including a plurality of types (e.g., several hundred types) of control parameter values. The control parameter adjusting system 1A adjusts the combination of parameter values of the plurality of types of control parameters included in the control parameter value P1.
[0013] The control parameter adjustment system 1A is connected to a learned model storage unit 16 and a motor 31. The learned model storage unit 16 stores a learned model 45 used by the inference device 2A.
[0014] The control parameter adjusting system 1A drives the motor 31 using the control parameter value P1 and calculates the result of evaluation (evaluation result Vr) corresponding to the target 5 when the controlled object 32 is operated. The calculation method of the evaluation result Vr calculated by the control parameter adjusting system 1A differs depending on the target 5 set by the user. The target 5 is an improvement request item for the control of the servo system. In other words, the control parameter adjusting system 1A calculates the evaluation result Vr using an evaluation function according to the improvement request item corresponding to the target 5.
[0015] For example, when the user sets driving time as goal 5, the control parameter adjusting system 1A uses an evaluation function corresponding to the driving time to calculate an evaluation result Vr for goal 5. The evaluation function in this case is a function such that the shorter the driving time, the higher the evaluation result Vr.
[0016] The control parameter adjusting system 1A acquires various evaluation values V1 for the operation when operating the controlled object 32. The evaluation values V1 include the takt time, settling time, trajectory error, and deviation of the machine end position when the motor 31 is driven.
[0017] The takt time is the time from starting to stopping the motor 31. In other words, the takt time is the time from when the motor 31 starts to operate until positioning is completed. The settling time is the delay that occurs between the stop command (position command, speed command, etc.) to the motor 31 and the actual stopping of the motor 31. The trajectory error is the difference between the position command to the motor 31 and the position feedback value from the motor 31. The position deviation of the machine end, etc. is the amount of deviation from the ideal value of the position of the controlled object 32, etc.
[0018] The control parameter adjusting system 1A calculates the evaluation result Vr by inputting the evaluation value V1 into the evaluation function. Note that the evaluation value V1 input into the evaluation function may be one type or multiple types.
[0019] When the user sets the operation time as target 5, the control parameter adjusting system 1A acquires, for example, a takt time, a settling time, etc. as the evaluation value V1. In this case, the shorter the takt time, the settling time, etc., the higher the evaluation result Vr calculated.
[0020] The control parameter adjusting system 1A calculates one or more pieces of important parameter information PZ corresponding to the control parameter value P1 and the evaluation result Vr. The important parameter information PZ is information indicating the type of control parameter (important parameter) that has a significant effect on the evaluation result Vr. The important parameter information PZ is, for example, information that identifies the important parameter (such as the name of the important parameter). The type of control parameter that has a significant effect on the evaluation result Vr is the type of control parameter that causes a change in the value of the evaluation result Vr when the value of that control parameter is changed to be relatively larger than the change in the value of the evaluation result Vr when the values of other control parameters are changed.
[0021] In the following, a case will be described in which the extracted important parameter information PZ includes information on a plurality of types of important parameters, but the extracted important parameter information PZ may also include information on one type of important parameter.
[0022] The control parameter adjustment system 1A extracts one or more pieces of important parameter information PZ to be set next from the important parameter information PZ based on the control parameter value P1, the evaluation result Vr, and the important parameter information PZ, and calculates an important control parameter value Pm, which is a parameter value of this important parameter information PZ, by inference or the like. This calculated important control parameter value Pm is set next and used for control. Note that, although the following describes a case where one important control parameter value Pm is set next, multiple important control parameter values Pm may be set next.
[0023] The control parameter adjusting system 1A operates the controlled object 32 by changing the important control parameter value Pm in various ways. The control parameter adjusting system 1A obtains a new evaluation value V1 when the controlled object 32 is operated by driving the motor 31 using a new control parameter value P1 including the important control parameter value Pm.
[0024] The control parameter adjustment system 1A repeats the process of obtaining an evaluation value V1 when a control parameter value P1 including an important control parameter value Pm is used, the process of calculating an evaluation result Vr, the process of calculating important parameter information PZ, the process of calculating an important control parameter value Pm to be set next, and the process of driving the motor 31 using the control parameter value P1 including the important control parameter value Pm.
[0025] The control parameter adjusting system 1A sequentially changes the value of each important control parameter value Pm until an adjustment termination condition for terminating the adjustment process of the control parameter value P1 is met, thereby deriving an appropriate control parameter value P1 according to the goal 5.
[0026] The control parameter adjustment system 1A includes an adjustment unit 10A, a motor control unit 20, a visualization unit 15, and a detection unit 41. The detection unit 41 may be disposed within the motor control unit 20. The adjustment unit 10A, the motor control unit 20, and the visualization unit 15 may be connected via a network such as the Internet.
[0027] The adjustment unit 10A has a target setting unit 11 and an inference device 2A. The inference device 2A has a data acquisition unit 12A, an importance calculation unit 13A, and a search unit. In the following, a case will be described in which the search unit is an inference unit 14A that infers an important control parameter value Pm.
[0028] When the target setting unit 11 receives information specifying one or more targets 5 from a user such as an operator, it sets targets 5 corresponding to the received information. The targets 5 are improvement requests in servo system control (operating time, trajectory error, vibration amplitude, power consumption, load leveling, equipment life consumption, etc.).
[0029] Target 5 is expressed, for example, by a numerical value. If target 5 is driving time, target 5 may be set within a time range for which a passing value is specified, such as "driving time is Tx seconds or less," or may be set under a condition that does not specify a passing value, such as "keeping driving time as short as possible."
[0030] Furthermore, when target 5 is vibration amplitude, target 5 may be set within a dimension range that specifies an acceptable value, such as "vibration amplitude is Ax millimeters or less," or may be set under conditions that do not specify an acceptable value, such as "vibration amplitude Ax should be as small as possible."
[0031] The goal setting unit 11 stores in advance an evaluation correspondence table indicating the correspondence between the goal 5 and the evaluation function. This evaluation correspondence table may be stored outside the goal setting unit 11. When the user specifies the goal 5, the goal setting unit 11 extracts an evaluation function corresponding to the goal 5 based on the evaluation correspondence table. The evaluation function may be created by the manufacturer that produces the control parameter adjusting system 1A and set in the evaluation correspondence table, or may be created by the manufacturer that uses the control parameter adjusting system 1A and set in the evaluation correspondence table.
[0032] The evaluation function assigns weights to each type of target 5 and then calculates an evaluation result Vr for target 5. For example, if target 5 is driving time and vibration amplitude, the evaluation function is a function in which the shorter the actual driving time, the higher the evaluation result Vr, and the smaller the actual vibration amplitude, the higher the evaluation result Vr. Therefore, even if the actual driving time is equal to or shorter than the driving time of target 5, if the actual vibration amplitude is larger than the vibration amplitude of target 5, the evaluation function does not necessarily calculate a high evaluation result Vr.
[0033] When the driving time of target 5 is Tx seconds or less, if the actual driving time is Tx seconds or less and the vibration amplitude of target 5 is Ax millimeters or less, if the actual vibration amplitude is Ax millimeters or less, the evaluation function calculates an evaluation result Vr indicating a relatively good evaluation result Vr for target 5. In other words, if the actual driving time is shorter than the driving time of target 5 and the actual vibration amplitude is smaller than the vibration amplitude of target 5, the evaluation result Vr is relatively good. The evaluation result Vr may be expressed numerically or as characters. The goal setting unit 11 transmits the evaluation function corresponding to target 5 to the data acquiring unit 12A.
[0034] The detector 41 detects the control parameter value P1 used by the motor control unit 20. The detector 41 also calculates an evaluation value V1 based on the processing executed by the motor control unit 20. For example, if the evaluation value V1 includes a takt time or a settling time, the detector 41 calculates the takt time or the settling time based on servo data (such as a position command). Specifically, the detector 41 calculates the takt time or the settling time by calculating the time from the start to the end of output of a position command to the motor 31.
[0035] Furthermore, when the evaluation value V1 includes a trajectory error, the detection unit 41 calculates the trajectory error by calculating the difference between a position command to the motor 31 and a position feedback value from the motor 31. In this case, the detection unit 41 acquires the position feedback value from an encoder (not shown) arranged in the motor 31. Note that the detection unit 41 may calculate the trajectory error based on the difference between the speed command value and the speed feedback value.
[0036] Furthermore, when the evaluation value V1 includes a position deviation, the detection unit 41 acquires position information detected by a position detection sensor (not shown) that detects the position of the control target 32, etc., from the position detection sensor. The detection unit 41 also calculates an ideal value for the position of the control target 32, etc., based on a position command to the motor 31, etc. The detection unit 41 calculates the position deviation based on the position information acquired from the position detection sensor and the calculated ideal value for the position.
[0037] For example, if goal 5 is operation time, the evaluation function includes an evaluation value V1 of the takt time and an evaluation value V1 of the settling time. In this case, the evaluation function calculates an evaluation result Vr based on the evaluation value V1 of the takt time and the evaluation value V1 of the settling time.
[0038] Note that target 5 itself may be takt time or settling time. When target 5 is takt time, the evaluation function includes an evaluation value V1 of the takt time. In this case, the evaluation result Vr is calculated based on the evaluation value V1 of the takt time. When target 5 is settling time, the evaluation function includes an evaluation value V1 of the settling time. In this case, the evaluation result Vr is calculated based on the evaluation value V1 of the settling time. In some cases, the evaluation value V1 is higher the lower the numerical value, and in other cases, the evaluation is higher the higher the numerical value. In the first embodiment, a high evaluation is referred to as a high evaluation value V1.
[0039] The evaluation value V1 increases as the takt time decreases and as the settling time decreases. The evaluation value V1 also increases as the trajectory error decreases and as the position deviation decreases. The detection unit 41 transmits a pair of the evaluation value V1 and the control parameter value P1 to the data acquisition unit 12A.
[0040] The data acquiring unit 12A acquires a control parameter value P1 and an evaluation value V1 from the detecting unit 41. The control parameter value P1 acquired by the data acquiring unit 12A includes an important control parameter value Pm. That is, the data acquiring unit 12A acquires a control parameter value P1 including the important control parameter value Pm, and an evaluation value V1 when control is performed using this control parameter value P1. The data acquiring unit 12A inputs the acquired evaluation value V1 into an evaluation function to calculate an evaluation result Vr for the target 5. The data acquiring unit 12A transmits the control parameter value P1 and the evaluation result Vr to the importance calculating unit 13A.
[0041] The importance calculation unit 13A calculates the importance of each control parameter included in the control parameter value P1 based on a combination of the control parameter value P1 and the evaluation result Vr. The importance calculation unit 13A generates information about control parameters whose importance is greater than that of other control parameters as important parameter information PZ. In other words, the importance calculation unit 13A generates information about important control parameters, which are important control parameters that have a greater influence on the evaluation result Vr than other control parameters, based on the control parameter value P1 and the evaluation result Vr. The important parameter information PZ is information about control parameters that are more sensitive to the evaluation result Vr than other control parameters.
[0042] The importance calculation unit 13A generates, for example, information on control parameters whose importance is higher than a specific value as important parameter information PZ. In this case, the important parameter information PZ is information on control parameters whose sensitivity to the evaluation result Vr is higher than a specific value.
[0043] Furthermore, the importance calculation unit 13A may extract the important parameter information PZ by ranking it based on the magnitude of its importance. That is, the importance calculation unit 13A may extract information on a specific number of control parameters with the highest importance as the important parameter information PZ.
[0044] The importance calculation unit 13A calculates the importance by, for example, statistically analyzing the control parameter value P1 and the evaluation result Vr. The importance calculation unit 13A may calculate the importance by statistical analysis using a correlation coefficient, or may calculate the importance by statistical analysis using ANOVA (ANalysis Of VARiance).
[0045] Furthermore, importance calculation unit 13A may calculate the importance using servo domain knowledge (domain knowledge for the servo system). Here, the servo domain knowledge is, for example, calculating the importance by taking into account the parameters of not only the own axis but also the other axes when the acceleration / deceleration of the other axes overlaps with the acceleration / deceleration of the own axis immediately before the own axis stops (when the other axes are accelerating / decelerating). If the other axes are accelerating / decelerating immediately before the own axis stops, there is a risk that the own axis may be affected by vibrations of the other axes when it stops. Therefore, importance calculation unit 13A may calculate the importance by taking into account the parameters of the own axis and the other axes.
[0046] Moreover, the servo domain knowledge here is, for example, weighting the control parameters that are considered to be physically or control-important according to the target 5. In this case, the importance calculation unit 13A calculates the importance so that the control parameter value P1 of the weighted control parameter has a greater importance than the control parameter value P1 without the weight.
[0047] For example, if target 5 is settling time, the importance calculation unit 13A may increase the weighting of deceleration in accordance with servo domain knowledge. If target 5 is the amount of undershoot, the importance calculation unit 13A may increase the weighting of deceleration and the amount of jerk immediately before stopping in accordance with servo domain knowledge. If target 5 is takt time, the importance calculation unit 13A may increase the weighting of acceleration, speed, and deceleration in accordance with servo domain knowledge. By weighting specific control parameters by the importance calculation unit 13A, the weighted control parameters are more likely to be selected as important parameters.
[0048] Furthermore, the importance calculation unit 13A may extract the important parameter information PZ using servo domain knowledge. For example, when extracting a position gain or a velocity gain as the important parameter information PZ, the importance calculation unit 13A may fix the ratio between these gains and treat them as one parameter set according to the servo domain knowledge. Furthermore, the importance calculation unit 13A may treat axes that require synchronization as one parameter according to the servo domain knowledge so that the model control gains of axes that require synchronization have the same value. The model control gain is a parameter that determines the responsiveness of the position control loop. The larger the model control gain setting value, the better the tracking ability to a position command, but if it is set too large, overshooting is more likely to occur.
[0049] In addition, in extracting the important parameter information PZ, a control parameter set that is empirically effective according to the set target 5 may be prepared in advance. In this case, the importance calculation unit 13A stores in advance a parameter correspondence table that indicates the correspondence between the target 5 and the important parameter information PZ. When the target 5 is specified by the user, the importance calculation unit 13A extracts the important parameter information PZ that corresponds to the target 5 based on the parameter correspondence table.
[0050] Furthermore, the process of extracting important parameter information by preparing a control parameter set in advance and the process of extracting important parameter information based on the calculation result of the importance may be combined.
[0051] That is, in extracting the important parameter information PZ, a control parameter set empirically effective for the set target 5 is prepared in advance, first important parameter information that will become part of the important parameter information PZ is acquired, and second important parameter information that will become part of the important parameter information PZ is acquired based on the combination of the control parameter value P1 and the evaluation result Vr as described above using the remaining control parameters excluding the control parameters that constitute the first important parameter information. The first important parameter information and the second important parameter information may then be combined and extracted as the important parameter information PZ. In this case, the importance calculation unit 13A stores in advance a parameter correspondence table that indicates the correspondence between the target 5 and the important parameter information PZ. When the user specifies a target 5, the importance calculation unit 13A acquires the first important parameter information corresponding to the target 5 based on the parameter correspondence table. The importance calculation unit 13A then excludes the control parameters acquired as the first important parameter information from the control parameter values P1, and calculates the importance of each control parameter included in the remaining control parameters excluding the control parameters of the first important parameter information based on the combination of the remaining control parameter values P1 and the evaluation result Vr. As a result, the importance calculation unit 13A generates information on control parameters whose importance is greater than that of the other control parameters as second important parameter information. The importance calculation unit 13A then combines the first important parameter information and the second important parameter information to extract important parameter information PZ.
[0052] Furthermore, the importance calculation unit 13A may extract the important parameter information PZ based on a simulation using a machine model or the like that simulates the operation of the controlled object 32. In this case, the importance calculation unit 13A calculates an evaluation value V1 by inputting a control parameter value P1 to the machine model, calculates an evaluation result Vr in the data acquisition unit 12A using the evaluation value V1 obtained by the simulation, and extracts the important parameter information PZ based on the control parameter value P1 and the evaluation result Vr.
[0053] Furthermore, the importance calculation unit 13A may use a trained model (an importance trained model described later) that has trained the correspondence between the control parameter value P1 and the evaluation result Vr and the important parameter information PZ to infer the importance corresponding to the control parameter value P1 and the evaluation result Vr, and extract the important parameter information PZ. In this case, the importance trained model may be generated by the control parameter adjusting system 1A, or may be generated by a device other than the control parameter adjusting system 1A.
[0054] The importance calculation unit 13A calculates the importance by machine learning using, for example, f (factor) ANOVA. Alternatively, the importance calculation unit 13A may calculate the importance by machine learning using a decision tree algorithm such as Random Forest or XG (eXtreme Gradient) boost.
[0055] Note that the important parameter information PZ generated by the importance calculation unit 13A is not necessarily the same as the important parameter information PZ generated previously. The importance calculation unit 13A calculates the important parameter information PZ according to the combination of the control parameter value P1 and the evaluation result Vr.
[0056] The inference unit 14A reads out the learned model 45 from the learned model storage unit 16. The inference unit 14A also receives the control parameter value P1, the evaluation result Vr, and the important parameter information PZ from the importance calculation unit 13A.
[0057] The inference unit 14A uses the trained model 45 to infer an important control parameter value Pm, which is a control parameter value to be set in the motor control unit 20 next time. That is, the inference unit 14A infers an important control parameter value Pm corresponding to the control parameter value P1, the evaluation result Vr, and the important parameter information PZ, by inputting the control parameter value P1 acquired by the data acquisition unit 12A, the evaluation result Vr, and the important parameter information PZ extracted by the importance calculation unit 13A into the trained model 45. The type of control parameter of the important control parameter value Pm inferred by the trained model 45 is the same as the type of control parameter specified in the important parameter information PZ. In other words, the trained model 45 infers the important control parameter value Pm for the control parameter specified in the important parameter information PZ.
[0058] The trained model 45 for inferring the important control parameter value Pm to be set next is a model that has been trained in advance. When training the trained model 45, existing learning methods such as reinforcement learning, unsupervised learning, supervised learning, and semi-supervised learning can be used.
[0059] Furthermore, the inference unit 14A is not limited to inferring the important control parameter value Pm using the trained model 45, and may instead generate the important control parameter value Pm using a fixed value prepared in advance. In this case, the inference device 2A stores a pattern of the important control parameter value Pm to be set in sequence for each important control parameter value Pm. The inference unit 14A determines the important control parameter value Pm to be set next based on the control parameter value P1, evaluation result Vr, and important parameter information PZ input according to the pattern of the important control parameter value Pm, and transmits the determined important control parameter value Pm to the motor control unit 20.
[0060] The inference device 2A may also store change values (amounts of change) when changing the important control parameter value Pm. In this case, the inference unit 14A sequentially changes the important control parameter value Pm using the change values, thereby sequentially determining the important control parameter value Pm to be set next and transmitting the determined important control parameter value Pm to the motor control unit 20.
[0061] Alternatively, the inference unit 14A may apply an evolutionary algorithm or the Nelder-Mead method, which does not require gradient information, as a result of trialing an optimization method such as Bayesian optimization, and input the control parameter value P1, the evaluation result Vr, and the important parameter information PZ to determine the important control parameter value Pm to be set next. In this case, the combination of important control parameter values Pm is the same as the combination of important parameter information PZ. That is, the inference unit 14A uses only the control parameters specified in the important parameter information PZ to search for the important control parameter value Pm to be set next.
[0062] When an evolutionary algorithm is used, the inference unit 14A receives the control parameter value P1 and the evaluation result Vr and generates an important control parameter value Pm to be set next time by a method such as crossover, selection, or mutation. In this case, the inference unit 14A applies, for example, a genetic algorithm, which is an example of an evolutionary algorithm, to the important parameter information PZ and generates the important control parameter value Pm according to the genetic algorithm.
[0063] Furthermore, when the Nelder-Mead method is used, the inference unit 14A receives the control parameter value P1 and the evaluation result Vr and generates the important control parameter value Pm to be set next time using the Nelder-Mead algorithm. In this case, the inference unit 14A applies the Nelder-Mead algorithm to the important parameter information PZ and generates the important control parameter value Pm according to the Nelder-Mead algorithm.
[0064] The inference unit 14A may also generate the important control parameter value Pm using servo domain knowledge. Here, the servo domain knowledge may, for example, be to preferentially generate a value with a high servo gain when the important control parameter value Pm includes a servo gain, or to exclude an important control parameter value that generates mechanical vibration from candidates for the important control parameter value Pm. The servo domain knowledge used by the importance calculation unit 13A described above is first domain knowledge, and the servo domain knowledge used by the inference unit 14A, which is a search unit, is second domain knowledge. The inference unit 14A transmits the important control parameter value Pm to the motor control unit 20.
[0065] The motor control unit 20 generates commands to operate the motor 31 and supplies power to the motor 31. The motor control unit 20 controls the control target 32 by driving the motor 31 using control parameter values P1 including the important control parameter value Pm. The motor control unit 20 stores the control parameter value P1 used last time, and when the important control parameter value Pm is sent from the inference unit 14A, it updates only the control parameter value of the sent important control parameter value Pm. The motor control unit 20 drives the motor 31 using the control parameter value P1 including the updated important control parameter value Pm.
[0066] The visualization unit 15 visualizes the relationship between the important control parameter value Pm and at least one of the evaluation value V1 and the evaluation result Vr by generating and displaying information such as a diagram showing the relationship between the important control parameter value Pm and at least one of the evaluation value V1 and the evaluation result Vr (hereinafter, this may be referred to as parameter evaluation information). The visualization method may be a method showing the search process such as a parallel coordinate plot, or a method showing the adjustment result such as a PDP (Partial Dependence Plot) or an ICE (Individual Conditional Expectation) plot.
[0067] The display unit that displays the parameter evaluation information may be disposed outside the control parameter adjusting system 1 A. In this case, the visualization unit 15 outputs the parameter evaluation information to the external display unit, and the parameter evaluation information is displayed on the external display unit.
[0068] 2 is a flowchart showing the processing procedure of the processing executed by the control parameter adjusting system according to the embodiment 1. Here, a process will be described in which the control parameter adjusting system 1A adjusts the control parameter value P1 used for controlling the actual machine (the motor 31 and the controlled object 32).
[0069] The control parameter adjustment system 1A extracts important parameter information PZ for each actual machine and infers important control parameter values Pm to be set next. The control parameter adjustment system 1A adjusts the important control parameter values Pm and optimizes them to suit the purpose by repeating the process of extracting important parameter information PZ based on the evaluation result Vr, the process of inferring the important control parameter values Pm to be set next, and the process of calculating the evaluation result Vr based on the evaluation value V1. The processing steps of the process of optimizing the important control parameter values Pm performed by the control parameter adjustment system 1A are described below.
[0070] The control parameter adjusting system 1A receives a goal 5 from a user and sets the goal 5 (step S10). Specifically, the goal setting unit 11 receives one or more goals 5 from the user. The goal setting unit 11 extracts an evaluation function corresponding to the goal 5 from among evaluation functions stored in advance. The goal setting unit 11 transmits the extracted evaluation function to the data acquiring unit 12A.
[0071] Furthermore, the target setting unit 11 generates an initial control parameter value P1 (step S20). The initial control parameter value P1 may be an initial value set in advance in the inference device 2A, or may be an initial value arbitrarily determined by the user.
[0072] The target setting unit 11 sets the initial control parameter value P1 in the motor control unit 20 (step S30). As a result, the motor control unit 20 drives the motor 31 using the initial control parameter value P1 (step S40).
[0073] The data acquiring unit 12A acquires the initial control parameter value P1 and evaluation value V1 (step S50). The data acquiring unit 12A transmits the initial control parameter value P1 and at least one of the evaluation value V1 and the evaluation result Vr to the visualization unit 15.
[0074] The visualization unit 15 visualizes the relationship between the important control parameter value Pm that has been changed so far and at least one of the evaluation value V1 and the evaluation result Vr (step S60). Note that the visualization unit 15 may omit visualization of the evaluation value V1 or the evaluation result Vr in the initial visualization, since the important control parameter value Pm is not included.
[0075] The data acquiring unit 12A inputs the evaluation value V1 into the evaluation function corresponding to the target 5, thereby calculating the evaluation result Vr corresponding to the target 5. The data acquiring unit 12A determines whether or not an adjustment termination condition, which is a condition for terminating the adjustment process of the control parameter value P1, is satisfied (step S70).
[0076] The adjustment termination conditions include the value of the evaluation result Vr calculated using the evaluation value V1, the degree of convergence of the evaluation result Vr, the number of loops of the process of calculating the evaluation result Vr, etc. That is, the data acquiring unit 12A determines whether the evaluation result Vr has reached a specific value, whether the degree of convergence of the evaluation result Vr has reached a specific value, whether the process of changing the important control parameter value Pm has reached a specified number of times, etc.
[0077] When the data acquiring unit 12A determines that the adjustment termination condition is not satisfied (No in step S70), it transmits the control parameter value P1 and the evaluation result Vr to the importance calculating unit 13A. Based on the control parameter value P1 and the evaluation result Vr, the importance calculating unit 13A then calculates the importance of the control parameter corresponding to each control parameter value P1. The importance calculating unit 13A then extracts important parameter information PZ based on the importance of each control parameter (step S80). Note that if a parameter with the same importance as the previous one is adopted, the previous important parameter PZ may be used without extracting new important parameter information PZ.
[0078] The importance calculation unit 13A transmits the control parameter value P1, the evaluation result Vr, and the important parameter information PZ to the inference unit 14A. The inference unit 14A inputs the control parameter value P1, the evaluation result Vr, and the important parameter information PZ to the trained model 45 (step S90). As a result, the inference unit 14A infers the next important control parameter value Pm corresponding to the control parameter value P1, the evaluation result Vr, and the important parameter information PZ.
[0079] Thereafter, the control parameter adjusting system 1A repeats the processes of steps S30 to S70. In this case, the inference unit 14A sets the inferred next important control parameter value Pm in the motor control unit 20 (step S30). As a result, the motor control unit 20 drives the motor 31 using the next important control parameter value Pm (step S40). The motor control unit 20 uses the control parameter values used previously as control parameter values other than the important control parameter value Pm. In other words, the motor control unit 20 updates only the important control parameter value Pm with respect to the previous control parameter value P1 and drives the motor 31.
[0080] In addition, the motor control unit 20 may determine a control parameter value other than the important control parameter value Pm based on the relationship between the important control parameter value Pm that has been changed so far and the evaluation value V1 or the evaluation result Vr.
[0081] The data acquisition unit 12A acquires a control parameter value P1 including an important control parameter value Pm and an evaluation value V1 (step S50). The visualization unit 15 visualizes the relationship between the important control parameter value Pm that has been changed so far and at least one of the evaluation value V1 and the evaluation result Vr, based on the relationship between the important control parameter value Pm that has been changed so far and at least one of the evaluation value V1 and the evaluation result Vr (step S60). In the second and subsequent visualizations, the visualization unit 15 visualizes at least one of the search process (adjustment process) and adjustment results of the important control parameter value Pm, based on the relationship between the important control parameter value Pm and at least one of the evaluation value V1 and the evaluation result Vr.
[0082] The data acquiring unit 12A inputs the evaluation value V1 into the evaluation function corresponding to the target 5 to calculate the evaluation result Vr corresponding to the target 5. The data acquiring unit 12A determines whether or not an adjustment termination condition, which is a condition for terminating the adjustment process of the control parameter value P1, is satisfied (step S70). The control parameter adjusting system 1A repeats the processes of steps S80 and S90 and steps S30 to S70 until the data acquiring unit 12A determines that the adjustment termination condition is satisfied.
[0083] When the data acquiring unit 12A determines that the adjustment end condition is satisfied (Yes in step S70), the data acquiring unit 12A ends the adjustment process of the control parameter value P1. At this point, the control parameter value P1 set in the motor control unit 20 is an appropriate control parameter value P1 adjusted in accordance with the target 5.
[0084] The learning algorithm of the trained model 45 used by the inference unit 14A can be reinforcement learning, supervised learning, unsupervised learning, semi-supervised learning, etc. Also, the learning algorithm used for model generation can be deep learning, which learns to extract features themselves, or machine learning can be performed according to other known methods, such as neural networks, genetic programming, functional logic programming, and support vector machines.
[0085] Next, a description will be given of the configuration of a learning device that generates a trained model 45. Fig. 3 is a diagram showing the configuration of a learning device according to the first embodiment. A learning device 50 is connected to a trained model storage unit 16.
[0086] The learning device 50 and the trained model storage unit 16 may be connected via a network. The learning device 50 may be disposed within the control parameter adjusting system 1A, or may be disposed outside the control parameter adjusting system 1A. The trained model storage unit 16 may be disposed within the learning device 50, or may be disposed within the control parameter adjusting system 1A.
[0087] The learning device 50 includes a data acquiring unit 51 and a model generating unit 52. The data acquiring unit 51 acquires a control parameter value P1, an evaluation result Vr based on the evaluation value V1, and important parameter information PZ from a device external to the learning device 50. The data acquiring unit 51 also acquires the control parameter value P1, the evaluation result Vr based on the evaluation value V1, and important control parameter values Pm corresponding to the important parameter information PZ from the device external to the learning device 50. The data acquiring unit 51 acquires the control parameter value P1, the evaluation value V1, the important parameter information PZ, and the important control parameter value Pm from, for example, the control parameter adjusting system 1A. The data acquiring unit 51 transmits the acquired control parameter value P1, the evaluation result Vr, the important parameter information PZ, and the important control parameter value Pm to the model generating unit 52.
[0088] The model generation unit 52 learns an appropriate important control parameter value Pm corresponding to the control parameter value P1, the evaluation result Vr, and the important parameter information PZ based on learning data generated based on a combination of the control parameter value P1, the evaluation result Vr, and the important parameter information PZ sent from the data acquisition unit 51 with the important control parameter value Pm. In other words, the model generation unit 52 learns an appropriate important control parameter value Pm when the control parameter value P1, the evaluation result Vr, and the important parameter information PZ are satisfied based on learning data generated based on a combination of the control parameter value P1, the evaluation result Vr, and the important parameter information PZ with the important control parameter value Pm. In this way, the model generation unit 52 generates a trained model 45 that infers an appropriate important control parameter value Pm from the control parameter value P1, the evaluation result Vr, and the important parameter information PZ. Here, the learning data is data in which the control parameter value P1, the evaluation result Vr, the important parameter information PZ, and the important control parameter value Pm are associated with each other. In the following description, the control parameter value P1, the evaluation result Vr, and the important parameter information PZ may be referred to as parameter evaluation information.
[0089] The model generation unit 52 can use known algorithms such as supervised learning, unsupervised learning, reinforcement learning, etc. As an example, a case where a neural network is applied to the learning algorithm used by the model generation unit 52 will be described.
[0090] The model generation unit 52 learns appropriate important control parameter values Pm corresponding to the parameter evaluation information by so-called supervised learning, for example, according to a neural network model. Here, supervised learning refers to a technique in which learning data, which are data pairs of inputs and results (labels), are provided to the learning device 50, and the learning device 50 learns features contained in the learning data and infers results from the inputs.
[0091] A neural network consists of an input layer consisting of multiple neurons, an intermediate layer (hidden layer) consisting of multiple neurons, and an output layer consisting of multiple neurons. The intermediate layer may be one layer or two or more layers.
[0092] 4 is a diagram illustrating a neural network used by the learning device according to the first embodiment. For example, in the case of a three-layer neural network as shown in FIG. 4, when multiple inputs are input to the input layer (X1 to X3), the values are multiplied by a weight W1 (shown as w11 to w16 in FIG. 4) and input to the intermediate layer (Y1 to Y2). The result is then further multiplied by a weight W2 (shown as w21 to w26 in FIG. 4) and output from the output layer (Z1 to Z3). This output result varies depending on the values of the weights W1 and W2.
[0093] The neural network used by the learning device 50 learns the important control parameter value Pm corresponding to the parameter evaluation information by so-called supervised learning in accordance with learning data generated based on a combination of the parameter evaluation information and the important control parameter value Pm acquired by the data acquiring unit 51. In other words, the neural network used by the learning device 50 learns the important control parameter value Pm corresponding to the parameter evaluation information by so-called supervised learning in accordance with the parameter evaluation information and the important control parameter value Pm generated based on a combination of the first input and the second input (correct answer) acquired by the data acquiring unit 51.
[0094] That is, the neural network learns by inputting parameter evaluation information as the first input and adjusting the weights W1 and W2 so that the result output from the output layer approaches the second input (correct answer).
[0095] In this way, the neural network learns by inputting parameter evaluation information to the input layer and adjusting the weights W1 and W2 so that the result output from the output layer approaches the important control parameter value Pm. The neural network learns the correspondence between the parameter evaluation information and the important control parameter value Pm, thereby generating a trained model 45 that can output an appropriate important control parameter value Pm when parameter evaluation information is input. In this way, the learning device 50 learns a trained model 45 that can output the correct important control parameter value Pm when parameter evaluation information is input.
[0096] The model generation unit 52 generates a trained model 45 by performing the above-described learning, and outputs the trained model 45 to the trained model storage unit 16. The trained model storage unit 16 stores the trained model 45 output from the model generation unit 52.
[0097] Next, a processing procedure of the process in which the learning device 50 learns the trained model 45 will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the processing procedure of the learning process executed by the learning device according to the first embodiment.
[0098] The data acquiring unit 51 acquires learning data to be used for learning (step S1). Specifically, the data acquiring unit 51 acquires parameter evaluation information and important control parameter values Pm.
[0099] The data acquisition unit 51 acquires the parameter evaluation information and the important control parameter value Pm simultaneously, but the parameter evaluation information and the important control parameter value Pm may be input in association with each other. Therefore, the data acquisition unit 51 may acquire the parameter evaluation information and the important control parameter value Pm at different times. The data acquisition unit 51 transmits the parameter evaluation information and the important control parameter value Pm to the model generation unit 52.
[0100] The model generation unit 52 executes a learning process using the parameter evaluation information and the important control parameter values Pm (step S2). Specifically, the model generation unit 52 learns the important control parameter values Pm corresponding to the parameter evaluation information by so-called supervised learning in accordance with learning data generated based on a combination of the parameter evaluation information and the important control parameter values Pm acquired by the data acquisition unit 51, and generates a trained model 45.
[0101] After generating the trained model 45, the model generation unit 52 outputs the trained model 45 to the trained model storage unit 16 (step S3). The trained model storage unit 16 stores the trained model 45 generated by the model generation unit 52.
[0102] Next, a description will be given of the processing procedure of the inference device 2A inferring the important control parameter value Pm using the trained model 45. Fig. 6 is a flowchart showing the processing procedure of the inference processing executed by the inference device according to the first embodiment.
[0103] The inference unit 14A acquires inference data used to infer the important control parameter value Pm (step S4). Specifically, the inference unit 14A acquires parameter evaluation information including the control parameter value P1, the evaluation result Vr, and the important parameter information PZ. The inference unit 14A acquires the parameter evaluation information from the importance calculation unit 13A and acquires the trained model 45 from the trained model storage unit 16.
[0104] The inference unit 14A inputs the parameter evaluation information to the trained model 45 (step S5), and acquires an appropriate important control parameter value Pm corresponding to the parameter evaluation information.
[0105] The inference unit 14A outputs data inferred using the trained model 45 and the parameter evaluation information (step S6). Specifically, the inference unit 14A outputs the important control parameter value Pm obtained by the trained model 45 to the motor control unit 20. The inference unit 14A also transmits the important control parameter value Pm and at least one of the evaluation value V1 and the evaluation result Vr to the visualization unit 15. The visualization unit 15 displays the important control parameter value Pm that has been changed so far and at least one of the evaluation value V1 and the evaluation result Vr (step S7).
[0106] It should be noted that when the importance calculation unit 13A uses an importance-trained model, the importance-trained model is generated by a learning device having a configuration similar to that of the learning device 50. The learning device that generates the importance-trained model uses a learning algorithm similar to the learning algorithm used by the learning device 50. The learning device that generates the importance-trained model generates the importance-trained model based on the control parameter value P1, the evaluation value V1, and the important parameter information PZ. This importance-trained model is a trained model that, when the control parameter value P1 and the evaluation value V1 are input, outputs the important parameter information PZ corresponding to the control parameter value P1 and the evaluation value V1.
[0107] Furthermore, when the importance calculation unit 13A uses an importance-learned model, the importance calculation unit 13A executes the same inference processing as the inference unit 14A. In this case, the importance calculation unit 13A has the function of an inference device that outputs important parameter information PZ using the importance-learned model. This inference device infers the important parameter information PZ by inputting the control parameter value P1 and the evaluation value V1 into the importance-learned model.
[0108] The learning process procedure by the learning device that generates the importance-trained model is similar to the learning process procedure by the learning device 50, and therefore its description will be omitted. Also, the inference process procedure by the inference device that infers important parameter information PZ using the importance-trained model is similar to the inference process procedure by the inference device 2A, and therefore its description will be omitted.
[0109] At least one of the learning device 50 and the inference device 2A may be connected to the control parameter adjusting system 1A via a network, for example, and may be a device separate from the control parameter adjusting system 1A. Alternatively, the learning device 50 and the inference device 2A may be built into the control parameter adjusting system 1A. Furthermore, at least one of the learning device 50 and the inference device 2A may exist on a cloud server.
[0110] The model generation unit 52 may also learn the important control parameter value Pm to be set next using learning data acquired from multiple control parameter adjustment systems 1A. The model generation unit 52 may acquire learning data from multiple control parameter adjustment systems 1A used in the same area, or may learn the important control parameter value Pm to be set next using learning data collected from multiple control parameter adjustment systems 1A operating independently in different areas. It is also possible to add or remove control parameter adjustment systems 1A that collect learning data from the target system during the process. Furthermore, the learning device 50 that has learned the important control parameter value Pm to be set next for a certain control parameter adjustment system 1A may be applied to another control parameter adjustment system 1A, and the important control parameter value Pm to be set next may be re-learned and updated in the other control parameter adjustment system 1A.
[0111] Furthermore, when generating a model, the learning device 50 may use servo domain knowledge to efficiently perform learning on the servo (motor control unit 20 and motor 31). The servo domain knowledge here includes, for example, that when the important control parameter value Pm includes a servo gain, a value with a high servo gain is preferentially generated, and that important control parameter values that cause mechanical vibrations are excluded from the candidates for the important control parameter value Pm. That is, the learning device 50 generates a trained model 45 that can preferentially generate a value with a high servo gain, and a trained model 45 that excludes important control parameter values that cause mechanical vibrations from the candidates for the important control parameter value Pm.
[0112] As described above, in the control parameter adjusting system 1A of the first embodiment, the control parameter value P1 is adjusted by repeating the following processes: the data acquiring unit 12A calculates the evaluation result Vr; the importance calculating unit 13A generates important parameter information PZ using the evaluation result Vr; the inference unit 14A searches for the important control parameter value Pm; and the motor control unit 20 controls the controlled object 32 using the important control parameter value Pm. As a result, the control parameter adjusting system 1A can narrow down the control parameter values P1 to important control parameters that are important control parameters and adjust the important control parameter value Pm. Therefore, the control parameter adjusting system 1A can easily adjust the control parameter value P1 appropriately according to the control target 5.
[0113] In this way, the control parameter adjusting system 1A can automatically extract significant important control parameters and efficiently adjust the important control parameter values Pm, regardless of the skill level of the worker. Furthermore, since the control parameter adjusting system 1A mechanically extracts significant important control parameters and adjusts the important control parameter values Pm, non-personal results can be obtained that are not dependent on the skill level of the worker.
[0114] Embodiment 2 Next, a second embodiment will be described with reference to Figures 7 to 10. In the first embodiment, extraction of important parameter information PZ (extraction of types of important parameters) and adjustment of important control parameter values Pm (adjustment of parameter values) were repeated in order, but in the second embodiment, the process for extracting important parameter information PZ is repeated multiple times to determine the important parameter information PZ, and then the process for adjusting the important control parameter value Pm is repeated. That is, in the second embodiment, important parameter information PZ is determined in advance, and then parameter adjustment is performed on the important parameter information PZ.
[0115] Fig. 7 is a diagram showing the configuration of a control parameter adjusting system according to embodiment 2. Among the components in Fig. 7, components that achieve the same functions as those in the control parameter adjusting system 1A of embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and duplicated explanations will be omitted.
[0116] The control parameter adjusting system 1B of the second embodiment is different from the control parameter adjusting system 1A in that it includes an adjusting unit 10B instead of the adjusting unit 10A. The adjusting unit 10B is different from the adjusting unit 10A in that it includes an inference device 2B instead of the inference device 2A.
[0117] Inference device 2B includes data acquisition unit 12B, importance calculation unit 13B, and inference unit 14B. That is, compared to inference device 2A, inference device 2B includes data acquisition unit 12B instead of data acquisition unit 12A, importance calculation unit 13B instead of importance calculation unit 13A, and inference unit 14B instead of inference unit 14A.
[0118] To determine the important parameter information PZ, the importance calculation unit 13B operates the controlled object 32 by varying the values of the control parameter values P1, which consist of a plurality of types (for example, several hundred types), one by one or a plurality of values at a time.
[0119] The data acquiring unit 12B acquires a control parameter value P1 and an evaluation value V1 corresponding to the control parameter value P1 from the detecting unit 41. Here, the evaluation value V1 corresponding to the control parameter value P1 acquired by the data acquiring unit 12B is a first evaluation value V1. The data acquiring unit 12B inputs the acquired evaluation value V1 into an evaluation function to calculate an evaluation result Vr for the target 5. Note that the evaluation result Vr calculated using the first evaluation value V1 is the first evaluation result Vr.
[0120] When varying the multiple types of control parameter values P1 one by one or multiple values at a time to determine the important parameter information PZ, the importance calculation unit 13B acquires the control parameter values P1 and the evaluation result Vr corresponding to the control parameter values P1 from the data acquisition unit 12B, but does not acquire the important control parameter values Pm. The evaluation result Vr acquired by the importance calculation unit 13B is the first evaluation result Vr.
[0121] The importance calculation unit 13B calculates the importance of each control parameter value P1 using a method similar to that used by the importance calculation unit 13A, and generates information about control parameters whose importance is higher than a specific value as important parameter information PZ. Similarly to the importance calculation unit 13A, the importance calculation unit 13B calculates the importance using servo domain knowledge. Similarly to the importance calculation unit 13A, the importance calculation unit 13B may calculate the importance of the control parameters based on statistical analysis or machine learning.
[0122] Furthermore, the data acquisition unit 12B acquires important parameter information PZ from the importance calculation unit 13B. When the important control parameter value Pm is adjusted, the data acquisition unit 12B acquires the important control parameter value Pm and an evaluation value V1 corresponding to the important control parameter value Pm from the detection unit 41. The evaluation value V1 corresponding to the important control parameter value Pm acquired by the data acquisition unit 12B is the second evaluation value V1. The data acquisition unit 12B calculates an evaluation result Vr for the target 5 by inputting the acquired evaluation value V1 into an evaluation function. The evaluation result Vr calculated using the second evaluation value V1 is the second evaluation result Vr. The data acquisition unit 12B transmits the important parameter information PZ, the important control parameter value Pm, and the evaluation result Vr to the inference unit 14B.
[0123] The inference unit 14B infers the important control parameter value Pm to be set next time using the trained model 45X. The inference unit 14B infers the important control parameter value Pm to be set next time by the same processing as the inference unit 14A. For example, the inference unit 14B infers the important control parameter value Pm to be set next time using servo domain knowledge, similar to the inference unit 14A.
[0124] The learning algorithm of the trained model 45X used by the inference unit 14B is the same as the learning algorithm of the trained model 45 used by the inference unit 14A. The trained model 45X is a trained model that infers an appropriate important control parameter value Pm to be set next time from the important control parameter value Pm and the evaluation value V1.
[0125] In addition, like the inference unit 14A, the inference unit 14B may determine the important control parameter value Pm to be set next time by applying an evolutionary algorithm or the Nelder-Mead method, which does not require gradient information, as a result of trialing an optimization method such as Bayesian optimization, and inputting the important control parameter value Pm and the evaluation value V1.
[0126] The trained model 45X is generated by a learning device having a configuration similar to that of the learning device 50 of embodiment 1. The trained model 45X of embodiment 2 is generated for each important parameter information PZ. The inference unit 14B uses the trained model 45X corresponding to the important parameter information PZ to infer the important control parameter value Pm to be set next time.
[0127] When an important control parameter value Pm is inferred, the motor control unit 20 of the second embodiment stores the control parameter values P1 other than the important control parameter value Pm, and when the important control parameter value Pm is sent from the inference unit 14B, the motor control unit 20 updates only the control parameter value of the sent important control parameter value Pm. The motor control unit 20 drives the motor 31 using the control parameter values P1 including the updated important control parameter value Pm.
[0128] 8 is a flowchart showing the processing procedure of the processing executed by the control parameter adjusting system according to the embodiment 2. Note that the same steps as those described in FIG. 2 are assigned the same step numbers, and their description will be omitted.
[0129] Here, a process will be described in which the control parameter adjusting system 1B adjusts the control parameters used to control the actual machines (the motor 31 and the controlled object 32). The control parameter adjusting system 1B extracts and determines important parameter information PZ for each actual machine, and then performs parameter adjustment (optimization of the parameter value) of the important control parameter value Pm.
[0130] The control parameter adjusting system 1B receives a target 5 from a user and sets the target 5 (step S10). Specifically, the target setting unit 11 extracts an evaluation function corresponding to the target 5 from among pre-stored evaluation functions. The target setting unit 11 transmits the extracted evaluation function to the data acquiring unit 12B.
[0131] Thereafter, the control parameter adjusting system 1B executes a process of generating important parameter information PZ (step S15). That is, the control parameter adjusting system 1B extracts important parameters from the control parameter values P1 and generates information on the important parameters as important parameter information PZ. Specifically, the control parameter adjusting system 1B operates the controlled object 32 by varying the values of each of the multiple types of control parameter values P1. In this case, the importance calculation unit 13B transmits the variously varied control parameter values P1 to the motor control unit 20 in order.
[0132] The importance calculation unit 13B changes the multiple types of control parameter values P1 one by one or multiple values at a time. That is, the importance calculation unit 13B changes one control parameter among the multiple types of control parameter values P1 and fixes the remaining control parameters. Alternatively, when the importance calculation unit 13B changes multiple types of control parameter values P1 at a time, it fixes the remaining control parameters that were not changed.
[0133] The control parameter adjusting system 1B calculates an evaluation value V1 by varying the control parameter value P1. The control parameter adjusting system 1B calculates an evaluation value V1 for the control parameter value P1 (i.e., a first evaluation value V1) by repeating the process of calculating the evaluation value V1 while varying the value of each control parameter value P1. The data acquiring unit 12B inputs the acquired first evaluation value V1 into an evaluation function to calculate a first evaluation result Vr for the target 5. The importance calculating unit 13B acquires the control parameter value P1 and the first evaluation result Vr from the data acquiring unit 12B.
[0134] The importance calculation unit 13B calculates the importance of each control parameter value P1 using the same method as the importance calculation unit 13A, and generates information on control parameters whose importance is higher than a specific value as important parameter information PZ. In this way, the important parameter information PZ is determined. The importance calculation unit 13B transmits the important parameter information PZ to the data acquisition unit 12.
[0135] Thereafter, the control parameter adjusting system 1B adjusts the parameter value of each control parameter included in the important parameter information PZ. That is, the control parameter adjusting system 1B changes the important control parameter value Pm in order.
[0136] Specifically, the data acquisition unit 12 generates an initial important control parameter value Pm based on the important parameter information PZ (step S25). The initial important control parameter value Pm may be an initial value set in advance in the inference device 2B, or may be an initial value arbitrarily determined by the user. Furthermore, the control parameter values P1 other than the important control parameter value Pm may be values set in advance in the inference device 2B, or may be values arbitrarily determined by the user.
[0137] The importance calculation unit 13B sets the initial important control parameter value Pm in the motor control unit 20 (step S35). As a result, the motor control unit 20 drives the motor 31 using the control parameter value P1 including the initial important control parameter value Pm (step S40).
[0138] The data acquiring unit 12B acquires the initial important control parameter value Pm and evaluation value V1 (i.e., second evaluation value V1) (step S55). The data acquiring unit 12B transmits the initial important control parameter value Pm and at least one of the second evaluation value V1 and the second evaluation result Vr to the visualizing unit 15. The visualizing unit 15 visualizes the relationship between the initial important control parameter value Pm and at least one of the second evaluation value V1 and the second evaluation result Vr (step S60).
[0139] The data acquiring unit 12B inputs the second evaluation value V1 into the evaluation function corresponding to the target 5, thereby calculating the second evaluation result Vr corresponding to the target 5. The data acquiring unit 12B determines whether or not an adjustment termination condition, which is a condition for terminating the adjustment process of the control parameter value P1, is satisfied (step S70).
[0140] When the data acquiring unit 12B determines that the adjustment end condition is not satisfied (No in step S70), it transmits the important control parameter value Pm and the second evaluation result Vr to the inference unit 14B.
[0141] The inference unit 14B inputs the important control parameter value Pm and the second evaluation result Vr to the trained model 45X corresponding to the important parameter information PZ (step S90). As a result, the inference unit 14B infers the next important control parameter value Pm corresponding to the important control parameter value Pm and the second evaluation result Vr.
[0142] Thereafter, the control parameter adjusting system 1B repeats the processes of steps S35 to S70. In this case, the inference unit 14B sets the next important control parameter value Pm in the motor control unit 20 (step S35). As a result, the motor control unit 20 drives the motor 31 using the next important control parameter value Pm (step S40). The motor control unit 20 uses the control parameter values used previously as control parameter values other than the important control parameter value Pm. In other words, the motor control unit 20 updates only the important control parameter value Pm with respect to the previous control parameter value P1 and drives the motor 31.
[0143] The data acquisition unit 12B acquires the important control parameter value Pm and the second evaluation value V1 (step S55). The visualization unit 15 visualizes the relationship between the important control parameter value Pm that has been changed so far and at least one of the second evaluation value V1 and the second evaluation result Vr (step S60). In the second and subsequent visualizations, the visualization unit 15 visualizes at least one of the search progress and adjustment results of the important control parameter value Pm based on the relationship between the important control parameter value Pm and at least one of the second evaluation value V1 and the second evaluation result Vr.
[0144] The data acquiring unit 12B inputs the second evaluation value V1 into the evaluation function corresponding to the target 5 to calculate a second evaluation result Vr corresponding to the target 5. The data acquiring unit 12B determines whether or not an adjustment termination condition, which is a condition for terminating the adjustment process of the control parameter value P1, is satisfied (step S70). The control parameter adjusting system 1B repeats the process of step S90 and the processes of steps S35 to S70 until the data acquiring unit 12B determines that the adjustment termination condition is satisfied.
[0145] If the data acquiring unit 12B determines that the adjustment end condition is satisfied (Yes in step S70), it ends the adjustment process of the control parameter value P1. At this point, the control parameter value P1 set in the motor control unit 20 is an appropriate control parameter value P1 adjusted in accordance with the target 5.
[0146] As described above, according to the second embodiment, the control parameter adjustment system 1B determines important parameters and calculates the evaluation result Vr by varying the important control parameter value Pm, so that, similar to the first embodiment, it is possible to easily adjust the control parameter value P1 appropriately according to the control target 5.
[0147] Next, the hardware configurations of the control parameter adjusting systems 1A, 1B and the learning device 50 will be described. Note that the control parameter adjusting systems 1A, 1B and the learning device 50 have similar hardware configurations, so here, the hardware configuration of the control parameter adjusting system 1B will be described. The control parameter adjusting system 1B is realized by a processing circuit. The processing circuit may be a processor and memory that executes a program stored in a memory, or may be dedicated hardware.
[0148] FIG. 9 is a diagram illustrating a configuration example of a processing circuit included in the control parameter adjustment system according to the second embodiment, when the processing circuit is realized by a processor and a memory. The processing circuit 90 illustrated in FIG. 9 includes a processor 91 and a memory 92. When the processing circuit 90 includes the processor 91 and the memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a control parameter adjustment program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the control parameter adjustment program stored in the memory 92. That is, the processing circuit 90 includes the memory 92 for storing the control parameter adjustment program that results in the processing of the control parameter adjustment system 1B. This control parameter adjustment program can also be said to be a program that causes the control parameter adjustment system 1B to execute each function realized by the processing circuit 90. This control parameter adjustment program may be provided by a computer-readable recording medium on which the control parameter adjustment program is recorded, or by other means such as a communication medium.
[0149] The control parameter adjusting program can also be said to be a program that causes the control parameter adjusting system 1B to execute the processes of steps S10 to S90 in Fig. 8. Here, the processor 91 is, for example, a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). Furthermore, the memory 92 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (registered trademark), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).
[0150] FIG. 10 is a diagram illustrating an example of a processing circuit included in the control parameter adjustment system according to the second embodiment, configured with dedicated hardware. The processing circuit 93 illustrated in FIG. 10 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The processing circuit 93 may be partially implemented with dedicated hardware and partially implemented with software or firmware. In this way, the processing circuit 93 can realize each of the above-described functions by dedicated hardware, software, firmware, or a combination thereof.
[0151] The adjustment units 10A and 10B may have the hardware configuration shown in Fig. 9 or 10. The inference devices 2A and 2B may have the hardware configuration shown in Fig. 9 or 10. The learning device that generates the importance-trained model may have the hardware configuration shown in Fig. 9 or 10.
[0152] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention. [Explanation of symbols]
[0153] 1A, 1B Control parameter adjustment system, 2A, 2B Inference device, 5 Goal, 10A, 10B Adjustment unit, 11 Goal setting unit, 12A, 12B, 51 Data acquisition unit, 13A, 13B Importance calculation unit, 14A, 14B Inference unit, 15 Visualization unit, 16 Trained model memory unit, 20 Motor control unit, 31 Motor, 32 Control target, 41 Detection unit, 45, 45X Trained model, 50 Learning device, 52 Model generation unit, 90, 93 Processing circuit, 91 Processor, 92 Memory, P1 Control parameter value, PZ Important parameter information, Pm Important control parameter value, V1 Evaluation value, Vr Evaluation result.
Claims
1. A motor control unit that controls the controlled object using control parameter values, which are the parameter values of the control parameters, A target setting unit extracts an evaluation function corresponding to the control objective entered by the user, A data acquisition unit that acquires the control parameter value and the evaluation value when the controlled object is controlled using the control parameter value, and inputs the evaluation value into the evaluation function to calculate the evaluation result for the target when the controlled object is controlled using the control parameter value. An importance calculation unit generates information as important parameter information about important control parameters, which are control parameters that have a greater impact on the evaluation result than other control parameters, based on the control parameter values and the evaluation result. A search unit searches for important control parameter values, which are the parameter values of the important control parameters to be set in the motor control unit next time, based on the evaluation results, the control parameter values, and the important parameter information. Equipped with, The control parameter values are adjusted by repeatedly performing the following steps: the data acquisition unit calculates the evaluation result; the importance calculation unit generates the important parameter information; the search unit searches for the important control parameter values; and the motor control unit controls the controlled object using the control parameter values, including the important control parameter values. A control parameter adjustment system characterized by the following:
2. A motor control unit that controls the controlled object using control parameter values, which are the parameter values of the control parameters, A target setting unit extracts an evaluation function for the target based on the control target entered by the user, A data acquisition unit that acquires the control parameter value and a first evaluation value when the controlled object is controlled using the control parameter value, and inputs the first evaluation value into the evaluation function to calculate a first evaluation result for the target when the controlled object is controlled using the control parameter value, and acquires an important control parameter value which is the parameter value of an important control parameter that has a greater influence on the first evaluation result than other control parameters, and a second evaluation value when the controlled object is controlled using the important control parameter value, and inputs the second evaluation value into the evaluation function to calculate a second evaluation result for the target when the controlled object is controlled using the important control parameter value. An importance calculation unit that acquires the control parameter values and the first evaluation result, and generates information on the important control parameters as important parameter information based on the control parameter values and the first evaluation result, A search unit searches for the important control parameter value to be set in the motor control unit next time, based on the second evaluation result and the important control parameter value, Equipped with, After the importance calculation unit repeatedly performs the process of changing the control parameter value and the motor control unit repeatedly performs the process of controlling the controlled object using the control parameter value, the importance calculation unit determines and generates the important parameter information. After the important parameter information is generated, the data acquisition unit repeatedly performs the process of calculating the second evaluation result, the search unit repeatedly performs the process of searching for the important control parameter value, and the motor control unit repeatedly performs the process of controlling the controlled object using the control parameter value including the important control parameter value, thereby adjusting the control parameter value. A control parameter adjustment system characterized by the following:
3. The importance calculation unit generates the important parameter information based on the first domain knowledge. A control parameter adjustment system according to claim 1 or 2, characterized by the above.
4. The search unit searches for the important control parameter values based on the second domain knowledge. A control parameter adjustment system according to claim 1 or 2, characterized by the above.
5. The system further includes a visualization unit that visualizes the search process for the important control parameter value and at least one of the adjustment results for the important control parameter value, based on the relationship between the important control parameter value and at least one of the evaluation value and the evaluation result. The control parameter adjustment system according to claim 1.
6. The system further includes a visualization unit that visualizes the search process for the important control parameter value and at least one of the adjustment results for the important control parameter value, based on the relationship between the important control parameter value and at least one of the second evaluation value and the second evaluation result. The control parameter adjustment system according to claim 2.
7. The search unit is an inference unit that uses a trained model to infer the important control parameter value to be set next time, based on the evaluation result, the control parameter value, and the important parameter information, and outputs the important control parameter value from the evaluation result and the control parameter value acquired by the data acquisition unit and the important parameter information generated by the importance calculation unit. The control parameter adjustment system according to claim 1.
8. The search unit is an inference unit that uses a trained model to infer the important control parameter value to be set next time, based on the second evaluation result and the important control parameter value, and outputs the important control parameter value to be set next time from the second evaluation result and the important control parameter value acquired by the data acquisition unit. The control parameter adjustment system according to claim 2.
9. The importance calculation unit calculates the importance of the control parameters based on statistical analysis or machine learning, and generates the important parameter information based on the importance. A control parameter adjustment system according to claim 1 or 2, characterized by the above.
10. A data acquisition unit acquires learning data including an evaluation result based on an evaluation value when the controlled object is controlled using the control parameter value, which is the parameter value of the control parameter; the control parameter value; important parameter information, which is information on important control parameters that have a greater influence on the evaluation value than other control parameters; and important control parameter value, which is the parameter value of the important control parameter to be set next time. A model generation unit generates a trained model for inferring the important control parameter values to be set next time, using the aforementioned training data, evaluation results, control parameter values, and important parameter information. A learning device characterized by being equipped with the following features.
11. A control parameter adjustment system for adjusting control parameters includes a motor control step in which a control object is controlled using the control parameter value, which is the parameter value of the control parameter, The control parameter adjustment system includes a goal setting step of extracting an evaluation function corresponding to a control goal input by the user, The control parameter adjustment system includes a data acquisition step in which it obtains the control parameter value and the evaluation value when the controlled object is controlled using the control parameter value, and inputs the evaluation value into the evaluation function to calculate the evaluation result for the target when the controlled object is controlled using the control parameter value. The control parameter adjustment system includes an importance calculation step of generating information as important parameter information for important control parameters, which are control parameters that have a greater impact on the evaluation result than other control parameters, based on the control parameter values and the evaluation result. The control parameter adjustment system includes a search step of searching for an important control parameter value, which is the parameter value of the important control parameter to be set next time, based on the evaluation result, the control parameter value, and the important parameter information. Includes, The control parameter adjustment system adjusts the control parameter values by repeatedly performing the following steps: a process to calculate the evaluation result in the data acquisition step; a process to generate the important parameter information in the importance calculation step; a process to search for the important control parameter values in the search step; and a process to control the controlled object using the control parameter values including the important control parameter values in the motor control step. A method for adjusting control parameters, characterized by the features described above.
12. A control parameter adjustment system for adjusting control parameters includes a motor control step in which a control object is controlled using the control parameter value, which is the parameter value of the control parameter, The control parameter adjustment system includes a goal setting step of extracting an evaluation function for a control objective based on the objective input by the user, The control parameter adjustment system acquires the control parameter value and a first evaluation value when the controlled object is controlled using the control parameter value, and inputs the first evaluation value into the evaluation function to calculate a first evaluation result for the target when the controlled object is controlled using the control parameter value, and acquires an important control parameter value which is the parameter value of an important control parameter that has a greater influence on the first evaluation result than other control parameters, and a second evaluation value when the controlled object is controlled using the important control parameter value, and inputs the second evaluation value into the evaluation function to calculate a second evaluation result for the target when the controlled object is controlled using the important control parameter value, The control parameter adjustment system acquires the control parameter values and the first evaluation result, and calculates importance based on the control parameter values and the first evaluation result to generate information on the important control parameters as important parameter information. The control parameter adjustment system includes a search step of searching for the important control parameter value to be set in the next motor control step based on the second evaluation result and the important control parameter value, Includes, The control parameter adjustment system repeatedly performs the process of changing the control parameter value in the importance calculation step and the process of controlling the controlled object using the control parameter value in the motor control step, and then determines and generates the important parameter information in the importance calculation step. The control parameter adjustment system adjusts the control parameter values by repeatedly performing the following steps after generating the important parameter information: calculating the second evaluation result in the data acquisition step; searching for the important control parameter values in the search step; and controlling the controlled object using the control parameter values including the important control parameter values in the motor control step. A method for adjusting control parameters, characterized by the features described above.