MOTOR CONTROL DEVICE

A motor control device includes a command value calculation unit that calculates a command value for controlling a motor, and a disturbance observer unit for estimating a disturbance applied to a mechanical device, based on the command value and rotation information of the motor, and to correct the command value based on the disturbance that is estimated. The disturbance observer unit has parameters that are adjusted to compensate for effects of the disturbance having a specific frequency that is an object of suppression. The parameters are adjusted such that a disturbance, applied to the mechanical device after effects of the disturbance are compensated for, has frequency characteristics corresponding to antiresonance characteristics of the mechanical device. The disturbance observer unit is configured to change the values of the parameters in accordance with the rotation information of the motor.

TECHNICAL FIELD

The present invention relates to a motor control device.

BACKGROUND ART

There conventionally is an electric power steering system. The electric power steering system (hereinafter referred to as “EPS”) assists steering by a steering wheel, by applying torque from a motor to a steering mechanism. A control device of the EPS calculates a target current value according to steering torque applied to the steering wheel, and controls power feeding to the motor, based on the target current value that is calculated. Thus, the motor generates torque corresponding to the steering torque.

In EPSs, vibrations generated due to torque ripple of the motor or reduction gear are readily conveyed to the steering wheel. Accordingly, torque differential control, such as described in Patent Document 1, for example, is performed. The control device calculates a torque differential value by differentiation of the steering torque detected by a torque sensor, and corrects the target current value in accordance with the torque differential value that is calculated. This suppresses vibrations due to torque ripple.

RELATED ART DOCUMENTS

Patent Documents

SUMMARY OF THE INVENTION

Problem to be Solved by the Invention

Executing torque differential control certainly does enable suppression of vibrations due to torque ripple. However, torque differential control may not be able to suppress vibrations due to torque ripple to a required level. Accordingly, there is demand to more appropriately suppress vibrations due to torque ripple. Also, motors are used as drive sources not only for electric power steering systems but also for various types of mechanical devices. There also is demand to reduce vibrations due to torque ripple in the motors of these mechanical devices as well.

Means for Solving the Problem

A motor control device according to an aspect of the present disclosure controls a motor of a mechanical device. The motor control device includes a command value calculation unit configured to calculate a command value for controlling the motor, and a disturbance observer unit configured to estimate a disturbance applied to the mechanical device, based on the command value and rotation information of the motor, and to correct the command value based on the disturbance that is estimated. The disturbance observer unit has a parameter that is adjusted to compensate for effects of the disturbance having a specific frequency that is an object of suppression. The disturbance that is applied to the mechanical device, after the effects of the disturbance have been compensated for, is a post-compensation disturbance, the parameter is adjusted such that the disturbance following compensation of the disturbance has frequency characteristics corresponding to antiresonance characteristics of the mechanical device. The disturbance observer unit is configured to change a value of the parameter in accordance with the rotation information of the motor.

MODES FOR CARRYING OUT THE INVENTION

First Embodiment

A motor control device 11 according to a first embodiment will be described. As illustrated in FIG. 1, the motor control device 11 controls a motor 12. The motor 12 generates torque for driving a mechanical device 13 in which the motor 12 is to be installed. The motor 12 is, for example, a three-phase brushless motor. The motor 12 has a rotation angle sensor 12A. The rotation angle sensor 12A detects a rotation angle θ of the motor 12. The rotation angle θ of the motor 12 is rotation information of the motor 12.

The motor control device 11 has a microcomputer 21, an inverter 22, and a current sensor 23. The microcomputer 21, which is a processing circuit, has a command value calculation unit 31 and a feedback calculation unit 32. These calculation units are functional parts realized by a CPU (central processing unit) of the microcomputer 21 executing a control program. The microcomputer 21 includes memory that stores the control program. The memory includes computer-readable media such as RAM (Random Access Memory) and ROM (Read Only Memory). However, each calculation unit being realized by software is only an example, and at least part of the calculation units may be realized by a hardware circuit such as a logic circuit.

The command value calculation unit 31 calculates a current command value I* for the motor 12 based on a state variable SSV indicating a state of the mechanical device 13, for example. The feedback calculation unit 32 calculates a difference between the current command value I* calculated by the command value calculation unit 31 and a value of a current Im of the motor 12 detected by way of the current sensor 23. The feedback calculation unit 32 generates a drive signal for the inverter 22 so as to eliminate the difference between the current command value I* and the value of the current Im of the motor 12.

