WO2022044329A1 - 制御システム、制御方法、コンピュータ、および制御プログラム - Google Patents

制御システム、制御方法、コンピュータ、および制御プログラム Download PDF

Info

Publication number
WO2022044329A1
WO2022044329A1 PCT/JP2020/032901 JP2020032901W WO2022044329A1 WO 2022044329 A1 WO2022044329 A1 WO 2022044329A1 JP 2020032901 W JP2020032901 W JP 2020032901W WO 2022044329 A1 WO2022044329 A1 WO 2022044329A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
response profile
control
controlled object
actual
Prior art date
Application number
PCT/JP2020/032901
Other languages
English (en)
French (fr)
Inventor
博志 藤本
良平 北吉
Original Assignee
国立大学法人 東京大学
株式会社安川電機
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人 東京大学, 株式会社安川電機 filed Critical 国立大学法人 東京大学
Priority to JP2022545260A priority Critical patent/JP7496095B2/ja
Priority to PCT/JP2020/032901 priority patent/WO2022044329A1/ja
Publication of WO2022044329A1 publication Critical patent/WO2022044329A1/ja
Priority to US18/173,781 priority patent/US20230195059A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • One aspect of this disclosure relates to control systems, control methods, computers, and control programs.
  • Patent Document 1 describes a model storage unit that stores model information about a robot and an obstacle, and a path that can move the tip of the robot from a start position to an end position while avoiding a collision between the robot and the obstacle.
  • a robot simulator equipped with an information processing unit that generates information based on information is described.
  • the control system includes a controller that outputs a command to a controlled object.
  • This control system has a storage unit that stores a mathematical model of a reference response profile that represents the frequency characteristics of the reference state of the controlled object corresponding to the first command, a reference response profile, and the reality of the controlled object that responds to the first command.
  • An error acquisition unit that acquires an error from the first actual response profile that represents the frequency characteristics of the state of, and an instruction unit that outputs a second command based on a frequency whose error is larger than a given threshold to the control target from the controller.
  • It is provided with a model update unit that updates a mathematical model based on a second actual response profile that represents the frequency characteristics of the actual state of the controlled object in response to the second command and a reference response profile.
  • the control method is executed by a control system including a controller that outputs a command to a controlled object.
  • This control method includes a step of storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the control target corresponding to the first command in the storage unit, a reference response profile, and a control target in response to the first command.
  • 2 Includes a second real response profile representing the actual state frequency characteristics of the controlled object in response to the command, and a step of updating the mathematical model based on the reference response profile.
  • the computer includes a storage unit for storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the controlled object corresponding to the first command output to the controlled object, and a reference response profile.
  • the error acquisition unit that acquires the error from the first actual response profile that represents the frequency characteristics of the actual state of the controlled object that responded to the first command, and the second command based on the frequency at which the error is larger than a given threshold.
  • a second real response profile representing the frequency characteristics of the actual state of the controlled object in response to the above, and a model update unit for updating the mathematical model based on the reference response profile are provided.
  • the control program includes a step of storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the controlled object corresponding to the first command output to the controlled object in the storage unit.
  • the command to the controlled object can be appropriately adjusted.
  • the control system 1 is a mechanism including a controller 3 that outputs a command signal to the controlled object 9.
  • the controlled object is a device that performs a predetermined operation according to a purpose and performs a useful work.
  • the controlled object can be paraphrased as a machine.
  • Examples of the controlled object 9 include an arbitrary type of robot and an arbitrary type of machine tool.
  • the types of control targets 9 are not limited to these.
  • the control system 1 can be used to control an arbitrary control target.
  • the command signal is a data signal indicating a command that is a command for controlling the control target 9.
  • the control target 9 operates based on the command signal output from the controller 3.
  • Examples of command signals include position commands and speed commands. However, the types of command signals are not limited to these.
  • the controller 3 generates a command signal based on the control parameters generated in advance, and controls the control target 9 by this command signal.
  • the control parameter refers to a variable that defines the relationship between the command to the control target 9 and the control amount for making the control target 9 follow the command.
  • An example of the relationship between a command and a controlled variable is a relationship between a position command or a speed command for a drive target and a drive force command for a motor.
  • the driving force command is an example of the controlled variable.
  • the control parameters are adjusted based on the characteristics of the controlled object 9 before operating the controller 3. However, since the characteristics of the controlled object 9 may change with the passage of time, it may be necessary to readjust the control parameters according to the changes in the characteristics. Further, if the measurement result includes an error when measuring the characteristic of the controlled object 9, the control parameter is adjusted based on the erroneous characteristic, and as a result, an error may occur in the operation of the controlled object 9. be.
  • the control system 1 more accurately identifies the characteristics of the controlled object 9, and automatically executes a process for appropriately adjusting the control parameters based on the identified characteristics. Since the control parameters are automatically and appropriately adjusted by this mechanism, even if the characteristics of the controlled object 9 change over time or an error occurs in the initial measurement of the characteristics, an appropriate command is given to the controlled object 9. You can continue to output. As a result, the controlled object 9 can be continuously operated appropriately. By automatically adjusting the control parameters, the worker does not have to go to the site to adjust the controller 3, so that the time and cost required for adjusting the controller 3 can be saved. In addition, a user without specialized knowledge can continue to operate the controller 3 and the controlled object 9 appropriately.
  • FIG. 1 is a diagram showing an example of the configuration of the control system 1 according to the embodiment.
  • the control system 1 is connected to the controlled object 9.
  • FIG. 1 shows one control target 9.
  • the number of control targets 9 is not limited, and the control system 1 may be connected to a plurality of control targets 9.
  • control target 9 includes a servo amplifier 90, a motor 91, a transmission mechanism 92, a drive target 93, and a sensor 94.
  • the shape, structure, and size of the drive target 93 are not limited.
  • the number and size of motors 91 are also not limited.
  • a controlled object 9 having one motor 91 and one driven object 93 as a rigid body will be illustrated.
  • the servo amplifier 90 is a device for following the output of the motor 91 to the command signal from the controller 3. Specifically, the servo amplifier 90 generates electric power for operating the motor 91 based on the command signal, and supplies the electric power to the motor 91. This supplied electric power corresponds to a driving force command such as a torque command, a current command, and the like.
  • the motor 91 is a device that generates power for driving the drive target 93 according to the supply of electric power.
  • the motor 91 may be a rotary motor that rotates the drive target 93, or may be a linear motor that displaces the drive target 93 along a straight line.
  • the motor 91 may be a synchronous motor or an induction motor.
  • the motor 91 may be a permanent magnet type synchronous motor such as an SPM (Surface Permanent Magnet) motor or an IPM (Interior Permanent Magnet) motor.
  • the motor 91 may be a synchronous motor having no permanent magnet, such as a synchronous reluctance motor.
  • the transmission mechanism 92 is a component that transmits the speed of the output shaft of the motor 91 to the drive target 93.
  • the transmission mechanism 92 is, for example, a speed reducer configured so that the speed of the drive target 93 is lower than the speed of the output shaft of the motor 91.
  • the transmission mechanism 92 includes a plurality of gears that transmit power from the motor 91 to the drive target 93 at a predetermined reduction ratio.
  • the sensor 94 is a device that detects the response value of the control target 9 corresponding to the command.
  • the response value is a physical quantity indicating the state (that is, the response) of the controlled object 9 to the command.
  • Specific examples of the response value include at least one of the position and speed of the drive target 93.
  • the motor 91 is a rotary type
  • the rotation angle of the drive target 93 by the motor 91 corresponds to the "position”
  • the rotation speed of the drive target 93 by the motor 91 corresponds to the "speed”.
  • the torque corresponds to the driving force.
  • Specific examples of the sensor 94 include a rotary encoder that outputs a pulse signal having a frequency proportional to the operating speed of the drive target 93. The rotary encoder can acquire both the position and the speed of the drive target 93.
  • the control system 1 includes an arithmetic unit 2 and a controller 3.
  • the arithmetic unit 2 is a computer that calculates control parameters.
  • the controller 3 is a device that outputs a command signal based on the control parameters to the control target 9. More specifically, the controller 3 outputs a command signal (for example, a position command, a speed command, etc.) indicating a command regarding the driving force generated in the motor 91 to the servo amplifier 90.
  • the arithmetic unit 2 is a computer having higher performance than the controller 3. The specific type of computer used for the arithmetic unit 2 is not limited.
  • the arithmetic unit 2 may be realized by a general-purpose computer such as a personal computer, a business server, a mobile terminal, or the like.
  • the arithmetic unit 2 may be realized by a dedicated device such as a programmable logic controller.
  • the specific configuration of the controller 3 is not limited in any way.
  • the arithmetic unit 2 has a reference profile storage unit 20, a model storage unit 21, an initial setting unit 22, an actual profile calculation unit 23, an actual profile storage unit 24, an error acquisition unit 25, and an instruction unit 26 as functional modules. , A model update unit 27, a parameter calculation unit 28, and an adjustment control unit 29.
  • the reference profile storage unit 20 is a functional module that stores the reference response profile.
  • the reference response profile refers to the response profile of the controlled object 9 used as a reference when adjusting the control parameters.
  • the response profile refers to information representing the state of the controlled object 9 in response to a command from the controller 3, and more specifically, information representing the frequency characteristic of the state.
  • the frequency characteristic of the state of the control target 9 is obtained by converting the time change of the state of the control target 9 according to the time change of the command into the frequency domain representation.
  • the state of the controlled object 9 may be indicated by any data item, for example, by at least one of position, attitude, velocity, acceleration, torque, force, and current value.
  • the response profile is obtained by a frequency analysis method. In this embodiment, FFT (Fast Fourier Transform) is exemplified as a frequency analysis method. However, the control system 1 may use another frequency analysis method.
  • the reference response profile represents the reference state of the control target 9 corresponding to the command.
  • the model storage unit 21 is a functional module that stores a mathematical model used for calculating control parameters. More specifically, the model storage unit 21 stores a mathematical model of the reference response profile.
  • the mathematical model refers to a mathematical formula expressing the operation of the controlled object 9 based on a command from the controller 3.
  • a mathematical model may be represented by a single mathematical formula or by a combination of multiple mathematical formulas.
  • the initial setting unit 22 is a functional module for initializing the reference response profile and the mathematical model. As the initial setting, the initial setting unit 22 stores the initial reference response profile in the reference profile storage unit 20, and stores the initial mathematical model in the model storage unit 21.
  • the actual profile calculation unit 23 is a functional element for calculating the actual response profile.
  • the actual response profile refers to a response profile representing the actual state of the controlled object that actually responds to the command from the controller 3, and more specifically, refers to a response profile representing the frequency characteristic of the state. ..
  • the actual profile calculation unit 23 receives the time change of the response value of the controlled object 9 from the controller 3, and calculates the actual response profile based on the received data.
  • the actual profile storage unit 24 is a functional module that stores the actual response profile calculated by the actual profile calculation unit 23.
  • the error acquisition unit 25 is a functional module that acquires an error between the reference response profile and the actual response profile. This error can be said to be an index showing how much the actual response profile deviates from the reference response profile.
  • the instruction unit 26 is a functional module that outputs a command signal from the controller 3 to the control target 9. Specifically, the instruction unit 26 transmits the control information used to generate the command signal to the controller 3. The controller 3 generates a command signal based on the control information, and outputs the command signal to the control target 9.
  • the model update unit 27 is a functional module that updates the mathematical model stored in the model storage unit 21. Specifically, the model update unit 27 updates the mathematical model based on the reference response profile and the actual response profile.
  • the parameter calculation unit 28 is a functional module that recalculates control parameters based on the updated mathematical model.
  • the recalculated control parameter is transmitted from the indicator 26 to the controller 3 as at least a part of the control information.
  • the adjustment control unit 29 is a functional module that repeatedly executes a series of processes including updating a mathematical model and recalculating control parameters until the error between the reference response profile and the actual response profile becomes equal to or less than a given threshold value. To put it simply, the adjustment control unit 29 repeatedly executes the process so that the controlled object 9 operates within the tolerance. When the error exceeds the threshold value, the adjustment control unit 29 causes another functional module to execute the iterative process. When the error is equal to or less than the threshold value, the adjustment control unit 29 determines the control parameter.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the computer 100 used in the control system 1.
  • the computer 100 includes a body 110, a monitor 120, and an input device 130.
  • the main body 110 is a device that executes the main functions of the computer.
  • the main body 110 has a circuit 160, which has at least one processor 161, a memory 162, a storage 163, an input / output port 164, and a communication port 165.
  • the storage 163 records a program for configuring each functional module of the main body 110.
  • the storage 163 is a computer-readable recording medium such as a hard disk, a non-volatile semiconductor memory, a magnetic disk, an optical disk, or the like.
  • the memory 162 temporarily stores the program loaded from the storage 163, the calculation result of the processor 161 and the like.
  • the processor 161 constitutes each functional module by executing a program in cooperation with the memory 162.
  • the input / output port 164 inputs / outputs an electric signal to / from the monitor 120 or the input device 130 in response to a command from the processor 161.
  • the input / output port 164 may input / output an electric signal to / from another device.
  • the communication port 165 performs data communication with another device via the communication network N according to a command from the processor 161.
  • the monitor 120 is a device for displaying information output from the main body 110.
  • the monitor 120 may be anything as long as it can display text or graphics. Specific examples of the monitor 120 include a liquid crystal panel and the like.
  • the input device 130 is a device for inputting information to the main body 110.
  • the input device 130 may be any input device 130 as long as it can input desired information.
  • Specific examples of the input device 130 include an operation interface such as a keypad, a mouse, and an operation controller.
  • the monitor 120 and the input device 130 may be integrated as a touch panel.
  • the main body 110, the monitor 120, and the input device 130 may be integrated.
  • FIG. 3 is a flowchart showing an example of the operation of the control system 1 as the processing flow S1. That is, the control system 1 executes the processing flow S1.
  • step S11 the initial setting unit 22 initializes the reference response profile and the mathematical model.
  • the initial setting unit 22 stores the initial reference response profile in the reference profile storage unit 20, and stores the initial mathematical model in the model storage unit 21.
  • the method of preparing the initial reference response profile is not limited.
  • the initial setting unit 22 acquires time-series data (also referred to as “time-series response data” in the present disclosure) of the response value obtained from the control target 9 that actually responds to the command.
  • the time-series response data shows the time change of the state of the controlled object 9 discretely.
  • the initial setting unit 22 may calculate the initial reference response profile from the actual time-series response data using the FFT. That is, the "reference state" of the control target 9 represented by the reference response profile may be represented by an actual state that is the result of actually operating the control target 9 (for example, an experimental result).
  • the initial setting unit 22 may operate the control target 9 on the computer simulation to acquire the time-series response data, and use the FFT to calculate the initial reference response profile from the time-series response data. That is, the above "reference state" may be represented by a virtual state calculated by computer simulation.
  • the initial setting unit 22 may acquire a reference response profile already prepared.
  • the initialization unit 22 may accept the reference response profile input by the user, may receive the reference response profile from another computer, or read the reference response profile from another storage device such as a database. You may.
  • the initial setting unit 22 stores the generated or acquired initial reference response profile in the reference profile storage unit 20.
  • the reference response profile discretely shows the frequency characteristics of the state of the controlled object 9.
  • the method of preparing an initial mathematical model is not limited.
  • the model storage unit 21 may acquire an early mathematical model already prepared with a reference response profile by user input, reception from another computer, or access to a database.
  • the initial setting unit 22 stores the acquired initial mathematical model in the model storage unit 21.
  • the initialization unit 22 may generate an initial mathematical model. Directive and response profiles are used to generate mathematical models.
  • the initial setting unit 22 executes the FFT with respect to the time change of the command to the control target 9, and acquires the command profile. Further, the initial setting unit 22 uses a reference response profile as the response profile. Subsequently, the initial setting unit 22 calculates the response gain representing the relationship between the amplitude of the command profile and the amplitude of the response profile. For example, the response gain represents the magnification of the amplitude of the response profile with respect to the amplitude of the command profile. Subsequently, the initial setting unit 22 generates a gain profile showing the relationship between the command frequency and the response gain.
  • the initial setting unit 22 generates a mathematical model in which the frequency characteristics are fitted to the gain profile. It can be said that this fitting is a fitting based on the reference response profile.
  • the mathematical model may be a linear differential equation that represents the relationship between an input function that represents the relationship between elapsed time and input and an output function that represents the relationship between elapsed time and output. "Fit the frequency characteristic to the gain profile” means to approximate the frequency characteristic to the gain profile, and is a concept including that the frequency characteristic matches the gain profile.
  • the initialization unit 22 may generate an initial mathematical model by any fitting method.
  • the initialization unit 22 may generate an initial mathematical model by least squares method, polynomial approximation, circle approximation, approximation by various functions (triangular function, B-Spline, etc.), or weighted sum of a plurality of functions. ..
  • the initialization unit 22 may generate an initial mathematical model based on the trained model generated by machine learning so as to represent the relationship between the gain profile and the mathematical model.
  • the initial setting unit 22 stores the generated initial mathematical model in the model storage unit 21 as a mathematical model of the reference response profile.
  • the initial setting unit 22 may generate a plurality of mathematical models. For example, the initial setting unit 22 may generate a mathematical model related to the gain profile and a mathematical model related to the phase profile as a mathematical model of the reference response profile.
  • the phase is the time delay of the response to the command.
  • step S12 the parameter calculation unit 28 reads the initial mathematical model from the model storage unit 21 and calculates the initial value of the control parameter based on the mathematical model.
  • the control parameters correspond to the specific configuration of the controller 3.
  • the specific configuration of the controller 3 in other words, the method of automatic control
  • the parameter calculation unit 28 may calculate the control parameter of the feedback control or may calculate the control parameter of the feedforward control.
  • the control parameter may include a gain that indicates the relationship between the input and the output (eg, the amplitude ratio).
  • the control parameters may include the type, number, and parameters of the filters that make up the basis filter for adjusting the frequency characteristics of the command.
  • the parameter calculation unit 28 may calculate the proportional gain, the integral gain, and the differential gain, which are the control parameters in the PID control.
  • the parameter calculation unit 28 may calculate the gain in the cascade control composed of a plurality of control loops.
  • Gains in cascade control are, for example, proportional gain, integral gain, and derivative gain.
  • An example of cascading control is P-PI control, but the specific configuration of cascading control is not limited to this.
  • a basal filter is a filter generated by combining a plurality of types of filters used to form a control system. Examples of filters used to construct a control system are low-pass filters, high-pass filters, notch filters, peak filters, all-pass filters, phase lead compensation, phase lag compensation, etc. to adjust gain and phase. Examples include the filters used. However, the types of filters used are not limited to these examples.
  • the calculation method of control parameters is not limited.
  • the parameter calculation unit 28 may execute the H ⁇ control theory and the optimization calculation corresponding to this theory on the mathematical model to calculate the control parameters.
  • the H ⁇ control theory is a method of measuring the magnitude of the transfer function of a closed-loop system on a scale called the H ⁇ norm and reducing the norm to achieve the desired performance.
  • the parameter calculation unit 28 may use the Structured H ⁇ control.
  • An example of the optimization calculation is a linear matrix inequality (LMI).
  • LMI linear matrix inequality
  • the optimization calculation is not limited to this, and the parameter calculation unit 28 may use any optimization method.
  • the parameter calculation unit 28 executes the optimization calculation according to the constraint conditions set by the user.
  • the constraint condition examples include the operation time of the control target 9 (that is, the time from the initial value to the target value of the state of the control target 9) and the tolerance regarding the operation of the control target 9.
  • the constraint conditions are not limited to these, and may be set by any policy.
  • step S13 the control system 1 outputs the first command based on the calculated control parameters to the control target 9.
  • the instruction unit 26 transmits control information indicating the control parameter to the controller 3.
  • the controller 3 receives the control information and sets control parameters.
  • the controller 3 generates a first command based on the control parameter, and outputs the first command to the control target 9. More specifically, the controller 3 generates and outputs a command signal indicating the first command.
  • the instruction unit 26 outputs the first command from the controller 3 to the control target 9.
  • the first command is a command for operating the controlled object 9 toward the target value.
  • the method of setting the target value is not limited.
  • the instruction unit 26 may transmit control information indicating a control parameter and a target value to the controller 3, and the controller 3 may receive the control information and set the target value.
  • the indicator 26 may acquire a target value based on a given target operation pattern of the drive target 93.
  • the command signal indicating the first command include a chirp signal, a multi-sign signal, a pseudo-random signal, a random signal, a short-time irregular signal, and an impulse excitation signal.
  • the type of the command signal is not limited to these.
  • the controller 3 operates the controlled object 9 toward the target value by feedback control. Specifically, the controller 3 receives the response value detected by the sensor 94, and calculates the difference between the target value of the drive target 93 and the current value (current state) as a deviation based on the response value. .. The controller 3 executes a predetermined operation on the calculated deviation, and determines the first command for reducing the deviation.
  • the predetermined operation depends on the specific configuration of the controller 3 (in other words, the method of automatic control), and therefore, the specific method of the operation is not limited. For example, when PID control such as cascade control is adopted, the predetermined operation includes proportional operation, integral operation, and differential operation.
  • the controller 3 generates a command signal indicating the determined first command, and outputs this command signal to the control target 9. The controller 3 repeatedly executes the output of the first command based on the deviation in a predetermined control cycle until the controlled object 9 reaches the target value.
  • the controller 3 While the controller 3 is operating the controlled object 9 toward the target value, the controller 3 records the response value from the sensor 94 in a predetermined control cycle and acquires the time-series response data. The controller 3 transmits the time-series response data to the arithmetic unit 2.
  • step S14 the actual profile calculation unit 23 calculates the first actual response profile.
  • the actual profile calculation unit 23 receives time-series response data from the controller 3. Then, the actual profile calculation unit 23 uses the FFT to calculate the first actual response profile from the time-series response data (that is, from the time change of the state of the controlled object 9). The actual profile calculation unit 23 stores the first actual response profile in the actual profile storage unit 24.
  • step S15 the error acquisition unit 25 acquires the error between the first actual response profile and the reference response profile. More specifically, the error acquisition unit 25 calculates the difference in the spectral components between these two response profiles at each frequency, and acquires a set of the differences as an error.
  • step S16 the adjustment control unit 29 determines whether or not the error is equal to or less than a given threshold value.
  • the adjustment control unit 29 uses a common threshold value for all frequencies indicated by the response profile to determine whether or not there is a frequency whose spectral difference exceeds the threshold value.
  • the adjustment control unit 29 determines that the error is equal to or less than the threshold value (YES in step S16). In this case, the process proceeds to step S22. In step S22, the adjustment control unit 29 determines the control parameters. As a result, the controller 3 can output an appropriate command to the control target 9 according to the determined control parameter.
  • the adjustment control unit 29 determines that the error exceeds the threshold value (NO in step S16). Then, the adjustment control unit 29 determines to execute a series of processes including the update of the mathematical model and the recalculation of the control parameters. With this determination, the process proceeds to step S17.
  • the indicator 26 sets a limited band including the frequency corresponding to the error as the identification range.
  • the frequency corresponding to the error is the frequency at which the spectral difference exceeds the threshold value. More specifically, the frequency corresponding to the error may be one of the representative frequencies among the frequencies whose spectral difference exceeds the threshold value.
  • the indicator 26 may specify the frequency having the largest spectral difference as the “frequency corresponding to the error”.
  • the limited band refers to a part of the frequency band indicated by the response profile.
  • the specific length of the identification range is not limited.
  • the indicator 26 may set a fixed width such as 10 Hz or 20 Hz as the identification range. Alternatively, the indicator 26 may dynamically set the width of the identification range by any method.
  • the indicator 26 may set a range including the frequency corresponding to the error and the spectral difference continuously exceeding the threshold value as the identification range. Specifically, the indicator 26 sets the maximum value of one or more frequencies whose spectral difference is equal to or less than the threshold value as the lower limit value (starting point) of the identification range in the band smaller than the frequency corresponding to the error. Further, the indicator 26 sets the minimum value among the frequencies of 1 or more in which the spectral difference is equal to or less than the threshold value as the upper limit value (end point) of the identification range in the band larger than the frequency corresponding to the error. By such processing, the indicator 26 can specify a range in which the spectral difference continues to exceed the threshold value.
  • step S18 the control system 1 outputs a second command corresponding to the identification range to the control target 9.
  • the instruction unit 26 transmits control information indicating the identification range to the controller 3.
  • the controller 3 receives the control information and generates a second command based on the frequency component within the identification range. More specifically, the controller generates a second command composed of frequency components within the identification range. Then, the controller 3 outputs the second command to the control target 9. More specifically, the controller 3 generates and outputs a command signal indicating the second command.
  • the instruction unit 26 outputs the second command from the controller 3 to the control target 9. Since the second command is intended to specifically identify the state of the controlled object 9 corresponding to the identification range, it can also be called an identification command.
  • the command signal indicating the second command may be a chirp signal, a multi-sign signal, a pseudo-random signal, a random signal, a short-time irregular signal, an impulse vibration signal, or another type of signal. But it may be.
  • the controller 3 operates the controlled object 9 toward the target value by the feedback control as in the control by the first command. During the process, the controller 3 records the response value from the sensor 94 in a predetermined control cycle and acquires the time-series response data. The controller 3 transmits the time-series response data to the arithmetic unit 2.
  • step S19 the actual profile calculation unit 23 calculates the second actual response profile.
  • the actual profile calculation unit 23 receives time-series response data from the controller 3. Then, the actual profile calculation unit 23 uses the FFT to calculate the second actual response profile from the time-series response data (that is, from the time change of the state of the controlled object 9). The actual profile calculation unit 23 stores the second actual response profile in the actual profile storage unit 24.
  • step S20 the model update unit 27 updates the mathematical model in the model storage unit 21 based on the reference response profile and the second actual response profile.
  • the model update unit 27 reads the reference response profile from the reference profile storage unit 20, and reads the second actual response profile from the actual profile storage unit 24. Then, the model update unit 27 replaces the part of the identification range in the reference response profile with the second actual response profile. Specifically, the model update unit 27 updates the reference response profile by replacing the spectral component of the identification range in the reference response profile with the spectral component indicated by the second actual response profile. Subsequently, the model update unit 27 generates a mathematical model in which the frequency characteristics are fitted to the gain profile based on the updated reference response profile.
  • the model update unit 27 performs fitting based on the updated reference response profile by the same method as the initialization unit 22, and generates a mathematical model.
  • the model update unit 27 stores the updated reference response profile in the reference profile storage unit 20 and updates the reference response profile. Further, the model update unit 27 stores the generated mathematical model in the model storage unit 21 as a mathematical model of the updated reference response profile, and updates the mathematical model in the model storage unit 21.
  • the parameter calculation unit 28 reads the updated mathematical model from the model storage unit 21 and recalculates the control parameters based on the mathematical model.
  • the method of calculating the control parameter is the same as the method of calculating the initial value of the control parameter. Therefore, in one example, the parameter calculation unit 28 executes the H ⁇ control theory and the optimization calculation corresponding to this theory on the updated mathematical model to calculate the control parameters.
  • step S13 the control system 1 outputs a new first command based on the recalculated control parameters to the control target 9.
  • step S14 the actual profile calculation unit 23 calculates a new first actual response profile.
  • step S15 the error acquisition unit 25 acquires the error between the first actual response profile and the updated reference response profile.
  • step S16 the adjustment control unit 29 again determines whether or not the error is equal to or less than the threshold value.
  • the control system 1 sets an initial mathematical model, and sets the initial values of the control parameters in the controller 3. Subsequently, the control system 1 operates the controlled object 9 by the first command based on the control parameter, and identifies the frequency in which a large error occurs between the reference state and the actual state of the controlled object 9. Subsequently, the control system 1 operates the controlled object 9 by the second command based on the frequency, and acquires the characteristics of the controlled object 9 more accurately. Then, the control system 1 updates the mathematical model based on the characteristics, recalculates the control parameters, operates the controlled object 9 by the new first command, and evaluates the error again. The control system 1 repeats the process of updating the mathematical model and adjusting the control parameters until the controlled object 9 operates within the margin of error. Through this series of processes, the control system 1 automatically designs a controller 3 capable of causing the controlled object 9 to perform a desired operation.
  • FIG. 4 is a diagram showing an example of a mathematical model.
  • FIG. 5 is a diagram showing an example of an error between the first actual response profile and the reference response profile.
  • FIG. 6 is a diagram showing an example of updating a mathematical model based on the error. 5 and 6 both correspond to FIG.
  • graph 201 represents a mathematical model 220 obtained by performing a fitting based on an initial reference response profile obtained in the band 0.1 Hz to 1000 Hz. More specifically, this mathematical model 220 is obtained by fitting the frequency characteristics to the gain profile 211 based on the initial reference response profile.
  • Graph 202 shows an enlarged portion of the mathematical model 220 at 80 Hz to 100 Hz. The circles in the graph 202 indicate the individual discrete values of the gain profile 211.
  • the parameter calculation unit 28 calculates the initial value of the control parameter based on the mathematical model 220, and the instruction unit 26 outputs the first command based on the initial value from the controller 3 to the control target 9.
  • the actual profile calculation unit 23 executes the FFT on the time-series response data from the control target 9, and calculates the first actual response profile.
  • graph 203 shows time-series response data 231 showing the reference state of the controlled object 9 and time-series response data 232 showing the actual state of the controlled object 9 operated according to the first command.
  • the horizontal axis indicates the elapsed time
  • the vertical axis indicates the error in the position of the drive target 93.
  • Graph 204 shows an initial reference response profile 241 calculated from the time series response data 231 and a first actual response profile 242 calculated from the time series response data 232.
  • the horizontal axis represents frequency and the vertical axis represents spectral components. In this example, the difference in spectral components is large between the band centered on 16.3 Hz and the band centered on 91.9 Hz.
  • the error acquisition unit 25 acquires such a difference in spectral components as an error.
  • the adjustment control unit 29 sets a limited band including 91.9 Hz as an identification range based on the error. In this example, it is assumed that the adjustment control unit 29 sets the range from 85 Hz to 95 Hz as the identification range.
  • the instruction unit 26 outputs a second command corresponding to the identification range from the controller 3 to the control target 9.
  • the actual profile calculation unit 23 executes the FFT on the time-series response data from the control target 9, and calculates the second actual response profile.
  • the graph 205 shown in FIG. 6 is obtained by plotting the gain profile 212 based on the second actual response profile on the graph 202 in FIG.
  • the individual discrete values of the gain profile 212 are indicated by diamond marks.
  • the model update unit 27 updates the reference response profile by replacing the part of the reference response profile in the identification range (85 Hz to 95 Hz) with the second actual response profile. With this update, the part of the identification range of the gain profile 211 is replaced with the gain profile 212.
  • Graph 206 shows the discrete values of the gain profile 211A updated by the replacement.
  • the model update unit 27 generates a mathematical model 220A in which the frequency characteristics are fitted to the gain profile 212A, and stores the mathematical model 220A in the model storage unit 21.
  • the model update unit 27 updates the mathematical model 220 to the mathematical model 220A.
  • Graph 206 shows the mathematical model 220A limited to the range of 80 Hz to 100 Hz. However, it should be noted that the model updater 27 generates the mathematical model 220A for the entire frequency band of the reference response profile.
  • the parameter calculation unit 28 calculates the control parameters based on the mathematical model 220A, and the instruction unit 26 outputs a new first command based on the control parameters from the controller 3 to the control target 9.
  • the control system 1 updates the mathematical model and recalculates the control parameters based on the error between the updated reference response profile and the first actual response profile of the controlled object 9 operated based on the adjusted control parameters. Update a series of processes including, or determine the control parameters.
  • the control system 1 executes a required number of loop processes to finally determine the control parameters.
  • the initial reference response profile may represent a real state or a virtual state.
  • the initial reference response profile represents the frequency characteristics of the actual state of the controlled object 9 corresponding to the first command at the first time point.
  • Early mathematical models are generated based on a reference response profile that represents their real state. In this case, it can be said that the error between the reference response profile and the first actual response profile at the second time point after the first time point is caused by the secular variation of the controlled object 9.
  • the secular variation can be absorbed and the controlled object 9 can be continuously operated appropriately.
  • the initial reference response profile represents the frequency characteristic of the virtual state of the controlled object 9 corresponding to the first command.
  • Early mathematical models are generated based on a reference response profile that represents their virtual state. In this case, since the control parameters initially set by the simulation are adjusted to match the actual characteristics of the controlled object 9, the controlled object 9 can be appropriately operated.
  • the control system 1 is also applicable to a control target including a plurality of motors and a plurality of rigid bodies to be driven.
  • the control system 1 can also be applied to an articulated robot.
  • FIG. 7 is a diagram showing a robot 310 which is an example of an articulated robot.
  • the robot 310 is a so-called 6-axis vertical articulated robot, and has a base 311, a swivel portion 312, arms 313, 314, 315, and a tool holding portion 316.
  • the base 311 is fixed on the floor, the base, or an AGV (Automated Guided Vehicle) in the work area.
  • the swivel portion 312 is provided on the base 311 so as to swivel around the vertical axis 331.
  • the arm 313 is connected to the swivel portion 312 so as to swing around the axis 332 that intersects (for example, is orthogonal to) the axis 331.
  • the intersection here includes a case where there is a twisting relationship such as a so-called grade separation.
  • the arm 314 is connected to the tip of the arm 313 so as to swing around the axis 333 parallel to the axis 332.
  • the arm 315 is connected to the tip of the arm 314 so as to swivel around the axis 334 that intersects the axis 333 along the arm 314 and swings around the axis 335 that intersects (eg, orthogonally) the axis 334.
  • the tool holding portion 316 is connected to the tip portion of the arm 315 so as to rotate around the axis 336 along the center of the arm 315.
  • the tool holding portion 316 holds various tools 317 such as a hand for gripping the work, a welding torch, a painting gun, and a screw tightening tool.
  • the motor 321 swivels the swivel portion 312 around the axis 331.
  • the motor 322 swings the arm 313 around the axis 332.
  • the motor 323 swings the arm 314 around the axis 333.
  • the motor 324 swivels the tip of the arm 314 around the axis 334.
  • the motor 325 swings the arm 315 around the axis 335.
  • the motor 326 swivels the tool holding portion 316 around the axis 336.
  • the tool holding unit 316 and the tool 317 are the driving targets of the motor 326.
  • the arm 315, the tool holding portion 316, and the tool 317 are the driving targets of the motor 325.
  • the tip of the arm 314, the arm 315, the tool holding portion 316, and the tool 317 are the driving targets of the motor 324.
  • the arms 314 and 315, the tool holding portion 316, and the tool 317 are the driving targets of the motor 323.
  • the arms 313, 314, 315, the tool holding portion 316, and the tool 317 are the driving targets of the motor 322.
  • the swivel portion 312, the arms 313, 314, 315, the tool holding portion 316, and the tool 317 are the driving targets of the motor 321.
  • control system 1 may execute the processing flow S1 for each motor.
  • Each functional module of the control system 1 is realized by reading a control program on the processor 161 or the memory 162 and causing the processor 161 to execute the program.
  • the control program includes a code for realizing each functional module of the control system 1.
  • the processor 161 operates the input / output port 164 or the communication port 165 according to the control program to read and write data in the memory 162 or the storage 163. By such processing, each functional module of the control system 1 is realized.
  • the control program may be provided after being fixedly recorded on a non-temporary recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory.
  • the control program may be provided via a communication network as a data signal superimposed on a carrier wave.
  • the control system includes a controller that outputs a command to a controlled object.
  • This control system has a storage unit that stores a mathematical model of a reference response profile that represents the frequency characteristics of the reference state of the controlled object corresponding to the first command, a reference response profile, and the reality of the controlled object that responds to the first command.
  • An error acquisition unit that acquires an error from the first actual response profile that represents the frequency characteristics of the state of, and an instruction unit that outputs a second command based on a frequency whose error is larger than a given threshold to the control target from the controller.
  • It is provided with a model update unit that updates a mathematical model based on a second actual response profile that represents the frequency characteristics of the actual state of the controlled object in response to the second command and a reference response profile.
  • the control method is executed by a control system including a controller that outputs a command to a controlled object.
  • This control method includes a step of storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the control target corresponding to the first command in the storage unit, a reference response profile, and a control target in response to the first command.
  • 2 Includes a second real response profile representing the real-state frequency characteristics of the controlled object in response to the command, and a step of updating the mathematical model based on the reference response profile.
  • the computer includes a storage unit for storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the controlled object corresponding to the first command output to the controlled object, and a reference response profile.
  • the error acquisition unit that acquires the error from the first actual response profile that represents the frequency characteristics of the actual state of the controlled object that responded to the first command, and the second command based on the frequency at which the error is larger than a given threshold.
  • a second real response profile representing the frequency characteristics of the actual state of the controlled object in response to the above, and a model update unit for updating the mathematical model based on the reference response profile are provided.
  • the control program includes a step of storing a mathematical model of a reference response profile representing the frequency characteristic of the reference state of the controlled object corresponding to the first command output to the controlled object in the storage unit.
  • the mathematical model is automatically updated in consideration of the second actual response obtained by the additional command (second command) based on the error between the reference response and the first actual response.
  • the updated mathematical model reflects the characteristics of the controlled object with higher accuracy. Therefore, by using the updated mathematical model, the command to the controlled object can be adjusted appropriately.
  • the indicator sets a limited band that is a part of the frequency band of the first actual response profile and includes the frequency corresponding to the error as the identification range, and is within the identification range.
  • the second command based on the frequency component may be output from the controller to the controlled object.
  • the model updater replaces the identification range part of the reference response profile with the second actual response profile, updates the reference response profile, and performs fitting based on the updated reference response profile. You may run it to update the mathematical model. By performing fitting based on the reference response profile in which the range where the relatively large error occurs is corrected, it is possible to generate a mathematical model that more accurately reflects the characteristics of the controlled object.
  • the control system further includes a parameter calculation unit that recalculates the control parameters that determine the relationship between the command and the control amount for making the control target follow the command based on the updated mathematical model. May be good.
  • the indicator may output a new command based on the recalculated control parameter from the controller to the controlled object.
  • the parameter calculation unit may execute the H ⁇ control theory and the corresponding optimization calculation on the updated mathematical model to recalculate the control parameters.
  • H ⁇ control theory it is possible to obtain robust control parameters for uncertainties such as fluctuations in the response of the controlled object and disturbances. As a result, the robustness of the control system can be improved.
  • the parameter calculation unit may recalculate the gain in the cascade control as the recalculation of the control parameters. By recalculating the gain in cascade control, it is possible to more appropriately generate commands that can quickly suppress the effects of disturbances.
  • the output of the second command, the update of the mathematical model, the recalculation of the control parameters, and the output of the new command are performed until the error corresponding to the new command falls below the threshold value.
  • an adjustment control unit that repeatedly executes the including processing may be provided. This iterative process makes it possible to automatically generate appropriate commands without human intervention.
  • the storage unit stores a mathematical model of the reference response profile that expresses the frequency characteristic of the actual state at the first time point corresponding to the first command as the frequency characteristic of the reference state. You may.
  • the error acquisition unit may acquire an error between the reference response profile and the first actual response profile at the second time point after the first time point.
  • the storage unit may store a mathematical model of the reference response profile that expresses the frequency characteristic of the virtual state of the controlled object corresponding to the first command as the frequency characteristic of the reference state.
  • the error acquisition unit may acquire an error between the reference response profile and the first actual response profile.
  • control target may have a drive target and a motor for driving the drive target.
  • Each of the first command and the second command may be related to the driving force generated in the motor.
  • Each of the reference state and the actual state of the controlled object may be at least one of the position and the speed of the driven object. In this case, the command to the motor for setting the position or speed of the drive target to a desired value can be appropriately adjusted.
  • the configuration of the control system is not limited to the above embodiment.
  • the controller 3 may include a part of the functional module of the arithmetic unit 2.
  • the controller 3 may execute a function corresponding to the actual profile calculation unit 23.
  • the arithmetic unit 2 and the controller 3 may be integrated into one device.
  • the hardware configuration of the system is not limited to the mode in which each functional module is realized by executing the program.
  • the functional module in the above embodiment may be configured by a logic circuit specialized for the function, or may be configured by an ASIC (Application Specific Integrated Circuit) in which the logic circuit is integrated. ..
  • the processing procedure of the method executed by at least one processor is not limited to the example in the above embodiment. For example, some of the steps (processes) described above may be omitted, or the steps may be executed in a different order. Further, any two or more steps among the above-mentioned steps may be combined, or a part of the steps may be modified or deleted. Alternatively, other steps may be performed in addition to each of the above steps.
  • Control system 1 ... Control system, 2 ... Arithmetic logic unit (computer), 3 ... Controller, 9 ... Control target, 20 ... Reference profile storage unit, 21 ... Model storage unit, 22 ... Initial setting unit, 23 ... Actual profile calculation unit, 24 ... Actual profile storage unit, 25 ... error acquisition unit, 26 ... instruction unit, 27 ... model update unit, 28 ... parameter calculation unit, 29 ... adjustment control unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

 制御対象への指令を適切に調整する。  本開示の一側面に係る制御システム(1)は、制御対象に指令を出力するコントローラ(3)を備える。この制御システムは、第1指令に対応する制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部(20)と、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部(25)と、誤差が所与の閾値よりも大きい周波数に基づく第2指令をコントローラから制御対象に出力させる指示部(26)と、第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するモデル更新部(27)とを備える。

