WO2013077007A1 - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
WO2013077007A1
WO2013077007A1 PCT/JP2012/057217 JP2012057217W WO2013077007A1 WO 2013077007 A1 WO2013077007 A1 WO 2013077007A1 JP 2012057217 W JP2012057217 W JP 2012057217W WO 2013077007 A1 WO2013077007 A1 WO 2013077007A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
target value
input
gain
controller
Prior art date
Application number
PCT/JP2012/057217
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 US14/356,229 priority Critical patent/US9274514B2/en
Priority to JP2013545806A priority patent/JP5726328B2/ja
Priority to DE112012004848.2T priority patent/DE112012004848B9/de
Publication of WO2013077007A1 publication Critical patent/WO2013077007A1/ja

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
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/12Observer control, e.g. using Luenberger observers or Kalman filters

Definitions

  • the present invention relates to a motor control device for driving an industrial machine.
  • the motor control device is desired to follow the motor position and speed with high speed and high accuracy with respect to the target value such as the position target value and the speed target value, and in order to realize this, feed forward control and feedback control are performed. Combined two-degree-of-freedom control is used.
  • a control technique that prefetches and uses not only the current target value but also the future target value may be used.
  • it is also necessary to suppress residual vibration at the time of stoppage caused by mechanical resonance, etc., so that the signal component at the vibration frequency (resonance frequency) of industrial machinery is reduced.
  • vibration suppression is realized by vibration suppression control that designs a feedforward control system.
  • Patent Document 1 there is an electric motor control device that performs predictive control using a target value up to two steps or four steps ahead for predictive control that required a target value up to M (M> 4) steps ahead. It is disclosed.
  • the control calculation is simplified by using only the target values up to two steps or four steps ahead, and the speed feed forward and torque feed forward are calculated from these values and used for control. As a result, the overshoot during acceleration / deceleration is reduced and the followability at a constant speed is improved.
  • the servo control device described in Patent Document 2 has a changeover switch, and when the changeover switch is ON, feedback control using a predictive controller as a feedback controller or two-degree-of-freedom control is used. When the switch is OFF, the performance is improved by switching the feedback control of only the position proportional control.
  • the changeover switch is turned on when the controlled object requires high-accuracy followability, and the changeover switch is turned off when the target command increment value is changing. Further, in order to make the control input before and after switching continuous, the control input before and after switching is linearly interpolated by a filter function unit.
  • the present invention has been made in view of the above-described problems, and uses not only the current target value but also the past target value, and the amount of change in the control input and control input for any position command.
  • An object of the present invention is to provide a motor control device that allows a motor to follow a target value with high speed and high accuracy and that does not excite vibrations when stopped.
  • the present invention provides a model output representing a desired operation of the control object based on a target value to be followed by the control output of the control object including the motor,
  • a normative model unit that generates a model input that drives the controlled object in a desired operation
  • a feedback control unit that inputs the control output and the model output and generates a feedback input that causes the control output to follow the model output
  • a model input adder that adds the model input and the feedback input to generate a control input to the control target
  • the reference model unit includes a current value of the target value
  • a target value storage unit that holds a value and one or more past values of the target value as a target value vector, and simulates the characteristics of the control target
  • a mathematical model that generates the model output and state variable based on a Dell input
  • a model controller that generates the model input based on the target value vector and the state variable
  • a target value vector and the state variable that determines the
  • the present invention in response to variously changing commands, not only the current target value but also the past target value is used, and the characteristics of the controller are changed while the motor is being driven. It is possible to obtain a motor control device that causes the motor to follow a target value and that does not excite vibrations when stopped.
  • FIG. 1 is a block diagram showing a configuration of a motor control apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram showing a two-inertia system model which is an example of a mathematical model of the motor control device according to Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing the configuration of the model controller of the motor control apparatus according to Embodiment 1 of the present invention.
  • FIG. 4 is a block diagram showing the configuration of the motor control device according to Embodiment 2 of the present invention.
  • FIG. 5 is a diagram showing an example of the maximum output allowable set of the motor control device according to the second embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an operation example of the motor control device according to the second embodiment of the present invention.
  • FIG. 7 is a block diagram showing the configuration of the motor control apparatus according to Embodiment 3 of the present invention.
  • FIG. 8 is a block diagram showing an example of model controller candidates of the motor control apparatus according to Embodiment 3 of the present invention.
  • FIG. 9 is a block diagram showing an example of model controller candidates of the motor control apparatus according to Embodiment 3 of the present invention.
  • FIG. 10 is a block diagram showing an example of model controller candidates of the motor control device according to Embodiment 3 of the present invention.
  • FIG. 1 is a block diagram showing a configuration of a motor control device 100 according to Embodiment 1 of the present invention.
  • the same reference numerals indicate the same or corresponding parts.
  • the motor control device 100 includes a reference model unit 1, a feedback control unit 2, and a model input adder 3.
  • the target value r (i) for the control output y (i) of the controlled object 4 output by the detector 5 representing the position and speed of the machine to be driven or the position and speed of the motor to drive the machine is externally supplied to the motor control device. 100, and the motor control device 100 controls the control input u (i) representing the torque, current, etc. of the motor so that the control output y (i) from the detector 5 of the controlled object 4 follows the target value r (i). ).
  • the calculated control input u (i) is output from the motor control device 100 to the control object 4. Note that i used for each symbol represents the number of steps.
  • the control object 4 includes a mechanical load and a motor such as a rotary motor or a linear motor that drives the mechanical load.
  • a control input u (i) which will be described later, to the motor to be controlled 4, the machine load is caused to perform a desired operation.
  • the detector 5 is an encoder, a linear scale, etc., and detects the current position information and speed information of the rotary motor and linear motor constituting the control object 4 or the current position information and speed information of the mechanical load, and Is output to the feedback control unit 2 as a control output y (i).
  • control target 4 and the detector 5 are collectively regarded as a control target including a motor, the input to the control target is the control input u (i), and the output from the control target is the control output y (i). ing.
  • the reference model unit 1 to which the target value r (i) is input outputs a model output yM (i) representing an ideal operation waveform of the control target 4 to the feedback control unit 2, and an ideal operation for the control target 4.
  • the model input uM (i) for causing the model input to be output to the model input adder 3.
  • the normative model unit 1 to which the target value r (i) is input stores and holds the target value r (i) for a predetermined time, and currently inputs one or a plurality of past target values stored and held.
  • a target value storage unit 15 that outputs the target value r (i) as a target value vector rvec (i) is provided.
  • the normative model unit 1 stores and holds the model input uM (i) for a predetermined time, and outputs the stored value as the past model input uM ′ (i), and the model input uM (i ) As an input and a model output 14 that simulates the characteristics of the controlled object 4 and outputs a model output yM (i) and a state variable xM (i). Further, the normative model unit 1 includes a target value vector rvec (i) output from the target value storage unit 15, a state variable xM (i) output from the mathematical model 14, and a past model input output from the model input memory 13. uM ′ (i) is used as an input, and a model controller determination unit 11 that determines a model controller to be actually used from a plurality of predetermined model controller candidates based on these input values is provided.
  • the normative model unit 1 receives the target value vector rvec (i), the state variable xM (i), and the past model input uM ′ (i), and uses the model controller determined by the model controller determination unit 11. And a model controller 12 that calculates a model input uM (i) that causes the model output yM (i) to follow the target value r (i) and outputs the model input 14 to the model input adder 3.
  • the state variable xM (i) represents the internal state of the mathematical model 14, and is an n-order (n is 1 or more) numeric vector.
  • the model output yM (i) is a part of the state variable xM (i) of the mathematical model 14 corresponding to the physical quantity that can be actually measured from the controlled object 4, such as the position and speed of the motor, or both.
  • the dimension is described as m.
  • the feedback control unit 2 receives the model output yM (i) output from the reference model unit 1 and the control output y (i) output from the detector 5, and the control output y (i) is the model output yM (i). ), The feedback control input uFB (i) is calculated, and the calculated feedback control input uFB (i) is output to the model input adder 3. That is, the feedback control unit 2 receives the model output yM (i) and the control output y (i), calculates the difference between these values, and outputs the calculation result as the output deviation e (i).
  • a feedback controller 22 that outputs a feedback input uFB (i) so as to follow.
  • the model input adder 3 adds the feedback input uFB (i) output from the feedback control unit 2 and the model input uM (i) output from the reference model unit 1 and uses the sum as the control input u (i). And output to the control object 4. Then, the motor attached to the control object 4 is driven by the control input u (i), and the control output y (i) of the control object 4 and the target value r (i) are matched. As a result, the control object 4 follows the target value and performs a desired operation.
  • a target value r (i) is input to the target value storage unit 15, the target value r (i) is stored and held for a predetermined time, and one or more past target values stored and held are currently input.
  • the target value r (i) is output to the model controller determination unit 11 and the model controller 12 as a target value vector rvec (i).
  • the target value storage unit 15 includes one to P target value memories 151 (P> M), and the target value r (input to the target value storage unit 15 is input to these target value memories 151). i) is input, and the target value memory 151 stores and holds the target value r (i) for 1 to M steps. In this case, all the target values input for M ⁇ Ts time are stored and held.
  • Ts is one sampling time. That is, assuming that the current target value is r (i), the target value memory 151 sets the values of r (i), r (i-1)... R (i ⁇ M ⁇ 1) for one step. Keep in memory.
  • r (i-1) represents a target value one step before (time one sampling time Ts before the current time)
  • r (i-2) represents a target value two steps before.
  • One step number corresponds to the sampling time Ts
  • storing the target value r (i) for M steps corresponds to storing and holding the target value r (i) for M ⁇ Ts time. .
  • the past target value r (i ⁇ 1)... R (i ⁇ M) output from the target value memory 151 and the current target value r (i) are simultaneously collected to obtain a target value vector rvec (i). Output as shown in equation (1).
  • the model input uM (i ⁇ 1) of the previous step is used as the past model input uM ′ (i), and the target value memory 151 stores and holds the target value for two steps.
  • the mathematical model 14 calculates the state variable xM (i + 1) and the model output yM (i) of the next step based on the input model input uM (i) by the discrete time state equation of the following equation (2). .
  • I a matrix representing the characteristics of the mathematical model 14.
  • A, B, C, and D shown in the above equation (4) are determined so as to represent the characteristics of the controlled object 4.
  • the mathematical model 14 does not have to represent all the characteristics of the controlled object 4, and only simulates the characteristics necessary for the control output y (i) to follow the target value r (i) at high speed and high accuracy. .
  • FIG. 2 is a diagram showing a two-inertia system model that is an example of the mathematical model 14 of the motor control device 100 according to Embodiment 1 of the present invention.
  • a two-inertia system model in which the motor as shown in FIG. Consider the case of simulating low resonance / anti-resonance characteristics.
  • a vibrational model having resonance / antiresonance such as a two-inertia model is used for the mathematical model 14, so that the motor control has a high vibration suppression effect and is high speed and high accuracy.
  • An apparatus can be obtained.
  • the position and speed of the motor attached to the controlled object 4 can be measured by using the detector 5.
  • pM is the motor position (rotation angle)
  • ⁇ M is the motor rotation speed
  • pL is the mechanical load position
  • ⁇ L is the mechanical load speed
  • JM is the motor inertia moment
  • JL is the mechanical load inertia moment
  • TM is the motor torque
  • km is the spring constant
  • cm is the viscosity coefficient
  • yM is the model output of the continuous system
  • d / dt is the derivative with respect to time.
  • the model resonance frequency ⁇ p and the model anti-resonance frequency ⁇ z calculated by the following equations (7) and (8) coincide with the resonance frequency / anti-resonance frequency of the lowest frequency of the controlled object 4. You may decide so. By determining in this way, the two-inertia system model can simulate the characteristics of the controlled object 4.
  • the mathematical model 14 is a discrete-time state equation as shown in the equation (2), the equation (5) and the equation (6) are discretized to obtain a discrete-time state equation, and the mathematical model 14 is obtained. .
  • e AcTs and e Ac (Ts ⁇ ) represent exponential functions of AcTs and Ac (Ts ⁇ ), respectively, and Ts represents a sampling time.
  • the numerical formula model 14 is the formula (9), the formula (10), the formula (11), the formula (12), the state variable xM (i), the model input.
  • uM (i) and model output yM (i) are not limited to Equation (13).
  • the model controller 12 includes a model sub-controller 121 and a model input change amount adder 122. Based on the target value vector rvec (i), the model input uM (i ⁇ 1) one step before, and the state variable xM (i) from the mathematical model 14, the model controller determination unit 11 sets a plurality of predetermined values. A model controller is determined from the candidates. The model controller determined by the model controller determination unit 11 is input to the model sub-controller 121. The model sub-controller 121 is present in the state variable xM (i) at the target value r (i) existing in the target value vector rvec (i) based on the model controller determined by the model controller determination unit 11.
  • the model input change amount ⁇ uM (i) is calculated so that the model output yM (i) follows. Then, the calculated model input change amount ⁇ uM (i) is output to the model input change amount adder 122.
  • the model input change amount adder 122 adds the model input change amount ⁇ uM (i) output from the model sub-controller 121 and the model input uM (i ⁇ 1) of the previous step and adds the sum to the model input uM.
  • the data is output to the model input memory 13, the mathematical model 14, and the model input adder 3.
  • the model sub-controller 121 calculates the model input change amount ⁇ uM (i) by adding the state feedback and the offset.
  • the model sub-controller 121 reads the target value vector rvec (i), the model input uM (1 step before)
  • the model input change amount ⁇ uM (i) is calculated based on i-1), multiplication of the state variable xM (i) of the mathematical model 14 and the model gain Ki, and addition of the model offset Gi.
  • the calculation of the model sub-controller 121 can be expressed by the following equations (14), (15), and (16).
  • vr (i) is a target value speed and ar (i) is a target value acceleration, which are values corresponding to the first-order difference and second-order difference of the target value r (i), respectively.
  • Kri is a target value model gain
  • Kvri is a target value speed model gain
  • Kari is a target value acceleration model gain.
  • the model offset Gi may not be required, but is introduced for use later.
  • a plurality of candidates for the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari are determined in advance by a method to be described later, and the model controller determining unit 11 determines a plurality of candidates. And the determined value is used in equation (14).
  • the term relating to the target value r (i) is shown separately, but in reality, the model input change amount is calculated from the deviation between the target value r (i) and the state variable xM (i) to be followed. ⁇ uM (i) may be generated.
  • the target value model gain Kri is automatically determined from the model gain Ki. Is.
  • the model input change amount adder 122 adds the model input change amount ⁇ uM (i) and the one-step previous model input uM (i ⁇ 1) from the model sub-controller 121 as represented by the following equation (17). Then, the sum is output as a model input uM (i) to the model input memory 13, the mathematical model 14, and the model input adder 3. That is, the model input uM (i) is calculated by integrating the model input change amount ⁇ uM (i).
  • the model controller 12 calculates the model input change amount ⁇ uM (i) by the model sub-controller 121 by performing the calculation as described above, and the model input change amount ⁇ uM by the operation of the model input change amount adder 122.
  • the model input uM (i) is output by integrating (i).
  • the model controller determination unit 11 and the model controller 12 can know the value of the model input change amount ⁇ uM (i) in addition to the model input uM (i).
  • the model sub-controller 121 can be determined from a plurality of candidates so that uM (i) and the model input change amount ⁇ uM (i) do not exceed a predetermined value.
  • the model controller determining unit 11 causes the model output yM (i) output from the mathematical model 14 to follow the target value r (i) with high speed and high accuracy, or the model input change amount ⁇ uM (i) is predetermined.
  • the model input uM (i) can be calculated without causing the model input uM (i) to be discontinuous even if the model sub-control 121 is switched to another candidate.
  • model input change amount ⁇ uM (i) is regarded as a new input, and a discrete time state equation in which the model input change amount adder 122 and the model input memory 13 are combined with the mathematical model 14 is expressed by the following equation (18). be able to.
  • I represents a unit matrix
  • 0 represents a zero matrix
  • the number of rows and columns is appropriately determined.
  • a discrete time state equation that also takes into account the storage of the target value r (i) by the target value storage unit 15 can be expressed by the following equation (19). .
  • Equation (19) is used by the model controller determining unit 11 to calculate candidates for a plurality of model controllers 12 or model sub-controllers 121 to be determined in advance, which will be described later.
  • the offset Gi, the target value model gain Kri, the target value speed model gain Kvri, and the target value acceleration model gain Kari can be designed.
  • the specific calculation method of the model controller 12 is not limited to the one shown in the configuration of FIG. 3, and a calculation equivalent to the above is possible with various configurations. That is, the model controller 12 is based on the target value vector rvec (i), the state variable xM (i) of the mathematical model 14 and the model input uM (i ⁇ 1) one step before which is the output of the model input memory 13. By performing the above calculation, a calculation equivalent to the above can be performed, and a calculation in consideration of the model input change amount ⁇ uM (i) can be performed.
  • the model controller determination unit 11 determines the model gain Ki, the model offset Gi, the target value.
  • the model gain Kri, the target value speed model gain Kvri, and the target value acceleration model gain Kari are determined from a plurality of predetermined candidates.
  • the target value model gain Kri is automatically determined from the model gain Ki as described above.
  • the model input uM (i ⁇ 1) one step before, the model gain Ki, the target value speed model gain Kvri, the target value acceleration A gain map describing the correspondence between the model gain Kari, the target value vector rvec (i), the state variable xM (i), the model input uM (i ⁇ 1) one step before, the model A method of determining the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari using an offset map that describes the correspondence relationship with the offset Gi will be described.
  • a model gain Ka that does not excite the vibration of the control output y (i) to the target value r (i) and the control output y (i) quickly follows the target value r (i).
  • the model offset Ga, the target value speed model gain Kvra, the target value acceleration model gain Kara, and the control output y (i) are not excited with the target value r (i), but the control output y (i) is not the target value r (
  • a model gain Kb, a model offset Gb, a target value speed model gain Kvrb, and a target value acceleration model gain Karb for obtaining a response following i) slowly are prepared. It is assumed that ⁇ Ka, Kvra, Kara, Kb, Kvrb, Karb ⁇ are saved in the gain map, and ⁇ Ga, Gb ⁇ is saved in the offset map.
  • a large control input u (i) or model uM is used to quickly follow the control output y (i) to the target value r (i) without exciting vibration.
  • the model input change amount ⁇ uM (i) is required, and if the tracking of the control output y (i) with respect to the target value r (i) is delayed, a small control input u (i) or model input uM (i), The model input change amount ⁇ uM (i) is sufficient. Therefore, the model controller determination unit 11 normally determines ⁇ Ka, Kvra, Kara ⁇ from the gain map and Ga from the offset map so that the control output u (i) quickly follows the target value r (i). Output to the model controller 12.
  • the model controller determination unit 11 determines ⁇ Kb, Kvrb, Karb ⁇ determines Gb from the offset map and outputs it to the model controller 12.
  • the control output y (i) oscillates to the target value r (i). If the control input u (i), the model input uM (i), and the model input change amount ⁇ uM (i) are likely to exceed predetermined values, the target value r () of the control output y (i) Although the follow-up to i) is delayed, there is no vibration and a response is obtained in which the model input uM (i) and the model input change amount ⁇ uM (i) do not exceed predetermined values.
  • Various gains and offset candidates ⁇ Ka, Ga, Kvra, Kara ⁇ , ⁇ Kb, Gb, Kvrb, Karb ⁇ are determined by the pole placement method, loop shaping, etc. for the discrete time state equation of Equation (19).
  • the design is possible by using the control system design method, and the present embodiment is not particularly limited.
  • the number of gain sets is limited to two sets of gains in which the control output y (i) quickly follows the target value r (i) and the gain in which the control output y (i) follows the target value r (i) slowly. There may be three or more sets.
  • the model predictive control as follows, the values and determination conditions of a plurality of model gains Ki, model offset Gi, target value speed model gain Kvri, target value acceleration model gain Kari are systematically determined. Can be determined.
  • a piecewise affine state feedback control system is designed using model predictive control as a control method not limited to a motor control device, thereby minimizing a certain evaluation function while satisfying constraints.
  • a scheme has been proposed.
  • the piecewise affine state feedback control system calculates the input applied to the machine based on the multiplication of the state of the machine to be controlled, the gain, and the addition of the offset, and these gain and offset are It is a control system that switches according to the state of.
  • a piecewise affine state feedback control system is designed in a portion corresponding to the feedback controller 22 in the present embodiment, it is necessary to measure or estimate the state of the machine to be controlled. There is. Therefore, a large number of sensors are required or an observer needs to be constructed, which is not practical.
  • the model input change amount ⁇ uM (i) is considered, and the past target values r (i ⁇ 1) and r (i ⁇ 2) output from the target value storage unit 15 are also considered. Therefore, the discrete time state equation represented by the equation (19) is used as a prediction model used when designing the controller.
  • control constraint is that the model input uM (i) and the model input change amount ⁇ uM (i) do not exceed a predetermined value in each step. That is, it is assumed that a control constraint expressed by the following equation (20) is imposed.
  • uMmax represents the maximum absolute value of the model input uM (i)
  • ⁇ uMmax represents the maximum absolute value of the model input change amount ⁇ uM (i).
  • the evaluation function is represented by the following expression (21).
  • N is called a horizon, is a parameter that determines how much the future is predicted, and is one design parameter.
  • Q, R, and PN are weights and are design parameters.
  • the expression (22) does not show the terminal variable constraint set of state variables and the model input constraint set, but the effects of the present embodiment can be obtained without using them. Also, the above reference material shows that stability can be guaranteed by the input obtained by solving the problem of Equation (22) by appropriately setting the terminal constraint set of state variables and the terminal constraint set of model inputs. Yes. Therefore, by using the termination constraint set of the state variable and the termination constraint set of the model input, it is possible to prevent the model input from diverging and the operation from becoming unstable even in the motor control device of the present embodiment.
  • xM (i) is a state variable at the i-th step
  • uM (i ⁇ 1) is a model input one step before
  • v is an input sequence [ ⁇ uM (i), ⁇ uM (i + 1),. , ⁇ uM (i + N ⁇ 1)] and auxiliary variables.
  • xM (i) is determined from a plurality of candidates according to the model input uM (i-1) one step before, the target value speed vr (i), and the target value acceleration ar (i).
  • a determination condition Pi for determining the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari is obtained from a plurality of candidates.
  • model input uM (i) can be calculated.
  • the condition Pi is automatically designed.
  • the determination condition Pi includes a plurality of candidates for the model gain Ki, target value speed model gain Kvri, target value acceleration model gain Kari and a gain map indicating the determination condition, and an offset map indicating the plurality of candidates for the model offset Gi and the determination condition. It can be divided into
  • the model controller determination unit 11 has a gain map and an offset map obtained as a result of solving the minimization problem of the equation (22) or the equation (23) in advance, and the state variable xM of the equation model 14 at each sampling time.
  • the previous model input uM (i-1) and the target value vector vrec (i) are input, the state variable xM (i), the previous model input uM (i-1), and the target value
  • the model gain Ki, the model offset Gi, the target value A speed model gain Kvri and a target value acceleration model gain Kari are determined. Further, the determined model gain Ki, model offset Gi, target value speed model gain Kvri, and target value acceleration model gain Kari are output to the model controller 12.
  • the model controller 12 determines the state variable xM (i) of the mathematical model 14 and the model input uM (i ⁇ 1) one step before and the model gain according to the equations (24) and (26).
  • the model input uM (i) is calculated based on the sum of the value obtained by adding all the products of the target value acceleration model gain Kari and the model offset Gi.
  • the model input uM (i) and the model input change amount ⁇ uM (i) in Expression (24), Expression (25), and Expression (26) are derived as a result of the minimization problem in Expression (22) or Expression (23). Therefore, the model input uM (i) and the model input change amount ⁇ uM (i) satisfying the control constraint (20) of the minimization problem are derived. That is, when the absolute values of the model input uM (i) and the model input change amount ⁇ uM (i) are equal to or greater than a predetermined value, the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari switches.
  • a gain map and an offset map that describe candidate values of the model gain Ki, model offset Gi, target value speed model gain Kvri, target value acceleration model gain Kari and conditions for switching these values are automatically calculated. That the model input uM (i) does not exceed a predetermined value means that the control constraint of the control input is satisfied, and that the model input change amount ⁇ uM (i) does not exceed a predetermined value. Even if the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari are changed based on the gain map and the offset map generated from the determination condition Pi, the model input uM (i) does not change rapidly. It means that.
  • model offset Gi is derived as a result of solving the minimizing problems (22) and (23), only the model gain Ki, the target value speed model gain Kvri, and the target value acceleration model gain Kari are used.
  • a control system that obtains a high-speed and high-accuracy response in the sense that the evaluation function of Expression (21) is made smaller can be realized by adding the model offset Gi than in the case of doing so.
  • model input change amount ⁇ uM (i) is determined by determining model controller 12 from a plurality of predetermined candidates using past model input uM ′ (i).
  • the model controller 12 can be determined in consideration of changes in the control input. That is, the model input change amount ⁇ uM (i) can be used as a new input in order to calculate the model input uM (i) using the past model input uM ′ (i).
  • the model controller determining unit 11 appropriately determines the model controller 12, not only the model input uM (i) but also the model input change amount ⁇ uM (i) does not exceed a predetermined value,
  • the control output y (i) follows the target value r (i) quickly and without vibration. That is, it is possible to obtain a high-speed and high-precision motor control device while preventing torque saturation (current saturation), torque change rate saturation, and voltage saturation closely related to torque change rate saturation. Even if the model controller 12 is switched to improve the control performance, it is possible to prevent the model input uM (i) from changing suddenly.
  • the model controller determines the model controller so that the model input becomes smaller than a predetermined value, the occurrence of torque saturation can be prevented and the model controller can be determined so that the amount of change in the model input becomes smaller than the predetermined value.
  • the past model input uM ′ (i) is fed back to the model controller 12 to be equivalent to the discrete time state equations of Equations (18) and (19) using the model input variation ⁇ uM (i) as a new input. Can be converted. This makes it possible to consider the model input variation ⁇ uM (i) in the minimization problem (22).
  • the target value storage unit 15 By the target value storage unit 15, the target value speed vr (i) and the target value acceleration ar (i) Can be taken into account when calculating the model input change amount ⁇ uM (i), and a control system in which the control output y (i) follows the target value r (i) earlier than when these values are not used can be designed. .
  • the model controller is generated and controlled to switch the model controller using only the current target value. It becomes possible to obtain a motor control device with higher response.
  • the model controller determination unit 11 determines the model gain Ki, the model offset Gi, the target value according to the past model input uM ′ (i), the state variable xM (i) of the mathematical model 14 and the target value vector rvec (i).
  • the model input uM (i) and the model input change amount ⁇ uM (i) do not exceed predetermined values and a high-speed and high-accuracy response can be obtained.
  • a control device can be realized. That is, it is possible to obtain a motor controller with high response by using the offset amount in addition to the model gain.
  • a gain map and an offset map that describe candidates and determination conditions for the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari are: It is requested offline in advance.
  • the on-line calculation uses the target value vector rvec (i) by referring to the gain map and offset map to calculate the formula (25) for determining the model gain Ki, model offset Gi, target value speed model gain Kvri, Only the calculation of the model input uM (i) by (24) and Expression (26) is performed.
  • online model prediction control that calculates the model input change amount ⁇ uM (i) by calculating the minimization problem of Expression (22) at each step. It is possible to shorten the calculation time. Therefore, it is possible to considerably reduce the amount of calculation on-line, the sampling time can be made faster, and the performance of the control system can be improved.
  • the multiparametric linear programming problem of Equation (23) is merely replaced with a multiparametric quadratic programming problem.
  • the model input uM (i ⁇ 1) one step before, and the target value vector rvec (i) the model gain Ki and the model offset Gi
  • a map Pi describing candidate values and determination conditions for each gain for switching between the target value speed model gain Kvri and the target value acceleration model gain Kari is output.
  • the model controller determining unit 11 uses the gain map to switch the target value model gain Kri, the target value speed model gain Kvri, and the target value acceleration model gain Kari, or the gain map and the offset map. Is used to determine the target value model gain Kri, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari. However, the state variable xM (i) of the mathematical model 14 and the target value vector The model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari may be determined using a function having rvec (i) and the past model input uM ′ (i) as variables.
  • control constraint is not limited thereto.
  • control constraints relating to the state variable xM (i), model input uM (i), and model input change amount ⁇ uM (i) of the mathematical model 14 may be convex constraints.
  • a control constraint may be imposed on the state variable xM (i) of the mathematical model 14.
  • the model gain Ki When determining the model gain Ki, the target value speed model gain Kvri, the target value acceleration model gain Kari, or the model gain Ki, the model offset Gi, the target value speed model gain Kvri, and the target value acceleration model gain Kari It is not necessary to use all the state variables xM (i), target value vector rvec (i), and past model input uM ′ (i) of the model 14, and only a part of these pieces of information may be used.
  • the model gain or the model gain and the model offset so that the model input becomes smaller than the predetermined value, the occurrence of torque saturation can be prevented, and the change amount of the model input is less than the predetermined value.
  • the model gain or the model gain and the model offset so as to decrease, the occurrence of voltage saturation can be prevented, and the shock when the model controller is switched can be reduced.
  • the model input uM (i ⁇ 1) one step before is used as the past model input uM ′ (i).
  • the model input uM (i ⁇ 1) is not necessarily one step before. It is easy to give the same effect using the model input, and the same effect as in the present embodiment can be obtained even if a past model input other than the model input one step before is used as the past model input.
  • the model input uM (i) is generated using the target value speed vr (i) and the target value acceleration ar (i).
  • the model input uM (i) is not used without using these values. It may be generated. That is, the model gain Ki and the target value model gain Kri automatically determined thereby are determined according to the target value vector Kvri, the state variable xM (i), and the model input uM (i-1) one step before.
  • the target value speed model gain Kvri and the target value acceleration model gain Kari may be always set to 0, and the equations (14) and (24) may be calculated. Even in this method, the same effect as in the first embodiment can be obtained.
  • the model controller 12 includes the model sub-controller 121, calculates the model input change amount ⁇ uM (i), and inputs the model input change amount ⁇ uM (i) one step before the model input uM ( If the model input uM (i) was calculated by adding i-1), but it is not necessary to consider the model input change amount control constraint
  • ⁇ uMmax, the model input change
  • the model input uM (i) may be calculated directly without calculating the quantity ⁇ uM (i). That is, the model input uM (i) may be calculated using the following equation (27).
  • model gain Ki, model offset Gi, target value model gain Kri, target value of equation (27) is changed by changing the minimization problem of equation (22) to the minimization problem of equation (28) shown below.
  • a gain map and an offset map describing conditions for determining the speed model gain Kvri and the target value acceleration model gain Kari are obtained. That is, by generating a gain map and an offset map so as to minimize the following evaluation function, an appropriate gain map and offset map can be automatically obtained.
  • the motor control device 100 by configuring the motor control device 100 as described above, it is possible to reduce the calculation amount to the control target 4 such as the motor torque with a small amount of calculation with respect to various target values. Controller characteristics can be automatically determined without making the control input discontinuous. As a result, it is possible to make the control output follow the target value at high speed and with high accuracy while restricting the absolute value or amount of change of the control input to the control target 4.
  • the motor control apparatus 200 detects the target value r (i) for the control output y (i) indicating the position and speed of the machine to be driven, and the detector 5.
  • the control output y (i) of the control object 4 representing the position and speed of the motor is input.
  • the motor control device 200 outputs the control input u (i) such as the motor torque and current to the controlled object 4 so that the control output y (i) from the detector 5 follows the target value r (i). To do.
  • the motor control device 200 includes a reference model unit 1A, a feedback control unit 2, and a model input adder 3.
  • the motor control device 200 is connected to a control target 4 including a mechanical load and a motor such as a rotary motor that drives the mechanical load, and a detector 5 such as an encoder. Since the feedback control unit 2, the model input adder 3, the control target 4, and the detector 5 are the same as those in the first embodiment, the description thereof is omitted.
  • the target value r (i) is input to the reference model unit 1A, and a model output yM (i) indicating an ideal operation waveform of the control target 4 is output to the feedback control unit 2. Further, the reference model unit 1A uses the model input adder as the model input uM (i) for driving the control target 4 so that the control output y (i) output from the detector 5 follows the target value r (i). Output to 3.
  • the normative model unit 1A stores and holds the target value r (i) for a predetermined time, and the current target value r (i) to which one or more past target values stored and held are input.
  • a target value storage unit 15 that outputs a target value vector rvec (i) together, a model controller determination unit 11A that determines a model controller from a plurality of predetermined candidates, and a model output yM (i) as a target value It has a model controller 12 that follows r (i), a model input memory 13 that stores the model input uM (i), and a mathematical model 14 that simulates the characteristics of the controlled object 4.
  • the model input memory 13, the mathematical model 14, and the target value storage unit 15 are the same as those in the first embodiment, the description thereof is omitted.
  • the operation of the model controller determination unit 11A is different from the model controller determination unit 11 of the motor control device 100 according to the first embodiment. That is, in the present embodiment, the model controller determining unit 11A determines a plurality of candidates designed in advance by pole arrangement or the like.
  • the model controller determination unit 11A inputs the target value vector rvec (i), the one-step previous model input uM (i ⁇ 1), and the state variable xM (i) of the mathematical model 14, and the model input uM (I) A plurality of model gains Ki, target value model gain Kri, target value speed model gain Kvri, target value designed in advance so that the value of the model input change amount ⁇ uM (i) does not exceed a predetermined value.
  • a set is determined from the acceleration model gain Kari, and those gains are output to the model controller 12. In the present embodiment, it is assumed that the model controller determination unit 11A always determines the model offset Gi to be 0.
  • model gain Ki By predetermining a plurality of model gain Ki, target value model gain Kri, target value speed model gain Kvri, and target value acceleration model gain Kari, it is possible to reduce the amount of calculation online, and to reduce the sampling time. It is possible to make it as soon as possible. Also in the present embodiment, when the model input change amount ⁇ uM (i) is generated from the deviation between the target value r (i) and the state variable xM (i) to be followed, the target value model gain Kri is the model gain. It is automatically determined from Ki.
  • the maximum output allowable set O ⁇ i is used to determine the model gain Ki, the target value speed model gain Kvri, and the target value acceleration model gain Kari.
  • the maximum output allowable set O ⁇ i is a set that collects the conditions under which the control system (closed loop system) does not break the control constraints.
  • the calculation method is “Hirata, Fujita,“ Restrictions on linear discrete-time systems with external inputs. "Analysis of Conditions", JSME C, 118-3, 384 / 390-, 1998 ".
  • the constraint that the model input uM (i) and the model input change amount ⁇ uM (i) described by Expression (20) do not exceed a predetermined value is considered as the control constraint.
  • the maximum output allowable set O ⁇ i will be described.
  • the motor control device 200 includes the target value storage unit 15, and the model controller 12 included in the normative model unit 1 ⁇ / b> A is one step before as shown in FIG. 3.
  • the model input uM (i-1) is fed back to the model sub-controller 121, and the model input change amount adder 122 adds the model input change amount ⁇ uM (i) and the model input uM (i-1) of the previous step.
  • the model input uM (i) is generated. Therefore, the discrete time state equation represented by the equation (19) is considered by combining the target value storage unit 15, the model input memory 13, the mathematical expression model 14, and the model input change amount adder 122.
  • the model sub-controller 121 uses equation (27) to state the state variable xM (i) of the mathematical model 14, the model input uM (i ⁇ 1) one step before, and the target value r (i ), Calculating the model input change amount ⁇ uM (i) from the target value speed vr (i) and the target value acceleration ar (i) as shown in the following equation (29).
  • the model controller determination unit 11A since the model controller determination unit 11A always determines the model offset Gi as 0, the term of the model offset Gi is excluded from the equation (29).
  • Equation (30) represents the closed loop system of the reference model portion 1A. If the state variable xM (i) of the mathematical model 14 at the i step is determined, the target value predicted values ⁇ r (i + 1), ⁇ r (i + 2) ... after the i step and the target value r (i + 1), r (i + 2)..., target value speed prediction value ⁇ vr (i + 1), ⁇ vr (i + 2) ... and target value speed vr (i + 1), vr (i + 2) ..., target value acceleration prediction value ⁇ Assuming that ar (i + 1), ⁇ ar (i + 2)... and target value accelerations ar (i + 1), ar (i + 2)... are equal, that is, the following equation (31) holds:
  • the state variable xM (i + l) (l> 0), model input uM (i + l) (l> 0), target value r (i + l) (after i steps) l> 0), target value speed vr (i + l) (l> 0), and target value acceleration ar (i + l) (l> 0) can be calculated. Since the state variable xM (i), model input uM (i), target value r (i), target value speed vr (i), target value acceleration ar (i) of the mathematical model 14 at each step can be calculated. By using Expression (29), the model input change amount ⁇ uM (i + l) and l> 0 at each step can also be calculated.
  • the model gain K1, the target value speed model gain Kvr1, and the target value acceleration model gain Kar1 in Expression (20) are given, the state variable xM (i) of the mathematical model 14 that does not break the constraint condition It is also possible to calculate the model input uM (i), the target value r (i), the target value speed vr (i), and the target value acceleration ar (i). As described above, a condition that does not break this control constraint is called a maximum output allowable set O ⁇ i.
  • FIG. 5 is a diagram illustrating an example of the maximum output allowable set O ⁇ i of the motor control device 200 according to Embodiment 2 of the present invention.
  • the vertical axis represents the state variable xM (i) of the mathematical model 14, and the horizontal axis represents the target value r (i).
  • the inside of the polygon represents the maximum allowable output set O ⁇ i.
  • the target value speed vr (i) and the target value acceleration ar (i) are also elements constituting the maximum output allowable set O ⁇ i, and should be added to the axis of FIG. Omitted for simplicity.
  • Point A represents a situation where the state variable xM (i) and target value r (i) at the i step of the mathematical model 14 are within the maximum output allowable set O ⁇ i, and point B is at the i step.
  • FIG. 6 is a diagram illustrating an operation example of the motor control device 200 according to Embodiment 2 of the present invention.
  • the present embodiment is not limited to three sets of model gain, target value model gain, target value speed model gain, target value acceleration model gain, and the like.
  • FIG. 6 shows three sets of model gain, target value model gain, target value speed model gain, target value acceleration model gain, ⁇ K1, Kr1, Kvr1, Kar1 ⁇ , ⁇ K2, Kr2, Kvr2, Kar2 ⁇ , ⁇ K3 in advance. , Kr3, Kvr3, Kar3 ⁇ are designed, and the maximum output allowable sets O ⁇ 1, O ⁇ 2, and O ⁇ 3 are calculated when the gains of each set are used.
  • the vertical axis represents the state variable xM (i) of the mathematical model 14, and the horizontal axis represents the target value r (i).
  • the gain that the control output y (i) follows the target value r (i) earliest is ⁇ K1, Kr1, Kvr1, Kar1 ⁇
  • the gain that follows the latest is ⁇ K3, Kr3, Kvr3.
  • Kar3 ⁇ The gain ⁇ K2, Kr2, Kvr2, Kar2 ⁇ is slower than the gain ⁇ K1, Kr1, Kvr1, Kar1 ⁇ and earlier than ⁇ K3, Kr3, Kvr3, Kar3 ⁇
  • the control output y (i) is the target value r (i ). Since the maximum output allowable set O ⁇ i depends on the gain ⁇ Ki, Kri, Kvri, Kavri ⁇ , the maximum output allowable sets O ⁇ 1, O ⁇ 2, and O ⁇ 3 when the respective gains are used are shown in FIG. Different as shown.
  • the state variable xM (i) and the target value r (i) of the mathematical model 14 are at the point A. Since the point A is inside the maximum output allowable set O ⁇ 3 and outside the maximum output allowable sets O ⁇ 1 and O ⁇ 2, when the gain ⁇ K3, Kr3, Kvr3, Kar3 ⁇ is used, the equation (20 ) Is not violated, but if the gain ⁇ K2, Kr2, Kvr2, Kar2 ⁇ , ⁇ K1, Kr1, Kvr1, Kar1 ⁇ is used, the control constraint of Expression (20) will be violated at some point. Therefore, the model controller determining unit 11A determines gains ⁇ K3, Kr3, Kvr3, Kar3 ⁇ that do not break the constraint of the equation (20), and outputs these selected gains to the model controller 12.
  • the model controller determination unit 11A determines the gain that the control output y (i) follows the target value r (i) earliest. To do. That is, in this case, since the gain ⁇ K2, Kr2, Kvr2, Kar2 ⁇ is faster than the gain ⁇ K3, Kr3, Kvr3, Kar3 ⁇ , the control output y (i) follows the target value r (i).
  • the unit determining unit 11A determines gains ⁇ K2, Kr2, Kvr2, Kar2 ⁇ and outputs them to the model controller 12.
  • the model controller determination unit 11A determines the gain ⁇ K1, Kr1, Kvr1, Kar1 ⁇ that the control output y (i) follows the target value r (i) earliest among them, and the model controller 12 Output to.
  • model controller determination unit 11A performs the following three operations.
  • the target value vector rvec (i), the state variable xM (i) of the mathematical model 14 and the model input uM (i ⁇ 1) one step before are acquired, and the current values are the respective gains ⁇ Ki, Kri, Kvri, Kari ⁇ . To determine whether it is within or outside the maximum allowable output set O ⁇ i created. That is, it is determined whether or not the control constraint is violated when each gain ⁇ Ki, Kri, Kvri, Kari ⁇ is used.
  • the gain ⁇ Ki, Kri, Kvri, Kari ⁇ that does not break the control constraint is determined and output to the model controller 12. If there are a plurality of gains ⁇ Ki, Kri, Kvri, Kari ⁇ that do not break the control constraint, the gain that the control output y (i) follows the target value r (i) earliest is determined.
  • the model sub-controller 121 uses the model gain Ki, the target value model gain Kri, the target value speed model gain Kvri, and the target value acceleration model gain Kari output from the model controller determination unit 11A, using the equation (14). Is used to calculate the model input change amount ⁇ uM (i) and output it to the model input change amount adder 122.
  • the model offset Gi is assumed to be 0 in the equation (14).
  • the model input change amount adder 122 adds the one-step previous model input uM (i ⁇ 1) and the model input change amount ⁇ uM (i) using Expression (17), and adds the sum to the model input uM (i). Are output to the model input memory 13, the mathematical model 14, and the model input adder 3.
  • the mathematical model 14 calculates the model output yM (i) and the state variable xM (i + 1) of the next step by using the equation (2) for the state variable xM (i) and the model input uM (i).
  • the state variable xM (i + 1) of the next step is output to the model controller determination unit 11A and the model controller 12, and the model output yM (i) is output to the feedback control unit 2.
  • the model input memory 13 stores the model input uM (i) for one step.
  • the normative model unit 1A generates the model output yM (i) and the model input uM (i).
  • the model input uM (i) is generated using the model input M (i ⁇ 1) one step before, as in the first embodiment.
  • the model input change amount ⁇ uM (i) can be used as a new input.
  • model input uM (i) Even if the model gain, the target value model gain, the target value speed model gain, and the target value acceleration model gain are switched, it is possible to prevent the model input uM (i) from changing rapidly. That is, by determining the model controller so that the model input becomes smaller than a predetermined value, the occurrence of torque saturation can be prevented and the model controller can be determined so that the amount of change in the model input becomes smaller than the predetermined value. By performing the above, it is possible to prevent the occurrence of voltage saturation and reduce the shock when the model controller is switched.
  • the model input uM (i) is calculated by determining the model gain Ki, the target value model gain Kri, the target value speed model gain Kvri, the target value acceleration model gain Kari,
  • the state variable xM (i), the target value r (i), the target value speed vr (i), the target value acceleration ar (i) is simply multiplied by each gain. Accordingly, since the calculation time can be shortened, the sampling time can also be shortened.
  • the target value storage unit 15 By the target value storage unit 15, the target value speed vr (i) and the target value acceleration ar (i) Can be taken into account when calculating the model input change amount ⁇ uM (i), and a control system in which the control output y (i) follows the target value r (i) earlier than when these values are not used can be designed. .
  • the model input one step before is used as the past model input.
  • the model input is not necessarily limited to the model input one step before. It is easy to give the same effect by using the previous model input, and the same effect as this embodiment can be obtained even if a past model input other than the model input of one step before is used as the past model input. can get.
  • FIG. 3 A motor control apparatus 300 according to Embodiment 3 of the present invention will be described with reference to FIGS.
  • the model input uM (i ⁇ 1) one step before is used as the past model input uM ′ (i), and the target value memory 151 can store and hold the target value between two steps.
  • this is limited to using the model input of the previous step as the past model input, or having the target value memory 151 provided with a number that can store and hold the target value for only two steps. It is not a thing.
  • the model controller is determined using the maximum output allowable set O ⁇ i as in the second embodiment.
  • the difference from the second embodiment is that the second embodiment has a model gain Ki. While the target value model gain Kri, the target value speed model gain Kvri, and the target value acceleration model gain Kari are switched, the present embodiment is that the controller structure itself is switched.
  • the motor control device 300 includes a target value r (i) for the control output y (i) detected by the detector 5 representing the position and speed of the machine to be driven or the position and speed of the motor, and The control output y (i) is input, and the control input u (i) such as motor torque and current is output to the controlled object 4 so that the control output y (i) follows the target value r (i).
  • the motor control device 300 includes a reference model unit 1 ⁇ / b> B, a feedback control unit 2, and a model input adder 3, and rotates the mechanical load and the mechanical load.
  • a control object 4 composed of a motor such as a mold motor or a linear motor is connected to a detector 5 such as an encoder.
  • the target value storage unit 15, the feedback control unit 2, the model input adder 3, the controlled object 4, and the detector 5 have the same configurations as those of the first and second embodiments, and thus description thereof is omitted.
  • the target value r (i) is input to the reference model unit 1B, and the model output yM (i) representing the ideal operation of the control target 4 is output to the feedback control unit 2 and is output from the detector 5.
  • a model input uM (i) for driving the controlled object 4 is output to the model input adder 3 so that the output y (i) follows the target value r (i).
  • the normative model unit 1B stores and holds the target value r (i) for a predetermined time, together with the current target value r (i) to which one or more past target values stored and held are input.
  • a target value storage unit 15 that outputs the target value vector rvec (i), a model controller determination unit 11B that determines the model controller 12 from a plurality of predetermined candidates, and a model output yM (i) that is the target value vector a model controller 12 that follows the target value r (i) included in rvec (i), a model input memory 13 that stores the model input uM (i), and a mathematical model 14 that simulates the characteristics of the controlled object 4;
  • the operations of the model controller 12, the model input memory 13, the mathematical expression model 14, and the target value storage unit 15 are the same as those in the first and second embodiments, and thus the description thereof is omitted.
  • the difference between the present embodiment and the motor control devices 100 and 200 of the first and second embodiments is the operation of the model controller determining unit 11B.
  • a plurality of candidates designed in advance by pole arrangement or the like are selected.
  • a method of determining by the model controller determination unit 11B will be described.
  • the equation of state A case will be described in which three model sub-controllers 121C, 121D, and 121E represented in FIGS. 8 to 10 are designed in advance.
  • the present embodiment is not limited to the use of model sub-controllers 121C, 121D, and 121E as model sub-controllers.
  • the model sub-controller 121C in FIG. 8 sets the target value r (i), the target value r (i-1) one step before, the target value r (i-2) two steps before, the state variable xM ( i) and the previous model input uM (i ⁇ 1) are input, and the model input variation ⁇ uM (i) is output to the model input variation adder 122.
  • the model sub-controller 121C receives the target value r (i) and the state variable xM (i) and outputs a model deviation eM (i) that is a difference between them, and a model subtractor 1215C.
  • the target value speed vr (i) output from the calculator 1216C is input, the value is multiplied by the target value speed model gain Kvri, and the product is output to the adder 1218C. It includes a multiplication unit 1212C, the.
  • the model sub-controller 121C inputs the target value r (i), the target value r (i-1) one step before, and the target value r (i-2) two steps before, and formula (16) is obtained.
  • the target value acceleration ar (i) is calculated using the target value acceleration generator 1217C to be output to the target value acceleration model gain multiplier 1213C and the target value acceleration ar (i) output from the target value acceleration generator 1217C. This value is multiplied by the target value acceleration model gain Kari, and the product is output to the adder 1218C.
  • the target value acceleration model gain multiplier 1213C and the model input uM (i ⁇ 1) one step before are input.
  • a model input gain multiplier 1214C before calculating the product of the input value and the model input gain Kui one step before and outputting the calculation result to the adder 1218C. That.
  • the model sub-controller 121C outputs the model deviation gain multiplier 1211C, the target value speed model gain multiplier 1212C, the target value acceleration model gain multiplier 1213C, and the one-step previous model input gain multiplier 1214C.
  • An adder 1218C that adds all outputs and outputs the sum as a model input change amount ⁇ uM (i) is provided.
  • the model sub-controller 121D in FIG. 9 sets the target value r (i), the target value r (i-1) one step before, the target value r (i-2) two steps before, the state variable xM ( i) and the previous model input uM (i ⁇ 1) are input, and the model input variation ⁇ uM (i) is output to the model input variation adder 122.
  • the difference between the model sub-controller 121D of FIG. 9 and the model sub-controller 121C of FIG. 8 is that the integrated value memory 1212D is used to store the integrated value xc (i), and the stored integrated value xc (i ⁇ 1). Is added to the model deviation eM (i) to add an integration operation.
  • the model sub-controller 121D includes a model deviation gain multiplier 1211C, a target value speed model gain multiplier 1212C, a target value acceleration model gain multiplier 1213C, and a one-step previous model input gain that are also used in the model sub-controller 121C.
  • a multiplier 1214C, a model subtractor 1215C, a target value speed generator 1216C, and a target value acceleration generator 1217C are used, and description thereof will be omitted.
  • the model sub-controller 121D adds the model deviation eM (i) and the one-step previous integrated value xc (i-1), and uses the sum as the integrated value xc (i) for the model deviation integral gain.
  • the multiplier 1211D and the integrated value adder 1213D output to the integrated value memory 1212D and the integrated value xc (i) are input, stored for one sampling time, and the value stored after one sampling time is stored one step before the integrated value xc
  • Model deviation integral gain multiplier 1211D, model deviation gain multiplier 1211C, target value speed model gain to be output to the calculator 1214D All the values output from the calculator 1212C, the target value acceleration model gain multiplier 1213C, the one-step previous model input gain multiplier 1214C, and the model deviation integral gain multiplier 1211D are added, and the sum is added to the model input change amount ⁇ uM (i ), An adder 1214D for outputting to the model input change amount adder 122 is added.
  • the model sub-controller 121E in FIG. 10 sets the target value r (i), the target value r (i-1) one step before, the target value r (i-2) two steps before, the state variable xM ( i) and the previous model input uM (i ⁇ 1) are input, and the model input variation ⁇ uM (i) is output to the model input variation adder 122.
  • the difference between the model sub-controller 121E in FIG. 10 and the model sub-controller 121C in FIG. 8 and the model sub-controller 121D in FIG. 9 is that a differential operation is added to the model sub-controller 121E by using the state variable memory 1212E. It is in the point.
  • the model sub-controller 121E is a model deviation gain multiplier 1211C, a target value speed model gain multiplier 1212C, a target value acceleration model gain multiplier 1213C, which is also used in the model sub controller 121C, and is multiplied by a model input gain before one step. 1214C, a model subtractor 1215C, a target value speed generator 1216C, and a target value acceleration generator 1217C.
  • model deviation integral gain multiplier 1211D an accumulated value memory 1212D, and an accumulated value adder 1213D, which are also used in the model controller 121D, are further provided. Since the description regarding these elements was mentioned above, it is abbreviate
  • the model sub-controller 121E inputs the state variable xM (i), stores the input value for one sampling time, and after one sampling time, stores the stored value for the state variable xM one step before.
  • the state variable memory 1212E output to the state variable differential subtractor 1213E as (i-1), the state variable xM (i-1) and the state variable xM (i) one step before output from the state variable memory 1212E are input.
  • the state variable differential subtractor 1213E that subtracts the input value from the state variable xM (i) and outputs the difference to the state variable differential gain multiplier 1211E, and the value output from the state variable differential subtractor 1213E.
  • An adder 1214E that adds all the values output from the differential gain multiplier 1211E and outputs the sum as a model input change amount ⁇ uM (i) to the model input change amount adder 122 is further provided.
  • the model sub-controllers 121C, 121D, and 121E shown in FIGS. 8 to 10 use the model deviation gain Kei, the target value speed model gain Kvri, and the target value acceleration model.
  • the gain Kari and the one-step previous model input gain Kui are represented by the same symbol, but these numerical values may be different for each model sub-controller 121C, 121D, 121E.
  • the model deviation integral gain Kxii is also represented by the same symbol, but these numerical values may also be different in the model sub-controllers 121D and 121E.
  • the model controller determination unit 11B determines whether the model input uM (i) One of a plurality of controller candidates designed in advance is determined so that the change amount ⁇ uM (i) does not exceed a predetermined value. By determining a plurality of controller candidates in advance, it is possible to reduce the amount of calculation on-line and to shorten the sampling time.
  • the model controller determination unit 11B determines the model controller 12 using the maximum output allowable set O ⁇ i. In order to calculate the maximum allowable output set O ⁇ i, it is necessary to calculate the closed loop system of the reference model unit 1B as shown in the equation (30) in the second embodiment.
  • a closed loop system is calculated when the model controller 12C of FIG. 8 is used.
  • the model input change amount ⁇ uM (i) when the model sub-controller 121C of FIG. 8 is used is calculated as in the following equation (32).
  • equation (32) the closed loop system when the model controller 12C is used is represented by the following equation (33).
  • a closed loop system is calculated when the model controllers 12D and 12E shown in FIGS. 9 and 10 are used.
  • the model input change amount ⁇ uM (i) output from the model sub-controller 121D is calculated by the following equations (34) and (35).
  • the model input change amount ⁇ uM (i) output from the model sub-controller 121E is calculated by the following equation (37).
  • Equation (38) a closed loop system using the model controller 12E is represented by the following Equation (38).
  • Expressions (33), (36), and (38) are expressions that have the same form as Expression (30), the maximum output allowable set O ⁇ i is calculated by the same method as in the second embodiment. It is possible. Control in which the model controller determining unit 11B uses the maximum output allowable set O ⁇ i without breaking the control constraint equation (20) and the control output y (i) follows the target value r (i) earliest. If a device is selected, a control system can be obtained that does not violate the above-mentioned control constraints and has a fast follow-up. Since the method for determining the model controller 12 from a plurality of candidates predetermined by the model controller determination unit 11B using the maximum output allowable set O ⁇ i is the same as the method described in the second embodiment, here. Description is omitted.
  • model input uM (i) is generated using model input uM (i ⁇ 1) one step before, as in the first and second embodiments.
  • the model input change amount ⁇ uM (i) can be used as a new input.
  • the model input uM (i) not only the model input uM (i) but also the control system in which the model input change amount ⁇ uM (i) does not become larger than a predetermined value can be easily realized. That is, it is possible to obtain a high-speed and high-precision motor control device while preventing torque saturation, torque change amount saturation, and voltage saturation closely related to torque change amount saturation. Even if the model controller determining unit determines a different model controller and calculates the model input uM (i), it is possible to prevent the model input uM (i) from changing rapidly.
  • the calculation of the model input uM (i) is only the determination of the model controller and the calculation of the state variable xM (i) of the mathematical model 14 and the model controller. Therefore, since the calculation time can be shortened, the sampling time can also be shortened.
  • the model input one step before is used as the past model input in the same manner as in the first and second embodiments.
  • the model input is not necessarily limited to one step before. It is easy to give the same result by using the model input of, and even if a past model input other than the model input of one step before is used as the past model input, the same effect as this embodiment can be obtained. .
  • the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage.
  • the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent requirements. For example, even if some constituent elements are deleted from all the constituent elements shown in each of the first to third embodiments, the problem described in the column of the problem to be solved by the invention can be solved, and the column of the effect of the invention. When the effects described in (1) are obtained, a configuration in which this configuration requirement is deleted can be extracted as an invention. Furthermore, the structural requirements over the first to third embodiments may be combined as appropriate.
  • the motor control device is useful for controlling a control target including a motor, and is particularly suitable for a motor control device that drives an industrial machine.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

 制御対象の制御出力を追従させるべき目標値に基づいて制御対象の所望の動作を表すモデル出力と所望の動作に制御対象を駆動するモデル入力とを生成する規範モデル部1と、制御出力をモデル出力に追従させるフィードバックを生成するフィードバック部2と、モデル入力及びフィードバックを加算して制御対象への制御入力を生成する加算器3を備えるモータ制御装置であって、規範モデル部は、目標値の現在および1つまたは複数の過去の値をベクトルとして保持する記憶部と、制御対象の特性を模擬しモデル入力に基づいてモデル出力及び状態変数を生成する数式モデルと、ベクトル及び状態変数に基づいてモデル入力を生成するモデル制御器と、ベクトル及び状態変数に基づいて予め定めた複数の候補からモデル制御器を決定する制御器決定部を含むモータ制御装置。