The inverter 22 operates based on the drive signal generated by the feedback calculation unit 32. The inverter 22 has a plurality of switching elements. By switching these switching elements based on the drive signal, electric power in accordance with the current command value I* is generated. The electric power generated by the inverter 22 is supplied to the motor 12 via a power supply path made up of a bus bar, a cable, or the like. Thus, the motor 12 generates torque corresponding to the current command value I*.

As illustrated in the block diagram of FIG. 2, the motor control device 11 has a disturbance observer unit 33. The disturbance observer unit 33 is provided to estimate a disturbance Tld that is applied to a plant P, which is an object of control, and to compensate for effects of the disturbance Tld. Compensation for the effects of disturbance refers to reducing the effects of disturbance by taking into account characteristics of the disturbance when controlling a system that is subject to disturbance. The disturbance Tld is nonlinear torque. The disturbance Tld is, for example, torque ripple of the motor 12. Torque ripple is a disturbance that occurs periodically as the motor 12 rotates.

A control system for the motor 12 is a feedback control system that determines the current command value I* for the motor 12 based on the state variable SSV of the mechanical device 13. Supplying current from the inverter 22 to the motor 12 in accordance with the current command value I* rotates the motor 12 at a predetermined angular velocity ωm. Accordingly, a range from the current command value I* for the motor 12, to the angular velocity ωm of the motor 12, is an object of control in the feedback control system. The angular velocity ωm of the motor 12 is the rotation information of the motor 12. The plant P includes the mechanical device 13.

In a case in which an inertial number of the mechanical device 13 is “1”, and the mechanical device 13 and the motor 12 are regarded as being connected via an elastic element, the object of control can be regarded as being a two-inertial system in which two moments of inertia are connected by the elastic element. In this case, the object of control has frequency characteristics that include one set of resonance characteristics and antiresonance characteristics.

Also, in a case in which the inertial number of the mechanical device 13 is “2”, and the mechanical device 13 and the motor 12 are regarded as being connected via an elastic element, the object of control can be regarded as being a three-inertial system in which three moments of inertia are connected by the elastic element. In this case, the object of control has frequency characteristics that include two sets of resonance characteristics and antiresonance characteristics.

The disturbance observer unit 33 takes in the current command value I*, which is a target value of the plant P, and output of the plant P. An example of the output of the plant P is the angular velocity ωm of the motor 12. The angular velocity ωm is obtained by differentiation of the rotation angle θ of the motor 12 that is detected by the rotation angle sensor 12A. The disturbance observer unit 33 estimates the disturbance Tld based on the current command value I* and the angular velocity ωm of the motor 12. The disturbance observer unit 33 calculates a first correction value Ic1 for canceling out the disturbance Tld having a frequency that is an object of suppression.

The disturbance observer unit 33 has an estimator 33A, a multiplier 33B, and a subtractor 33C. The disturbance observer unit 33 may be made up of a hardware circuit, such as a logic circuit. The disturbance observer unit 33 is also referred to as a disturbance observer circuit. Also, the disturbance observer unit 33 may be a functional part realized by a CPU of a computer executing a control program.

The estimator 33A has a nominal plant Pn, a first observer gain L1, and a second observer gain L2. The nominal plant Pn is a model simulating the plant P that is the object of control. The estimator 33A calculates difference Δω between the angular velocity ωm of the motor 12 obtained as the output of the plant P and estimated angular velocity ωm{circumflex over ( )} of the motor 12 obtained as output of the nominal plant Pn, as shown in the following Expression (1). “{circumflex over ( )}” indicates an estimated value.

The estimator 33A multiplies the value of the difference Δω between the angular velocity ωm of the motor 12 and the estimated angular velocity ωm{circumflex over ( )} of the motor 12 by the second observer gain L2, as shown in the following Expression (2), thereby calculating a differential value dTld{circumflex over ( )} of an estimated disturbance Tld{circumflex over ( )}.