Description

制御システム、制御方法、コンピュータ、および制御プログラム
 本開示の一側面は、制御システム、制御方法、コンピュータ、および制御プログラムに関する。
 特許文献1には、ロボット及び障害物に関するモデル情報を記憶したモデル記憶部と、ロボットと障害物との衝突を回避しつつ、ロボットの先端部を開始位置から終了位置まで移動させ得るパスをモデル情報に基づいて生成する情報処理部とを備えるロボットシミュレータが記載されている。
特開2018-134703号公報
 本開示の一側面では、制御対象への指令を適切に調整することが望まれている。
 本開示の一側面に係る制御システムは、制御対象に指令を出力するコントローラを備える。この制御システムは、第1指令に対応する制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、誤差が所与の閾値よりも大きい周波数に基づく第2指令をコントローラから制御対象に出力させる指示部と、第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するモデル更新部とを備える。
 本開示の一側面に係る制御方法は、制御対象に指令を出力するコントローラを備える制御システムにより実行される。この制御方法は、第1指令に対応する制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、誤差が所与の閾値よりも大きい周波数に基づく第2指令をコントローラから制御対象に出力させるステップと、第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するステップとを含む。
 本開示の一側面に係るコンピュータは、制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するモデル更新部とを備える。
 本開示の一側面に係る制御プログラムは、制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するステップとをコンピュータに実行させる。
 本開示の一側面によれば、制御対象への指令を適切に調整することができる。