Description

モータ制御装置
 本発明は、産業用機械装置を駆動するモータ制御装置に関する。
 モータ制御装置は、位置目標値や速度目標値などの目標値に対してモータ位置や速度を高速高精度に追従させることが望まれており、これを実現するためにフィードフォワード制御とフィードバック制御を組み合わせた2自由度制御が用いられている。また、より高速高精度化を行う手法として、現在の目標値だけではなく、未来の目標値も先読みして利用する制御手法が用いられることがある。さらに、高速高精度化と同時に、機械共振などに起因して発生する停止時の残留振動を抑制することも必要であり、産業用機械装置の振動周波数(共振周波数)における信号成分が小さくなるようにフィードフォワード制御系を設計する制振制御により、振動抑制を実現している。
 通常、モータをより目標値に対して高速高精度に追従させるためには、より大きなトルクを発生させる必要がある。また、停止時の残留振動を積極的に抑制するような制御を行うと、より大きなトルクが必要となり、またトルクの変化量が大きくなる。しかしながら、モータが発生できるトルク又はトルクを発生させるために必要なモータに印加する電流などの制御入力には制約がある。また、トルクの変化量は、モータ制御装置内で発生する電圧に密接に関係しており、トルクの変化量が大きくなると、電圧が高くなり、電圧飽和が発生する。また、トルクの変化量が大きくなると、機械系に与えるショックも大きくなる。よって、トルクの変化量などの制御入力の変化量にも制約がある。したがって、制御入力や変化量の制約を満たしながら、目標値に高速高精度に追従し、停止時の残留振動を抑制できる制御が望まれる。
 例えば、特許文献1においてはM(M>4)ステップ先までの目標値が必要であった予測制御を、2ステップ、もしくは4ステップ先までの目標値を用いて予測制御を行う電動機制御装置が開示されている。この従来技術では、2ステップ、または4ステップ先までの目標値のみを利用することにより、制御演算を簡易にし、また、これらの値から速度フィードフォワードとトルクフィードフォワードとを計算し、制御に用いることにより、加減速時のオーバシュートを減らし、一定速度時の追従性を高めている。
 また、特許文献2に記載されたサーボ制御装置は、切換えスイッチを持ち、切換えスイッチがONの場合は、予測制御器をフィードバック制御器として用いたフィードバック制御、もしくは2自由度制御を使用し、切換えスイッチがOFFの場合は、位置比例制御のみのフィードバック制御を切換えることで、性能を向上させている。この従来技術においては、制御対象が高精度な追従性を要求しているとき、切換えスイッチをONにし、目標指令増分値が変化しているときに切換えスイッチをOFFにする。また、切換え前後の制御入力を連続にするために、フィルタ関数器により切換え前後の制御入力を線形補間している。