Note that the estimator 33A calculates the estimated disturbance Tld{circumflex over ( )} by integration of the differential value dTld{circumflex over ( )} of the estimated disturbance Tld{circumflex over ( )}. The nominal plant Pn calculates an estimated value ωm{circumflex over ( )} of the angular velocity ωm using the estimated disturbance Tld{circumflex over ( )}, a value obtained by multiplying the value of the difference Δω by the first observer gain L1, and a viscosity coefficient C of the motor 12.

The multiplier 33B calculates the first correction value Ic1 by multiplying the differential value dTld{circumflex over ( )} of the estimated disturbance Tld{circumflex over ( )} calculated by the estimator 33A, by a gain β. The first correction value Ic1 is a current value for canceling out vibration due to the disturbance Tld.

The subtractor 33C subtracts the first correction value Ic1 from the current command value I* to calculate a current command value I* in which the effects of the disturbance Tld have been compensated for. The disturbance Tld that is applied to the mechanical device 13 after the effects of the disturbance Tld have been compensated for by the disturbance observer unit 33 is referred to as post-compensation disturbance Tlast.

The post-compensation disturbance Tlast is expressed by the following Expression (3).

where “J” is a coefficient of inertia in which a moment of inertia of the mechanical device 13 is modeled. “C” is a viscosity coefficient that models the friction of the mechanical device 13. “s” is a Laplace operator. “L1” is the first observer gain. “L2” is the second observer gain. “β” is gain.

As shown in the graph of FIG. 3, the post-compensation disturbance Tlast has a notch, which is a spike-like drop, in frequency characteristics thereof. The post-compensation disturbance Tlast has frequency characteristics corresponding to the antiresonance characteristics of the plant P.

The first observer gain L1 is expressed by the following Expression (4).

where “ω” is frequency. “α” is a first parameter.

The second observer gain L2 is expressed by the following Expression (5).

where “J” is the coefficient of inertia in which the moment of inertia of the mechanical device 13 is modeled. “ω” is frequency.

The gain β is expressed by the following Expression (6).

where “α” is a first parameter, “ω” is frequency, and “γ” is a second parameter. The second parameter γ is a value of “1” or less, and can be set, for example, in steps of “0.1”.

A value of frequency ω is set to the frequency of the disturbance Tld to be suppressed. The frequency of the disturbance Tld to be suppressed is, for example, a center frequency fc of a notch in the disturbance Tld.

Further, adjusting the value of the first observer gain L1 enables a width Wn of the notch in the disturbance Tld to be adjusted. Adjusting the value of the first parameter α in Expression (4) enables the value of the first observer gain L1 to be adjusted.

Also, adjusting the value of the gain β enables a depth Dn of the notch in the disturbance Tld to be adjusted. Adjusting the value of the second parameter γ in Expression (6) enables the value of the gain β to be adjusted.

The first observer gain L1 and the gain β are parameters that are adjusted to suppress vibrations due to the disturbance Tld having a specific frequency that is the object of suppression. Adjusting the value of the first observer gain L1 and the value of the gain β enables a conveyance rate of the disturbance Tld to the plant P to be adjusted. The value of the first observer gain L1 and the value of the gain β are adjusted so that the post-compensation disturbance Tlast has frequency characteristics corresponding to the antiresonance characteristics of the plant P. Inputting the post-compensation disturbance Tlast having frequency characteristics corresponding to the antiresonance characteristics of the plant P into the plant P theoretically enables amplitude of vibrations of the mechanical device 13 due to the disturbance Tld having the specific frequency that is the object of suppression to be set to “0”.

Substituting Expressions (4), (5), and (6) into the above Expression (3) yields the following Expression (7).

When the value of the second term “2·ω·α·(1−γ)·s” in the curly brackets in the numerator of Expression (7) is “0”, the conveyance rate of the disturbance Tld having the specific frequency that is the object of suppression with respect to the plant P becomes “0”. Accordingly, setting the value of the second parameter γ to “1” enables the vibrations due to the disturbance Tld having the specific frequency that is the object of suppression to be cancelled out. Also, adjusting the value of the second parameter γ between “0 to 1” in steps of “0.1”, for example, enables the conveyance rate of the disturbance Tld having the specific frequency that is the object of suppression with respect to the plant P to be adjusted. The smaller the value of the second term “2·ω·α·(1−γ)·s” in the curly brackets in the numerator of Expression (7) becomes, the smaller the conveyance rate of the disturbance Tld having the specific frequency that is the object of suppression with respect to the plant P becomes.