制御システムの構成の一例を示す図である。 制御システムで用いられるコンピュータのハードウェア構成の一例を示す図である。 制御システムの動作の一例を示すフローチャートである。 数学モデルの一例を示す図である。 応答プロファイル間の誤差の一例を示す図である。 数学モデルの更新の一例を示す図である。 ロボットの一例を示す図である。
 以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
 [システムの概要]
 本開示の一側面に係る制御システム1は、制御対象9に指令信号を出力するコントローラ3を備える仕組みである。制御対象とは、目的に応じた所定の動作を行って、有用な仕事を実行する装置をいう。制御対象を機械と言い換えることもできる。制御対象9の例として、任意の種類のロボットと、任意の種類の工作機械とが挙げられる。しかし、制御対象9の種類はこれらに限定されない。制御システム1は任意の制御対象を制御するために用いることができる。
 指令信号とは、制御対象9を制御するための命令である指令を示すデータ信号をいう。制御対象9はコントローラ3から出力される指令信号に基づいて動作する。指令信号の例として位置指令および速度指令が挙げられる。しかし、指令信号の種類はこれらに限定されない。
 コントローラ3は予め生成された制御パラメータに基づいて指令信号を生成し、この指令信号によって制御対象9を制御する。制御パラメータは、制御対象9への指令と、その指令に制御対象9を追従させるための制御量との関係を定める変数をいう。指令と制御量との関係の例として、駆動対象に対する位置指令または速度指令と、モータに対する駆動力指令との関係が挙げられる。駆動力指令は制御量の一例である。
 制御パラメータは、コントローラ3を稼働させる前に、制御対象9の特性に基づいて調整される。しかし、制御対象9の特性は時間の経過に伴って変化し得るので、その特性の変化に合わせて制御パラメータを再調整する必要が生じ得る。また、制御対象9の特性を測定する際にその測定結果が誤差を含むと、その誤った特性に基づいて制御パラメータが調整され、その結果、制御対象9の動作に誤差が発生する可能性がある。
 制御システム1は、制御対象9の特性をより正確に特定し、この特定された特性に基づいて、制御パラメータを適切に調整するための処理を自動的に実行する。この仕組みによって制御パラメータが自動的に適切に調整されるので、制御対象9の特性が経年変化したり、その特性の初期測定において誤差が発生したりしても、制御対象9に適切な指令を出力し続けることができる。この結果、制御対象9を適切に動作させ続けることができる。制御パラメータが自動的に調整されることによって、作業員がコントローラ3を調整するために現場に出向く必要がなくなるので、コントローラ3の調整に要する時間およびコストを節約することができる。加えて、専門知識を持たないユーザもコントローラ3および制御対象9を適切に動作させ続けることが可能になる。
 [システムの構成]
 図1は実施形態に係る制御システム1の構成の一例を示す図である。制御システム1は制御対象9と接続される。図1では一つの制御対象9を示す。しかし、制御対象9の個数は限定されず、制御システム1は複数の制御対象9と接続してもよい。
 一例では、制御対象9はサーボアンプ90、モータ91、伝達機構92、駆動対象93、およびセンサ94を備える。駆動対象93の形状、構造、および大きさは限定されない。モータ91の数および大きさも限定されない。以下では、モータ91が一つであり且つ駆動対象93が一つの剛体である制御対象9を例示する。
 サーボアンプ90は、コントローラ3からの指令信号にモータ91の出力を追従させるための装置である。具体的には、サーボアンプ90はその指令信号に基づいて、モータ91を動かすための電力を生成し、その電力をモータ91に供給する。この供給される電力は、トルク指令、電流指令などのような駆動力指令に相当する。
 モータ91は、電力の供給に応じて、駆動対象93を駆動させるための動力を発生させる装置である。モータ91は、駆動対象93を回転させる回転型モータであってもよいし、駆動対象93を直線に沿って変位させるリニア型モータであってもよい。モータ91は、同期電動機であってもよいし、誘導電動機であってもよい。モータ91は、SPM(Surface Permanent Magnet)モータ、IPM(Interior Permanent Magnet)モータ等の永久磁石型の同期電動機であってもよい。モータ91は、シンクロナスリラクタンスモータ(synchronous reluctance motor)のような、永久磁石を有しない同期電動機であってもよい。
 伝達機構92は、モータ91の出力軸の速度を駆動対象93に伝達する構成要素である。伝達機構92は、例えばモータ91の出力軸の速度に対して駆動対象93の速度が低くなるように構成された減速機である。例えば伝達機構92は、所定の減速比にてモータ91から駆動対象93に動力を伝達する複数のギヤを含む。
 センサ94は、指令に対応する制御対象9の応答値を検出する装置である。応答値とは、指令に対する制御対象9の状態(すなわち応答)を示す物理量をいう。応答値の具体例としては、駆動対象93の位置および速度の少なくとも一方が挙げられる。モータ91が回転型である場合には、モータ91による駆動対象93の回転角度が「位置」に相当し、モータ91による駆動対象93の回転速度が「速度」に相当する。また、トルクが駆動力に相当する。センサ94の具体例としては、駆動対象93の動作速度に比例した周波数のパルス信号を出力するロータリーエンコーダが挙げられる。ロータリーエンコーダは駆動対象93の位置および速度の両方を取得することができる。
 制御システム1は演算装置2およびコントローラ3を備える。演算装置2は制御パラメータを算出するコンピュータである。コントローラ3はその制御パラメータに基づく指令信号を制御対象9に出力する装置である。より具体的には、コントローラ3は、モータ91に発生させる駆動力に関する指令を示す指令信号(例えば、位置指令、速度指令など)をサーボアンプ90に出力する。一例では、演算装置2はコントローラ3よりも高い性能を有するコンピュータである。演算装置2のために用いられるコンピュータの具体的な種類は限定されない。例えば、演算装置2は、パーソナルコンピュータ、業務用サーバ、携帯端末などのような汎用コンピュータによって実現されてもよい。あるいは、演算装置2は、プログラマブルロジックコントローラなどのような専用装置によって実現されてもよい。コントローラ3の具体的な構成は何ら限定されない。
 図1に示すように、演算装置2は機能モジュールとして基準プロファイル記憶部20、モデル記憶部21、初期設定部22、実プロファイル算出部23、実プロファイル記憶部24、誤差取得部25、指示部26、モデル更新部27、パラメータ算出部28、および調整制御部29を備える。
 基準プロファイル記憶部20は、基準応答プロファイルを記憶する機能モジュールである。基準応答プロファイルとは、制御パラメータを調整する際に基準として用いられる制御対象9の応答プロファイルをいう。本開示において、応答プロファイルとは、コントローラ3からの指令に応答した制御対象9の状態を表す情報をいい、より具体的には、該状態の周波数特性を表す情報をいう。制御対象9の状態の周波数特性は、指令の時間変化に応じた制御対象9の状態の時間変化を周波数領域表現に変換することで得られる。制御対象9の状態は任意のデータ項目によって示されてもよく、例えば、位置、姿勢、速度、加速度、トルク、力、および電流値のうちの少なくとも一つによって表されてもよい。応答プロファイルは周波数解析手法によって得られる。本実施形態では周波数解析手法としてFFT(Fast Fourier Transform)を例示する。しかし、制御システム1は他の周波数解析手法を用いてもよい。基準応答プロファイルは、指令に対応する制御対象9の基準の状態を表す。
 モデル記憶部21は、制御パラメータを算出するために用いられる数学モデルを記憶する機能モジュールである。より具体的には、モデル記憶部21は基準応答プロファイルの数学モデルを記憶する。本開示において、数学モデルとは、コントローラ3からの指令に基づく制御対象9の動作を表現する数式をいう。数学モデルは一つの数式によって表されてもよいし、複数の数式の組合せによって表されてもよい。
 初期設定部22は、基準応答プロファイルおよび数学モデルを初期設定する機能モジュールである。初期設定部22はその初期設定として、初期の基準応答プロファイルを基準プロファイル記憶部20に格納し、初期の数学モデルをモデル記憶部21に格納する。
 実プロファイル算出部23は、実応答プロファイルを算出する機能要素である。本開示において、実応答プロファイルとは、コントローラ3からの指令に実際に応答した制御対象の現実の状態を表す応答プロファイルをいい、より具体的には、該状態の周波数特性を表す応答プロファイルをいう。実プロファイル算出部23は制御対象9の応答値の時間変化をコントローラ3から受信し、その受信データに基づいて実応答プロファイルを算出する。
 実プロファイル記憶部24は、実プロファイル算出部23によって算出された実応答プロファイルを記憶する機能モジュールである。
 誤差取得部25は、基準応答プロファイルと実応答プロファイルとの誤差を取得する機能モジュールである。この誤差は、実応答プロファイルが基準応答プロファイルからどのくらい乖離しているかを示す指標ということができる。
 指示部26は、指令信号をコントローラ3から制御対象9に出力させる機能モジュールである。具体的には、指示部26はその指令信号を生成するために用いられる制御情報をコントローラ3に送信する。コントローラ3はその制御情報に基づいて指令信号を生成し、その指令信号を制御対象9に出力する。
 モデル更新部27は、モデル記憶部21に記憶されている数学モデルを更新する機能モジュールである。具体的には、モデル更新部27は基準応答プロファイルおよび実応答プロファイルに基づいて数学モデルを更新する。
 パラメータ算出部28は、更新された数学モデルに基づいて制御パラメータを再計算する機能モジュールである。再計算された制御パラメータは制御情報の少なくとも一部として指示部26からコントローラ3に送信される。
 調整制御部29は、基準応答プロファイルと実応答プロファイルとの誤差が所与の閾値以下になるまで、数学モデルの更新および制御パラメータの再計算を含む一連の処理を繰り返し実行する機能モジュールである。端的に言うと、調整制御部29は制御対象9が許容誤差の範囲内で動作するようにその処理を繰り返し実行する。誤差が閾値を超える場合には、調整制御部29はその繰返し処理を他の機能モジュールに実行させる。誤差が閾値以下である場合には、調整制御部29は制御パラメータを確定する。
 図2は、制御システム1で用いられるコンピュータ100のハードウェア構成の一例を示す図である。この例では、コンピュータ100は本体110、モニタ120、および入力デバイス130を備える。
 本体110はコンピュータの主たる機能を実行する装置である。本体110は回路160を有し、回路160は、少なくとも一つのプロセッサ161と、メモリ162と、ストレージ163と、入出力ポート164と、通信ポート165とを有する。ストレージ163は、本体110の各機能モジュールを構成するためのプログラムを記録する。ストレージ163は、ハードディスク、不揮発性の半導体メモリ、磁気ディスク、光ディスク等の、コンピュータ読み取り可能な記録媒体である。メモリ162は、ストレージ163からロードされたプログラム、プロセッサ161の演算結果等を一時的に記憶する。プロセッサ161は、メモリ162と協働してプログラムを実行することで、各機能モジュールを構成する。入出力ポート164は、プロセッサ161からの指令に応じて、モニタ120または入力デバイス130との間で電気信号の入出力を行う。入出力ポート164は他の装置との間で電気信号の入出力を行ってもよい。通信ポート165は、プロセッサ161からの指令に従って、通信ネットワークNを介して他の装置との間でデータ通信を行う。
 モニタ120は、本体110から出力された情報を表示するための装置である。モニタ120は、テキストまたはグラフィックを表示できればいかなるものであってもよい。モニタ120の具体例としては液晶パネル等が挙げられる。
 入力デバイス130は、本体110に情報を入力するための装置である。入力デバイス130は、所望の情報を入力可能であればいかなるものであってもよい。入力デバイス130の具体例としては、キーパッド、マウス、操作コントローラ等の操作インタフェースが挙げられる。
 モニタ120および入力デバイス130はタッチパネルとして一体化されていてもよい。例えばタブレットコンピュータのように、本体110、モニタ120、および入力デバイス130が一体化されていてもよい。
 [制御方法]
 本開示に係る制御方法の一例として、図3を参照しながら、制御システム1により実行される一連の処理手順の一例を説明する。図3は制御システム1の動作の一例を処理フローS1として示すフローチャートである。すなわち、制御システム1は処理フローS1を実行する。
 ステップS11では、初期設定部22が基準応答プロファイルおよび数学モデルを初期設定する。初期設定部22は初期の基準応答プロファイルを基準プロファイル記憶部20に格納し、初期の数学モデルをモデル記憶部21に格納する。
 初期の基準応答プロファイルを準備する手法は限定されない。一例では、初期設定部22は、実際に指令に応答した制御対象9から得られた応答値の時系列データ(本開示ではこれを「時系列応答データ」ともいう)を取得する。時系列応答データは制御対象9の状態の時間変化を離散的に示す。初期設定部22はFFTを用いて現実の時系列応答データから初期の基準応答プロファイルを算出してもよい。すなわち、基準応答プロファイルによって表される制御対象9の「基準の状態」は、制御対象9を実際に動作させた結果(例えば実験結果)である現実の状態によって表されてもよい。
 あるいは、初期設定部22は、コンピュータシミュレーション上で制御対象9を動作させて時系列応答データを取得し、FFTを用いてその時系列応答データから初期の基準応答プロファイルを算出してもよい。すなわち、上記の「基準の状態」は、コンピュータシミュレーションによって算出された仮想の状態によって表されてもよい。
 あるいは、初期設定部22は、既に用意されている基準応答プロファイルを取得してもよい。例えば、初期設定部22はユーザによって入力された基準応答プロファイルを受け付けてもよいし、他のコンピュータから基準応答プロファイルを受信してもよいし、データベースなどの他の記憶装置から基準応答プロファイルを読み出してもよい。
 初期設定部22は生成または取得された初期の基準応答プロファイルを基準プロファイル記憶部20に格納する。一例では、基準応答プロファイルは制御対象9の状態の周波数特性を離散的に示す。
 初期の数学モデルを準備する手法も限定されない。一例では、モデル記憶部21は、基準応答プロファイルと共に既に用意されている初期の数学モデルを、ユーザ入力、他のコンピュータからの受信、またはデータベースへのアクセスによって取得してもよい。初期設定部22は取得された初期の数学モデルをモデル記憶部21に格納する。
 別の例では、初期設定部22は初期の数学モデルを生成してもよい。数学モデルを生成するために指令プロファイルおよび応答プロファイルが用いられる。初期設定部22は、制御対象9への指令の時間変化に対してFFTを実行して、指令プロファイルを取得する。また、初期設定部22はその応答プロファイルとして基準応答プロファイルを用いる。続いて、初期設定部22は指令プロファイルの振幅と応答プロファイルの振幅との関係を表す応答ゲインを算出する。例えば、応答ゲインは指令プロファイルの振幅に対する応答プロファイルの振幅の倍率を表す。続いて、初期設定部22は指令の周波数と応答ゲインとの関係を表すゲインプロファイルを生成する。そして、初期設定部22は、周波数特性をそのゲインプロファイルにフィッティングさせた数学モデルを生成する。このフィッティングは、基準応答プロファイルに基づくフィッティングであるといえる。一例では、この数学モデルは、経過時間と入力との関係を表す入力関数と、経過時間と出力との関係を表す出力関数との関係を表す線形微分方程式でもよい。「周波数特性をゲインプロファイルにフィッティングさせる」とは、周波数特性をゲインプロファイルに近似させることを意味し、周波数特性がゲインプロファイルに一致することを含む概念である。初期設定部22は任意のフィッティング手法によって初期の数学モデルを生成してよい。例えば、初期設定部22は、最小二乗法、多項式近似、円近似、各種関数(三角関数、B-Spline等)による近似、または複数の関数の重み付け和によって初期の数学モデルを生成してもよい。あるいは、初期設定部22は、ゲインプロファイルと数学モデルとの関係を表すように機械学習により生成された学習済みモデルに基づいて初期の数学モデルを生成してもよい。初期設定部22は生成された初期の数学モデルを基準応答プロファイルの数学モデルとしてモデル記憶部21に格納する。
 初期設定部22は複数の数学モデルを生成してもよい。例えば、初期設定部22はゲインプロファイルに関する数学モデルと、位相プロファイルに関する数学モデルとを、基準応答プロファイルの数学モデルとして生成してもよい。位相とは、指令に対する応答の時間的な遅れをいう。
 ステップS12では、パラメータ算出部28が初期の数学モデルをモデル記憶部21から読み出し、その数学モデルに基づいて制御パラメータの初期値を算出する。
 制御パラメータはコントローラ3の具体的な構成に対応する。上述したようにコントローラ3の具体的な構成(言い換えると、自動制御の手法)は限定されず、したがって制御パラメータも限定されない。パラメータ算出部28はフィードバック制御の制御パラメータを算出してもよいし、フィードフォワード制御の制御パラメータを算出してもよい。一例では、制御パラメータは、入力と出力との関係(例えば振幅比)を示すゲインを含んでもよい。あるいは、制御パラメータは、指令の周波数特性を調整するための基底フィルタを構成するフィルタの種類、個数、およびパラメータを含んでもよい。より具体的な例として、パラメータ算出部28はPID制御における制御パラメータである比例ゲイン、積分ゲイン、および微分ゲインを算出してもよい。あるいは、パラメータ算出部28は、複数の制御ループによって構成されるカスケード制御におけるゲインを算出してもよい。カスケード制御におけるゲインは、例えば、比例ゲイン、積分ゲイン、および微分ゲインである。カスケード制御の一例としてP-PI制御が挙げられるが、カスケード制御の具体的な構成はこれに限定されない。基底フィルタとは、制御システムを構成するために用いられる複数種類のフィルタを組み合わせることで生成されるフィルタをいう。制御システムを構成するために用いられるフィルタの例としては、ローパスフィルタ、ハイパスフィルタ、ノッチフィルタ、ピークフィルタ、オールパスフィルタ、位相進み補償、位相遅れ補償などのような、ゲインと位相を調整するために用いられるフィルタが挙げられる。しかし、用いられるフィルタの種類はこれらの例に限定されない。
 制御パラメータの計算方法は限定されない。一例では、パラメータ算出部28はH∞制御理論と、この理論に対応する最適化計算とを数学モデルに対して実行して、制御パラメータを算出してもよい。H∞制御理論とは、閉ループ系の伝達関数の大きさをH∞ノルムという尺度で測り、そのノルムを小さくすることで目的の性能を達成する手法である。H∞制御理論の一例として、パラメータ算出部28はStructured H∞制御を用いてもよい。最適化計算の例として線形行列不等式(Linear Matrix Inequality(LMI))が挙げられる。しかし、最適化計算はこれに限定されず、パラメータ算出部28は任意の最適化手法を用いてよい。パラメータ算出部28はユーザにより設定された拘束条件に従って最適化計算を実行する。拘束条件の例として、制御対象9の動作時間(すなわち、制御対象9の状態が初期値から目標値に至るまでの時間)と、制御対象9の動作に関する許容誤差とが挙げられる。しかし、拘束条件はこれらに限定されるものではなく、任意の方針によって設定されてよい。
 ステップS13では、制御システム1が、算出された制御パラメータに基づく第1指令を制御対象9に出力する。具体的には、指示部26が、その制御パラメータを示す制御情報をコントローラ3に送信する。コントローラ3はその制御情報を受信し、制御パラメータを設定する。そして、コントローラ3はその制御パラメータに基づいて第1指令を生成し、その第1指令を制御対象9に出力する。より具体的には、コントローラ3は第1指令を示す指令信号を生成および出力する。このように、指示部26は第1指令をコントローラ3から制御対象9に出力させる。第1指令は制御対象9を目標値に向けて動作させるための指令である。目標値の設定方法は限定されない。例えば、指示部26が制御パラメータおよび目標値を示す制御情報をコントローラ3に送信し、コントローラ3がその制御情報を受信して目標値を設定してもよい。あるいは、指示部26は駆動対象93の所与の目標動作パターンに基づいて目標値を取得してもよい。第1指令を示す指令信号の例として、チャープ信号、マルチサイン信号、擬似ランダム信号、ランダム信号、短時間不規則信号、およびインパルス加振信号が挙げられる。しかし、その指令信号の種類はこれらに限定されない。
 一例では、コントローラ3はフィードバック制御によって制御対象9を目標値に向けて動作させる。具体的には、コントローラ3は、センサ94によって検出された応答値を受信し、その応答値に基づいて駆動対象93の目標値と現在値(現在の状態)との差を偏差としてとして算出する。コントローラ3は算出された偏差に対して所定の演算を実行して、その偏差を縮小させるための第1指令を決定する。所定の演算はコントローラ3の具体的な構成(言い換えると、自動制御の手法)に依存し、したがって、演算の具体的な手法は限定されない。例えば、カスケード制御などのPID制御が採用される場合には、所定の演算は、比例演算、積分演算、および微分演算を含む。コントローラ3は決定された第1指令を示す指令信号を生成し、この指令信号を制御対象9に出力する。コントローラ3は、制御対象9が目標値に至るまで、偏差に基づく第1指令の出力を所定の制御周期で繰り返し実行する。
 コントローラ3は制御対象9を目標値に向けて動作させている間に、所定の制御周期においてセンサ94からの応答値を記録して、時系列応答データを取得する。コントローラ3はその時系列応答データを演算装置2に送信する。
 ステップS14では、実プロファイル算出部23が第1実応答プロファイルを算出する。実プロファイル算出部23はコントローラ3から時系列応答データを受信する。そして、実プロファイル算出部23はFFTを用いて、その時系列応答データから(すなわち、制御対象9の状態の時間変化から)第1実応答プロファイルを算出する。実プロファイル算出部23はその第1実応答プロファイルを実プロファイル記憶部24に格納する。
 ステップS15では、誤差取得部25が第1実応答プロファイルと基準応答プロファイルとの誤差を取得する。より具体的には、誤差取得部25は個々の周波数においてこれら二つの応答プロファイルの間のスペクトル成分の差を算出し、その差の集合を誤差として取得する。
 ステップS16では、調整制御部29が、その誤差が所与の閾値以下であるか否かを判定する。一例では、調整制御部29は応答プロファイルによって示される全周波数において共通の閾値を用いて、スペクトル差がその閾値を超える周波数が存在するか否かを判定する。
 一例では、すべての周波数においてスペクトル差が閾値以下である場合に、調整制御部29は誤差が閾値以下であると判定する(ステップS16においてYES)。この場合には処理はステップS22に進む。ステップS22では、調整制御部29が制御パラメータを確定する。この結果、コントローラ3は確定された制御パラメータに従って適切な指令を制御対象9に出力することができる。
 一例では、スペクトル差が閾値を超える1以上の周波数が存在する場合に、調整制御部29は誤差が閾値を超えると判定する(ステップS16においてNO)。そして、調整制御部29は、数学モデルの更新および制御パラメータの再計算を含む一連の処理を実行すると決定する。この決定により処理はステップS17に進む。
 ステップS17では、指示部26が、その誤差に対応する周波数を含む限定された帯域を同定範囲として設定する。誤差に対応する周波数とは、スペクトル差が閾値を超える周波数をいう。より具体的には、誤差に対応する周波数は、スペクトル差が閾値を超える周波数のうち代表の一つの周波数でもよい。例えば、指示部26はスペクトル差が最も大きい周波数を「誤差に対応する周波数」として特定してもよい。限定された帯域とは、応答プロファイルによって示される周波数帯域の一部をいう。同定範囲の具体的な長さは限定されない。例えば、指示部26は10Hz、20Hzなどの固定幅を同定範囲として設定してもよい。あるいは、指示部26は、同定範囲の幅を任意の手法によって動的に設定してもよい。一例として、指示部26は、誤差に対応する周波数を含み、且つスペクトル差が閾値を超え続けている範囲を同定範囲として設定してもよい。具体的には、指示部26は、誤差に対応する周波数よりも小さい帯域において、スペクトル差が閾値以下である1以上の周波数のうちの最大値を同定範囲の下限値(始点)として設定する。さらに指示部26は、誤差に対応する周波数よりも大きい帯域において、スペクトル差が閾値以下である1以上の周波数のうちの最小値を同定範囲の上限値(終点)として設定する。指示部26はこのような処理によって、スペクトル差が閾値を超え続けている範囲を特定できる。
 ステップS18では、制御システム1が、同定範囲に対応する第2指令を制御対象9に出力する。具体的には、指示部26が、その同定範囲を示す制御情報をコントローラ3に送信する。コントローラ3はその制御情報を受信し、その同定範囲内の周波数成分に基づく第2指令を生成する。より具体的には、コントローラは同定範囲内の周波数成分によって構成される第2指令を生成する。そして、コントローラ3はその第2指令を制御対象9に出力する。より具体的には、コントローラ3は第2指令を示す指令信号を生成および出力する。このように、指示部26は第2指令をコントローラ3から制御対象9に出力させる。第2指令は、同定範囲に対応する制御対象9の状態を特に同定することを目的とするので、同定指令ということもできる。第1指令と同様に、第2指令を示す指令信号は、チャープ信号、マルチサイン信号、擬似ランダム信号、ランダム信号、短時間不規則信号、またはインパルス加振信号でもよいし、他の種類の信号でもよい。コントローラ3は、第1指令による制御と同様に、フィードバック制御によって制御対象9を目標値に向けて動作させる。コントローラ3はその処理の間に、所定の制御周期においてセンサ94からの応答値を記録して、時系列応答データを取得する。コントローラ3はその時系列応答データを演算装置2に送信する。
 ステップS19では、実プロファイル算出部23が第2実応答プロファイルを算出する。実プロファイル算出部23はコントローラ3から時系列応答データを受信する。そして、実プロファイル算出部23はFFTを用いて、その時系列応答データから(すなわち、制御対象9の状態の時間変化から)第2実応答プロファイルを算出する。実プロファイル算出部23はその第2実応答プロファイルを実プロファイル記憶部24に格納する。
 ステップS20では、モデル更新部27が基準応答プロファイルおよび第2実応答プロファイルに基づいてモデル記憶部21内の数学モデルを更新する。モデル更新部27は基準応答プロファイルを基準プロファイル記憶部20から読み出し、第2実応答プロファイルを実プロファイル記憶部24から読み出す。そして、モデル更新部27は基準応答プロファイルのうち同定範囲の部分を第2実応答プロファイルに置き換える。具体的には、モデル更新部27は基準応答プロファイルのうち、同定範囲のスペクトル成分を、第2実応答プロファイルにより示されるスペクトル成分に置き換えて、基準応答プロファイルを更新する。続いてモデル更新部27は、更新された基準応答プロファイルに基づくゲインプロファイルに周波数特性をフィッティングさせた数学モデルを生成する。モデル更新部27は初期設定部22と同様の手法により、更新された基準応答プロファイルに基づくフィッティングを実行して、数学モデルを生成する。モデル更新部27は更新された基準応答プロファイルを基準プロファイル記憶部20に格納して、基準応答プロファイルを更新する。また、モデル更新部27は生成された数学モデルを、更新された基準応答プロファイルの数学モデルとしてモデル記憶部21に格納して、モデル記憶部21内の数学モデルを更新する。
 ステップS21では、パラメータ算出部28が、更新された数学モデルをモデル記憶部21から読み出し、その数学モデルに基づいて制御パラメータを再計算する。制御パラメータの計算方法は、制御パラメータの初期値の計算方法と同じである。したがって、一例では、パラメータ算出部28はH∞制御理論と、この理論に対応する最適化計算とを、更新された数学モデルに対して実行して、制御パラメータを算出する。
 ステップS21の後に、ステップS13以降の処理が繰り返される。ステップS13では、制御システム1が、再計算された制御パラメータに基づく新たな第1指令を制御対象9に出力する。ステップS14では、実プロファイル算出部23が新たな第1実応答プロファイルを算出する。ステップS15では、誤差取得部25がその第1実応答プロファイルと更新された基準応答プロファイルとの誤差を取得する。ステップS16では、調整制御部29が、その誤差が閾値以下であるか否かを再び判定する。
 処理フローS1に示すように、制御システム1は初期の数学モデルを設定し、制御パラメータの初期値をコントローラ3に設定する。続いて、制御システム1はその制御パラメータに基づく第1指令によって制御対象9を動作させ、制御対象9の基準の状態と現実の状態との間で大きな誤差が生じている周波数を特定する。続いて、制御システム1はその周波数に基づく第2指令によって制御対象9を動作させ、制御対象9の特性をより正確に取得する。そして、制御システム1はその特性に基づいて数学モデルを更新し、制御パラメータを再計算し、新たな第1指令によって制御対象9を動作させ、再び誤差を評価する。制御システム1は、制御対象9が許容誤差の範囲内で動作するようになるまで、数学モデルを更新し制御パラメータを調整する処理を繰り返す。この一連の処理によって、制御システム1は所望の動作を制御対象9に行わせることが可能なコントローラ3を自動的に設計する。
 図4~図6を参照しながら、数学モデルの更新の具体例を説明する。この具体例ではゲインプロファイルに着目する。図4は数学モデルの一例を示す図である。図5は第1実応答プロファイルと基準応答プロファイルとの誤差の一例を示す図である。図6はその誤差に基づく数学モデルの更新の一例を示す図である。図5および図6はいずれも図4に対応する。
 図4において、グラフ201は、0.1Hzから1000Hzまでの帯域において得られた初期の基準応答プロファイルに基づくフィッティングを実行して得られる数学モデル220を表す。より具体的には、この数学モデル220は、初期の基準応答プロファイルに基づくゲインプロファイル211に周波数特性をフィッティングさせて得られる。グラフ202は、その数学モデル220のうち80Hz~100Hzにおける部分を拡大して示す。グラフ202における丸印は、ゲインプロファイル211の個々の離散値を示す。
 パラメータ算出部28は数学モデル220に基づいて制御パラメータの初期値を算出し、指示部26はその初期値に基づく第1指令をコントローラ3から制御対象9に出力させる。実プロファイル算出部23は、その制御対象9からの時系列応答データに対してFFTを実行して、第1実応答プロファイルを算出する。
 これらの一連の処理において、図5に示す結果が得られるとする。図5において、グラフ203は、制御対象9の基準の状態を示す時系列応答データ231と、第1指令に従って動作した制御対象9の現実の状態を示す時系列応答データ232とを示す。グラフ203において、横軸は経過時間を示し、縦軸は駆動対象93の位置の誤差を示す。グラフ204は、時系列応答データ231から算出される初期の基準応答プロファイル241と、時系列応答データ232から算出される第1実応答プロファイル242とを示す。グラフ204において、横軸は周波数を示し、縦軸はスペクトル成分を示す。この例では、16.3Hzを中心とする帯域と91.9Hzを中心とする帯域とにおいてスペクトル成分の差が大きい。
 誤差取得部25はこのようなスペクトル成分の差を誤差として取得する。一例では、調整制御部29がその誤差に基づいて、91.9Hzを含む限定された帯域を同定範囲として設定する。この例では、調整制御部29が85Hzから95Hzまでの範囲を同定範囲として設定すると仮定する。指示部26は、その同定範囲に対応する第2指令をコントローラ3から制御対象9に出力させる。実プロファイル算出部23は、その制御対象9からの時系列応答データに対してFFTを実行して、第2実応答プロファイルを算出する。
 図6に示すグラフ205は、第2実応答プロファイルに基づくゲインプロファイル212を図4におけるグラフ202上にプロットすることで得られる。グラフ205ではゲインプロファイル212の個々の離散値を菱形印により示す。モデル更新部27は、基準応答プロファイルのうち同定範囲(85Hz~95Hz)の部分を第2実応答プロファイルに置き換えて、基準応答プロファイルを更新する。この更新によって、ゲインプロファイル211のうち同定範囲の部分がゲインプロファイル212に置き換えられる。グラフ206は、その置き換えによって更新されたゲインプロファイル211Aの離散値を示す。モデル更新部27はそのゲインプロファイル212Aに周波数特性をフィッティングさせた数学モデル220Aを生成し、その数学モデル220Aをモデル記憶部21に格納する。この処理によって、モデル更新部27は数学モデル220を数学モデル220Aに更新する。グラフ206は数学モデル220Aを80Hz~100Hzの範囲に限定して示す。しかし、モデル更新部27は基準応答プロファイルの周波数帯域の全体に対して数学モデル220Aを生成することに留意されたい。
 その後、パラメータ算出部28は数学モデル220Aに基づいて制御パラメータを算出し、指示部26はその制御パラメータに基づく新たな第1指令をコントローラ3から制御対象9に出力させる。制御システム1は、更新された基準応答プロファイルと、調整された制御パラメータに基づいて動作した制御対象9の第1実応答プロファイルとの誤差に基づいて、数学モデルの更新と制御パラメータの再計算とを含む一連の処理を更新するか、または、制御パラメータを確定する。制御システム1は必要な回数のループ処理を実行して、最終的に制御パラメータを確定する。
 上述したように、初期の基準応答プロファイルは現実の状態を表してもよいし仮想の状態を表してもよい。例えば、初期の基準応答プロファイルが、第1指令に対応する制御対象9の第1時点における現実の状態の周波数特性を表すとする。初期の数学モデルは、その現実の状態を表す基準応答プロファイルに基づいて生成される。この場合には、基準応答プロファイルと、第1時点よりも後の第2時点における第1実応答プロファイルとの誤差は、制御対象9の経年変化によって生じたといえる。その誤差が許容範囲になるように制御パラメータを調整することで、その経年変化が吸収されて、制御対象9を引き続き適切に操作し続けることができる。
 一方、初期の基準応答プロファイルが、第1指令に対応する制御対象9の仮想の状態の周波数特性を表すとする。初期の数学モデルは、その仮想の状態を表す基準応答プロファイルに基づいて生成される。この場合には、シミュレーションによって初期設定された制御パラメータが制御対象9の現実の特性に合うように調整されるので、制御対象9を適切に操作することができる。
 [応用例]
 制御システム1は、モータが複数であり且つ駆動対象が複数の剛体を含む制御対象にも適用可能である。例えば、制御システム1は多関節ロボットにも適用可能である。
 図7は、多関節ロボットの一例であるロボット310を示す図である。ロボット310は、いわゆる6軸の垂直多関節ロボットであり、基台311と、旋回部312と、アーム313,314,315と、ツール保持部316とを有する。基台311は、作業エリアにおいて床、台、またはAGV(Automated Guided Vehicle)上に固定される。旋回部312は、鉛直な軸線331まわりに旋回するように基台311上に設けられる。
 アーム313は、軸線331に交差(例えば直交)する軸線332まわりに揺動するように旋回部312に接続される。ここでの交差は、いわゆる立体交差のようにねじれの関係にある場合を含む。アーム314は、軸線332に平行な軸線333まわりに揺動するように、アーム313の先端部に接続される。アーム315は、アーム314に沿い軸線333に交差する軸線334まわりに旋回し、軸線334に交差(例えば直交)する軸線335まわりに揺動するように、アーム314の先端部に接続される。
 ツール保持部316は、アーム315の中心に沿う軸線336まわりに旋回するように、アーム315の先端部に接続される。ツール保持部316は、ワークを把持するハンド、溶接トーチ、塗装ガン、ねじ締めツールなどの様々なツール317を保持する。
 モータ321は、軸線331まわりに旋回部312を旋回させる。モータ322は、軸線332まわりにアーム313を揺動させる。モータ323は、軸線333まわりにアーム314を揺動させる。モータ324は、軸線334まわりにアーム314の先端部を旋回させる。モータ325は、軸線335まわりにアーム315を揺動させる。モータ326は、軸線336まわりにツール保持部316を旋回させる。
 ロボット310においては、ツール保持部316およびツール317がモータ326の駆動対象である。アーム315、ツール保持部316、およびツール317はモータ325の駆動対象である。アーム314の先端部、アーム315、ツール保持部316、およびツール317がモータ324の駆動対象である。アーム314,315、ツール保持部316、およびツール317はモータ323の駆動対象である。アーム313,314,315、ツール保持部316、およびツール317はモータ322の駆動対象である。旋回部312、アーム313,314,315、ツール保持部316、およびツール317はモータ321の駆動対象である。
 ロボット310のように制御対象が複数のモータを有する場合には、制御システム1は処理フローS1をモータごとに実行してもよい。
 [プログラム]
 制御システム1の各機能モジュールは、プロセッサ161またはメモリ162の上に制御プログラムを読み込ませてプロセッサ161にそのプログラムを実行させることで実現される。制御プログラムは、制御システム1の各機能モジュールを実現するためのコードを含む。プロセッサ161は制御プログラムに従って入出力ポート164または通信ポート165を動作させ、メモリ162またはストレージ163におけるデータの読み出しおよび書き込みを実行する。このような処理により制御システム1の各機能モジュールが実現される。
 制御プログラムは、CD-ROM、DVD-ROM、半導体メモリなどの非一時的な記録媒体に固定的に記録された上で提供されてもよい。あるいは、制御プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
 [効果]
 以上説明したように、本開示の一側面に係る制御システムは、制御対象に指令を出力するコントローラを備える。この制御システムは、第1指令に対応する制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、誤差が所与の閾値よりも大きい周波数に基づく第2指令をコントローラから制御対象に出力させる指示部と、第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するモデル更新部とを備える。
 本開示の一側面に係る制御方法は、制御対象に指令を出力するコントローラを備える制御システムにより実行される。この制御方法は、第1指令に対応する制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、誤差が所与の閾値よりも大きい周波数に基づく第2指令をコントローラから制御対象に出力させるステップと、第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するステップとを含む。
 本開示の一側面に係るコンピュータは、制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するモデル更新部とを備える。
 本開示の一側面に係る制御プログラムは、制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、基準応答プロファイルと、第1指令に応答した制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、基準応答プロファイルとに基づいて、数学モデルを更新するステップとをコンピュータに実行させる。
 このような側面においては、基準応答と第1実応答との誤差に基づく追加の指令(第2指令)により得られる第2実応答を考慮して数学モデルが自動的に更新される。更新された数学モデルは、制御対象の特性をより高精度に反映する。したがって、その更新された数学モデルを用いることで、制御対象への指令を適切に調整することができる。
 他の側面に係る制御システムでは、指示部は、第1実応答プロファイルの周波数帯域の一部であり、且つ誤差に対応する周波数を含む限定された帯域を同定範囲として設定し、同定範囲内の周波数成分に基づく第2指令をコントローラから制御対象に出力させてもよい。相対的に大きい誤差が発生した周波数の周辺に限定された同定範囲内の周波数成分を用いて第2指令を生成することで、その誤差に対応する第2実応答プロファイルが詳細に得られる。その詳細な第2実応答プロファイルを用いて、数学モデルをより適切に更新することができる。
 他の側面に係る制御システムでは、モデル更新部は、基準応答プロファイルのうち同定範囲の部分を第2実応答プロファイルに置き換えて、基準応答プロファイルを更新し、更新された基準応答プロファイルに基づくフィッティングを実行して、数学モデルを更新してもよい。相対的に大きい誤差が発生した範囲が修正された基準応答プロファイルに基づくフィッティングを実行することで、制御対象の特性をより正確に反映した数学モデルを生成することができる。
 他の側面に係る制御システムは、指令と、指令に制御対象を追従させるための制御量との関係を定める制御パラメータを、更新された数学モデルに基づいて再計算するパラメータ算出部をさらに備えてもよい。指示部は、再計算された制御パラメータに基づく新たな指令をコントローラから制御対象に出力させてもよい。更新された数学モデルに基づいて制御パラメータを再計算することで、より適切な指令を制御対象に出力することができる。
 他の側面に係る制御システムでは、パラメータ算出部は、H∞制御理論および対応する最適化計算を更新された数学モデルに対して実行して、制御パラメータを再計算してもよい。H∞制御理論を利用することで、制御対象の応答の変動、外乱などのような不確実性に対して堅牢な制御パラメータを得ることができる。その結果、制御システムのロバスト性を向上させることができる。
 他の側面に係る制御システムでは、パラメータ算出部は、制御パラメータの再計算として、カスケード制御におけるゲインを再計算してもよい。カスケード制御におけるゲインを再計算することで、外乱の影響を迅速に抑制可能な指令をより適切に生成することができる。
 他の側面に係る制御システムでは、新たな指令に対応する誤差が閾値以下になるまで、第2指令の出力と、数学モデルの更新と、制御パラメータの再計算と、新たな指令の出力とを含む処理を繰り返し実行する調整制御部をさらに備えてもよい。この繰り返し処理によって、人手を介することなく、適切な指令を自動的に生成することが可能になる。
 他の側面に係る制御システムでは、記憶部は、第1指令に対応する制御対象の第1時点における現実の状態の周波数特性を基準の状態の周波数特性として表す基準応答プロファイルの数学モデルを記憶してもよい。誤差取得部は、基準応答プロファイルと、第1時点よりも後の第2時点における第1実応答プロファイルとの誤差を取得してもよい。この仕組みによって、制御対象の経年変化が生じた場合でもその変化に応じて数学モデルが適切に更新される。この更新された数学モデルを用いることで、経年変化の影響を吸収して制御対象を適切に操作し続けることができる。
 他の側面に係る制御システムでは、記憶部は、第1指令に対応する制御対象の仮想の状態の周波数特性を基準の状態の周波数特性として表す基準応答プロファイルの数学モデルを記憶してもよい。誤差取得部は、基準応答プロファイルと第1実応答プロファイルとの誤差を取得してもよい。この仕組みによって、シミュレーションにより用意された数学モデルが、制御対象の現実の応答に基づいて適切に更新される。この更新された数学モデルを用いることで、制御対象の現実の特性に基づいて該制御対象を適切に操作することができる。
 他の側面に係る制御システムでは、制御対象は、駆動対象と、該駆動対象を駆動するモータとを有してもよい。第1指令および第2指令のそれぞれは、モータに発生させる駆動力に関してもよい。制御対象の基準の状態および現実の状態のそれぞれは、駆動対象の位置および速度の少なくとも一方であってもよい。この場合には、駆動対象の位置または速度を所望の値にするためのモータへの指令を適切に調整することができる。
 [変形例]
 以上、本開示での実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
 制御システムの構成は上記実施形態に限定されない。コントローラ3は演算装置2の機能モジュールの一部を備えてもよい。例えば、コントローラ3は、実プロファイル算出部23に相当する機能を実行してもよい。演算装置2およびコントローラ3は一つの装置に集約されてもよい。
 システムのハードウェア構成は、プログラムの実行により各機能モジュールを実現する態様に限定されない。例えば、上記実施形態における機能モジュールの少なくとも一部が、その機能に特化した論理回路により構成されていてもよいし、該論理回路を集積したASIC(Application Specific Integrated Circuit)により構成されてもよい。
 少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
 コンピュータシステムまたはコンピュータ内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」という二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
 1…制御システム、2…演算装置(コンピュータ)、3…コントローラ、9…制御対象、20…基準プロファイル記憶部、21…モデル記憶部、22…初期設定部、23…実プロファイル算出部、24…実プロファイル記憶部、25…誤差取得部、26…指示部、27…モデル更新部、28…パラメータ算出部、29…調整制御部。

 