特開2010-130852号公報 特開2005-285030号公報
 ところで、特許文献1に記載された従来技術では、2ステップ先又は4ステップ先までの未来の目標値を用いることで、従来の予測制御よりも制御演算を簡易にし、かつ未来の目標値を利用しない従来技術よりも高速高精度を実現する技術が開示されているが、フィードフォワードゲインや予め計算する定数が固定である場合、様々な指令の変化に対して、制御入力の大きさやその変化量の制約の範囲でなるべく高速高精度な制御を実現するのが難しいという問題があった。
 また、特許文献2に記載された従来技術では、制御器を切換えて高速高精度な制御を実現する技術が開示されているが、制御対象が高精度を要求しているときに切換えスイッチをON、目標指令増分値が変化しているときに切換えスイッチをOFFにするだけでは、トルクの飽和やその変化量の制限を考慮して制御器の切換えは行えず、高速高精度化が難しいという問題がある。また切換え時に制御入力が不連続になり、ショックを生じるという問題もある。また、フィルタ関数器で切換え前後の制御入力を補間する技術も開示されているが、補間中は制御対象の特性を考えていないため、高精度化は難しいという問題もある。
 本発明は、上記した問題点に鑑みてなされたものであって、現在の目標値のみならず、過去の目標値も利用し、任意の位置指令に対しても制御入力や制御入力の変化量の制約を満たしつつ、高速高精度にモータを目標値に追従させ、かつ停止時の振動を励起しないモータ制御装置を提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、モータを含む制御対象の制御出力を追従させるべき目標値に基づいて、前記制御対象の所望の動作を表すモデル出力と、前記所望の動作に前記制御対象を駆動するモデル入力とを生成する規範モデル部と、前記制御出力と前記モデル出力を入力し、前記制御出力を前記モデル出力に追従させるフィードバック入力を生成するフィードバック制御部と、前記モデル入力及び前記フィードバック入力を加算して前記制御対象への制御入力を生成するモデル入力加算器と、を備えるモータ制御装置であって、前記規範モデル部は、前記目標値の現在の値および前記目標値の1つまたは複数の過去の値を目標値ベクトルとして保持する目標値記憶部と、前記制御対象の特性を模擬し、前記モデル入力に基づいて前記モデル出力及び状態変数を生成する数式モデルと、前記目標値ベクトル及び前記状態変数に基づいて、前記モデル入力を生成するモデル制御器と、前記目標値ベクトル及び前記状態変数に基づいて、予め定めた複数のモデル制御器の候補から前記モデル制御器を決定するモデル制御器決定部と、を含む、ことを特徴とする。
 本発明によれば、様々に変化する指令に対応して、現在の目標値のみならず、過去の目標値を利用し、モータ駆動中に制御器の特性を変化させることで、高速高精度にモータを目標値に追従させ、かつ停止時の振動を励起しないモータ制御装置を得ることができる。