Note that the second term in the curly brackets in the numerator of Expression (7), “2·ω·α·(1−γ)·s”, corresponds to the second term in the curly brackets in the numerator of Expression (3), “(−L2·β+L1·J) s”. To adjust the value of the second parameter γ is also to adjust the value of the gain β.

<Change in Frequency of Disturbance Tld>

The motor control device 11 can compensate for effects of disturbance Tld having a particular frequency. However, there are the following concerns regarding the motor control device 11.

That is to say, change in the angular velocity ωm of the motor 12 may cause change in the frequency of the disturbance Tld. Accordingly, in a case in which parameter values of the disturbance observer unit 33 are fixed to values specific to a particular frequency, there is a concern that the effects of the disturbance Tld cannot be compensated for as appropriate. The parameters are the gain β, the first observer gain L1, and the second observer gain L2.

Accordingly, the disturbance observer unit 33 changes the value of the gain β, the value of the first observer gain L1, and the value of the second observer gain L2, in accordance with the change in the angular velocity ωm of the motor 12, and hence in accordance with the change in the frequency of the disturbance Tld. In this case, the gain β is expressed by the following Expression (8). The first observer gain L1 is expressed by the following Expression (9). The second observer gain L2 is expressed by the following Expression (10).

where “t” is time. “ω(t)” is the frequency at time t, which may vary over time. “α” is the first parameter. “γ” is the second parameter. “J” is the coefficient of inertia in which the moment of inertia of the mechanical device 13 is modeled.

The following can be understood from Expression (8) to Expression (10). That is to say, change in the angular velocity ωm of the motor 12 causes change in the value of the frequency ω(t). When the value of the frequency ω(t) changes, the value of the gain β, the value of the first observer gain L1, and the value of the second observer gain L2 change in accordance with the change. In this way, the values of the parameters (β, L1, L2) of the disturbance observer unit 33 change in accordance with the change in the angular velocity ωm of the motor 12.

The disturbance observer unit 33 has a function of calculating the frequency of the disturbance Tld based on the angular velocity ωm of the motor 12. There is a correlative relation between the angular velocity ωm of the motor 12 and the frequency of the disturbance Tld. The disturbance observer unit 33 calculates the frequency of the disturbance Tld corresponding to the angular velocity ωm of the motor 12 based on the correlative relation between the angular velocity ωm of the motor 12 and the frequency of the disturbance Tld. The disturbance observer unit 33 stores, for example, a map that defines the relation between the angular velocity ωm of the motor 12 and the frequency of the disturbance Tld. The disturbance observer unit 33 uses the map to calculate the frequency of the disturbance Tld corresponding to the angular velocity ωm of the motor 12.

The estimator 33A uses the frequency of the disturbance Tld, which is calculated, to set the value of the first observer gain L1 and the value of the second observer gain L2. The estimator 33A calculates the differential value dTld{circumflex over ( )} of the estimated disturbance Tld{circumflex over ( )} by using the first observer gain L1 and the second observer gain L2 having values according to the frequency of the disturbance Tld that is calculated.

The multiplier 33B sets the value of the gain β using the frequency of the disturbance Tld that is calculated. The multiplier 33B multiplies the differential value dTld{circumflex over ( )} of the estimated disturbance Tld{circumflex over ( )} calculated by the estimator 33A by gain β having a value in accordance with the frequency of the disturbance Tld that is calculated, thereby calculating the first correction value Ic1.

In this way, the disturbance observer unit 33 calculates the frequency of the disturbance Tld which changes in accordance with the change in the angular velocity ωm of the motor 12. Also, the disturbance observer unit 33 changes the value of the gain β, the value of the first observer gain L1, and the value of the second observer gain L2 in accordance with the change in the frequency of the disturbance Tld. This enables compensation for the effects of the disturbance Tld over a broader frequency range. That is to say, as indicated by the arrow X in the graph in FIG. 3, even when the center frequency fc of the disturbance Tld to be eliminated fluctuates, the disturbance Tld having the center frequency fc that is fluctuating can be eliminated with pinpoint precision.

