A non-transitory computer-readable storage medium storing a program executable on a computer, the program causing, when executed, the computer to perform operations comprising:
- acquiring time-series data of a control input and a control output that are observed when a controlled object is controlled by a controller, the controller being configured to calculate, based on the control output, the control input following a particular transfer function having a variable parameter and to control the controlled object based on the control input;
- calculating a value of the variable parameter that minimizes an output value of an evaluation function relating to a control error, based on an observation value of the control input and an observation value of the control output at each time in an observation period identified from the acquired time-series data;
- and
- updating a setting value of the variable parameter with the calculated value of the variable parameter,
- wherein the evaluation function includes:
- a first function part configured to evaluate an entire error that is a control error of an entirety of the observation period based on the observation value at each time in the observation period and to increase the output value as the entire error increases;
- a second function part configured to evaluate a sectional error that is a control error of a particular section in the observation period based on the observation value at each time in the particular section and to increase the output value as the sectional error increases;
- and
- a third function part configured to evaluate an instantaneous error that is a control error of a particular time point in the observation period based on the observation value at the particular time point and to increase the output value as the instantaneous error increases,
- wherein the entire error, the sectional error, and the instantaneous error are evaluated based on deviations of the observation value from a reference value;
- wherein the entire error corresponds to an average of deviations of the observation value from the reference value in the observation period;
- wherein the operations further comprise:
- dividing the observation period into a plurality of sections;
- and
- calculating an average of deviations of the observation value from the reference value in each of the plurality of sections;
- wherein the sectional error corresponds to the average of the deviations in one section, the one section being one of the plurality of sections and having a maximum value among a plurality of averages of deviations of the plurality of sections;
- and
- wherein the controller is configured to:
- based on a value (r−δ) obtained by correcting a desired value r by a difference δ=ym−yr between an observation value ym of the control output y and a corresponding target response yr, calculate a control input u following a relational expression u=H−1T(r−δ)+Fr including:
- a target response function T defining the target response yr;
- an inverse model H−1 of a transfer function H of the controlled object, the transfer function H including the variable parameter ρ;
- and an estimation model Fr of frictional force that acts on the controlled object;
- and
- control the controlled object based on the control input u;
- and
- wherein the deviation is a deviation e=um−ur of an observation value urn of the control input u from a reference value ur=H−1ym+Fr of the control input u corresponding to an observation value ym of the control output y.