図1は、この発明の実施の形態1に係るモータ制御装置の構成を示すブロック図である。 図2は、この発明の実施の形態1に係るモータ制御装置の数式モデルの一例である2慣性系モデルを示す図である。 図3は、この発明の実施の形態1に係るモータ制御装置のモデル制御器の構成を示すブロック図である。 図4は、この発明の実施の形態2に係るモータ制御装置の構成を示すブロック図である。 図5は、この発明の実施の形態2に係るモータ制御装置の最大出力許容集合の例を示す図である。 図6は、この発明の実施の形態2に係るモータ制御装置の動作例を示す図である。 図7は、この発明の実施の形態3に係るモータ制御装置の構成を示すブロック図である。 図8は、この発明の実施の形態3に係るモータ制御装置のモデル制御器の候補の一例を示すブロック図である。 図9は、この発明の実施の形態3に係るモータ制御装置のモデル制御器の候補の一例を示すブロック図である。 図10は、この発明の実施の形態3に係るモータ制御装置のモデル制御器の候補の一例を示すブロック図である。
 以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 本発明の実施の形態1に係るモータ制御装置100について図1から図3までを参照しながら説明する。図1は、この発明の実施の形態1に係るモータ制御装置100の構成を示すブロック図である。なお、以降では、各図中、同一符号は同一又は相当する部分を示す。
 図1に示すように、本発明の実施の形態1に係るモータ制御装置100は、規範モデル部1と、フィードバック制御部2と、モデル入力加算器3から構成される。駆動する機械の位置や速度、もしくは機械を駆動するモータの位置や速度を表す検出器5により出力される制御対象4の制御出力y(i)に対する目標値r(i)が外部からモータ制御装置100へ入力され、モータ制御装置100は制御対象4の検出器5からの制御出力y(i)が目標値r(i)に追従するようにモータのトルクや電流などを表す制御入力u(i)を計算する。計算された制御入力u(i)は、モータ制御装置100から制御対象4へと出力される。なお、各記号に用いているiはステップ数を表している。
 制御対象4は、機械負荷と機械負荷を駆動する回転型モータやリニアモータなどのモータから構成されている。制御対象4のモータに後述する制御入力u(i)を印加することにより、機械負荷に所望の動作を行わせる。
 検出器5は、エンコーダやリニアスケールなどであり、制御対象4を構成する回転型モータやリニアモータの現在位置情報や速度情報、または機械負荷の現在位置情報や速度情報などを検出して、それを制御出力y(i)としてフィードバック制御部2に出力する。
 制御対象4および検出器5をまとめてモータを含む制御対象とみなせば、当該制御対象への入力が制御入力u(i)であり、当該制御対象からの出力が制御出力y(i)になっている。
 目標値r(i)を入力された規範モデル部1は、制御対象4の理想的な動作波形を表すモデル出力yM(i)をフィードバック制御部2に出力し、制御対象4に理想的な動作をさせるモデル入力uM(i)をモデル入力加算器3に出力する。また、目標値r(i)が入力される規範モデル部1は、所定の時間、目標値r(i)を記憶保持し、記憶保持している1つもしくは複数の過去の目標値を現在入力された目標値r(i)と共に目標値ベクトルrvec(i)として出力する目標値記憶部15を備える。
 さらに、規範モデル部1は、モデル入力uM(i)を所定の時間記憶保持し、記憶している値を過去モデル入力uM’(i)として出力するモデル入力メモリ13と、モデル入力uM(i)を入力とし、モデル出力yM(i)と状態変数xM(i)を出力する、制御対象4の特性を模擬した数式モデル14を備える。さらに、規範モデル部1は、目標値記憶部15から出力された目標値ベクトルrvec(i)、数式モデル14から出力された状態変数xM(i)、モデル入力メモリ13から出力された過去モデル入力uM’(i)を入力とし、入力されたこれらの値に基づき、予め定めた複数のモデル制御器の候補から実際に使用するモデル制御器を決定するモデル制御器決定部11を備える。
 さらに、規範モデル部1は、目標値ベクトルrvec(i)、状態変数xM(i)、過去モデル入力uM’(i)を入力とし、モデル制御器決定部11で決定されたモデル制御器を使用し、モデル出力yM(i)を目標値r(i)に追従させるモデル入力uM(i)を計算し、数式モデル14とモデル入力加算器3に出力するモデル制御器12を備える。ここで、状態変数xM(i)は数式モデル14の内部状態を表しており、n次(nは1以上)の数値ベクトルとする。モデル出力yM(i)はモータの位置や速度、あるいはこれらの両方など、実際に制御対象4から計測できる物理量に対応した数式モデル14の状態変数xM(i)の一部である。また、その次元をmと記述する。
 次にフィードバック制御部2について説明する。フィードバック制御部2は規範モデル部1から出力されたモデル出力yM(i)、および検出器5から出力された制御出力y(i)を入力とし、制御出力y(i)がモデル出力yM(i)に追従するように、フィードバック制御入力uFB(i)を計算し、計算したフィードバック制御入力uFB(i)をモデル入力加算器3へと出力する。即ち、フィードバック制御部2は、モデル出力yM(i)と制御出力y(i)を入力とし、これらの値の差を計算し、計算結果を出力偏差e(i)として出力するモデル出力減算器21と、モデル出力減算器21から出力された出力偏差e(i)を入力とし、出力偏差e(i)が0となるように、つまり、制御出力y(i)がモデル出力yM(i)に追従するようにフィードバック入力uFB(i)を出力するフィードバック制御器22とから構成されている。
 モデル入力加算器3は、フィードバック制御部2から出力されたフィードバック入力uFB(i)と規範モデル部1から出力されたモデル入力uM(i)を加算し、その和を制御入力u(i)として、制御対象4へ出力する。そして、制御入力u(i)により、制御対象4に付属しているモータを駆動し、制御対象4の制御出力y(i)と目標値r(i)を一致させる。これにより、制御対象4は目標値に追従し、所望の動作をすることになる。
 これより、規範モデル部1の各構成要素の動作について詳細に説明する。まず、目標値記憶部15の動作について詳細に説明する。目標値記憶部15には、目標値r(i)が入力され、所定の時間、目標値r(i)を記憶保持し、記憶保持している1つもしくは複数の過去の目標値を現在入力された目標値r(i)と共に目標値ベクトルrvec(i)としてモデル制御器決定部11およびモデル制御器12に出力する。
 また、目標値記憶部15は、1個乃至P個の目標値メモリ151(P>M)を具備しており、これらの目標値メモリ151に目標値記憶部15に入力された目標値r(i)を入力し、目標値メモリ151はそれぞれ1~Mステップの間、目標値r(i)を記憶保持する。この場合、M×Ts時間の間入力された目標値を全て記憶保持する。ここで、Tsは1サンプリング時間である。つまり、現在の目標値をr(i)とすると、目標値メモリ151は、それぞれr(i)、r(i-1)・・・r(i-M-1)の値を1ステップの間記憶保持する。なおr(i-1)は1ステップ前(現在時刻より1サンプリング時間Ts前の時刻)の目標値、r(i-2)は2ステップ前の目標値を表している。また、1ステップ数はサンプリング時間Tsに相当し、目標値r(i)をMステップ記憶しておくことは、目標値r(i)をM×Ts時間だけ記憶保持しておくことに対応する。そして、目標値メモリ151から出力された過去の目標値r(i-1)・・・r(i-M)と現在の目標値r(i)を同時にまとめて目標値ベクトルrvec(i)を式(1)のように出力する。
Figure JPOXMLDOC01-appb-M000002
 以後、説明の簡略化のため、過去モデル入力uM’(i)として1ステップ前のモデル入力uM(i-1)を使用し、目標値メモリ151は2ステップ間目標値を記憶保持することが可能な個数(つまりM=2)備えられている場合について説明する。ただしこれは一例であり、過去モデル入力として1ステップ前のモデル入力のみを使用することや、目標値メモリ151が2ステップ間のみの目標値を記憶保持することが可能な個数備えられていることに限定されるものではない。
 数式モデル14は、入力されたモデル入力uM(i)に基づき、次の式(2)の離散時間状態方程式により、次のステップの状態変数xM(i+1)とモデル出力yM(i)を計算する。
Figure JPOXMLDOC01-appb-M000003
 ここで、
Figure JPOXMLDOC01-appb-M000004
 は、それぞれ、iステップ目での数式モデル14の状態変数xM(i)、モデル入力uM(i)、モデル出力yM(i)を表す数値ベクトルであり、nは状態数、mは出力数である。また、