Claims (13)

  1.  制御対象に指令を出力するコントローラを備える制御システムであって、
     第1指令に対応する前記制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、
     前記基準応答プロファイルと、前記第1指令に応答した前記制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、
     前記誤差が所与の閾値よりも大きい周波数に基づく第2指令を前記コントローラから前記制御対象に出力させる指示部と、
     前記第2指令に応答した前記制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、前記基準応答プロファイルとに基づいて、前記数学モデルを更新するモデル更新部と、
    を備える制御システム。
  2.  前記指示部は、
      前記第1実応答プロファイルの周波数帯域の一部であり、且つ前記誤差に対応する周波数を含む限定された帯域を同定範囲として設定し、
      前記同定範囲内の周波数成分に基づく前記第2指令を前記コントローラから前記制御対象に出力させる、
    請求項1に記載の制御システム。
  3.  前記モデル更新部は、
      前記基準応答プロファイルのうち前記同定範囲の部分を前記第2実応答プロファイルに置き換えて、前記基準応答プロファイルを更新し、
      前記更新された基準応答プロファイルに基づくフィッティングを実行して、前記数学モデルを更新する、
    請求項2に記載の制御システム。
  4.  前記指令と、前記指令に前記制御対象を追従させるための制御量との関係を定める制御パラメータを、前記更新された数学モデルに基づいて再計算するパラメータ算出部をさらに備え、
     前記指示部は、前記再計算された制御パラメータに基づく新たな指令を前記コントローラから前記制御対象に出力させる、
    請求項1~3のいずれか一項に記載の制御システム。
  5.  前記パラメータ算出部は、H∞制御理論および対応する最適化計算を前記更新された数学モデルに対して実行して、前記制御パラメータを再計算する、
    請求項4に記載の制御システム。
  6.  前記パラメータ算出部は、前記制御パラメータの再計算として、カスケード制御におけるゲインを再計算する、
    請求項4または5に記載の制御システム。
  7.  前記新たな指令に対応する前記誤差が前記閾値以下になるまで、前記第2指令の出力と、前記数学モデルの更新と、前記制御パラメータの再計算と、前記新たな指令の出力とを含む処理を繰り返し実行する調整制御部をさらに備える請求項4~6のいずれか一項に記載の制御システム。
  8.  前記記憶部は、前記第1指令に対応する前記制御対象の第1時点における現実の状態の周波数特性を前記基準の状態の周波数特性として表す前記基準応答プロファイルの前記数学モデルを記憶し、
     前記誤差取得部は、前記基準応答プロファイルと、前記第1時点よりも後の第2時点における前記第1実応答プロファイルとの誤差を取得する、
    請求項1~7のいずれか一項に記載の制御システム。
  9.  前記記憶部は、前記第1指令に対応する前記制御対象の仮想の状態の周波数特性を前記基準の状態の周波数特性として表す前記基準応答プロファイルの前記数学モデルを記憶し、
     前記誤差取得部は、前記基準応答プロファイルと前記第1実応答プロファイルとの誤差を取得する、
    請求項1~7のいずれか一項に記載の制御システム。
  10.  前記制御対象は、駆動対象と、該駆動対象を駆動するモータとを有し、
     前記第1指令および前記第2指令のそれぞれは、前記モータに発生させる駆動力に関し、
     前記制御対象の前記基準の状態および前記現実の状態のそれぞれは、前記駆動対象の位置および速度の少なくとも一方である、
    請求項1~9のいずれか一項記載の制御システム。
  11.  制御対象に指令を出力するコントローラを備える制御システムにより実行される制御方法であって、
     第1指令に対応する前記制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、
     前記基準応答プロファイルと、前記第1指令に応答した前記制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、
     前記誤差が所与の閾値よりも大きい周波数に基づく第2指令を前記コントローラから前記制御対象に出力させるステップと、
     前記第2指令に応答した前記制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、前記基準応答プロファイルとに基づいて、前記数学モデルを更新するステップと、
    を含む制御方法。
  12.  制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶する記憶部と、
     前記基準応答プロファイルと、前記第1指令に応答した前記制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得する誤差取得部と、
     前記誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した前記制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、前記基準応答プロファイルとに基づいて、前記数学モデルを更新するモデル更新部と、
    を備えるコンピュータ。
  13.  制御対象に出力される第1指令に対応する該制御対象の基準の状態の周波数特性を表す基準応答プロファイルの数学モデルを記憶部に格納するステップと、
     前記基準応答プロファイルと、前記第1指令に応答した前記制御対象の現実の状態の周波数特性を表す第1実応答プロファイルとの誤差を取得するステップと、
     前記誤差が所与の閾値よりも大きい周波数に基づく第2指令に応答した前記制御対象の現実の状態の周波数特性を表す第2実応答プロファイルと、前記基準応答プロファイルとに基づいて、前記数学モデルを更新するステップと、
    をコンピュータに実行させる制御プログラム。