However, in a case in which the parameter values of the disturbance observer unit 33 are changed in accordance with change in the frequency of the disturbance Tld, a situation may arise in which other concerns than the disturbance Tld arise. This situation is, for example, a situation in which the angular velocity ωm of the motor 12 is slower and the amount of change in the angular velocity ωm of the motor 12 per unit time is greater. Under this situation, there is concern that torque fluctuations of the motor 12 other than those suppressing the disturbance Tld will occur, due to changing the parameter values of the disturbance observer unit 33 in accordance with change in the frequency of the disturbance Tld.

Accordingly, in order to suppress torque fluctuations of the motor 12 due to change in the parameter values of the disturbance observer unit 33 in accordance with change in the frequency of the disturbance Tld, the first observer gain L1 may be set as in the following Expression (11).

The second term on the right side of Expression (11), which is “(dω(t)/dt)/ω(t)”, is a correction term for the first observer gain L1. The correction term is set based on the perspective of suppressing torque fluctuation of the motor 12 due to change in the parameter value of the disturbance observer unit 33 in accordance with change in the frequency of the disturbance Tld. When the frequency of the disturbance Tld does not change, i.e., when the angular velocity ωm of the motor 12 is constant, the value of the correction term is “0”. When the frequency of the disturbance Tld changes, i.e., when the angular velocity ωm of the motor 12 changes, the correction term becomes a value other than “0”, thereby correcting the value of the first observer gain L1.

In this way, the disturbance observer unit 33 corrects the value of the first observer gain L1 in accordance with change in the frequency of the disturbance Tld in conjunction with change in the angular velocity ωm of the motor 12. This enables torque fluctuation of the motor 12 other than for suppressing the disturbance Tld, due to changing the parameter values of the disturbance observer unit 33 in accordance with change in the frequency of the disturbance Tld, to be suppressed. Accordingly, even when the parameter values of the disturbance observer unit 33 are changed in accordance with change in the frequency of the disturbance Tld, the effects of the disturbance Tld can be compensated for as appropriate.

<Effects of First Embodiment>

The first embodiment has the following effects.

(1-1) The disturbance observer unit 33 estimates the disturbance Tld using the nominal plant Pn that is a model simulating the plant P, and corrects the current command value I* based on the disturbance Tld that is estimated. The disturbance observer unit 33 has parameters that are adjusted to suppress vibrations due to the disturbance Tld having the specific frequency that is the object of suppression. Adjusting these parameters enables compensating just for the effects of the disturbance Tld having the specific frequency that is the object of suppression. The parameters are adjusted such that the post-compensation disturbance Tlast has frequency characteristics corresponding to the antiresonance characteristics of the plant P. Inputting the post-compensation disturbance Tlast that has frequency characteristics corresponding to the antiresonance characteristics of the plant P to the plant P enables vibrations occurring in the plant P to be suppressed or to be canceled out.

(1-2) The disturbance observer unit 33 estimates the disturbance Tld applied to the mechanical device 13 based on the current command value I* and the angular velocity ωm of the motor 12. Unlike in the case in which the rotation angle θ of the motor 12 is used, there is no need to calculate the midpoint of the motor 12. The midpoint of the motor 12 is the rotation angle θ of the motor 12 corresponding to the reference operating state of the mechanical device 13. Accordingly, the motor control device 11 does not need to have a function of calculating the midpoint of the motor 12.

(1-3) The disturbance observer unit 33 calculates the first correction value Ic1 for the current command value I* by multiplying the differential value dTld{circumflex over ( )} of the estimated disturbance Tld{circumflex over ( )} by the gain β. Multiplying the differential value dTld{circumflex over ( )} by the gain β is all that is necessary, and accordingly the first correction value Ic1 can be easily calculated.

(1-4) The post-compensation disturbance Tlast that is applied to the plant P after the effects of the disturbance Tld have been compensated for has conveyance characteristics expressed by the following Expression (A). This is based on Expression (3) above.

When the value of the second term “(−L2·β+L1·J) s” in the numerator of Expression (A) is “0”, the conveyance rate of the disturbance Tld to the plant P theoretically becomes “0”. Accordingly, the value of the gain β of the disturbance observer unit 33 is adjusted such that the value of the second term of the numerator of Expression (A) becomes “0” or a value closer to “0”. Adjusting the value of the gain β enables the disturbance Tld to be suppressed more appropriately.