Figure JPOXMLDOC01-appb-M000005
 は、数式モデル14の特性を表す行列である。また、上記式(4)で示したA,B,C,Dは制御対象4の特性を表すように決定する。ただし、数式モデル14は制御対象4の特性をすべて表す必要はなく、制御出力y(i)が目標値r(i)に高速・高精度に追従するのに必要な特性だけを模擬すればよい。
 数式モデル14の一例について説明する。図2は、本発明の実施の形態1に係るモータ制御装置100の数式モデル14の一例である2慣性系モデルを示す図である。
 制御対象4が複数の共振・反共振を持つ特性であるとき、図2のようなモータがバネなどの弾性体を介して機械負荷を駆動する2慣性系モデルを数式モデル14とし、一番周波数が低い共振・反共振特性を模擬する場合を考える。本実施の形態におけるモータ制御装置100において、数式モデル14に2慣性系モデルのような共振・反共振を持つ振動的なモデルを用いることで、振動抑制効果が高く、高速・高精度なモータ制御装置を得ることが可能となる。ここでは、仮に検出器5を用いることで、制御対象4に付属するモータの位置、速度が計測できるとする。このように数式モデル14を振動的な機械系でモデル化することにより、振動を励起しないモデル入力の生成が可能となる。
 図2の2慣性系モデルの連続系の状態方程式は以下の式(5)および式(6)で表現される。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
 ここで、pMはモータの位置(回転角度)、ωMはモータの回転速度、pLは機械負荷の位置、ωLは機械負荷の速度、JMはモータの慣性モーメント、JLは機械負荷の慣性モーメント、TMはモータトルク、kmはばね定数、cmは粘性係数、yMは連続系のモデル出力、そしてd/dtは時間に関する微分を表す。バネ定数kmは、以下の式(7)および式(8)で計算されるモデル共振周波数ωpおよびモデル反共振周波数ωzが、制御対象4の一番周波数が低い共振周波数・反共振周波数に一致するよう決定すればよい。このように決定することにより、2慣性系モデルが制御対象4の特性を模擬することができる。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
 実際には、数式モデル14は式(2)に表すように離散時間状態方程式であるため、式(5)および式(6)を離散化して、離散時間状態方程式を求め、数式モデル14とする。式(5)および式(6)のような線形連続時間状態方程式から式(2)のような線形離散時間状態方程式を計算する方式は、いくつか存在するが、その一つの方法として、以下に示す式(9)、式(10)、式(11)、式(12)を用いて計算する方式がある。
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
 ここで、eAcTs、eAc(Ts-τ)はそれぞれAcTs、Ac(Ts-τ)の指数関数を表しており、Tsはサンプリング時間を表している。また、本実施の形態のように数式モデル14として式(5)、式(6)で表される2慣性系モデルを使用する場合は、図1に示した状態変数xM(i)は、以下の式(13)で示すように各ステップにおけるモータの位置pM(i)、モータの速度ωM(i)、機械負荷の位置pL(i)、機械負荷の速度ωL(i)となり、モデル入力uM(i)はモータトルクTM(i)となる。また、本実施の形態ではモータの位置pM(i)とモータの速度ωM(i)が計測できると仮定しているため、モデル出力yM(i)は式(13)のようにモータの位置pM(i)、モータの速度ωM(i)となる。
Figure JPOXMLDOC01-appb-M000014
 なお、ここで説明したものは、数式モデル14の一例であり、数式モデル14が式(9)、式(10)、式(11)、式(12)、状態変数xM(i)、モデル入力uM(i)とモデル出力yM(i)が式(13)に限定されるものではない。
 次に、規範モデル部1におけるモデル制御器12の動作について詳細に説明する。動作説明に用いるモデル制御器12の構成例を図3に示す。
 モデル制御器12は、モデルサブ制御器121およびモデル入力変化量加算器122を備える。モデル制御器決定部11により、目標値ベクトルrvec(i)、1ステップ前のモデル入力uM(i-1)、および数式モデル14からの状態変数xM(i)に基づいて、予め定めた複数の候補からモデル制御器が決定される。モデル制御器決定部11により決定されたモデル制御器はモデルサブ制御器121に入力される。モデルサブ制御器121は、モデル制御器決定部11により決定されたモデル制御器に基づき、目標値ベクトルrvec(i)に存在する目標値r(i)に、状態変数xM(i)に存在するモデル出力yM(i)が追従するように、モデル入力変化量ΔuM(i)を計算する。そして、計算したモデル入力変化量ΔuM(i)をモデル入力変化量加算器122に出力する。モデル入力変化量加算器122は、モデルサブ制御器121から出力されたモデル入力変化量ΔuM(i)と、1ステップ前のモデル入力uM(i-1)を加算し、その和をモデル入力uM(i)として、モデル入力メモリ13、数式モデル14、およびモデル入力加算器3に出力する。
 次に、モデルサブ制御器121が状態フィードバックとオフセットの加算によりモデル入力変化量ΔuM(i)を計算する場合を例に取り説明する。モデルサブ制御器121が状態フィードバックとオフセットとの加算によりモデル入力変化量ΔuM(i)を計算する場合、モデルサブ制御器121は、目標値ベクトルrvec(i)、1ステップ前のモデル入力uM(i-1)および数式モデル14の状態変数xM(i)とモデルゲインKiとの乗算、モデルオフセットGiとの加算に基づきモデル入力変化量ΔuM(i)を計算する。この場合、モデルサブ制御器121の演算は以下の式(14)、(15)、(16)で表すことができる。
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
 ここで、vr(i)は目標値速度、ar(i)は目標値加速度であり、それぞれ目標値r(i)の1階差分、2階差分に相当する値である。また、Kriは目標値モデルゲイン、Kvriは目標値速度モデルゲイン、Kariは目標値加速度モデルゲインである。モデルオフセットGiは必要としない場合もあるが、後述で利用するため導入しておく。モデルゲインKiとモデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariは、後述する方式により、それぞれ予め複数の候補が定められており、モデル制御器決定部11により、複数の候補の中から決定され、決定された値が式(14)に使用される。式(14)では、目標値r(i)に関する項を分離して表記しているが、実際には目標値r(i)と追従させる状態変数xM(i)との偏差からモデル入力変化量ΔuM(i)を生成すればよい。また、目標値r(i)と追従させる状態変数xM(i)との偏差からモデル入力変化量ΔuM(i)を生成する場合、目標値モデルゲインKriは、モデルゲインKiから自動的に決定されるものである。
 モデル入力変化量加算器122は、モデルサブ制御器121からモデル入力変化量ΔuM(i)と1ステップ前モデル入力uM(i-1)とを以下の式(17)で表されるように加算して、その和をモデル入力uM(i)として、モデル入力メモリ13、数式モデル14、モデル入力加算器3に出力する。すなわち、モデル入力変化量ΔuM(i)を積算することでモデル入力uM(i)を計算する。
Figure JPOXMLDOC01-appb-M000018
 モデル制御器12は、上記のような計算をすることで、モデルサブ制御器121で一旦モデル入力変化量ΔuM(i)を計算し、モデル入力変化量加算器122の動作によりモデル入力変化量ΔuM(i)を積算してモデル入力uM(i)を出力している。これにより、モデル制御器決定部11やモデル制御器12はモデル入力uM(i)に加え、モデル入力変化量ΔuM(i)の値も知ることができ、モデル制御器決定部11は、モデル入力uM(i)やモデル入力変化量ΔuM(i)が所定の値を超えないように、複数の候補からモデルサブ制御器121を決定することが可能となる。つまり、モデル制御器決定部11が数式モデル14から出力されるモデル出力yM(i)を目標値r(i)に高速・高精度に追従させるため、もしくはモデル入力変化量ΔuM(i)が所定の値を越えないようにするために、モデルサブ制御121を別の候補に切換えても、モデル入力uM(i)が不連続にならずにモデル入力uM(i)を計算することができる。
 前述のモデル入力変化量ΔuM(i)を新たな入力とみなし、数式モデル14にモデル入力変化量加算器122、モデル入力メモリ13を組み合わせた離散時間状態方程式は、以下の式(18)で表すことができる。ここで、Iは単位行列、0は零行列を表しており、その行および列の数は適切に決定する。
Figure JPOXMLDOC01-appb-M000019
 また、式(18)の離散時間状態方程式に加え、目標値記憶部15による目標値r(i)を記憶も考慮した離散時間状態方程式は、以下の式(19)で表すことが可能である。
Figure JPOXMLDOC01-appb-M000020
 式(19)における~r(i+1)は1ステップ後の目標値予測値、~vr(i+1)は1ステップ後の目標値速度予測値、~ar(i+1)は1ステップ後の目標値加速度予測値である。また、式(19)におけるvr(i)は目標値速度、ar(i)は目標値加速度であり、式(15)、式(16)よりそれぞれ、目標値記憶部15により記憶されている1ステップ前目標値r(i-1)と、2ステップ前目標値r(i-2)を用いて計算可能である。なお、式(19)は後述する予め定める複数のモデル制御器12、もしくはモデルサブ制御器121の候補をモデル制御器決定部11が計算するために使用する。
 式(19)の離散時間状態方程式を用いて計算したモデル出力yM(i)が目標値r(i)に追従するように、式(14)で用いるモデルサブ制御器121のモデルゲインKi、モデルオフセットGi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを設計することが可能である。
 なお、モデル制御器12の具体的な計算方法は図3の構成で示されたものに限定されるものではなく、様々な構成で上記と等価な計算が可能である。すなわち、モデル制御器12は、目標値ベクトルrvec(i)、数式モデル14の状態変数xM(i)とともに、モデル入力メモリ13の出力である1ステップ前のモデル入力uM(i-1)に基づいた計算を行うことで、上記と等価な計算が可能であり、モデル入力変化量ΔuM(i)を考慮した演算が可能である。
 次に、モデル制御器決定部11によるモデルゲインKi、モデルオフセットGi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定方法について詳細に説明する。
 モデル制御器決定部11は、目標値ベクトルrvec(i)と、状態変数xM(i)と、1ステップ前のモデル入力uM(i-1)に基づき、モデルゲインKi、モデルオフセットGi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを予め定めた複数の候補から決定する。なお、目標値モデルゲインKriは、上記しているように、モデルゲインKiから自動的に決定されるものである。ここでは、目標値ベクトルrvec(i)と、状態変数xM(i)、1ステップ前のモデル入力uM(i-1)との間と、モデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariとの間の対応関係を記述するゲインマップと、目標値ベクトルrvec(i)と、状態変数xM(i)、1ステップ前のモデル入力uM(i-1)との間と、モデルオフセットGiとの対応関係を記述するオフセットマップを用いて、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定する方法について説明する。
 ゲインマップ、オフセットマップとして次のものが考えられる。まず、候補として制御出力y(i)を目標値r(i)に振動を励起させず、かつ制御出力y(i)が目標値r(i)に素早く追従する応答が得られるモデルゲインKa、モデルオフセットGa、目標値速度モデルゲインKvra、目標値加速度モデルゲインKaraと、制御出力y(i)を目標値r(i)に振動を励起させないが、制御出力y(i)が目標値r(i)に遅く追従する応答を得るモデルゲインKb、モデルオフセットGb、目標値速度モデルゲインKvrb、目標値加速度モデルゲインKarbを用意しておく。そして{Ka,Kvra,Kara,Kb,Kvrb,Karb}はゲインマップに、{Ga,Gb}はオフセットマップに保存されているとする。
 産業用機械装置を駆動するモータ制御装置では、振動を励起させずに、制御出力y(i)を目標値r(i)に素早く追従させるには、大きな制御入力u(i)、もしくはモデルuM(i)、モデル入力変化量ΔuM(i)が必要となり、制御出力y(i)の目標値r(i)に対する追従を遅くすると小さい制御入力u(i)、もしくはモデル入力uM(i)、モデル入力変化量ΔuM(i)で済む。そのため、モデル制御器決定部11は通常、制御出力u(i)が目標値r(i)に早く追従するようにゲインマップから{Ka,Kvra,Kara}を、オフセットマップからGaを決定し、モデル制御器12へ出力する。もし、制御入力u(i)、もしくはモデル入力uM(i)、モデル入力変化量ΔuM(i)が所定の値を越えそうならば、モデル制御器決定部11はゲインマップから{Kb,Kvrb,Karb}を、オフセットマップからGbを決定しモデル制御器12へ出力する。
 これにより、制御入力u(i)、モデル入力uM(i)、モデル入力変化量ΔuM(i)が所定の値を越えない場合は、制御出力y(i)が目標値r(i)に振動なく素早く追従する応答が、制御入力u(i)、モデル入力uM(i)、モデル入力変化量ΔuM(i)が所定の値を越えそうな場合、制御出力y(i)の目標値r(i)への追従は遅くなるが、振動なく、かつモデル入力uM(i)、モデル入力変化量ΔuM(i)が所定の値を越えない応答が得られる。各種のゲインとオフセットの候補{Ka,Ga,Kvra,Kara},{Kb,Gb,Kvrb,Karb}の決め方は、式(19)の離散時間状態方程式に対し、極配置法、ループ整形などの制御系設計法を用いることで設計可能であり、本実施の形態では特に限定しない。また、ゲインの組数も制御出力y(i)が目標値r(i)に素早く追従するゲインと制御出力y(i)が目標値r(i)に遅く追従するゲインの2組に限定するものではなく、3組以上あっても良い。
 上記の参考例による設計では、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの数や、各モデルゲイン{Ka,Kb}、モデルオフセット{Ga,Gb}、目標値速度モデルゲイン{Kvra,Kvrb}、目標値加速度モデルゲイン{Kara,Karb}の設計をある程度試行錯誤的に行う必要があり、またこれらのゲインを決定する方式の詳細は別途設計する必要がある。これに対し、以下のようにモデル予測制御の応用を行うことで、複数のモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの値や決定条件を体系的に決定することができる。
 モデル予測制御では、オフラインの最適化計算によりゲインとオフセットを切換える制御器が設計されることが知られている(参考資料:F. Borrelli: Constrained Optimal Control of Linear and Hybrid Systems, Springer Verlag, LNCIS 290 (2003))。
 上記の参考資料においては、モータ制御装置に限定しない制御方法としてモデル予測制御を利用しつつ区分的アフィンな状態フィードバック制御系を設計することにより、制約を満たしつつ、かつある評価関数を最小化する方式が提案されている。ここで、区分的アフィンな状態フィードバック制御系とは、制御する機械の状態と、ゲインとの乗算と、オフセットとの加算に基づき機械に印加する入力を計算し、かつこれらのゲインとオフセットは機械の状態に応じて切換える制御系である。ただし、上記の参考資料では、本実施の形態におけるフィードバック制御器22に相当する部分に区分的アフィンな状態フィードバック制御系を設計しているため、制御する機械の状態をすべての計測または推定する必要がある。そのため、多数のセンサが必要であるか、オブザーバを構築する必要があり、実用的ではない。
 しかし、この手法をモデル制御器12の予め定める複数の候補を生成することに用いることにより、上記問題点は解決可能である。以下、モデル予測制御によるゲインマップとオフセットマップの生成について説明する。
 モデル予測制御により制御器を設計する際には、予測モデル、制御制約、評価関数を定める必要がある。次にこれらについて説明する。
 まず、制御器を設計する際に用いる予測モデルについて説明する。本実施の形態においては、モデル入力変化量ΔuM(i)を考慮するため、また、目標値記憶部15から出力される過去の目標値r(i-1),r(i-2)も考慮するため、式(19)で表される離散時間状態方程式を制御器を設計する際に用いる予測モデルとする。
 次に、制御制約について説明する。本実施の形態では、各ステップにおいてモデル入力uM(i)とモデル入力変化量ΔuM(i)が所定の値を越えないことを制御制約とする。つまり、以下の式(20)で示される制御制約が課されているとする。
Figure JPOXMLDOC01-appb-M000021
 ここで、uMmaxはモデル入力uM(i)の絶対値の最大値を、ΔuMmaxはモデル入力変化量ΔuM(i)の絶対値の最大値を表している。
 最後に評価関数について説明する。本実施の形態では、評価関数を以下の式(21)とする。
Figure JPOXMLDOC01-appb-M000022
 そして、式(21)の評価関数を最小化するモデル入力変化量ΔuM(i)を計算する最小化問題(以下の式(22))を考える。ここで、~r(i)=r(i)、~vr(i)=vr(i)、~ar(i)=ar(i)とする。
Figure JPOXMLDOC01-appb-M000023
 ここで、dはノルムの次数であり、d=1、2、∞のどれかの値を取る。また、Nはホライゾンと呼ばれ、どの程度未来を予測するのかを決めるパラメータであり、一つの設計パラメータである。Q、R、PNは重みであり、設計パラメータである。なお、式(22)では状態変数の終端制約集合とモデル入力の終端制約集合を示してないが、これらを使用せずに本実施の形態の効果を得ることは可能である。また、状態変数の終端制約集合とモデル入力の終端制約集合を適切に設定することにより、式(22)の問題を解いて得られる入力により安定性が保証できることが、上記参考資料に示されている。したがって、状態変数の終端制約集合とモデル入力の終端制約集合を使用することにより、本実施の形態のモータ制御装置においてもモデル入力が発散し、動作が不安定になることを防止できる。
 上記の評価関数を最小化する問題は、d=1、∞の場合は、適当な変換と補助変数の導入により、ある行列G、W、Eと、あるベクトルc、vを用いて、以下の式(23)のようなマルチパラメトリック線形計画問題に帰着可能であることが知られている。
Figure JPOXMLDOC01-appb-M000024
 ここで、xM(i)はiステップ目での状態変数、uM(i-1)は1ステップ前のモデル入力であり、vは入力列[ΔuM(i)、ΔuM(i+1)、・・・、ΔuM(i+N-1)]と補助変数から構成される。
 式(23)の最小化問題を解くと、複数のモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの候補が求まり、これらのゲインは数式モデル14の状態変数xM(i)、1ステップ前のモデル入力uM(i-1)、目標値速度vr(i)、目標値加速度ar(i)に応じて、複数の候補の中から決定される。また、これと同時に複数の候補の中からモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定する決定条件Piも求まる。求まったモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKari、決定条件Piを用いて、以下に示す式(24)、式(25)、式(26)を計算することにより、モデル入力uM(i)が計算できる。