PCT/JP2020/032901 2020-08-31 2020-08-31 制御システム、制御方法、コンピュータ、および制御プログラム WO2022044329A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022545260A JP7496095B2 (ja) 2020-08-31 2020-08-31 制御システム、制御方法、コンピュータ、および制御プログラム
PCT/JP2020/032901 WO2022044329A1 (ja) 2020-08-31 2020-08-31 制御システム、制御方法、コンピュータ、および制御プログラム
US18/173,781 US20230195059A1 (en) 2020-08-31 2023-02-24 Computational model of reference response profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/032901 WO2022044329A1 (ja) 2020-08-31 2020-08-31 制御システム、制御方法、コンピュータ、および制御プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/173,781 Continuation US20230195059A1 (en) 2020-08-31 2023-02-24 Computational model of reference response profile

Publications (1)

Publication Number Publication Date
WO2022044329A1 true WO2022044329A1 (ja) 2022-03-03

Family

ID=80354941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/032901 WO2022044329A1 (ja) 2020-08-31 2020-08-31 制御システム、制御方法、コンピュータ、および制御プログラム

Country Status (3)

Country Link
US (1) US20230195059A1 (ja)
JP (1) JP7496095B2 (ja)
WO (1) WO2022044329A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269804A (ja) * 1996-03-29 1997-10-14 Aisin Seiki Co Ltd 自動制御系の安定制御装置
JPH1091211A (ja) * 1996-09-13 1998-04-10 Toshiba Corp 制御定数調整装置
JP2009134751A (ja) * 1998-01-22 2009-06-18 Mts Systems Corp 物理的システムにおいて入力信号を発生する方法及び装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182186A (ja) 2009-02-06 2010-08-19 Nikon Corp システム同定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269804A (ja) * 1996-03-29 1997-10-14 Aisin Seiki Co Ltd 自動制御系の安定制御装置
JPH1091211A (ja) * 1996-09-13 1998-04-10 Toshiba Corp 制御定数調整装置
JP2009134751A (ja) * 1998-01-22 2009-06-18 Mts Systems Corp 物理的システムにおいて入力信号を発生する方法及び装置