(1-5) The disturbance observer unit 33 changes the value of the gain β, the value of the first observer gain L1, and the value of the second observer gain L2, in accordance with the change in the angular velocity ωm of the motor 12, and hence in accordance with the change in the frequency of the disturbance Tld. This enables compensation for the effects of the disturbance Tld over a broader frequency range. That is to say, even when the center frequency f of the disturbance Tld to be eliminated fluctuates, the disturbance Tld having the center frequency fc that is fluctuating can be eliminated with pinpoint precision.

(1-6) When the angular velocity ωm of the motor 12 changes, the disturbance observer unit 33 corrects the value of the first observer gain L1 in order to suppress torque fluctuations of the motor 12 due to change in the parameter values. The disturbance observer unit 33 corrects the value of the first observer gain L1 in accordance with change in the frequency of the disturbance Tld in conjunction with change in the angular velocity ωm of the motor 12. This enables torque fluctuation of the motor 12 other than for suppressing the disturbance Tld, due to changing the parameter values of the disturbance observer unit 33 in accordance with change in the frequency of the disturbance Tld, to be suppressed. Accordingly, even when the parameter values of the disturbance observer unit 33 are changed in accordance with change in the frequency of the disturbance Tld, the effects of the disturbance Tld can be compensated for as appropriate.

Second Embodiment

The motor control device 11 according to a second embodiment will be described. The present embodiment basically has the same configuration as that of the first embodiment in FIG. 1 to FIG. 3 described above. Accordingly, members and configurations that are the same as those in the first embodiment will be denoted by the same signs as those therein, and detailed description thereof will be omitted.

The mechanical device 13 may be an electric power steering system. In this case, the motor 12 is an assisting motor. The assisting motor generates assisting torque that is applied to the steering mechanism of the vehicle. The assisting torque is a torque for assisting steering by the steering wheel. The steering mechanism includes a steering shaft connected to steering wheels, and a turning shaft that steers the steered wheels of the vehicle. The assisting torque is applied to the steering shaft or the turning shaft. The command value calculation unit 31 calculates the current command value I* for the assisting motor, in accordance with steering torque Th detected by a torque sensor. The steering torque Th is torque applied to the steering wheel. The steering torque Th is a state variable SSV indicating a steering state of the steering system.

The mechanical device 13 may be a steer-by-wire steering system. In this case, the motor 12 is a reaction force motor or a steering motor. The reaction force motor generates a steering reaction torque that is applied to the steering shaft of the vehicle. The steering reaction torque is a torque in an opposite direction of a steering direction of the steering wheel. The command value calculation unit 31 calculates the current command value I* for the reaction force motor, in accordance with the steering torque Th detected by the torque sensor. The steering motor generates steering torque for steering the steered wheels of the vehicle. The command value calculation unit 31 calculates the current command value I* for the steering motor in accordance with a steering angle of the steering wheel. The steering angle is calculated, for example, based on the rotation angle θ of the motor 12 detected by the rotation angle sensor 12A. The steering torque Th and the steering angle are the state variable SSV indicating the steering state of the steering system.

In a case in which the motor 12 is an assist motor or a reaction motor, the motor control device 11 may be configured as follows.

That is to say, as indicated by the long dashed double-short dashed line in FIG. 2, the motor control device 11 has a compensator 34 and a multiplier 35. The compensator 34 calculates a torque differential value by differentiation of the steering torque Th detected by the torque sensor, and calculates a compensation amount dTca for compensating for the effects of the disturbance Tld in accordance with the torque differential value that is calculated. The multiplier 35 calculates a second correction value Ic2 by multiplying the compensation amount dTca by the gain β. The second correction value Ic2 is a current value. The subtractor 33C adds the second correction value Ic2 to the current command value I*. This increases responsivity of the motor torque as to changes in the steering torque Th. Thus, a smoother steering feel can be obtained. Also, advantages of suppressing disturbances, such as reverse input vibration from the steered wheels, brake vibrations generated due to brake operations, or the like, can also be obtained.

The compensator 34 is expressed by the following Expression (12). Expression (12) is a second-order differential equation.