Figure JPOXMLDOC01-appb-M000025
Figure JPOXMLDOC01-appb-M000026
Figure JPOXMLDOC01-appb-M000027
 つまり、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの複数の候補と数式モデル14の状態変数xM(i)、1ステップ前のモデル入力uM(i-1)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)とモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを対応づける決定条件Piが自動的に設計される。なお、決定条件PiはモデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの複数の候補と決定条件を表すゲインマップと、モデルオフセットGiの複数の候補と決定条件を表すオフセットマップに分けることが可能である。
 よって、モデル制御器決定部11は、式(22)、または式(23)の最小化問題を予め解いた結果得られるゲインマップとオフセットマップを持ち、各サンプリング時刻において数式モデル14の状態変数xM(i)と1ステップ前のモデル入力uM(i-1)、目標値ベクトルvrec(i)が入力され、状態変数xM(i)と1ステップ前のモデル入力uM(i-1)、目標値ベクトルrvec(i)から取得できる目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)を決定条件Piに参照することにより、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定する。さらに、決定したモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariをモデル制御器12へ出力する。
 そして、上記の通り、モデル制御器12は、式(24)および式(26)にしたがって、数式モデル14の状態変数xM(i)および1ステップ前のモデル入力uM(i-1)とモデルゲインKiとの積と、目標値r(i)と目標値モデルゲインKriとの積と、目標値速度vr(i)と目標値速度モデルゲインKvriとの積と、目標値加速度ar(i)と目標値加速度モデルゲインKariとの積を全て加算した値と、モデルオフセットGiとの和に基づきモデル入力uM(i)を計算する。
 式(24)、式(25)、式(26)のモデル入力uM(i)とモデル入力変化量ΔuM(i)は式(22)、または式(23)の最小化問題の結果導出されるため、最小化問題の制御制約(20)を満たすモデル入力uM(i)とモデル入力変化量ΔuM(i)が導出される。つまり、モデル入力uM(i)とモデル入力変化量ΔuM(i)の絶対値が所定の値以上になる場合に、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariが切換える。また、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの候補値とこれらの値を切換える条件を記述するゲインマップ、オフセットマップも自動的に計算される。モデル入力uM(i)が所定の値以上にならないことは、制御入力の制御制約が満たされることを意味しており、モデル入力変化量ΔuM(i)が、所定の値以上にならないことは、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定条件Piから生成したゲインマップとオフセットマップに基づき変更してもモデル入力uM(i)が急激に変化しないことを意味している。
 また、最小化問題である式(22)および式(23)を解いた結果、モデルオフセットGiが導出されるため、モデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariのみを使用する場合よりも、モデルオフセットGiを追加したほうが、式(21)の評価関数を小さくするという意味で高速・高精度な応答を得る制御系が実現できる。
 次に、上述した実施の形態1によって得られる効果を以下に説明する。
 本実施の形態に係るモータ制御装置100によれば、過去モデル入力uM’(i)を用いて予め定めた複数の候補からモデル制御器12を決定することにより、モデル入力変化量ΔuM(i)、または制御入力の変化を考慮してモデル制御器12を決定することができる。すなわち、過去モデル入力uM’(i)を用いて、モデル入力uM(i)を計算するためにモデル入力変化量ΔuM(i)を新たな入力とすることができる。その結果、モデル制御器決定部11がモデル制御器12の決定を適切に行うことにより、モデル入力uM(i)のみならず、モデル入力変化量ΔuM(i)が所定の値より大きくならず、かつ制御出力y(i)が目標値r(i)に早く、かつ振動せずに追従する制御系を実現することが可能になる。つまり、トルク飽和(電流飽和)やトルク変化率飽和、そしてトルク変化率飽和と密接な関係がある電圧飽和を防止しつつ、高速高精度なモータ制御装置を得ることが可能となる。また、制御性能向上のためにモデル制御器12を切換えても、モデル入力uM(i)が急激に変化することを防止することが可能である。即ち、モデル入力を所定の値より小さくなるようにモデル制御器の決定を行うことにより、トルク飽和の発生が防止でき、モデル入力の変化量が所定の値より小さくなるようにモデル制御器の決定を行うことにより、電圧飽和の発生が防止でき、かつモデル制御器を切換えたときのショックを低減することが可能となる。
 さらに過去モデル入力uM’(i)をモデル制御器12へフィードバックすることで、モデル入力変化量ΔuM(i)を新たな入力とする式(18)、式(19)の離散時間状態方程式へ等価変換することができる。これにより、最小化問題(22)においてモデル入力変化量ΔuM(i)を考慮することが可能となる。
 また、目標値記憶部15により、過去の目標値r(i-1)、r(i-2)・・・を記憶することで、目標値速度vr(i)、目標値加速度ar(i)もモデル入力変化量ΔuM(i)の計算時に考慮することが可能となり、これらの値を用いない場合よりも制御出力y(i)が目標値r(i)に早く追従する制御系が設計できる。即ち、現在の目標値だけでなく、過去の目標値も利用してモデル制御器を切換え、モデル入力を生成して制御を行うことで、現在の目標値のみを用いてモデル制御器を切換える場合よりも高応答なモータ制御装置を得ることが可能となる。
 さらに、モデル制御器決定部11が過去モデル入力uM’(i)、数式モデル14の状態変数xM(i)、目標値ベクトルrvec(i)に応じて、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定することにより、モデル入力uM(i)とモデル入力変化量ΔuM(i)が所定の値を越えず、かつ高速高精度な応答が得られるモータ制御装置が実現できる。即ち、モデルゲインに加え、オフセット量も用いることより高応答なモータ制御装置を得ることが可能となる。
 ここで、目標値ベクトルrvec(i)を用いて、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの各候補と決定条件を記載するゲインマップとオフセットマップは予めオフラインで求められている。オンラインでの計算はゲインマップ、オフセットマップの参照により目標値ベクトルrvec(i)を用いて、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvriの決定する式(25)の計算と、式(24)、式(26)によるモデル入力uM(i)の計算のみである。このように予めゲインマップとオフセットマップを規定しておくことにより、各ステップで式(22)の最小化問題を計算してモデル入力変化量ΔuM(i)の計算を行うオンライン型のモデル予測制御よりも計算時間が短くすることが可能である。よってオンラインでの計算量をかなり減らすことが可能となり、サンプリング時間をより早くでき、制御系の性能も向上させることが可能となる。
 なお、実施の形態1では、上記でd=1、∞の場合について説明したが、d=2の場合も式(23)のマルチパラメトリック線形計画問題がマルチパラメトリック二次計画問題に換わるだけであり、最小化問題の最適解として数式モデル14の状態変数xM(i)、1ステップ前のモデル入力uM(i-1)、目標値ベクトルrvec(i)を用いて、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを切換えるための各ゲインの候補値と決定条件を記述しているマップPiが出力される。
 また、上記の説明では、モデル制御器決定部11がゲインマップを用いて、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを切換える場合、もしくは、ゲインマップとオフセットマップを用いて、目標値モデルゲインKri、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定する場合について説明したが、数式モデル14の状態変数xM(i)、目標値ベクトルrvec(i)、過去モデル入力uM’(i)を変数とする関数を用いてモデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定しても良い。
 また、上記の説明では、制御制約として式(20)を用いたが、制御制約としてこれに限るものではない。具体的には、数式モデル14の状態変数xM(i)、モデル入力uM(i)、モデル入力変化量ΔuM(i)に関する制御制約が凸制約であれば良い。例えば、数式モデル14の状態変数xM(i)に対しても制御制約を課しても良い。
 また、モデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariもしくは、モデルゲインKi、モデルオフセットGi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを決定する際には、数式モデル14の状態変数xM(i)、目標値ベクトルrvec(i)、過去モデル入力uM’(i)をすべて使用する必要はなく、これらの情報の一部分を使用するだけでも良い。
 以上述べたように、モデル入力を所定の値より小さくなるようにモデルゲイン或いはモデルゲイン及びモデルオフセットの決定を行うことにより、トルク飽和の発生が防止でき、モデル入力の変化量が所定の値より小さくなるようにモデルゲイン或いはモデルゲイン及びモデルオフセットの決定を行うことにより、電圧飽和の発生が防止でき、かつモデル制御器を切換えたときのショックを低減することが可能となる。
 また、上記の説明では、過去モデル入力uM’(i)として1ステップ前のモデル入力uM(i-1)を使用していたが、必ずしも1ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施の形態と同様の効果が得られる。
 また、上記の説明では目標値速度vr(i)、目標値加速度ar(i)を用いてモデル入力uM(i)を生成していたが、これらの値を用いずモデル入力uM(i)を生成してもよい。つまりモデルゲインKiと、それにより自動的に決定される目標値モデルゲインKriを、目標値ベクトルKvri、状態変数xM(i)及び1ステップ前のモデル入力uM(i-1)に応じて決定し、目標値速度モデルゲインKvriと、目標値加速度モデルゲインKariは常に0とおいて、式(14)、式(24)を計算してもよい。この方式でも、実施の形態1と同様の効果が得られる。
 また、上記の説明では、モデル制御器12はモデルサブ制御器121を含み、モデル入力変化量ΔuM(i)を計算して、モデル入力変化量ΔuM(i)に1ステップ前のモデル入力uM(i-1)を加算することによりモデル入力uM(i)を計算していたが、モデル入力変化量の制御制約|ΔuM(i)|<=ΔuMmaxを考慮する必要がない場合は、モデル入力変化量ΔuM(i)を計算せずに直接モデル入力uM(i)を計算してもよい。つまり、以下に示す式(27)を用いてモデル入力uM(i)を計算してもよい。この場合、式(22)の最小化問題を以下に示す式(28)の最小化問題に変更することにより、式(27)のモデルゲインKi、モデルオフセットGi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定条件を記述するゲインマップ、オフセットマップが得られる。即ち、下記の評価関数を最小化するようにゲインマップ及びオフセットマップを生成することにより、適切なゲインマップ及びオフセットマップを自動的に得ることが可能となる。
Figure JPOXMLDOC01-appb-M000028
Figure JPOXMLDOC01-appb-M000029
 以上説明したように実施の形態1においては、上記したようにモータ制御装置100を構成することにより、様々に変化する目標値に対して、少ない計算量で、モータのトルクといった制御対象4への制御入力を不連続にすることなく、制御器の特性を自動的に決定することができる。これにより、制御対象4への制御入力の絶対値や変化量を制約しつつ、高速・高精度に制御出力を目標値に追従させることが可能となる。
実施の形態2.
 本発明の実施の形態2に係るモータ制御装置200について図4から図6までを参照しながら説明する。なお、本実施の形態においても、説明の簡略化のため、過去モデル入力uM’(i)として1ステップ前のモデル入力uM(i-1)を用いる場合について説明する。また、目標値メモリ151は2ステップ間目標値を記憶保持することが可能な個数(つまりM=2)備えられている場合について説明する。ただし、これは過去モデル入力として1ステップ前のモデル入力を使用することや、目標値メモリ151が2ステップ間のみの目標値を記憶保持することが可能な個数備えられていることに限定されるものではない。
 図4に示すように、本実施の形態に係るモータ制御装置200には、駆動する機械の位置や速度を表す制御出力y(i)に対する目標値r(i)と、検出器5より検出されたモータの位置や速度を表す制御対象4の制御出力y(i)が入力される。そして、検出器5からの制御出力y(i)が目標値r(i)へ追従するように、モータ制御装置200は制御対象4へモータのトルクや電流などの制御入力u(i)を出力する。
 図4に示すように、本実施の形態に係るモータ制御装置200は、規範モデル部1Aと、フィードバック制御部2とモデル入力加算器3から構成される。モータ制御装置200は、機械負荷と機械負荷を駆動する回転型モータやリニアモータなどのモータから構成される制御対象4と、エンコーダなどの検出器5に接続される。フィードバック制御部2、モデル入力加算器3、制御対象4及び検出器5は、上記した実施の形態1と同じ構成のため説明を省略する。
 規範モデル部1Aには目標値r(i)が入力され、制御対象4の理想的な動作波形を示すモデル出力yM(i)をフィードバック制御部2へ出力する。さらに規範モデル部1Aは、検出器5から出力される制御出力y(i)が目標値r(i)に追従するように、制御対象4を駆動するモデル入力uM(i)をモデル入力加算器3へ出力する。
 また、規範モデル部1Aは、所定の時間、目標値r(i)を記憶保持し、記憶保持している1つもしくは複数の過去の目標値を入力された現在の目標値r(i)と一緒に目標値ベクトルrvec(i)として出力する目標値記憶部15と、予め定められた複数の候補からモデル制御器を決定するモデル制御器決定部11Aと、モデル出力yM(i)を目標値r(i)に追従されるモデル制御器12と、モデル入力uM(i)を記憶するモデル入力メモリ13と、制御対象4の特性を模擬した数式モデル14とを有する。ここでモデル制御器12、モデル入力メモリ13と数式モデル14、目標値記憶部15の動作は、上記実施の形態1と同じであるため、説明を省略する。
 本実施の形態にかかるモータ制御装置200においては、モデル制御器決定部11Aの動作が、実施の形態1にかかるモータ制御装置100のモデル制御器決定部11と異なる。即ち、本実施の形態においては極配置等で予め設計した複数の候補をモデル制御器決定部11Aにより決定する。
 本実施の形態において、モデル制御器決定部11Aは目標値ベクトルrvec(i)、1ステップ前モデル入力uM(i-1)、数式モデル14の状態変数xM(i)を入力し、モデル入力uM(i)、モデル入力変化量ΔuM(i)の値が所定の値を超えないように、予め設計されている複数のモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの中から一組を決定し、それらのゲインをモデル制御器12へ出力する。なお本実施の形態では、モデル制御器決定部11AはモデルオフセットGiを常に0に決定すると仮定する。予め複数のモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの候補を定めておくことにより、オンラインでの計算量を低減することが可能となり、サンプリング時間も早くすることが可能となる。なお、本実施の形態においても、目標値r(i)と追従させる状態変数xM(i)との偏差からモデル入力変化量ΔuM(i)を生成する場合、目標値モデルゲインKriは、モデルゲインKiから自動的に決定されるものである。
 次に、モデル制御器決定部11Aによる、モデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定法について説明する。モデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定には、最大出力許容集合O∞iを用いる。最大出力許容集合O∞iとは、制御系(閉ループ系)が制御制約を破らない条件を集めた集合であり、その計算方法は『平田、藤田、「外部入力を有する線形離散時間システムに対する拘束条件の解析」、電機学会C、118-3、384/390-、1998』に記載されている。本実施の形態では、制御制約として実施の形態1と同じく、式(20)で記述されるモデル入力uM(i)とモデル入力変化量ΔuM(i)が所定の値を超えない制約について考慮する。まず、この最大出力許容集合O∞iについて説明する。
 本実施の形態においても、実施の形態1と同様に、モータ制御装置200は目標値記憶部15を備え、規範モデル部1Aに含まれるモデル制御器12は図3に示すように1ステップ前のモデル入力uM(i-1)をモデルサブ制御器121へフィードバックし、モデル入力変化量加算器122によりモデル入力変化量ΔuM(i)と1ステップ前のモデル入力uM(i-1)を加算して、モデル入力uM(i)を生成している。したがって、目標値記憶部15、モデル入力メモリ13と、数式モデル14と、モデル入力変化量加算器122を合わせて、式(19)で表される離散時間状態方程式を考える。
 また、予め設計されているモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの候補の一つをそれぞれK1、Kr1、Kvr1、Kar1で表す。これらのゲインを用いて、モデルサブ制御器121が式(27)を用いて、数式モデル14の状態変数xM(i)と1ステップ前のモデル入力uM(i-1)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)から、モデル入力変化量ΔuM(i)を以下の式(29)のように計算することを考える。
Figure JPOXMLDOC01-appb-M000030
 ここで、本実施の形態では、モデル制御器決定部11AはモデルオフセットGiを常に0として決定するため、式(29)においてモデルオフセットGiの項は除かれている。
 さらに、式(29)を式(19)に代入することで、以下に示す式(30)が得られる。
Figure JPOXMLDOC01-appb-M000031
 式(30)は規範モデル部1Aの閉ループ系を表している。iステップ時における数式モデル14の状態変数xM(i)が決定すれば、iステップ時以後の目標値予測値~r(i+1)、~r(i+2)・・・と目標値r(i+1)、r(i+2)・・・、目標値速度予測値~vr(i+1)、~vr(i+2)・・・と目標値速度vr(i+1)、vr(i+2)・・・、目標値加速度予測値~ar(i+1)、~ar(i+2)・・・と目標値加速度ar(i+1)、ar(i+2)・・・がそれぞれ等しい、つまり以下の式(31)が成り立つと仮定して、