Also Published As

Publication number Publication date
US20230195059A1 (en) 2023-06-22
JP7496095B2 (ja) 2024-06-06
JPWO2022044329A1 (ja) 2022-03-03

Similar Documents

Publication Publication Date Title
JP4698656B2 (ja) 制御システムおよび制御支援装置
US10386794B2 (en) Control device, storage medium, and control system by creating internal model of control target
CN104647387A (zh) 机器人控制方法、系统和装置
JP6697491B2 (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
US11087509B2 (en) Output device, control device, and evaluation function value output method
JP2018149606A (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
US20200133226A1 (en) Output device, control device and method of outputting learning parameter
JP2014136260A (ja) 制御装置
CN111687838B (zh) 机械手轨迹跟随误差的在线补偿方法、系统及存储介质
US11029650B2 (en) Machine learning device, control system, and machine learning method
US11137728B2 (en) Processing device, control parameter determination method, and non-transitory recording medium storing a control parameter determination program
JPWO2008065836A1 (ja) 電動機制御装置と出力フィルタ調整方法および出力フィルタ調整装置
US20200257252A1 (en) Machine learning device, control device, and machine learning search range setting method
WO2022044329A1 (ja) 制御システム、制御方法、コンピュータ、および制御プログラム
CN111722530B (zh) 机器学习装置、控制系统以及机器学习方法
JP2005094964A (ja) モータの制御装置及び制御方法
WO2022030346A1 (ja) 制御支援装置、制御システム及び制御支援方法
CN111796610B (zh) 马达控制装置以及计算机可读记录介质
US20230176532A1 (en) Control assist device, control device, and control assist method
US11146191B2 (en) Simulation device, simulation method, and simulation program for a motor control device
WO2023067787A1 (ja) 安定余裕の設定支援装置、制御システム及び設定支援方法
CN110727242B (zh) 机器学习装置、控制装置、以及机器学习方法
US20240058950A1 (en) Adjustment assistance device, control system, and adjustment assistance method
WO2020162202A1 (ja) 制御装置および制御プログラム
WO2023209754A1 (ja) サーボ調整システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20951578

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022545260

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20951578

Country of ref document: EP

Kind code of ref document: A1