where “α2” is a first coefficient. The first coefficient is a coefficient of the second-order differential term, which is the first term on the left side of Expression (12). “α1” is a second coefficient. The second coefficient is a coefficient of the first-order differential term, which is the second term on the left side of Expression (12). “α0” is a third coefficient. “t” is time. “x0(t)” is the input to the compensator 34, which is the steering torque Th here. “Td” is the output of the compensator 34, which is the compensation amount dTca here.

In order to accommodate change in the frequency of the disturbance Tld in conjunction with change in the angular velocity ωm of the motor 12, the first coefficient α2, the second coefficient α1, and the third coefficient do are set as expressed by the following Expressions (13) to (15).

where “t” is time. “ω(t)” is the frequency at time t, which may vary over time. “α” is the first parameter.

When the value of the frequency ω(t) of the disturbance Tld changes in accordance with change in the angular velocity ωm of the motor 12, the value of the first coefficient α2 and the value of the second coefficient α1 change in accordance with the change. This enables the compensator 34 to perform compensation for the effects of disturbance Tld over a broader frequency range.

However, there is a concern that, due to changing the value of the first coefficient α2 and the value of the second coefficient α1 in accordance with change in the frequency of the disturbance Tld, torque fluctuation may be caused in the motor 12 other than those suppressing the disturbance Tld.

Accordingly, in order to suppress torque fluctuation of the motor 12 due to change in the value of the first coefficient α2 and the value of the second coefficient α1 in accordance with change in the frequency of the disturbance Tld, the second coefficient α1 may be set as shown in the following Expression (16).

where “t” is time. “ω(t)” is the frequency at time t, which may vary over time. “α” is the first parameter. “α2(t)” is the first coefficient of the compensator 34 at time t.

The second term on the right side of Expression (16), “α2(t)·(dω(t)/dt)/ω(t)”, is a correction term for the second coefficient α1 of the compensator 34. The correction term is set based on the perspective of suppressing torque fluctuation of the motor 12 due to change in the value of the first coefficient α2 and the value of the second coefficient α1 of the compensator 34 in accordance with change in the frequency of the disturbance Tld. When the frequency of the disturbance Tld does not change, i.e., when the angular velocity ωm of the motor 12 is constant, the value of the correction term is “0”. When the frequency of the disturbance Tld changes, i.e., when the angular velocity ωm of the motor 12 changes, the correction term becomes a value other than “0”, thereby correcting the value of the second coefficient α1.

In this way, the compensator 34 corrects the value of the second coefficient α1 in accordance with change in the frequency of the disturbance Tld in conjunction with change in the angular velocity ωm of the motor 12. This enables torque fluctuations of the motor 12 other than those for suppressing the disturbance Tld, due to changing the values of the coefficients (α1, α2) of the compensator 34 in accordance with change in the frequency of the disturbance Tld, to be suppressed.

<Effects of Second Embodiment>

The second embodiment has the following effects in addition to the effects in sections (1-1) to (1-6) of the first embodiment described above.

(2-1) The compensator 34 changes the value of the first coefficient α2, which is the coefficient of the second-order differential term of the second-order differential equation representing the compensator 34, and the value of the second coefficient α1, which is the coefficient of the first-order differential term, in accordance with change in the angular velocity ωm of the motor 12, and hence, in accordance with change in the frequency of the disturbance Tld. This enables compensation for the effects of the disturbance Tld over a broader frequency range. That is to say, even when the center frequency fc of the disturbance Tld to be eliminated fluctuates, the disturbance Tld having the center frequency fc that is fluctuating can be eliminated with pinpoint precision.

(2-2) When the angular velocity ωm of the motor 12 changes, the compensator 34 corrects the value of the second coefficient α1 in order to suppress torque fluctuations of the motor 12 due to change in the value of the first coefficient α2 and the value of the second coefficient α1. The compensator 34 corrects the value of the second coefficient α1 in accordance with change in the frequency of the disturbance Tld in conjunction with change in the angular velocity ωm of the motor 12. This enables torque fluctuations of the motor 12 other than those for suppressing the disturbance Tld, due to changing the values of the coefficients (α1, α2) of the compensator 34 in accordance with change in the frequency of the disturbance Tld, to be suppressed. Accordingly, even when the values of the coefficients (α1, α2) of the compensator 34 are changed in accordance with change in the frequency of the disturbance Tld, the effects of the disturbance Tld can be compensated for as appropriate.

Other Embodiments

The present embodiment may be carried out modified as follows.