Figure JPOXMLDOC01-appb-M000032
 式(30)を繰り返し計算することにより、iステップ以降における数式モデル14の状態変数xM(i+l)(l>0)、モデル入力uM(i+l)(l>0)、目標値r(i+l)(l>0)、目標値速度vr(i+l)(l>0)、目標値加速度ar(i+l)(l>0)が計算可能である。各ステップにおける数式モデル14の状態変数xM(i)、モデル入力uM(i)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)が計算可能であるため、式(29)を用いることで、各ステップのモデル入力変化量ΔuM(i+l)、l>0も計算可能である。したがって、モデルゲインK1、目標値速度モデルゲインKvr1、目標値加速度モデルゲインKar1とiステップ時における数式モデル14の状態変数xM(i)、1ステップ前モデル入力uM(i-1)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)が決まれば、式(20)の制御制約を満たすかどうかを計算することが事前に可能である。
 したがって、逆に式(20)の制御制約、モデルゲインK1、目標値速度モデルゲインKvr1、目標値加速度モデルゲインKar1が与えられたときに制約条件を破らない数式モデル14の状態変数xM(i)、モデル入力uM(i)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)を計算することも可能である。上述したように、この制御制約を破らない条件を最大出力許容集合O∞iと呼ぶ。
 図5は、本発明の実施の形態2に係るモータ制御装置200の最大出力許容集合O∞iの例を示す図である。
 図5では、縦軸は数式モデル14の状態変数xM(i)、横軸は目標値r(i)を表している。そして、多角形の内部が最大出力許容集合O∞iを表している。実際には、目標値速度vr(i)や目標値加速度ar(i)も最大出力許容集合O∞iを構成する要素であるため、図5の軸に加えるべきであるが、図5では説明を簡単にするため、省略している。また、点Aは数式モデル14のiステップ時の状態変数xM(i)と目標値r(i)が最大出力許容集合O∞iの内部にある状況を表しており、点Bはiステップ時の状態変数xM(i)、目標値r(i)が最大出力許容集合O∞iの外にある状況を表している。点Aのように、iステップの状態変数xM(i)が最大出力許容集合O∞iの内部にある場合、iステップ時以降も式(20)の制御制約を破らない。しかし、点Bのように、iステップ時の状態変数xM(i)が最大出力許容集合O∞iの外にある場合は、たとえiステップ時において式(20)の制御制約を満たしていても、iステップ時以降のいずれかの時点でかならず式(20)の制御制約を破る。
 次に、モデル制御器決定部11Aによる最大出力許容集合O∞iを用いたモデルゲインKi、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定法について説明する。ここでは、図6を用いて3組のモデルゲイン、目標値モデルゲイン、目標値速度モデルゲイン、目標値加速度モデルゲインがある場合について説明する。図6は、本発明の実施の形態2に係るモータ制御装置200の動作例を示す図である。もちろん、本実施の形態により、3組のモデルゲイン、目標値モデルゲイン、目標値速度モデルゲイン、目標値加速度モデルゲインなどに限定されるものではない。
 図6は、あらかじめ3組のモデルゲイン、目標値モデルゲイン、目標値速度モデルゲイン、目標値加速度モデルゲイン、{K1,Kr1,Kvr1,Kar1}、{K2,Kr2,Kvr2,Kar2}、{K3,Kr3,Kvr3,Kar3}が設計されており、各組のゲインを用いた場合における最大出力許容集合O∞1、O∞2、O∞3が計算されている状況を表している。図6において、縦軸は数式モデル14の状態変数xM(i)、横軸は目標値r(i)を表している。本実施の形態では、制御出力y(i)が目標値r(i)に一番早く追従するゲインを{K1,Kr1,Kvr1,Kar1}、一番遅く追従するゲインを{K3,Kr3,Kvr3,Kar3}とする。またゲイン{K2,Kr2,Kvr2,Kar2}はゲイン{K1,Kr1,Kvr1,Kar1}よりは遅く、{K3,Kr3,Kvr3,Kar3}よりは早く制御出力y(i)が目標値r(i)に追従するゲインとする。最大出力許容集合O∞iは、ゲイン{Ki,Kri,Kvri,Kavri}に依存するため、それぞれのゲインを用いた場合の最大出力許容集合O∞1、O∞2、O∞3は図6に示すように異なる。
 例えば、数式モデル14の状態変数xM(i)、目標値r(i)が点Aにあるとする。点Aは最大出力許容集合O∞3の内部にあり、最大出力許容集合O∞1およびO∞2の外にあるため、ゲイン{K3,Kr3,Kvr3,Kar3}を用いた場合は式(20)の制御制約を破らないが、ゲイン{K2,Kr2,Kvr2,Kar2}、{K1,Kr1,Kvr1,Kar1}を用いるといつかは、式(20)の制御制約を破ってしまう。そのため、モデル制御器決定部11Aは式(20)の制約を破らないゲイン{K3,Kr3,Kvr3,Kar3}を決定し、モデル制御器12に選択したこれらのゲインを出力する。
 次に、数式モデル14の状態変数xM(i)、目標値r(i)が点Bに遷移したとする。点Bは最大出力許容集合O∞3とO∞2の内部にあり、最大出力許容集合O∞1の外にあるため、ゲイン{K2,Kr2,Kvr2,Kar2}、{K3,Kr3,Kvr3,Kar3}を用いた場合は、式(20)の制御制約を破らず、ゲイン{K1,Kr1,Kvr1,Kar1}を用いた場合は、式(20)の制御制約をいつかは破る。このように、式(20)の制御制約を破らないゲインが複数存在する場合、モデル制御器決定部11Aは、最も早く制御出力y(i)が目標値r(i)に追従するゲインを決定する。つまり、この場合はゲイン{K2,Kr2,Kvr2,Kar2}のほうがゲイン{K3,Kr3,Kvr3,Kar3}よりも早く制御出力y(i)が目標値r(i)に追従するため、モデル制御器決定部11Aはゲイン{K2,Kr2,Kvr2,Kar2}を決定し、モデル制御器12へ出力する。
 その後、数式モデル14の状態変数xM(i)、目標値r(i)が点Cに遷移したとする。点Cは最大出力許容集合O∞1、O∞2、O∞3の内部にあるため、ゲイン{K1,Kr1,Kvr1,Kar1}、{K2,Kr2,Kvr2,Kar2}、{K3,Kr3,Kvr3,Kar3}のいずれを用いたとしても、式(20)の制御制約を破らない。従って、モデル制御器決定部11Aは、そのなかで、制御出力y(i)が目標値r(i)に最も早く追従するゲイン{K1,Kr1,Kvr1,Kar1}を決定し、モデル制御器12へ出力する。
 上記の動作をまとめると、モデル制御器決定部11Aは、次の三つの動作を行う。
 1.あらかじめ設計されたモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKari(i=1,...,Z)に対して、最大出力許容集合O∞i(i=1,...,Z)を予め計算しておく。ここで、Zは設計されたゲインの数である。
 2.目標値ベクトルrvec(i)、数式モデル14の状態変数xM(i)、1ステップ前のモデル入力uM(i-1)を取得し、現在の値が各ゲイン{Ki,Kri,Kvri,Kari}を用いて作成した最大出力許容集合O∞iの内にあるか外にあるかを判定する。つまり、各ゲイン{Ki,Kri,Kvri,Kari}を用いた場合に、制御制約を破らないかどうかを判定する。
 3.そして、制御制約を破らないゲイン{Ki,Kri,Kvri,Kari}を決定し、モデル制御器12へ出力する。もし、制御制約を破らないゲイン{Ki,Kri,Kvri,Kari}が複数あるなら、その中で制御出力y(i)が目標値r(i)に最も早く追従するゲインを決定する。
 そして、モデルサブ制御器121は、モデル制御器決定部11Aから出力されたモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを用いて、式(14)によりモデル入力変化量ΔuM(i)を計算し、モデル入力変化量加算器122へ出力する。上述しているように本実施の形態では、式(14)において、モデルオフセットGiは0と仮定している。モデル入力変化量加算器122は、1ステップ前モデル入力uM(i-1)とモデル入力変化量ΔuM(i)を、式(17)を用いて加算し、その和をモデル入力uM(i)として、モデル入力メモリ13、数式モデル14とモデル入力加算器3に出力する。数式モデル14は、状態変数xM(i)とモデル入力uM(i)に対して式(2)を用いることで、モデル出力yM(i)と次ステップの状態変数xM(i+1)を計算し、次ステップの状態変数xM(i+1)をモデル制御器決定部11Aとモデル制御器12に、モデル出力yM(i)をフィードバック制御部2に出力する。また、モデル入力メモリ13は、モデル入力uM(i)を1ステップ間記憶しておく。
 上記の動作を繰り返し行うことにより、規範モデル部1Aは、モデル出力yM(i)とモデル入力uM(i)を生成している。
 次に、上述した本実施の形態2によって得られる効果を以下に説明する。
 本実施の形態に係るモータ制御装置200によれば、上記の実施の形態1と同様に、1ステップ前のモデル入力M(i-1)を用いてモデル入力uM(i)を生成するため、モデル入力変化量ΔuM(i)を新たな入力とすることができる。その結果、モデル入力uM(i)のみならずモデル入力変化量ΔuM(i)がある所定の値より大きくならないモータ制御装置を容易に実現することが可能となる。つまり、トルク飽和やトルク変化量飽和、そしてトルク変化量飽和と密接な関係がある電圧飽和を防止しつつ、高速高精度なモータ制御装置を得ることが可能である。また、モデルゲイン、目標値モデルゲイン、目標値速度モデルゲイン、目標値加速度モデルゲインを切換えても、モデル入力uM(i)が急激に変化することを防止することが可能である。即ち、モデル入力を所定の値より小さくなるようにモデル制御器の決定を行うことにより、トルク飽和の発生が防止でき、モデル入力の変化量が所定の値より小さくなるようにモデル制御器の決定を行うことにより、電圧飽和の発生が防止でき、かつモデル制御器を切換えたときのショックを低減することが可能となる。
 また、本実施の形態においても、モデル入力uM(i)の計算は、モデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariの決定と、数式モデル14の状態変数xM(i)、目標値r(i)、目標値速度vr(i)、目標値加速度ar(i)と各ゲインとの乗算だけである。従って、計算時間が短くできるため、サンプリング時間も短くすることが可能である。
 また、目標値記憶部15により、過去の目標値r(i-1)、r(i-2)・・・を記憶することで、目標値速度vr(i)、目標値加速度ar(i)もモデル入力変化量ΔuM(i)の計算時に考慮することが可能となり、これらの値を用いない場合よりも制御出力y(i)が目標値r(i)に早く追従する制御系が設計できる。
 なお、本実施の形態においても、上記の実施の形態1と同様に、過去モデル入力として1ステップ前のモデル入力を使用したが、必ずしも1ステップ前のモデル入力に限るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果をも持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施の形態と同様の効果が得られる。
実施の形態3.
 本発明の実施の形態3に係るモータ制御装置300について図7から図10までを参照しながら説明する。なお、本実施の形態においても過去モデル入力uM’(i)として1ステップ前のモデル入力uM(i-1)を、目標値メモリ151は2ステップ間目標値を記憶保持することが可能な個数(つまりM=2)備えられている場合について説明する。ただし、これは過去モデル入力として1ステップ前のモデル入力を使用することや、目標値メモリ151が2ステップ間のみの目標値を記憶保持することが可能な個数備えられていることに限定されるものではない。
 本実施の形態においては、実施の形態2と同様に最大出力許容集合O∞iを用いてモデル制御器の決定を行うが、実施の形態2との違いは、実施の形態2がモデルゲインKi、目標値モデルゲインKri、目標値速度モデルゲインKvri、目標値加速度モデルゲインKariを切換えているのに対し、本実施の形態では制御器の構造そのものを切換える点にある。
 本実施の形態に係るモータ制御装置300は、駆動する機械の位置や速度、またはモータの位置や速度を表わす検出器5より検出される制御出力y(i)に対する目標値r(i)、および制御出力y(i)を入力とし、制御出力y(i)が目標値r(i)へ追従するように制御対象4へモータのトルクや電流などの制御入力u(i)を出力する。
 図7に示すように、本実施の形態に係るモータ制御装置300は、規範モデル部1Bと、フィードバック制御部2と、モデル入力加算器3とから構成され、機械負荷と機械負荷を駆動する回転型モータやリニアモータなどのモータから構成される制御対象4と、エンコーダなどの検出器5に接続される。目標値記憶部15、フィードバック制御部2、モデル入力加算器3、制御対象4及び検出器5は、上記実施の形態1、2と同じ構成のため説明を省略する。
 規範モデル部1Bには、目標値r(i)が入力され、制御対象4の理想的な動作を表すモデル出力yM(i)をフィードバック制御部2へ出力し、検出器5から出力される制御出力y(i)が目標値r(i)に追従するよう、制御対象4を駆動するモデル入力uM(i)をモデル入力加算器3へ出力する。
 規範モデル部1Bは、所定の時間、目標値r(i)を記憶保持し、記憶保持している1つもしくは複数の過去の目標値を入力された現在の目標値r(i)と一緒に目標値ベクトルrvec(i)として出力する目標値記憶部15と、予め定められた複数の候補からモデル制御器12を決定するモデル制御器決定部11Bと、モデル出力yM(i)を目標値ベクトルrvec(i)内に含まれる目標値r(i)に追従させるモデル制御器12と、モデル入力uM(i)を記憶するモデル入力メモリ13と、制御対象4の特性を模擬した数式モデル14とを有する。ここでモデル制御器12、モデル入力メモリ13と、数式モデル14、目標値記憶部15の動作は、上記実施の形態1、2と同じであるため、説明を省略する。
 本実施の形態と実施の形態1および2のモータ制御装置100および200との差異は、モデル制御器決定部11Bの動作であり、本実施の形態では極配置等で予め設計した複数の候補をモデル制御器決定部11Bにより決定する方法を説明する。
 以降、本実施の形態では説明を簡単にするため、目標値記憶部15、数式モデル14、モデル入力変化量加算器122とモデル入力メモリ13合わせて得られる式(19)で表される離散時間状態方程式を考える。また予め図8から図10まで表される3つのモデルサブ制御器121C、121D、121Eが設計されている場合について説明する。ただし、本実施の形態によりモデルサブ制御器としてモデルサブ制御器121C、121D、121Eの使用に限定されるものではない。
 図8のモデルサブ制御器121Cは目標値r(i)、1ステップ前の目標値r(i-1)、2ステップ前の目標値r(i-2)、数式モデル14の状態変数xM(i)と1ステップ前のモデル入力uM(i-1)を入力し、モデル入力変化量ΔuM(i)をモデル入力変化量加算器122に出力する。
 また、モデルサブ制御器121Cは、目標値r(i)と状態変数xM(i)を入力し、これらの差であるモデル偏差eM(i)を出力するモデル減算器1215Cと、モデル減算器1215Cから出力されたモデル偏差eM(i)とモデル偏差ゲインKeiとの積を計算し、加算器1218Cへ出力するモデル偏差ゲイン乗算部1211Cと、目標値r(i)と1ステップ前の目標値r(i-1)を入力し、式(15)を用いて目標値速度vr(i)を計算し、目標値速度モデルゲイン乗算器1212Cへ出力する目標値速度生成器1216Cと、目標値速度生成器1216Cから出力される目標値速度vr(i)を入力し、この値と目標値速度モデルゲインKvriを乗算し、その積を加算器1218Cへ出力する目標値速度モデルゲイン乗算部1212Cと、を備える。
 さらに、モデルサブ制御器121Cは、目標値r(i)、1ステップ前の目標値r(i-1)と2ステップ前の目標値r(i-2)を入力し、式(16)を用いて目標値加速度ar(i)を計算し、目標値加速度モデルゲイン乗算器1213Cへ出力する目標値加速度生成器1217Cと、目標値加速度生成器1217Cから出力される目標値加速度ar(i)を入力し、この値と目標値加速度モデルゲインKariを乗算し、その積を加算器1218Cに出力する目標値加速度モデルゲイン乗算器1213Cと、1ステップ前のモデル入力uM(i-1)を入力し、入力された値と1ステップ前のモデル入力ゲインKuiとの積を計算し、計算結果を加算器1218Cへ出力する1ステップ前モデル入力ゲイン乗算器1214Cと、を備える。
 そして、モデルサブ制御器121Cは、モデル偏差ゲイン乗算器1211Cの出力、目標値速度モデルゲイン乗算器1212Cの出力、目標値加速度モデルゲイン乗算器1213Cの出力、1ステップ前モデル入力ゲイン乗算器1214Cの出力をすべて加算し、その和をモデル入力変化量ΔuM(i)として出力する加算器1218Cを備えている。
 図9のモデルサブ制御器121Dは目標値r(i)、1ステップ前の目標値r(i-1)、2ステップ前の目標値r(i-2)、数式モデル14の状態変数xM(i)と1ステップ前のモデル入力uM(i-1)を入力し、モデル入力変化量ΔuM(i)をモデル入力変化量加算器122に出力する。
 図9のモデルサブ制御器121Dと図8のモデルサブ制御器121Cとの差異は積算値メモリ1212Dを用いることで、積算値xc(i)を記憶し、記憶した積算値xc(i-1)をモデル偏差eM(i)に加算することで積分動作を追加している点にある。モデルサブ制御器121Dには、モデルサブ制御器121Cにも用いられているモデル偏差ゲイン乗算器1211C、目標値速度モデルゲイン乗算器1212C、目標値加速度モデルゲイン乗算器1213C、1ステップ前モデル入力ゲイン乗算器1214C、モデル減算器1215C、目標値速度生成器1216C、目標値加速度生成器1217Cが用いられており、これらの説明は省略する。
 これらの要素に付け加え、モデルサブ制御器121Dには、モデル偏差eM(i)と1ステップ前積算値xc(i-1)を加算し、その和を積算値xc(i)としてモデル偏差積分ゲイン乗算器1211Dと積分値メモリ1212Dへ出力する積算値加算器1213Dと、積算値xc(i)を入力し、1サンプリング時間記憶し、1サンプリング時間後に記憶している値を1ステップ前積算値xc(i-1)として積算値加算器1213Dへ出力する積算値メモリ1212Dと、積算値xc(i)にモデル偏差積分ゲインKxiiとモデル制御器121Dのサンプリング時間Tsを乗算し、それらの積を加算器1214Dへ出力するモデル偏差積分ゲイン乗算器1211Dと、モデル偏差ゲイン乗算器1211C、目標値速度モデルゲイン乗算器1212C、目標値加速度モデルゲイン乗算器1213C、1ステップ前モデル入力ゲイン乗算器1214C、モデル偏差積分ゲイン乗算器1211Dから出力された値をすべて加算し、その和をモデル入力変化量ΔuM(i)としてモデル入力変化量加算器122へ出力する加算器1214Dが追加された構成になっている。
 図10のモデルサブ制御器121Eは目標値r(i)、1ステップ前の目標値r(i-1)、2ステップ前の目標値r(i-2)、数式モデル14の状態変数xM(i)と1ステップ前のモデル入力uM(i-1)を入力し、モデル入力変化量ΔuM(i)をモデル入力変化量加算器122に出力する。
 図10のモデルサブ制御器121Eと、図8のモデルサブ制御器121Cおよび図9のモデルサブ制御器121Dとの差異は、状態変数メモリ1212Eを用いることでモデルサブ制御器121Eに微分動作を追加している点にある。モデルサブ制御器121Eは、モデルサブ制御器121Cにも用いられているモデル偏差ゲイン乗算器1211C、目標値速度モデルゲイン乗算器1212C、目標値加速度モデルゲイン乗算器1213C、1ステップ前モデル入力ゲイン乗算器1214C、モデル減算器1215C、目標値速度生成器1216C、目標値加速度生成器1217Cを備えている。また、モデル制御器121Dにも用いられているモデル偏差積分ゲイン乗算器1211D、積算値メモリ1212D、積算値加算器1213Dもさらに備えている。これらの要素に関する説明は上述したので省略する。
 これらの要素に付け加え、モデルサブ制御器121Eは、状態変数xM(i)を入力し、入力された値を1サンプリング時間記憶し、1サンプリング時間後、記憶した値を1ステップ前の状態変数xM(i-1)として状態変数微分減算器1213Eに出力する状態変数メモリ1212Eと、状態変数メモリ1212Eから出力される1ステップ前の状態変数xM(i-1)と状態変数xM(i)を入力し、入力された値を状態変数xM(i)から減算し、その差を状態変数微分ゲイン乗算器1211Eに出力する状態変数微分減算器1213Eと、状態変数微分減算器1213Eから出力された値を1サンプリング時間Tsで除算、状態変数微分ゲインKxDiを乗算し、その計算結果を加算器1214Eへ出力する状態変数微分ゲイン乗算器1211Eと、モデル偏差ゲイン乗算器1211C、目標値速度モデルゲイン乗算器1212C、目標値加速度モデルゲイン乗算器1213C、1ステップ前モデル入力ゲイン乗算器1214C、モデル偏差積分ゲイン乗算器1211D、状態変数微分ゲイン乗算器1211Eから出力された値をすべて加算し、その和をモデル入力変化量ΔuM(i)としてモデル入力変化量加算器122へ出力する加算器1214Eをさらに備える。
 本実施の形態では、実施の形態2とは異なり、積算値メモリ1212Dを用いることにより、モデルサブ制御器121Dに積分動作を、状態変数メモリ1212Eを用いることにより、モデルサブ制御器121Eに微分動作を追加しており、ゲインのみならず制御器の構成も切換えるようになっている。なお、本実施の形態では、表記を簡略にするため、図8乃至図10に示したモデルサブ制御器121C、121D、121Eにおいて、モデル偏差ゲインKei、目標値速度モデルゲインKvri、目標値加速度モデルゲインKari、1ステップ前モデル入力ゲインKuiを同じ記号で表しているが、これらの数値はモデルサブ制御器121C、121D、121E毎に異なっていても良い。また、モデルサブ制御器121D、121Eにおいて、モデル偏差積分ゲインKxiiも同じ記号で表しているが、これらの数値もモデルサブ制御器121Dおよび121Eで異なっていても良い。
 次に、モデル制御器決定部11Bの動作について説明する。モデル制御器決定部11Bは、目標値ベクトルrvec(i)、数式モデル14の状態変数xM(i)、1ステップ前モデル入力uM(i-1)に基づき、モデル入力uM(i)やモデル入力変化量ΔuM(i)が所定の値を超えないように、予め設計されている複数の制御器候補の中から一つを決定する。予め複数の制御器の候補を定めておくことにより、オンラインでの計算量を減らすことが可能となり、サンプリング時間も早くすることが可能となる。
 本実施の形態では実施の形態2と同様にモデル制御器決定部11Bは最大出力許容集合O∞iを用いてモデル制御器12の決定を行う。最大許容出力集合O∞iを計算するためには実施の形態2における式(30)のように規範モデル部1Bの閉ループ系を計算する必要がある。
 まず図8のモデル制御器12Cを用いた場合の閉ループ系を計算する。図8のモデルサブ制御器121Cを用いた場合のモデル入力変化量ΔuM(i)は以下の式(32)のように計算される。
Figure JPOXMLDOC01-appb-M000033
 よって式(32)を式(19)に代入することにより、モデル制御器12Cを用いた場合の閉ループ系は、以下の式(33)で表される。
Figure JPOXMLDOC01-appb-M000034
 同様に図9と図10のモデル制御器12D、12Eを用いた場合の閉ループ系を計算する。図9のモデル制御器12Dを用いた場合、モデルサブ制御器121Dから出力されるモデル入力変化量ΔuM(i)は、以下の式(34)、(35)で計算される。
Figure JPOXMLDOC01-appb-M000035
Figure JPOXMLDOC01-appb-M000036
 よって式(34)、(35)を式(19)に代入することにより、モデル制御器12Dを用いた場合の閉ループ系は、以下の式(36)で表される。
Figure JPOXMLDOC01-appb-M000037
 また、図10のモデル制御器12Eを用いた場合、モデルサブ制御器121Eから出力されるモデル入力変化量ΔuM(i)は、以下の式(37)で計算される。
Figure JPOXMLDOC01-appb-M000038
 よって式(35)、(37)を式(19)に代入することにより、モデル制御器12Eを用いた場合の閉ループ系は、以下の式(38)で表される。
Figure JPOXMLDOC01-appb-M000039
 式(33)、(36)、(38)はそれぞれ式(30)と同じ形式をしている式であるため、実施の形態2と同様の方法により、最大出力許容集合O∞iを計算することが可能である。最大出力許容集合O∞iを用いて、モデル制御器決定部11Bが制御制約である式(20)を破らず、かつ制御出力y(i)が目標値r(i)に最も早く追従する制御器を選択すれば、上記制御制約を破らず、かつ追従が早い制御系が得られる。最大出力許容集合O∞iを用いてモデル制御器決定部11Bによって予め定められた複数の候補からモデル制御器12を決定する方法は実施の形態2で説明した方法と同じであるため、ここでは説明を省略する。
 本実施の形態に係るモータ制御装置300によれば、上記実施の形態1および2と同様に、1ステップ前のモデル入力uM(i-1)を用いてモデル入力uM(i)を生成するため、モデル入力変化量ΔuM(i)を新たな入力にすることができる。その結果、モデル入力uM(i)のみならず、モデル入力変化量ΔuM(i)がある所定の値より大きくならない制御系を容易に実現することが可能となる。つまり、トルク飽和やトルク変化量飽和、そしてトルク変化量飽和と密接な関係がある電圧飽和を防止しつつ、高速高精度なモータ制御装置を得ることが可能である。また、モデル制御器決定部が異なるモデル制御器を決定し、モデル入力uM(i)を計算しても、モデル入力uM(i)が急激に変化することを防止することが可能である。
 また、本実施の形態においても、モデル入力uM(i)の計算は、モデル制御器の決定と、数式モデル14の状態変数xM(i)とモデル制御器の演算だけである。したがって、計算時間が短くできるため、サンプリング時間も短くすることが可能である。
 また、本実施の形態においても、上記の実施の形態1および2と同様に、過去モデル入力として1ステップ前のモデル入力を使用したが、必ずしも1ステップ前に限るものではなく、例えば複数ステップ前のモデル入力を利用して同様の結果を持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施の形態と同様の効果が得られる。
 さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態1乃至3それぞれに示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、上記実施の形態1乃至3にわたる構成要件を適宜組み合わせてもよい。
 以上のように、本発明にかかるモータ制御装置は、モータを含む制御対象の制御に有用であり、特に、産業用機械装置を駆動するモータ制御装置に適している。
 1、1A、1B 規範モデル部
 2 フィードバック制御部
 3 モデル入力加算器
 4 制御対象
 5 検出器
 11、11A、11B モデル制御器決定部
 12、12C、12D、12E モデル制御器
 13 モデル入力メモリ
 14 数式モデル
 15 目標値記憶部
 21 モデル出力減算器
 22 フィードバック制御器
  100、200、300 モータ制御装置
 121、121C、121D、121E モデルサブ制御器
 122 モデル入力変化量加算器
 151 目標値メモリ
 1211C モデル偏差ゲイン乗算器
 1212C 目標値速度モデルゲイン乗算器
 1213C 目標値加速度モデルゲイン乗算器
 1214C 1ステップ前モデル入力ゲイン乗算器
 1215C モデル減算器
 1216C 目標値速度生成器
 1217C 目標値加速度生成器
 1218C、1214D、1214E 加算器
 1211D モデル偏差積分ゲイン乗算器
 1212D 積算値メモリ
 1213D 積算値加算器
 1211E 状態変数微分ゲイン乗算器
 1212E 状態変数メモリ
 1213E 状態変数微分減算器

Claims (12)

  1.  モータを含む制御対象の制御出力を追従させるべき目標値に基づいて、前記制御対象の所望の動作を表すモデル出力と、前記所望の動作に前記制御対象を駆動するモデル入力とを生成する規範モデル部と、
     前記制御出力と前記モデル出力を入力し、前記制御出力を前記モデル出力に追従させるフィードバック入力を生成するフィードバック制御部と、
     前記モデル入力及び前記フィードバック入力を加算して前記制御対象への制御入力を生成するモデル入力加算器と、
     を備えるモータ制御装置であって、
     前記規範モデル部は、
      前記目標値の現在の値および前記目標値の1つまたは複数の過去の値を目標値ベクトルとして保持する目標値記憶部と、
      前記制御対象の特性を模擬し、前記モデル入力に基づいて前記モデル出力及び状態変数を生成する数式モデルと、
      前記目標値ベクトル及び前記状態変数に基づいて、前記モデル入力を生成するモデル制御器と、
      前記目標値ベクトル及び前記状態変数に基づいて、予め定めた複数のモデル制御器の候補から前記モデル制御器を決定するモデル制御器決定部と、
      を含む、
     ことを特徴とするモータ制御装置。
  2.  前記規範モデル部は、
     前記モデル入力の過去の値である過去モデル入力を保持するモデル入力メモリをさらに備え、
     前記モデル制御器は、前記過去モデル入力にも基づいて、前記モデル入力を生成し、
     前記モデル制御器決定部は、前記過去モデル入力にも基づいて、前記モデル制御器を決定する
     ことを特徴とする請求項1に記載のモータ制御装置。
  3.  前記モデル制御器は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に基づいて前記モデル入力の変化量を計算し、前記過去モデル入力と前記変化量とを加算することにより前記モデル入力を生成する
     ことを特徴とする請求項2に記載のモータ制御装置。
  4.  前記モデル制御器決定部は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に基づいて数値ベクトルであるモデルゲインを決定し、
     前記モデル制御器は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に前記モデルゲインを乗じて前記変化量を生成する
     ことを特徴とする請求項3に記載のモータ制御装置。
  5.  前記モデル制御器は、前記変化量にモデルオフセットを加算してから前記過去モデル入力と加算することにより、前記モデル入力を生成し、
     前記モデル制御器決定部は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に基づいて前記モデルオフセットを決定する
     ことを特徴とする請求項4に記載のモータ制御装置。
  6.  前記モデル制御器決定部は、前記モデル入力及び前記変化量のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデル制御器の決定を行う
     ことを特徴とする請求項3に記載のモータ制御装置。
  7.  前記モデル制御器決定部は、前記モデル入力及び前記変化量のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲインを決定する
     ことを特徴とする請求項4に記載のモータ制御装置。
  8.  前記モデル制御器決定部は、前記モデル入力及び前記モデル入力の変化量のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲイン及び前記モデルオフセットを決定する
     ことを特徴とする請求項5に記載のモータ制御装置。
  9.  前記モデル制御器決定部は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に基づいて、予め定めた前記モデルゲインの候補を含んだゲインマップを用いて、前記モデルゲインを決定する
     ことを特徴とする請求項4、5または7に記載のモータ制御装置。
  10.  前記モデル制御器決定部は、前記目標値ベクトル、前記状態変数、及び前記過去モデル入力に基づいて、予め定めた前記モデルゲインの候補を含んだゲインマップ及び予め定めた前記モデルオフセットの候補を含んだオフセットマップを用いて、前記モデルゲイン及びモデルオフセットを決定する
     ことを特徴とする請求項5または8に記載のモータ制御装置。
  11.  前記モデル制御器決定部は、xM(i)がiステップ時の前記状態変数、uM(i)がiステップ時の前記モデル入力、ΔuM(i)がiステップ時の前記変化量、Xが前記状態変数の制約集合、Uが前記モデル入力の制約集合、ΔUが前記変化量の制約集合、Xfが前記状態変数の終端制約集合、Ufが前記モデル入力の終端制約集合、Qが状態重み、Rが入力重み、PNが終端重み、Nがホライゾンであるとき、以下の評価関数を最小にするように
    Figure JPOXMLDOC01-appb-M000001
     前記ゲインマップ及び前記オフセットマップを予め定める
     ことを特徴とする請求項10に記載のモータ制御装置。
  12.  前記数式モデルは、振動的な機械系をモデル化したものである
     ことを特徴とする請求項1から11のいずれか1項に記載のモータ制御装置。
PCT/JP2012/057217 2011-11-22 2012-03-21 モータ制御装置 WO2013077007A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/356,229 US9274514B2 (en) 2011-11-22 2012-03-21 Motor control apparatus
JP2013545806A JP5726328B2 (ja) 2011-11-22 2012-03-21 モータ制御装置
DE112012004848.2T DE112012004848B9 (de) 2011-11-22 2012-03-21 Motorregelungsvorrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-254929 2011-11-22
JP2011254929 2011-11-22

Publications (1)

Publication Number Publication Date
WO2013077007A1 true WO2013077007A1 (ja) 2013-05-30

Family

ID=48469470

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/057217 WO2013077007A1 (ja) 2011-11-22 2012-03-21 モータ制御装置

Country Status (5)

Country Link
US (1) US9274514B2 (ja)
JP (1) JP5726328B2 (ja)
DE (1) DE112012004848B9 (ja)
TW (1) TWI440295B (ja)
WO (1) WO2013077007A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3379349A1 (en) 2017-03-14 2018-09-26 Omron Corporation Control device, control program, and control system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493303B (zh) * 2013-10-23 2015-07-21 Hurco Automation Ltd Feedforward weight adjustment method and its calculation device
TWI506943B (zh) * 2013-12-05 2015-11-01 Rdc Semiconductor Co Ltd 運用於時變信號的信號處理裝置
CN104698970B (zh) * 2013-12-06 2017-06-16 金丽科技股份有限公司 运用于时变信号的信号处理装置
US10044315B2 (en) * 2016-07-15 2018-08-07 Onesubsea Ip Uk Limited Systems and methods for mitigating resonance in long cable drives
CN107632519B (zh) * 2016-07-18 2021-01-26 中国北方车辆研究所 一种双缸协同运动机构的稳定控制方法
EP3324254A1 (de) * 2016-11-17 2018-05-23 Siemens Aktiengesellschaft Einrichtung und verfahren zur bestimmung der parameter einer regeleinrichtung
RU2661749C1 (ru) * 2017-09-11 2018-07-19 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Устройство вычисления многопараметрического интегрального показателя

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285030A (ja) * 2004-03-31 2005-10-13 Yaskawa Electric Corp サーボ制御装置
JP2010130852A (ja) * 2008-11-28 2010-06-10 Yaskawa Electric Corp 電動機制御装置と予測制御方法
WO2011136160A1 (ja) * 2010-04-26 2011-11-03 三菱電機株式会社 サーボ制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2068329C (en) * 1990-09-18 1998-10-13 Ronald James Kadlec Digital servo control system for use in disk drives
JP2968631B2 (ja) * 1992-01-31 1999-10-25 新日本製鐵株式会社 熱延プロセス制御方法
JPH08152902A (ja) * 1994-11-30 1996-06-11 Hitachi Ltd 適応処理装置
JP3740189B2 (ja) * 1995-07-18 2006-02-01 株式会社日立グローバルストレージテクノロジーズ 位置決め適応制御装置並びに情報記憶装置
JPH0973618A (ja) * 1995-09-07 1997-03-18 Toshiba Corp ディスク記録再生装置のヘッド位置決め制御システム及びそのシステムに適用する速度制御方法
US6545836B1 (en) * 1999-11-12 2003-04-08 Acorn Technologies, Inc. Servo control apparatus and method using absolute value input signals
JP3863069B2 (ja) * 2002-06-06 2006-12-27 本田技研工業株式会社 プラントの制御装置
WO2004057584A2 (en) * 2002-12-19 2004-07-08 Koninklijke Philips Electronics N.V. Disc drive with improved resistance against mechanical shocks
US8065022B2 (en) * 2005-09-06 2011-11-22 General Electric Company Methods and systems for neural network modeling of turbine components
JP2010073284A (ja) * 2008-09-19 2010-04-02 Hitachi Global Storage Technologies Netherlands Bv ヘッドのサーボ制御システム及びヘッドのサーボ制御方法
JP5308799B2 (ja) * 2008-12-04 2013-10-09 エイチジーエスティーネザーランドビーブイ ディスク・ドライブ及びそのヘッドのサーボ制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285030A (ja) * 2004-03-31 2005-10-13 Yaskawa Electric Corp サーボ制御装置
JP2010130852A (ja) * 2008-11-28 2010-06-10 Yaskawa Electric Corp 電動機制御装置と予測制御方法
WO2011136160A1 (ja) * 2010-04-26 2011-11-03 三菱電機株式会社 サーボ制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3379349A1 (en) 2017-03-14 2018-09-26 Omron Corporation Control device, control program, and control system
US10386794B2 (en) 2017-03-14 2019-08-20 Omron Corporation Control device, storage medium, and control system by creating internal model of control target

Also Published As

Publication number Publication date
TW201322616A (zh) 2013-06-01
DE112012004848T5 (de) 2014-09-04
JPWO2013077007A1 (ja) 2015-04-27
JP5726328B2 (ja) 2015-05-27
TWI440295B (zh) 2014-06-01
DE112012004848B9 (de) 2018-03-22
DE112012004848B4 (de) 2018-01-11
US9274514B2 (en) 2016-03-01
US20140306641A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
JP5726328B2 (ja) モータ制御装置
JP5312688B2 (ja) サーボ制御装置
JP4541218B2 (ja) 指令生成装置
JP4697139B2 (ja) サーボ制御装置
JP2011501293A (ja) 運動制御システムにおいて終了条件を満たす方法およびシステム
EP2846207B1 (en) Sizing and tuning methodology for optimized motion control components and energy efficiency
JP2017102617A (ja) 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
JP2009503708A (ja) 機械における機械要素の移動案内のための方法および装置
CN105027013A (zh) 机床的进给轴控制方法及进给轴控制装置
CN104204977A (zh) 轨迹控制装置
CN111033395B (zh) 控制系统
CN110941242A (zh) 电动机控制装置
JP5441944B2 (ja) モータ制御装置
Chu et al. Efficient model predictive algorithms for tracking of periodic signals
JP2014117787A (ja) 制御装置
WO2002025390A1 (fr) Procede de servocommande
Manna et al. Comparative performance analysis of LQR and MPC for active suspension system
CN111487930B (zh) 基于对称图形替换技术的运动控制系统、方法、装置、机床和存储介质
Kia et al. Modeling and simulation of a single gain tuning ADRC controller in Matlab/Simulink
TWI406116B (zh) 數值控制方法及裝置
JP5573664B2 (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
CN111052001A (zh) 控制装置
Khasanov et al. The modeling of multicircuit control systems in robotized technological complex
Ruderman et al. Analysis of settling behavior and design of cascaded precise positioning control in presence of nonlinear friction
Nguyen et al. Integrator-Backstepping Based Control for Nonlinear Roll-to-Roll Web Dynamics

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: 12852217

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013545806

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14356229

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120120048482

Country of ref document: DE

Ref document number: 112012004848

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12852217

Country of ref document: EP

Kind code of ref document: A1