WO2020070988A1 - 振動抑制装置、振動抑制方法及びプログラム - Google Patents

振動抑制装置、振動抑制方法及びプログラム

Info

Publication number
WO2020070988A1
WO2020070988A1 PCT/JP2019/032249 JP2019032249W WO2020070988A1 WO 2020070988 A1 WO2020070988 A1 WO 2020070988A1 JP 2019032249 W JP2019032249 W JP 2019032249W WO 2020070988 A1 WO2020070988 A1 WO 2020070988A1
Authority
WO
WIPO (PCT)
Prior art keywords
vibration
unit
torque
angular velocity
vibration suppression
Prior art date
Application number
PCT/JP2019/032249
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 US17/268,043 priority Critical patent/US11669055B2/en
Priority to CN201980064880.XA priority patent/CN112840276B/zh
Priority to KR1020217009265A priority patent/KR102553575B1/ko
Priority to EP19869956.3A priority patent/EP3862820A4/en
Publication of WO2020070988A1 publication Critical patent/WO2020070988A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16FSPRINGS; SHOCK-ABSORBERS; MEANS FOR DAMPING VIBRATION
    • F16F15/00Suppression of vibrations in systems; Means or arrangements for avoiding or reducing out-of-balance forces, e.g. due to motion
    • F16F15/002Suppression of vibrations in systems; Means or arrangements for avoiding or reducing out-of-balance forces, e.g. due to motion characterised by the control method or circuitry
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16FSPRINGS; SHOCK-ABSORBERS; MEANS FOR DAMPING VIBRATION
    • F16F15/00Suppression of vibrations in systems; Means or arrangements for avoiding or reducing out-of-balance forces, e.g. due to motion
    • F16F15/10Suppression of vibrations in rotating systems by making use of members moving with the system
    • F16F15/18Suppression of vibrations in rotating systems by making use of members moving with the system using electric, magnetic or electromagnetic means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/14Estimation or adaptation of machine parameters, e.g. flux, current or voltage
    • 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/04Arrangements or methods for the control of AC motors characterised by a control method other than vector control specially adapted for damping motor oscillations, e.g. for reducing hunting
    • 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/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • 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
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39195Control, avoid oscillation, vibration due to low rigidity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39199Active vibration absorber
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39241Force and vibration control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39355Observer, disturbance observer

Definitions

  • the present invention relates to a vibration suppression device that suppresses vibration of an operation unit in a mechanical system having a natural vibration mode, including an operation unit, an actuator unit that operates the operation unit, and an elastic body that connects the operation unit and the actuator unit. , A vibration suppression method and a program.
  • a current corresponding to a disturbance torque obtained from a disturbance observer attached to a motor in a drive system including an elastic body is passed through a band-pass filter to obtain a vibration torque (current value) generated by the elastic body.
  • An open-loop vibration suppression method in which (torque) is amplified by a gain K C and subtracted from a motor current command (torque command) is known (for example, see Patent Document 1).
  • An object of the present invention is to reduce a possibility that erroneous vibration suppression is performed due to a modeling error of a mechanical system.
  • the present invention relates to a vibration of an operating unit in a mechanical system having a natural vibration mode, including an operating unit, an actuator that operates the operating unit, and an elastic body that connects the operating unit and the actuator unit.
  • Generating means for generating a drive signal for driving the actuator unit estimating means for estimating a measured amount related to the mechanical system, and generating means based on the measured amount estimated by the estimating means.
  • a vibration suppression device provided with:
  • the period during which the modeling error increases may be a period before and after the direction of the angular velocity of the actuator unit is reversed.
  • the estimating means may estimate the measured quantity by using a differential value of a state quantity in a state equation of the mechanical system.
  • correction means may correct the drive signal by performing positive feedback on the drive signal based on the measured amount.
  • the measured value may be an estimated value of the vibration torque of the actuator section or an estimated value of the differential value of the vibration torque of the actuator section.
  • the estimating means may calculate the estimated value of the vibration torque or the estimated value of the differential value of the vibration torque from the disturbance by performing a filtering process on the estimated disturbance.
  • the changing means may use a convergence gain in the filter processing as a gain.
  • the measurement quantity may be an estimated value of the vibration torque of the actuator section or a differential value of the estimated value of the vibration torque of the actuator section.
  • the estimating means may calculate an estimated value of the vibration torque from the disturbance by performing a forgetting factor and a weighted least square estimation on the estimated disturbance.
  • the changing means may use the weight in the least squares estimation with the forgetting factor and the weight as the gain.
  • the measured amount may be an estimated value of the angular velocity of the operating unit.
  • the changing means may use a convergence gain used when calculating the estimated value of the angular velocity as the gain.
  • the measurement amount may be an estimated value of the angular velocity of elastic deformation of the elastic body.
  • a mechanical system having a natural vibration mode including an operation unit, an actuator unit for operating the operation unit, and an elastic body connecting the operation unit and the actuator unit.
  • a suppression method a gain is changed so that the effect of the increase in the modeling error is reduced during a period in which the modeling error of the mechanical system increases, and the measurement related to the mechanical system is performed without changing the gain outside the period.
  • a vibration suppression method including a step of estimating an amount and a step of correcting a drive signal for driving the actuator unit based on the estimated measured amount.
  • the present invention provides a vibration suppressing vibration of an operating unit in a mechanical system having a natural vibration mode, including an operating unit, an actuator unit for operating the operating unit, and an elastic body connecting the operating unit and the actuator unit.
  • a program that causes a computer to function as a suppression device the computer comprising: a generation unit configured to generate a drive signal for driving an actuator unit; an estimation unit configured to estimate a measurement amount related to a mechanical system; and a measurement amount estimated by the estimation unit. And a gain used by the estimating means so that the effect of the increase in the modeling error is reduced during a period in which the modeling error of the mechanical system increases.
  • a program for functioning as a changing means for changing is provided.
  • the possibility of erroneous vibration suppression due to a modeling error of a mechanical system can be reduced.
  • FIG. 1 is a diagram showing a configuration of a mechanical system 10 to which the present embodiment is applied. It is the graph which showed the simulation result of the vibration behavior when there is no vibration suppression among the vibration behaviors at the time of a minute motion. It is the graph which showed the simulation result of the vibration behavior at the time of performing a vibration suppression by the existing technique among the vibration behaviors at the time of a small motion.
  • FIG. 1 is a block diagram illustrating a configuration example of a machine control system according to a first embodiment.
  • (A) is a graph showing a disturbance estimation result in the periodic disturbance observer of the existing technology
  • (b) is a graph showing a disturbance estimation result in the periodic disturbance observer of the first embodiment.
  • FIG. 14 is a block diagram illustrating a configuration example when a periodic disturbance speed observer of a machine control system according to a third embodiment is configured. It is the flowchart which showed the operation example of the convergence gain change part of a controller in 3rd Embodiment, a periodic disturbance speed observer, etc. It is a block diagram showing the example of composition of the machine control system in a 4th embodiment. It is the flowchart which showed the operation example of the weight change part of a controller, the least square estimation part, etc. in 4th Embodiment.
  • FIG. 9 is a block diagram showing a flow for calculating an arm angular velocity estimated value from a motor angular velocity and a torque.
  • 9 is a graph showing a difference between the actual value of the arm angular velocity and the estimated value of the arm angular velocity when the convergence gain is not changed according to the target angular velocity.
  • 10 is a graph showing a result of performing feedback using an arm angular velocity estimated value when a convergence gain is not changed according to a target angular velocity.
  • 9 is a graph showing a difference between an actual value of an arm angular velocity and an estimated arm angular velocity when a convergence gain is changed according to a target angular velocity.
  • FIG. 9 is a graph showing a result of performing feedback using an arm angular velocity estimated value when a convergence gain is changed according to a target angular velocity. It is the flowchart which showed the operation example of the convergence gain change part of a controller, an arm angular velocity estimation observer, etc. in 5th Embodiment.
  • FIG. 1 is a diagram showing a configuration of a mechanical system 10 to which the present embodiment is applied.
  • the mechanical system 10 is a mechanical system having a natural vibration mode, which is configured by connecting an arm 1 and a motor 2 with an elastic body 3 such as a speed reducer.
  • Rotation angle theta M is returned from the motor 2.
  • the arm 1 is an example of an operation unit
  • the motor 2 is an example of an actuator unit
  • the command torque ⁇ to the motor 2 is an example of a drive signal for driving the actuator unit.
  • the instruction torque ⁇ and the rotation angle theta M is referred to as actuator information.
  • the equation of motion of the mechanical system 1 is given by the following equation.
  • the natural frequency of the arm 1 is ⁇ (K / J A ).
  • J A's arm 1 inertia (hereinafter, referred to as “arm inertia”)
  • J M is the motor 2 inertia (hereinafter, referred to as “motor inertia”)
  • K is the stiffness of the elastic body 3
  • f A is the arm 1 Frictional force (hereinafter, referred to as “arm frictional force”)
  • f M is the frictional force of motor 2 (hereinafter, “motor frictional force”)
  • f is the exciting force acting on arm 1
  • a disturbance observer may be configured, an output of the disturbance observer may be filtered to extract a vibration torque component, and a drive signal may be corrected by open-loop control.
  • the vibration torque component in the drive signal is generally minute and easily affected by modeling errors.
  • the influence of the frictional force becomes dominant, and the frictional force changes drastically during the folding operation.
  • the generated modeling error increases drastically, and the included frequency components also include various high-frequency components.
  • the output of the disturbance observer is greatly affected by the modeling error due to the frictional force at the time of turning back, and even if the filtering process is performed to extract the vibration torque component, the wrong component is extracted. Will be.
  • the phase is shifted by 90 ° or more, the effect of suppressing vibration is lost, and conversely, vibration may be applied. Due to the above-described modeling error, even with respect to the vibration torque component estimated by the existing technology, a phase shift of 90 ° or more with respect to the true value occurs, and consequently the vibration is caused. That is, at the time of turning back, the modeling error component is much larger than the vibration torque component, and in the existing technology, control is performed based on an incorrect estimation result.
  • FIGS. 2 and 3 are graphs showing simulation results of the vibration behavior at the time of a minute movement. Among them, FIG. 2 shows the vibration behavior when there is no vibration suppression, and FIG. 3 shows the vibration behavior when the vibration suppression is performed by the existing technology. From these figures, it can be seen that vibration is not suppressed at all by the existing technology.
  • FIG. 3 shows a simulation result when the exciting force f does not act.
  • the exciting force f acts, the phase shifts due to the modeling error. could be done.
  • the effect of the modeling error is reduced by reducing the gain of the estimator at a location where the modeling error (particularly, including a high-frequency component) is large. Specifically, during a period before and after the direction of the motor angular velocity in which the modeling error of the frictional force changes drastically, the convergence gain of the observer is reduced, or the weight in the least squares estimation is reduced. Reduce the effect of errors.
  • FIG. 4 is a block diagram illustrating a configuration example of the machine control system 100 according to the first embodiment.
  • the machine control system 100 includes a machine system 10 and a controller 20 that controls the machine system 10.
  • each function is realized by, for example, a CPU (not shown) reading and executing a program from a storage means (not shown) such as a ROM.
  • the controller 20 is provided as an example of the vibration suppression device.
  • the mechanical system 10 includes computing units 11 to 15.
  • the calculator 11 subtracts the arm friction force f A (d ⁇ A / dt) output from the calculator 12 from the excitation force f, and obtains the result obtained by subtracting K ⁇ output from the calculator 15. Then, this calculates the arm angular speed d [theta] A / dt by integrating the result of dividing the arm inertia J A, and outputs the computed arm angular velocity d ⁇ A / dt.
  • the calculator 12 acquires the arm angular velocity d ⁇ A / dt output by the calculator 11. Then, based on this, the arm friction force f A (d ⁇ A / dt) is calculated, and the calculated arm friction force f A (d ⁇ A / dt) is output.
  • the calculator 13 subtracts the motor frictional force f M (d ⁇ M / dt) output from the calculator 14 from the command torque ⁇ output from the controller 20, and adds K ⁇ output from the calculator 15 to the result. To get. Then, the motor angular velocity d ⁇ M / dt is calculated by integrating the result obtained by dividing the result by the motor inertia J M , and the calculated motor angular velocity d ⁇ M / dt is output.
  • the calculator 14 acquires the motor angular velocity d ⁇ M / dt output by the calculator 13. Then, based on this, the motor friction force f M (d ⁇ M / dt) is calculated, and the calculated motor friction force f M (d ⁇ M / dt) is output.
  • the calculator 15 obtains an elastic deformation speed d ⁇ / dt obtained by subtracting the motor angular speed d ⁇ M / dt output by the calculator 13 from the arm angular speed d ⁇ A / dt output by the calculator 11. Then, K ⁇ is calculated by integrating the result obtained by multiplying this by the rigidity K, and the calculated K ⁇ is output.
  • the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23.
  • the PID control unit 21 calculates a motor angular velocity d ⁇ M / dt fed back from the mechanical system 10 from a target angular velocity (hereinafter, referred to as “target angular velocity”) d ⁇ D / dt of the motor 2 instructed to the controller 20. Get the result of the subtraction. Then, feedback torque is output by performing PID control on this.
  • target angular velocity a target angular velocity
  • the inertia compensating unit 22 acquires the target angular velocity d ⁇ D / dt instructed to the controller 20. Then, an arm inertia model and a motor inertia model are applied to this to calculate inertia compensation “(J A ⁇ + J M ⁇ ) d 2 ⁇ D / dt 2 ”, thereby outputting a feedforward torque based on the inertia model. .
  • the friction compensator 23 obtains the target angular velocity d ⁇ D / dt instructed to the controller 20. Then, by applying an arm friction model and a motor friction model to this to calculate friction compensation “f A ⁇ (d ⁇ D / dt) + f M ⁇ (d ⁇ D / dt)”, feedforward torque based on the friction model is calculated. Is output.
  • a hat symbol is attached directly above the character, but in the text of the specification, a hat symbol is added after the character.
  • a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23 are provided as an example of a generation unit that generates a drive signal.
  • the controller 20 includes a vibration torque estimating unit 30.
  • the vibration torque estimating unit 30 obtains the motor angular velocity d ⁇ M / dt output from the mechanical system 10, and estimates the vibration torque d ⁇ ⁇ ⁇ which is an estimated value of the vibration torque generated by the elastic body 3 and acting on the motor 2. Is output.
  • the vibration torque estimation unit 30 includes a calculation unit 31 and a periodic disturbance observer 32.
  • the calculation unit 31 acquires the motor angular velocity d ⁇ M / dt output by the mechanical system 10. Then, by differentiating the result of multiplying the sum of the arm inertia J A and the motor inertia J M thereto, and outputs the inertia force.
  • the periodic disturbance observer 32 is a disturbance obtained by subtracting the command torque ⁇ to the motor 2 from the sum of the inertial force output by the calculation unit 31 and the torque based on the friction model output by the friction compensation unit 23. Obtain the torque d. Then, a filtering process for extracting only a vibration component having a natural vibration frequency ⁇ represented by the following equation with respect to the disturbance torque d is performed to calculate a vibration torque estimated value d ⁇ ⁇ , and the calculated vibration torque estimated value d ⁇ ⁇ is output.
  • the vibration torque estimation value d ⁇ ⁇ is used as an example of the measurement amount related to the mechanical system
  • the vibration torque estimation unit 30 is provided as an example of the estimation unit that estimates the measurement amount.
  • the controller 20 includes a calculation unit 33.
  • the calculation unit 33 acquires the vibration torque estimated value d ⁇ ⁇ output by the vibration torque estimation unit 30. Then, this calculates the vibration suppression torque by multiplying the feedback gain G d, and outputs the computed vibration suppression torque.
  • the feedforward torque based on the inertia model output by the inertia compensation unit 22 is added to the feedback torque output by the PID control unit 21, and the vibration suppression torque output by the calculation unit 33 is added to the result.
  • the calculation unit 33 is an example of a correction unit that corrects the drive signal based on the measurement amount. Then, the feedforward torque based on the friction model output by the friction compensator 23 is added to the result, and the result becomes the command torque ⁇ to the motor 2.
  • the controller 20 includes a convergence gain changing unit 34 in addition to these components.
  • the convergence gain changing unit 34 includes a high frequency component by correcting ⁇ corresponding to the convergence gain of the filter used in the periodic disturbance observer 32 according to the target angular velocity d ⁇ D / dt instructed to the controller 20.
  • the convergence gain ⁇ may be reduced when the target angular velocity d ⁇ D / dt is small. In the following, when the absolute value of the target angular velocity d ⁇ D / dt becomes 0.01 rad / s or less, the convergence gain ⁇ is set to 0, and the influence of the modeling error is eliminated.
  • the time when the target angular velocity d ⁇ D / dt becomes small is used as an example of the period in which the modeling error of the mechanical system increases, and the convergence gain ⁇ is used as an example of the gain used in the estimation means.
  • the convergence gain changing unit 34 is provided as an example of a changing unit that changes the gain so as to reduce the influence of the increase in the modeling error during the period in which the modeling error of the mechanical system increases.
  • FIG. 5A is a graph showing a disturbance estimation result in the periodic disturbance observer 32 of the existing technology
  • FIG. 5B is a graph showing a disturbance estimation result in the periodic disturbance observer 32 of the first embodiment. It is a graph. 5 (a) and 5 (b), in the existing technique, the excitation force could not be estimated at all due to the modeling error, whereas in the first embodiment, the excitation force was accurately calculated. It turns out that it is estimated.
  • FIG. 6 the feedback gain G d vibration torque estimated value d omega ⁇ was positive feedback as 1 is a graph showing the results of resonance ratio control so lose the disturbance. From FIG. 6, it can be seen that the vibration is suppressed to ⁇ ⁇ compared to the case where there is no vibration suppression shown in FIG. 2.
  • FIGS. 7 and 8 are graphs showing the results of performing the resonance ratio control by increasing the feedback gain and positively feeding back the vibration torque estimated value d ⁇ ⁇ . From FIG. 7, it can be seen that when the feedback gain Gd is set to 3, the vibration can be reduced to about 1/4. From FIG. 8, when the feedback gain Gd is set to 10, the vibration is reduced to about 1/11. It can be seen that the reduction has been achieved.
  • FIG. 9 is a flowchart illustrating an operation example of the convergence gain changing unit 34, the periodic disturbance observer 32, the calculating unit 33, and the like of the controller 20 according to the first embodiment.
  • the convergence gain changing unit 34 determines whether or not the absolute value of the target angular velocity d ⁇ D / dt instructed by the controller 20 is equal to or smaller than a threshold (for example, 0.01 rad / s). (Step 101). If it is determined that the absolute value of the target angular velocity d ⁇ D / dt is equal to or smaller than the threshold, the convergence gain changing unit 34 changes the convergence gain ⁇ ⁇ ⁇ ⁇ in the periodic disturbance observer 32 (Step 102).
  • a threshold for example 0.01 rad / s
  • the periodic disturbance observer 32 calculates a vibration torque estimated value d ⁇ ⁇ ⁇ by performing a filter process for extracting only a vibration component of the natural vibration frequency ⁇ with respect to the disturbance torque d (step 103). That is, if the convergence gain ⁇ has been changed in step 102, the estimated vibration torque d ⁇ ⁇ is calculated using the changed convergence gain ⁇ . On the other hand, if the convergence gain ⁇ has not been changed, the vibration torque estimation value d ⁇ ⁇ is calculated using the default convergence gain ⁇ .
  • the calculation unit 33 calculates a vibration suppression torque based on the vibration torque estimated value d ⁇ ⁇ calculated in Step 103 (Step 104).
  • the controller 20 outputs the command torque ⁇ corrected based on the vibration suppression torque calculated in step 104 to the motor 2 (step 105).
  • the periodic disturbance observer 32 is used for estimating the vibration torque estimated value d ⁇ ⁇ .
  • an estimating unit hereinafter, referred to as an estimating unit that performs a forgetting factor and a weighted least squares estimation) , "Least Squares Estimator" to achieve a similar result.
  • FIG. 10 is a block diagram showing a configuration example of a machine control system 200 according to the second embodiment.
  • the machine control system 200 includes a machine system 10 and a controller 20 that controls the machine system 10.
  • each function is realized by, for example, a CPU (not shown) reading and executing a program from a storage means (not shown) such as a ROM.
  • the controller 20 is provided as an example of the vibration suppression device.
  • the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. These configurations are the same as those described in the first embodiment, and thus description thereof is omitted.
  • the controller 20 includes a vibration torque estimating unit 40.
  • the vibration torque estimating unit 40 acquires the motor angular velocity d ⁇ M / dt output by the mechanical system 10 and generates the motor angular velocity d ⁇ M / dt by the elastic body 3, like the vibration torque estimating unit 30 in the first embodiment.
  • An estimated vibration torque d ⁇ ⁇ that is an estimated value of the acting vibration torque is output.
  • the vibration torque estimating unit 40 includes a calculating unit 41 and a least square estimating unit 42.
  • the calculation unit 41 acquires the motor angular velocity d ⁇ M / dt output by the mechanical system 10. Then, by differentiating the result of multiplying the sum of the arm inertia J A and the motor inertia J M thereto, and outputs the inertia force.
  • the least-squares estimating unit 42 is obtained by subtracting the command torque ⁇ to the motor 2 from the sum of the inertial force output by the calculating unit 41 and the torque based on the friction model output by the friction compensating unit 23. Obtain the disturbance torque d. Then, it calculates the vibration torque estimated value d omega ⁇ by performing least squares estimation of forgetting factors and weighted are expressed by the following equation with respect to the disturbance torque d, the calculated vibration torque estimated value d omega ⁇ Output.
  • g (t) is the weight at time t
  • is the forgetting factor
  • d (t) is the raw disturbance value at time t.
  • the vibration torque estimation value d ⁇ ⁇ is used as an example of the measurement amount related to the mechanical system
  • the vibration torque estimation unit 40 is provided as an example of the estimation unit that estimates the measurement amount.
  • the controller 20 includes a calculation unit 43.
  • the calculation unit 43 acquires the vibration torque estimated value d ⁇ ⁇ output from the vibration torque estimation unit 40. Then, this calculates the vibration suppression torque by multiplying the feedback gain G d, and outputs the computed vibration suppression torque.
  • the feedforward torque based on the inertia model output by the inertia compensation unit 22 is added to the feedback torque output by the PID control unit 21, and the vibration suppression torque output by the calculation unit 43 is added to the result.
  • the calculation unit 43 is an example of a correction unit that corrects the drive signal based on the measurement amount. Then, the feedforward torque based on the friction model output by the friction compensator 23 is added to the result, and the result becomes the command torque ⁇ to the motor 2.
  • the controller 20 includes a weight changing unit 44 in addition to these components.
  • the weight changing unit 44 changes the weight g (t) of the equation used in the least squares estimation unit 42 according to the target angular velocity d ⁇ D / dt instructed to the controller 20, thereby implementing the first embodiment.
  • a result similar to the form is obtained. Specifically, when the target angular velocity d ⁇ D / dt is low, the weight g (t) may be reduced.
  • graphs similar to those in FIGS. 5 to 8 are obtained.
  • FIG. 11 is a flowchart showing an operation example of the weight change unit 44, the least squares estimation unit 42, the calculation unit 43, and the like of the controller 20 according to the second embodiment.
  • the weight changing unit 44 determines whether or not the absolute value of the target angular velocity d ⁇ D / dt instructed by the controller 20 is equal to or less than a threshold value (for example, 0.01 rad / s). (Step 201). If it is determined that the absolute value of the target angular velocity d ⁇ D / dt is equal to or smaller than the threshold, the weight changing unit 44 changes the weight g (t) in the least square estimating unit 42 (Step 202).
  • a threshold value for example 0.01 rad / s
  • the least squares estimation unit 42 calculates the vibration torque estimated value d ⁇ ⁇ ⁇ by performing a least squares estimation with a forgetting factor and a weight on the disturbance torque d (step 203). That is, if the weight g (t) has been changed in step 202, the estimated vibration torque d ⁇ ⁇ is calculated using the changed weight g (t). On the other hand, if the weight g (t) has not been changed, the estimated vibration torque d ⁇ ⁇ is calculated using the default weight g (t).
  • the calculation unit 43 calculates a vibration suppression torque based on the vibration torque estimated value d ⁇ ⁇ calculated in Step 203 (Step 204).
  • the controller 20 outputs the command torque ⁇ corrected based on the vibration suppression torque calculated in step 204 to the motor 2 (step 205).
  • the vibration is suppressed by the resonance ratio control for controlling to lose the estimated vibration torque.
  • the differential value of the vibration torque is negatively fed back.
  • the vibration torque estimation value output from the periodic disturbance observer may be differentiated and fed back, or a periodic disturbance that outputs an estimated value of the vibration torque differential value (hereinafter referred to as “vibration torque differential value estimated value”).
  • a speed observer may be configured to feed back the estimated value of the vibration torque differential value.
  • FIG. 12 is a block diagram showing a configuration example when a periodic disturbance speed observer of the machine control system 300 according to the third embodiment is configured.
  • the machine control system 300 includes a machine system 10 and a controller 20 that controls the machine system 10.
  • each function is realized by, for example, a CPU (not shown) reading and executing a program from a storage means (not shown) such as a ROM.
  • the controller 20 is provided as an example of the vibration suppression device.
  • the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. These configurations are the same as those described in the first and second embodiments, and thus description thereof is omitted.
  • the controller 20 includes a vibration torque differential value estimating unit 50.
  • the vibration torque differential value estimating unit 50 obtains the motor angular velocity d ⁇ M / dt output from the mechanical system 10, and obtains the vibration torque which is an estimated value of the differential value of the vibration torque generated by the elastic body 3 and acting on the motor 2.
  • differential value estimate (dd ⁇ / dt) to output a ⁇ .
  • the vibration torque differential value estimation unit 50 includes a calculation unit 51 and a periodic disturbance speed observer 52.
  • the calculation unit 41 acquires the motor angular velocity d ⁇ M / dt output by the mechanical system 10. Then, by differentiating the result of multiplying the sum of the arm inertia J A and the motor inertia J M thereto, and outputs the inertia force.
  • the periodic disturbance speed observer 52 is obtained by subtracting the command torque ⁇ to the motor 2 from the sum of the inertial force output by the calculation unit 51 and the torque based on the friction model output by the friction compensation unit 23. Obtain the disturbance torque d. Then, calculates the vibration torque differential value estimate (dd ⁇ / dt) ⁇ by performing a filtering process to retrieve the vibration velocity component of the natural frequency omega represented by the following formula with respect to the disturbance torque d, is this operation vibration torque differential value estimate (dd ⁇ / dt) to output a ⁇ .
  • the vibration torque differential value estimating unit 50 As an example of a measurement quantity relating to mechanical systems, and by using a vibration torque differential value estimate (dd ⁇ / dt) ⁇ , as an example of estimation means for estimating the measured quantity, the vibration torque differential value estimating unit 50 are provided.
  • the controller 20 includes a calculation unit 53.
  • the vibration torque differential value estimating section outputs vibration torque differential value estimate by 50 (dd ⁇ / dt) ⁇ to get. Then, a vibration suppression torque is calculated by multiplying this by a feedback gain Gdv , and the calculated vibration suppression torque is output.
  • the feedforward torque based on the inertia model output by the inertia compensation unit 22 is added to the feedback torque output by the PID control unit 21, and from the result, the vibration suppression torque output by the calculation unit 53 is calculated. Is subtracted.
  • the calculation unit 53 is an example of a correction unit that corrects the drive signal based on the measurement amount. Then, the feedforward torque based on the friction model output by the friction compensator 23 is added to the result, and the result becomes the command torque ⁇ to the motor 2.
  • the controller 20 includes a convergence gain changing unit 54 in addition to these components.
  • the convergence gain changing unit 54 corrects ⁇ corresponding to the convergence gain of the filter used in the periodic disturbance speed observer 52 in accordance with the target angular velocity d ⁇ D / dt instructed to the controller 20, thereby changing the high-frequency component. Avoid the effects of folding back when the included modeling error increases. Specifically, the convergence gain ⁇ may be reduced when the target angular velocity d ⁇ D / dt is small.
  • graphs similar to those in FIGS. 6 to 8 are obtained in the third embodiment, in these graphs, the convergence gain ⁇ when the absolute value of the target angular velocity d ⁇ D / dt becomes 0.01 rad / s or less.
  • the time when the target angular velocity d ⁇ D / dt becomes small is used as an example of the period in which the modeling error of the mechanical system increases, and the convergence gain ⁇ is used as an example of the gain used in the estimation means.
  • the convergence gain changing unit 54 is provided as an example of a changing unit that changes the gain so as to reduce the influence of the increase in the modeling error during the period in which the modeling error of the mechanical system increases.
  • FIG. 13 is a flowchart illustrating an operation example of the convergence gain changing unit 54, the periodic disturbance speed observer 52, the calculation unit 53, and the like of the controller 20 according to the third embodiment.
  • the convergence gain changing unit 54 determines whether or not the absolute value of the target angular velocity d ⁇ D / dt instructed by the controller 20 is equal to or less than a threshold value (for example, 0.01 rad / s). (Step 301). When it is determined that the absolute value of the target angular velocity d ⁇ D / dt is equal to or smaller than the threshold, the convergence gain changing unit 54 changes the convergence gain ⁇ ⁇ ⁇ ⁇ in the periodic disturbance speed observer 52 (Step 302).
  • a threshold value for example 0.01 rad / s
  • the periodic disturbance speed observer 52 by performing filter processing to take out only the vibration velocity component of the natural frequency omega against disturbance torque d, calculates the vibration torque differential value estimate (dd ⁇ / dt) ⁇ (Step 303). That is, if the converged gain ⁇ is changed in step 302, using a convergence gain ⁇ that have been modified to calculate the vibration torque differential value estimate (dd ⁇ / dt) ⁇ . On the other hand, if no convergence gain ⁇ is changed, using the convergence gain ⁇ defaults to calculate the vibration torque differential value estimate (dd ⁇ / dt) ⁇ .
  • the arithmetic unit 53 calculates a vibration suppression torque (step 304).
  • the controller 20 outputs the command torque ⁇ corrected based on the vibration suppression torque calculated in step 304 to the motor 2 (step 305).
  • vibration torque estimated value differential value the differential value of the vibration torque estimated value (hereinafter referred to as “vibration torque estimated value differential value”) is negatively fed back.
  • vibration torque estimated value differential value the differential value of the vibration torque estimated value
  • FIG. 14 is a block diagram showing a configuration example of a machine control system 400 according to the fourth embodiment.
  • the machine control system 400 includes a machine system 10 and a controller 20 that controls the machine system 10.
  • each function is realized by, for example, a CPU (not shown) reading and executing a program from a storage means (not shown) such as a ROM.
  • the controller 20 is provided as an example of the vibration suppression device.
  • the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. These configurations are the same as those described in the first to third embodiments, and thus description thereof is omitted.
  • the controller 20 includes a vibration torque estimating unit 60.
  • the vibration torque estimating unit 60 obtains the motor angular velocity d ⁇ M / dt output by the mechanical system 10 similarly to the vibration torque estimating unit 40 in the second embodiment, generates the motor angular velocity d
  • An estimated vibration torque d ⁇ ⁇ that is an estimated value of the acting vibration torque is output.
  • the vibration torque estimating unit 60 includes a calculating unit 61 and a least square estimating unit 62.
  • the calculation unit 61 acquires the motor angular velocity d ⁇ M / dt output by the mechanical system 10. Then, by differentiating the result of multiplying the sum of the arm inertia J A and the motor inertia J M thereto, and outputs the inertia force.
  • the least squares estimation unit 62 is obtained by subtracting the command torque ⁇ to the motor 2 from the sum of the inertial force output by the calculation unit 61 and the torque based on the friction model output by the friction compensation unit 23. Obtain the disturbance torque d. Then, it calculates the vibration torque estimated value d omega ⁇ by performing least squares estimation of forgetting factors and weighted are expressed by the following equation with respect to the disturbance torque d, the calculated vibration torque estimated value d omega ⁇ Output.
  • g (t) is the weight at time t
  • is the forgetting factor
  • d (t) is the raw disturbance value at time t.
  • controller 20 includes a calculation unit 63 and a calculation unit 64.
  • Arithmetic unit 63 acquires vibration torque estimated value d ⁇ ⁇ output from vibration torque estimation unit 60. By differentiating this, the vibration torque estimated value differential value d ( d ⁇ d ) / dt is calculated, and the calculated vibration torque estimated value differential value d ( d ⁇ ⁇ ) / dt is output.
  • the vibration torque estimated value differential value d ( d ⁇ ⁇ ) / dt is used as an example of the measured amount related to the mechanical system
  • the vibration torque estimating unit 30 is used as an example of an estimating unit that estimates the measured amount.
  • an operation unit 63 is used as an example of the vibration torque estimated value differential value d ( d ⁇ ⁇ ) / dt.
  • the calculation unit 64 acquires the vibration torque estimated value differential value d ( d ⁇ ) / dt output by the calculation unit 63. Then, a vibration suppression torque is calculated by multiplying this by a feedback gain Gdv , and the calculated vibration suppression torque is output.
  • the feedforward torque based on the inertia model output by the inertia compensation unit 22 is added to the feedback torque output by the PID control unit 21, and from the result, the vibration suppression torque output by the calculation unit 64 is calculated. Is subtracted.
  • the calculation unit 64 is an example of a correction unit that corrects the drive signal based on the measurement amount. Then, the feedforward torque based on the friction model output by the friction compensator 23 is added to the result, and the result becomes the command torque ⁇ to the motor 2.
  • the controller 20 includes a weight changing unit 65 in addition to these components.
  • the weight changing unit 65 changes the weight g (t) of the equation used in the least squares estimation unit 62 in accordance with the target angular velocity d ⁇ D / dt instructed to the controller 20, thereby implementing the third embodiment.
  • a result similar to the form is obtained. Specifically, when the target angular velocity d ⁇ D / dt is low, the weight g (t) may be reduced.
  • graphs similar to those in FIGS. 6 to 8 are obtained.
  • FIG. 15 is a flowchart illustrating an operation example of the weight change unit 65, the least squares estimation unit 62, the calculation unit 63, the calculation unit 64, and the like of the controller 20 according to the fourth embodiment.
  • the weight changing unit 65 determines whether or not the absolute value of the target angular velocity d ⁇ D / dt instructed by the controller 20 is equal to or less than a threshold (for example, 0.01 rad / s). (Step 401). If it is determined that the absolute value of the target angular velocity d ⁇ D / dt is equal to or smaller than the threshold, the weight changing unit 65 changes the weight g (t) in the least square estimation unit 62 (Step 402).
  • a threshold for example 0.01 rad / s
  • the least-squares estimating unit 62 calculates a vibration torque estimated value d ⁇ ⁇ ⁇ by performing a least-squares estimation with a forgetting factor and a weight on the disturbance torque d (step 403). That is, if the weight g (t) has been changed in step 402, the estimated vibration torque d ⁇ ⁇ is calculated using the changed weight g (t). On the other hand, if the weight g (t) has not been changed, the estimated vibration torque d ⁇ ⁇ is calculated using the default weight g (t).
  • the arithmetic unit 63 by differentiating vibration torque estimated value d omega ⁇ calculated in step 403, calculates the vibration torque estimate differential value d (d ⁇ ⁇ ) / dt ( Step 404).
  • the calculation unit 64 calculates a vibration suppression torque based on the vibration torque estimated value differential value d ( d ⁇ ⁇ ) / dt calculated in Step 404 (Step 405).
  • the controller 20 outputs the command torque ⁇ corrected based on the vibration suppression torque calculated in step 405 to the motor 2 (step 406).
  • the observer for estimating the disturbance is configured.
  • an observer for estimating the arm angular velocity d ⁇ A / dt is configured.
  • FIG. 16 is a block diagram showing a configuration example of a machine control system 500 according to the fifth embodiment.
  • the machine control system 500 includes a machine system 10 and a controller 20 that controls the machine system 10.
  • each function is realized by, for example, a CPU (not shown) reading and executing a program from a storage means (not shown) such as a ROM.
  • the controller 20 is provided as an example of the vibration suppression device.
  • the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. These configurations are also the same as those described in the first to fourth embodiments, and thus description thereof is omitted.
  • the controller 20 includes an arm angular velocity estimating unit 70.
  • the arm angular velocity estimating unit 70 acquires the motor angular velocity d ⁇ M / dt output from the mechanical system 10 and outputs an estimated arm angular velocity (d ⁇ A / dt) ⁇ .
  • the arm angular velocity estimation unit 70 includes an arm angular velocity estimation observer 71.
  • the arm angular velocity estimation observer 71 is obtained by subtracting the torque based on the friction model output by the friction compensator 23 from the motor angular velocity d ⁇ M / dt output by the mechanical system 10 and the command torque ⁇ to the motor 2.
  • the obtained torque ⁇ M is obtained.
  • FIG. 17 is a block diagram showing a flow for calculating an estimated arm angular velocity (d ⁇ A / dt) ⁇ from the motor angular velocity d ⁇ M / dt and the torque ⁇ M.
  • the arithmetic unit 711 calculates the motor angular acceleration d 2 ⁇ M / dt 2 by differentiating the motor angular velocity d ⁇ M / dt.
  • the arithmetic unit 712 calculates the .tau.M / J M by multiplying the 1 / J M torque .tau.M.
  • the arithmetic unit 713 calculates the K ⁇ ⁇ / J M by multiplying the K / J M to epsilon ⁇ is calculated as described below.
  • the calculation unit 715 subtracts the .tau.M / J M from the motor angular acceleration d 2 ⁇ M / dt 2, resulting in the result of adding K ⁇ ⁇ / J M, multiplied by a convergence gain L 2, L 2 ⁇ (d 2 ⁇ M / dt 2 - ⁇ M / J M + K ⁇ ⁇ / J M) for calculating a.
  • the arithmetic unit 716 is, L 2 ⁇ the motor angular velocity d ⁇ M / dt (d 2 ⁇ M / dt 2 - ⁇ M / J M + K ⁇ ⁇ / J M) was added to the arm angular velocity estimate from the results (d [theta] A / Dt) ⁇ is calculated by integrating the result obtained by subtracting ⁇ . Further, the arithmetic unit 717, by multiplying the K / J A to the epsilon ⁇ , calculates a K ⁇ ⁇ / J A.
  • the arithmetic unit 718 by integrating the result of adding the L 1 ⁇ (d 2 ⁇ M / dt 2 - ⁇ M / J M + K ⁇ ⁇ / J M) to K ⁇ ⁇ / J A, arm angular velocity estimate (D ⁇ A / dt) ⁇ is calculated.
  • the arm angular velocity estimation observer 71 is realized in the form of a minimum-dimensional observer. Normally, the state value d ⁇ M / dt is replaced with the output value ⁇ M, f without using the differential value d 2 ⁇ M / dt 2 , but in this embodiment, the state variable d ⁇ M / dt is replaced with the output value ⁇ M, f This is realized in a form that leaves a differential value d 2 ⁇ M / dt 2 of d ⁇ M / dt. Note that this is an example of estimating the measurement amount using the differential value of the state quantity in the state equation of the mechanical system. Such a method is applicable not only to the fifth embodiment but also to the first to fourth embodiments.
  • an arm angular velocity estimated value (d ⁇ A / dt) ⁇ is used as an example of a measured amount related to a mechanical system
  • an arm angular velocity estimating unit 70 is provided as an example of an estimating unit that estimates the measured amount. I have.
  • the controller 20 includes a calculation unit 72.
  • the calculation unit 72 acquires the estimated arm angular velocity (d ⁇ A / dt) ⁇ output from the arm angular velocity estimation unit 70. Then, this calculates the vibration suppression torque by multiplying the feedback gain G v, and outputs the computed vibration suppression torque.
  • the feedforward torque based on the inertia model output by the inertia compensation unit 22 is added to the feedback torque output by the PID control unit 21, and from the result, the vibration suppression torque output by the calculation unit 72 is calculated. Is subtracted.
  • the calculation unit 72 is an example of a correction unit that corrects the drive signal based on the measurement amount. Then, the feedforward torque based on the friction model output by the friction compensator 23 is added to the result, and the result becomes the command torque ⁇ to the motor 2.
  • the controller 20 includes a convergence gain changing unit 73 in addition to these components.
  • the convergence gain changing unit 73 changes the convergence gains L 1 and L 2 used by the arm angular velocity estimation observer 71 according to the target angular velocity d ⁇ D / dt instructed to the controller 20. Specifically, when the target angular velocity d ⁇ D / dt is small, the convergence gains L 1 and L 2 may be reduced. In the following, when the absolute value of the target angular velocity d ⁇ D / dt becomes 0.01 rad / s or less, the convergence gains L 1 and L 2 are set to 0, and the influence of the modeling error is eliminated.
  • a case where the target angular velocity d ⁇ D / dt becomes small is used as an example of a period in which the modeling error of the mechanical system increases, and a convergence gain L 1 is used as an example of a gain used in the estimating means. , it uses a L 2, as an example of a changing means for changing the gain so that the influence of the increase in modeling errors is reduced during the period in which the modeling error of the mechanical system is increased, there is provided a converging gain change unit 73 .
  • FIGS. 18 and 19 are graphs showing simulation results when the convergence gains L 1 and L 2 are not changed according to the target angular velocity d ⁇ D / dt.
  • 18 shows the difference between the actual value of the arm angular velocity and the estimated value of the arm angular velocity. This figure shows that the estimated arm angular velocity deviates from the actual value of the arm angular velocity due to the modeling error.
  • FIG. 19 shows a result of performing feedback using the arm angular velocity estimated value in FIG. From this figure, it can be seen that the motor angular velocity greatly deviates from the target angular velocity by feeding back the arm angular velocity estimated value deviated from the actual value of the arm angular velocity. Further, from this, it is estimated that the arm angular velocity also largely deviates from the target angular velocity of the arm 1.
  • FIG. 20 and 21 are graphs showing simulation results when the convergence gains L 1 and L 2 are changed according to the target angular velocity d ⁇ D / dt.
  • FIG. 20 shows a difference between the actual value of the arm angular velocity and the estimated value of the arm angular velocity. From this figure, it can be seen that an arm angular velocity estimated value substantially matching the actual value of the arm angular velocity can be obtained.
  • FIG. 21 shows a result of performing feedback using the arm angular velocity estimated value in FIG. From this figure, it can be seen that a good vibration suppression effect can be obtained by feeding back an arm angular velocity estimated value that substantially matches the actual value of the arm angular velocity.
  • FIG. 22 is a flowchart showing an operation example of the convergence gain change unit 73, the arm angular velocity estimation observer 71, the calculation unit 72, and the like of the controller 20 in the fifth embodiment.
  • the convergence gain changing unit 73 determines whether or not the absolute value of the target angular velocity d ⁇ D / dt instructed by the controller 20 is equal to or less than a threshold value (for example, 0.01 rad / s). (Step 501). If it is determined that the absolute value of the target angular velocity d ⁇ D / dt is equal to or smaller than the threshold, the convergence gain changing unit 73 changes the convergence gains L 1 and L 2 of the arm angular velocity estimation observer 71 (Step 502).
  • a threshold value for example 0.01 rad / s
  • the arm angular velocity estimation observer 71 calculates the estimated arm angular velocity (d ⁇ A / dt) ⁇ by performing the processing shown in FIG. 17 (step 503). That is, if the convergence gains L 1 and L 2 have been changed in step 502, an estimated arm angular velocity (d ⁇ A / dt) ⁇ is calculated using the changed convergence gains L 1 and L 2 . On the other hand, if the convergence gains L 1 and L 2 have not been changed, the estimated arm angular velocity (d ⁇ A / dt) ⁇ is calculated using the default values of the convergence gains L 1 and L 2 .
  • the calculation unit 72 calculates a vibration suppression torque based on the estimated arm angular velocity (d ⁇ A / dt) ⁇ calculated in step 503 (step 504).
  • the controller 20 outputs the command torque ⁇ corrected based on the vibration suppression torque calculated in step 504 to the motor 2 (step 505).
  • the vibration suppression torque is calculated based on the estimated value (d ⁇ A / dt) ⁇ , but is not limited to this.
  • the vibration suppression torque may be calculated based on the estimated value (d ⁇ / dt) ⁇ of the elastic deformation speed of the elastic body 3.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)

Abstract

動作部と、動作部を作動させるアクチュエータ部と、動作部及びアクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける動作部の振動を抑制する振動抑制装置であって、アクチュエータ部を駆動する駆動信号を生成する生成手段と、機械システムに関する計測量を推定する推定手段と、推定手段により推定された計測量に基づいて、生成手段により生成された駆動信号を補正する補正手段と、機械システムのモデル化誤差が増大する期間において、モデル化誤差の増大の影響が小さくなるように、推定手段で用いられるゲインを変更する変更手段とを備えたことを特徴とする振動抑制装置。

Description

振動抑制装置、振動抑制方法及びプログラム
 本発明は、動作部と、動作部を作動させるアクチュエータ部と、動作部及びアクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、動作部の振動を抑制する振動抑制装置、振動抑制方法及びプログラムに関する。
 弾性体を含む駆動系におけるモータに取り付けた外乱オブザーバから得られた外乱トルクに対応する電流をバンドパスフィルタに通過させて、弾性体で発生する振動トルク(電流値)を得て、この電流値(トルク)をゲインKCで増幅し、モータの電流指令(トルク指令)から引くオープンループ振動抑制方法は、知られている(例えば、特許文献1参照)。
特開平7-337058号公報
 ここで、外乱オブザーバから得られた外乱トルクをフィルタ処理して振動トルクを取り出し、オープンループ制御にてトルク指令を補正する構成を採用した場合、機械システムのモデル化誤差の影響が大きいと、フィルタ処理で誤った振動トルク成分が取り出され、誤った振動抑制が行われる可能性がある。
 本発明の目的は、機械システムのモデル化誤差により誤った振動抑制が行われる可能性を低下させることにある。
 かかる目的のもと、本発明は、動作部と、動作部を作動させるアクチュエータ部と、動作部及びアクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、動作部の振動を抑制する振動抑制装置であって、アクチュエータ部を駆動する駆動信号を生成する生成手段と、機械システムに関する計測量を推定する推定手段と、推定手段により推定された計測量に基づいて、生成手段により生成された駆動信号を補正する補正手段と、機械システムのモデル化誤差が増大する期間において、モデル化誤差の増大の影響が小さくなるように、推定手段で用いられるゲインを変更する変更手段とを備えた振動抑制装置を提供する。
 ここで、モデル化誤差が増大する期間は、アクチュエータ部の角速度の方向が反転する前後の期間であってよい。
 また、推定手段は、機械システムの状態方程式における状態量の微分値を用いて、計測量を推定する、ものであってよい。
 更に、補正手段は、駆動信号に対して計測量に基づくポジティブフィードバックを行うことにより、駆動信号を補正する、ものであってよい。
 また、計測量は、アクチュエータ部の振動トルクの推定値又はアクチュエータ部の振動トルクの微分値の推定値であってよい。その場合、推定手段は、推定された外乱に対してフィルタ処理を行うことにより、外乱から振動トルクの推定値又は振動トルクの微分値の推定値を算出する、ものであってよい。そして、変更手段は、フィルタ処理における収束ゲインをゲインとして用いる、ものであってよい。
 更に、計測量は、アクチュエータ部の振動トルクの推定値又はアクチュエータ部の振動トルクの推定値の微分値であってもよい。その場合、推定手段は、推定された外乱に対して忘却因子及び重み付きの最小自乗推定を行うことにより、外乱から振動トルクの推定値を算出する、ものであってもよい。そして、変更手段は、忘却因子及び重み付きの最小自乗推定における重みをゲインとして用いる、ものであってもよい。
 更にまた、計測量は、動作部の角速度の推定値であってもよい。その場合、変更手段は、角速度の推定値を算出する際に用いられる収束ゲインをゲインとして用いる、ものであってもよい。
 或いは、計測量は、弾性体の弾性変形角速度の推定値であってもよい。
 また、本発明は、動作部と、動作部を作動させるアクチュエータ部と、動作部及びアクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、動作部の振動を抑制する振動抑制方法であって、機械システムのモデル化誤差が増大する期間において、モデル化誤差の増大の影響が小さくなるようにゲインを変更し、期間以外においてはゲインを変更せずに、機械システムに関する計測量を推定するステップと、推定された計測量に基づいて、アクチュエータ部を駆動する駆動信号を補正するステップとを含む振動抑制方法も提供する。
 更に、本発明は、動作部と、動作部を作動させるアクチュエータ部と、動作部及びアクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、動作部の振動を抑制する振動抑制装置として、コンピュータを機能させるプログラムであって、コンピュータを、アクチュエータ部を駆動する駆動信号を生成する生成手段と、機械システムに関する計測量を推定する推定手段と、推定手段により推定された計測量に基づいて、生成手段により生成された駆動信号を補正する補正手段と、機械システムのモデル化誤差が増大する期間において、モデル化誤差の増大の影響が小さくなるように、推定手段で用いられるゲインを変更する変更手段として機能させるためのプログラムも提供する。
 本発明によれば、機械システムのモデル化誤差により誤った振動抑制が行われる可能性を低下させることができる。
本実施の形態が適用される機械システム10の構成を示した図である。 微小運動時の振動挙動のうち振動抑制が無い場合の振動挙動のシミュレーション結果を示したグラフである。 微小運動時の振動挙動のうち既存技術により振動抑制を行った場合の振動挙動のシミュレーション結果を示したグラフである。 第1の実施の形態における機械制御システムの構成例を示したブロック図である。 (a)は、既存技術の周期外乱オブザーバにおける外乱推定結果を示したグラフであり、(b)は、第1の実施の形態の周期外乱オブザーバにおける外乱推定結果を示したグラフである。 フィードバックゲインGを1として振動トルク推定値dω^をポジティブフィードバックした結果を示したグラフである。 フィードバックゲインGを3として振動トルク推定値dω^をポジティブフィードバックした結果を示したグラフである。 フィードバックゲインGを10として振動トルク推定値dω^をポジティブフィードバックした結果を示したグラフである。 第1の実施の形態におけるコントローラの収束ゲイン変更部、周期外乱オブザーバ等の動作例を示したフローチャートである。 第2の実施の形態における機械制御システムの構成例を示したブロック図である。 第2の実施の形態におけるコントローラの重み変更部、最小自乗推定部等の動作例を示したフローチャートである。 第3の実施の形態における機械制御システムの周期外乱速度オブザーバを構成した場合の構成例を示したブロック図である。 第3の実施の形態におけるコントローラの収束ゲイン変更部、周期外乱速度オブザーバ等の動作例を示したフローチャートである。 第4の実施の形態における機械制御システムの構成例を示したブロック図である。 第4の実施の形態におけるコントローラの重み変更部、最小自乗推定部等の動作例を示したフローチャートである。 第5の実施の形態における機械制御システムの構成例を示したブロック図である。 モータ角速度とトルクとからアーム角速度推定値を計算するための流れを示したブロック図である。 収束ゲインを目標角速度に応じて変更しなかった場合のアーム角速度の実値とアーム角速度推定値との違いを示したグラフである。 収束ゲインを目標角速度に応じて変更しなかった場合のアーム角速度推定値を用いてフィードバックを行った結果を示したグラフである。 収束ゲインを目標角速度に応じて変更した場合のアーム角速度の実値とアーム角速度推定値との違いを示したグラフである。 収束ゲインを目標角速度に応じて変更した場合のアーム角速度推定値を用いてフィードバックを行った結果を示したグラフである。 第5の実施の形態におけるコントローラの収束ゲイン変更部、アーム角速度推定オブザーバ等の動作例を示したフローチャートである。
 以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
[本実施の形態の背景]
 図1は、本実施の形態が適用される機械システム10の構成を示した図である。図示するように、機械システム10は、アーム1とモータ2とが減速機等の弾性体3で結合されることにより構成された、固有振動モードを持つ機械システムである。また、アーム1の回転角をθとし、モータ2の回転角をθとし、モータ2への指令トルクをτとする。モータ2からは回転角θが戻される。ここで、アーム1は動作部の一例であり、モータ2はアクチュエータ部の一例であり、モータ2への指令トルクτはアクチュエータ部を駆動する駆動信号の一例である。また、以下では、指令トルクτ及び回転角θをアクチュエータ情報と呼ぶことにする。このとき、この機械システム1の運動方程式は次式で与えられる。
Figure JPOXMLDOC01-appb-M000001
 この式において、アーム1の固有振動数は√(K/J)となる。また、Jはアーム1の慣性(以下、「アーム慣性」という)、Jはモータ2の慣性(以下、「モータ慣性」という)、Kは弾性体3の剛性、fはアーム1の摩擦力(以下、「アーム摩擦力」という)、fはモータ2の摩擦力(以下、「モータ摩擦力」という)、fはアーム1に作用する加振力、εは弾性変形(=θ-θ)である。尚、明細書の数式及び図面において、文字の真上に付した「・」は時間の一階微分を表し、文字の真上に付した「・・」は時間の二階微分を表す。一方で、明細書のテキストにおいては、時間の一階微分を「d/dt」で表し、時間の二階微分を「d/dt」で表すものとする。
 ここで、既存技術として、外乱オブザーバを構成し、その出力をフィルタ処理して振動トルク成分を取り出し、オープンループ制御にて駆動信号を補正するものが考えられる。
 良く制御されたロボット等では、一般に駆動信号における振動トルク成分は微小で、モデル化誤差の影響を受け易い。特に、ロボット等が微小動作をしている場合、摩擦力の影響が支配的になり、折り返し動作時には摩擦力が激変する。その際、発生するモデル化誤差が激増し、含まれる周波数成分も高周波成分を多岐に含んでいる。
 このような状況で既存技術を適用すると、外乱オブザーバの出力は、折り返し時の摩擦力によるモデル化誤差の影響を大きく受け、フィルタ処理して振動トルク成分を取り出そうとしても、誤った成分が取り出されることになる。特に位相が90°以上ずれてしまうと、振動抑制効果は無くなり、逆に振動を加振してしまう可能性がある。上記のモデル化誤差の影響で、既存技術で推定された振動トルク成分についても、真値に対して90°以上の位相ずれが発生し、逆に加振してしまう結果となる。即ち、折り返し時には、振動トルク成分よりもモデル化誤差成分が非常に大きい状況となり、既存技術では誤った推定結果に基づいて制御してしまうこととなる。
 図2及び図3は、微小運動時の振動挙動のシミュレーション結果を示したグラフである。このうち、図2は、振動抑制が無い場合の振動挙動を示しており、図3は、既存技術により振動抑制を行った場合の振動挙動を示している。これらの図から、既存技術によって振動が全く抑制されていないことが分かる。
 尚、図3は、加振力fが作用しない場合のシミュレーション結果であるが、加振力fが作用した場合、モデル化誤差の影響で位相がずれてしまい、既存技術では逆に振動を冗長してしまう可能性がある。
 そこで、本実施の形態では、モデル化誤差(特に高周波成分を含む)が大きな箇所において、推定部のゲインを小さくすることで、モデル化誤差の影響を小さくする。具体的には、摩擦力のモデル化誤差の変化が激しい、モータ角速度の方向が反転する前後の期間において、オブザーバの収束ゲインを小さくし、又は、最小自乗推定における重みを小さくして、モデル化誤差の影響を小さくする。
 [第1の実施の形態]
 図4は、第1の実施の形態における機械制御システム100の構成例を示したブロック図である。図示するように、この機械制御システム100は、機械システム10と、機械システム10を制御するコントローラ20とを含む。コントローラ20では、例えばCPU(図示せず)がROM等の記憶手段(図示せず)からプログラムを読み込んで実行することにより、各機能を実現する。本実施の形態では、振動抑制装置の一例として、コントローラ20を設けている。
 まず、機械システム10の機能構成について説明する。
 図示するように、機械システム10は、演算器11乃至15を含む。
 演算器11は、加振力fから、演算器12により出力されたアーム摩擦力f(dθ/dt)を減算し、演算器15により出力されたKεを減算した結果を取得する。そして、これをアーム慣性Jで除算した結果を積分することによりアーム角速度dθ/dtを演算し、この演算されたアーム角速度dθ/dtを出力する。
 演算器12は、演算器11により出力されたアーム角速度dθ/dtを取得する。そして、これに基づいてアーム摩擦力f(dθ/dt)を演算し、この演算されたアーム摩擦力f(dθ/dt)を出力する。
 演算器13は、コントローラ20により出力された指令トルクτから、演算器14により出力されたモータ摩擦力f(dθ/dt)を減算し、演算器15により出力されたKεを加算した結果を取得する。そして、これをモータ慣性Jで除算した結果を積分することによりモータ角速度dθ/dtを演算し、この演算されたモータ角速度dθ/dtを出力する。
 演算器14は、演算器13により出力されたモータ角速度dθ/dtを取得する。そして、これに基づいてモータ摩擦力f(dθ/dt)を演算し、この演算されたモータ摩擦力f(dθ/dt)を出力する。
 演算器15は、演算器11により出力されたアーム角速度dθ/dtから演算器13により出力されたモータ角速度dθ/dtを減算することにより得られた弾性変形速度dε/dtを取得する。そして、これに剛性Kを乗算した結果を積分することによりKεを演算し、この演算されたKεを出力する。
 次に、コントローラ20の機能構成について説明する。
 図示するように、コントローラ20は、PID制御部21と、慣性補償部22と、摩擦補償部23を含む。
 PID制御部21は、コントローラ20に対して指示されたモータ2の目標とする角速度(以下、「目標角速度」という)dθ/dtから、機械システム10よりフィードバックされたモータ角速度dθ/dtを減算した結果を取得する。そして、これに対しPID制御を行うことにより、フィードバックトルクを出力する。
 慣性補償部22は、コントローラ20に対して指示された目標角速度dθ/dtを取得する。そして、これにアーム慣性モデル及びモータ慣性モデルを適用して慣性補償「(J^+J^)dθ/dt」を演算することにより、慣性モデルに基づくフィードフォワードトルクを出力する。
 摩擦補償部23は、コントローラ20に対して指示された目標角速度dθ/dtを取得する。そして、これにアーム摩擦モデル及びモータ摩擦モデルを適用して摩擦補償「f^(dθ/dt)+f^(dθ/dt)」を演算することにより、摩擦モデルに基づくフィードフォワードトルクを出力する。
 尚、明細書の数式及び図面においては、ハット記号を文字の真上に付すが、明細書のテキストにおいては、ハット記号を文字の後ろに付すものとする。本実施の形態では、駆動信号を生成する生成手段の一例として、PID制御部21、慣性補償部22、摩擦補償部23を設けている。
 また、コントローラ20は、振動トルク推定部30を含む。振動トルク推定部30は、機械システム10により出力されたモータ角速度dθ/dtを取得し、弾性体3で発生してモータ2に作用する振動トルクの推定値である振動トルク推定値dω^を出力する。具体的には、振動トルク推定部30は、演算部31と、周期外乱オブザーバ32とを含む。
 演算部31は、機械システム10により出力されたモータ角速度dθ/dtを取得する。そして、これにアーム慣性Jとモータ慣性Jとの和を乗算した結果を微分することにより、慣性力を出力する。
 周期外乱オブザーバ32は、演算部31により出力された慣性力と摩擦補償部23により出力された摩擦モデルに基づくトルクとの和から、モータ2への指令トルクτを減算することにより得られた外乱トルクdを取得する。そして、外乱トルクdに対して次式で表される固有振動周波数ωの振動成分だけを取り出すフィルタ処理 を行うことにより振動トルク推定値dω^を演算し、この演算された振動トルク推定値dω^を出力する。
Figure JPOXMLDOC01-appb-M000002
 本実施の形態では、機械システムに関する計測量の一例として、振動トルク推定値dω^を用いており、計測量を推定する推定手段の一例として、振動トルク推定部30を設けている。
 更に、コントローラ20は、演算部33を含む。演算部33は、振動トルク推定部30により出力された振動トルク推定値dω^を取得する。そして、これにフィードバックゲインGを乗算することにより振動抑制トルクを演算し、この演算された振動抑制トルクを出力する。
 これにより、PID制御部21により出力されたフィードバックトルクには、慣性補償部22により出力された慣性モデルに基づくフィードフォワードトルクが加算され、その結果に、演算部33により出力された振動抑制トルクが加算される。その意味で、演算部33は、計測量に基づいて駆動信号を補正する補正手段の一例である。そして、その結果に、摩擦補償部23により出力された摩擦モデルに基づくフィードフォワードトルクが加算され、その結果が、モータ2への指令トルクτとなる。
 ところで、第1の実施の形態において、コントローラ20は、これらの構成に加えて、収束ゲイン変更部34を含む。収束ゲイン変更部34は、コントローラ20に対して指示された目標角速度dθ/dtに応じて、周期外乱オブザーバ32で用いられるフィルタの収束ゲインに相当するζを修正することで、高周波成分を含んだモデル化誤差が増大する折り返し時の影響を受けないようにする。具体的には、目標角速度dθ/dtが小さい時に収束ゲインζを小さくすればよい。以下では、目標角速度dθ/dtの絶対値が0.01rad/s以下になった場合に収束ゲインζを0として、モデル化誤差の影響を排除している。本実施の形態では、機械システムのモデル化誤差が増大する期間の一例として、目標角速度dθ/dtが小さくなった時を用いており、推定手段で用いられるゲインの一例として、収束ゲインζを用いており、機械システムのモデル化誤差が増大する期間においてモデル化誤差の増大の影響が小さくなるようにゲインを変更する変更手段の一例として、収束ゲイン変更部34を設けている。
 図5(a)は、既存技術の周期外乱オブザーバ32における外乱推定結果を示したグラフであり、図5(b)は、第1の実施の形態の周期外乱オブザーバ32における外乱推定結果を示したグラフである。図5(a),(b)から、既存技術では、モデル化誤差の影響で、加振力を全く推定できていないのに対して、第1の実施の形態では、加振力を正確に推定していることが分かる。
 また、図6は、フィードバックゲインGを1として振動トルク推定値dω^をポジティブフィードバックし、外乱に負けるように共振比制御を行った結果を示したグラフである。図6から、図2に示した振動抑制が無い場合に比べ、振動が1/2に抑制されていることが分かる。
 更に、図7及び図8は、フィードバックゲインを大きくして振動トルク推定値dω^をポジティブフィードバックし、共振比制御を行った結果を示したグラフである。図7から、フィードバックゲインGを3とした場合、振動が約1/4に低減できていることが分かり、図8から、フィードバックゲインGを10とした場合、振動が約1/11に低減できていることが分かる。
 図9は、第1の実施の形態におけるコントローラ20の収束ゲイン変更部34、周期外乱オブザーバ32、演算部33等の動作例を示したフローチャートである。
 図示するように、コントローラ20では、収束ゲイン変更部34が、コントローラ20に指示された目標角速度dθ/dtの絶対値が、閾値(例えば、0.01rad/s)以下であるかどうかを判定する(ステップ101)。目標角速度dθ/dtの絶対値が閾値以下であると判定すれば、収束ゲイン変更部34は、周期外乱オブザーバ32における収束ゲインζを変更する(ステップ102)。
 次に、周期外乱オブザーバ32が、外乱トルクdに対して固有振動周波数ωの振動成分だけを取り出すフィルタ処理を行うことにより、振動トルク推定値dω^を算出する(ステップ103)。即ち、ステップ102で収束ゲインζが変更されていれば、変更された収束ゲインζを用いて、振動トルク推定値dω^を算出する。一方、収束ゲインζが変更されていなければ、既定値の収束ゲインζを用いて、振動トルク推定値dω^を算出する。
 次いで、演算部33が、ステップ103で算出された振動トルク推定値dω^に基づいて、振動抑制トルクを算出する(ステップ104)。
 これにより、コントローラ20は、ステップ104で算出された振動抑制トルクに基づいて補正された指令トルクτをモータ2へ出力する(ステップ105)。
 [第2の実施の形態]
 第1の実施の形態では、振動トルク推定値dω^の推定に周期外乱オブザーバ32を使用したが、第2の実施の形態では、忘却因子及び重み付きの最小自乗推定を行う推定部(以下、「最小自乗推定部」という)を使用して同様の結果を得る。
 図10は、第2の実施の形態における機械制御システム200の構成例を示したブロック図である。図示するように、この機械制御システム200は、機械システム10と、機械システム10を制御するコントローラ20とを含む。コントローラ20では、例えばCPU(図示せず)がROM等の記憶手段(図示せず)からプログラムを読み込んで実行することにより、各機能を実現する。本実施の形態では、振動抑制装置の一例として、コントローラ20を設けている。
 機械システム10の機能構成については、第1の実施の形態で説明したものと同様なので説明を省略する。
 次に、コントローラ20の機能構成について説明する。
 図示するように、コントローラ20は、PID制御部21と、慣性補償部22と、摩擦補償部23を含む。これらの構成についても、第1の実施の形態で説明したものと同様なので説明を省略する。
 また、コントローラ20は、振動トルク推定部40を含む。振動トルク推定部40は、第1の実施の形態における振動トルク推定部30と同様に、機械システム10により出力されたモータ角速度dθ/dtを取得し、弾性体3で発生してモータ2に作用する振動トルクの推定値である振動トルク推定値dω^を出力する。具体的には、振動トルク推定部40は、演算部41と、最小自乗推定部42とを含む。
 演算部41は、機械システム10により出力されたモータ角速度dθ/dtを取得する。そして、これにアーム慣性Jとモータ慣性Jとの和を乗算した結果を微分することにより、慣性力を出力する。
 最小自乗推定部42は、演算部41により出力された慣性力と摩擦補償部23により出力された摩擦モデルに基づくトルクとの和から、モータ2への指令トルクτを減算することにより得られた外乱トルクdを取得する。そして、外乱トルクdに対して次式で表される忘却因子及び重み付きの最小自乗推定を行うことにより振動トルク推定値dω^を演算し、この演算された振動トルク推定値dω^を出力する。
Figure JPOXMLDOC01-appb-M000003
 ここで、g(t)は時刻tでの重みであり、ρは忘却係数であり、d(t)は時刻tでの生の外乱値である。
 本実施の形態では、機械システムに関する計測量の一例として、振動トルク推定値dω^を用いており、計測量を推定する推定手段の一例として、振動トルク推定部40を設けている。
 更に、コントローラ20は、演算部43を含む。演算部43は、振動トルク推定部40により出力された振動トルク推定値dω^を取得する。そして、これにフィードバックゲインGを乗算することにより振動抑制トルクを演算し、この演算された振動抑制トルクを出力する。
 これにより、PID制御部21により出力されたフィードバックトルクには、慣性補償部22により出力された慣性モデルに基づくフィードフォワードトルクが加算され、その結果に、演算部43により出力された振動抑制トルクが加算される。その意味で、演算部43は、計測量に基づいて駆動信号を補正する補正手段の一例である。そして、その結果に、摩擦補償部23により出力された摩擦モデルに基づくフィードフォワードトルクが加算され、その結果が、モータ2への指令トルクτとなる。
 ところで、第2の実施の形態において、コントローラ20は、これらの構成に加えて、重み変更部44を含む。重み変更部44は、コントローラ20に対して指示された目標角速度dθ/dtに応じて、最小自乗推定部42で用いられる式の重みg(t)を変更することで、第1の実施の形態と同様の結果を得る。具体的には、目標角速度dθ/dtが小さい時に重みg(t)を小さくすればよい。第2の実施の形態でも図5乃至図8と同様のグラフが得られるが、これらのグラフでは、目標角速度dθ/dtの絶対値が0.01rad/s以下になった場合に重みg(t)を0として、モデル化誤差の影響を排除している。本実施の形態では、機械システムのモデル化誤差が増大する期間の一例として、目標角速度dθ/dtが小さくなった時を用いており、推定手段で用いられるゲインの一例として、重みg(t)を用いており、機械システムのモデル化誤差が増大する期間においてモデル化誤差の増大の影響が小さくなるようにゲインを変更する変更手段の一例として、重み変更部44を設けている。
 図11は、第2の実施の形態におけるコントローラ20の重み変更部44、最小自乗推定部42、演算部43等の動作例を示したフローチャートである。
 図示するように、コントローラ20では、重み変更部44が、コントローラ20に指示された目標角速度dθ/dtの絶対値が、閾値(例えば、0.01rad/s)以下であるかどうかを判定する(ステップ201)。目標角速度dθ/dtの絶対値が閾値以下であると判定すれば、重み変更部44は、最小自乗推定部42における重みg(t)を変更する(ステップ202)。
 次に、最小自乗推定部42が、外乱トルクdに対して忘却因子及び重み付きの最小自乗推定を行うことにより、振動トルク推定値dω^を算出する(ステップ203)。即ち、ステップ202で重みg(t)が変更されていれば、変更された重みg(t)を用いて、振動トルク推定値dω^を算出する。一方、重みg(t)が変更されていなければ、既定値の重みg(t)を用いて、振動トルク推定値dω^を算出する。
 次いで、演算部43が、ステップ203で算出された振動トルク推定値dω^に基づいて、振動抑制トルクを算出する(ステップ204)。
 これにより、コントローラ20は、ステップ204で算出された振動抑制トルクに基づいて補正された指令トルクτをモータ2へ出力する(ステップ205)。
[第3の実施の形態]
 第1及び第2の実施の形態では、推定された振動トルクに負けるように制御する共振比制御にて振動を抑制したが、第3の実施の形態では、振動トルクの微分値をネガティブフィードバックして同様の振動抑制効果を得る。この場合、周期外乱オブザーバの出力である振動トルク推定値を微分しフィードバックしてもよいし、振動トルクの微分値の推定値(以下、「振動トルク微分値推定値」という)を出力する周期外乱速度オブザーバを構成し、振動トルク微分値推定値をフィードバックしてもよい。
 図12は、第3の実施の形態における機械制御システム300の周期外乱速度オブザーバを構成した場合の構成例を示したブロック図である。図示するように、この機械制御システム300は、機械システム10と、機械システム10を制御するコントローラ20とを含む。コントローラ20では、例えばCPU(図示せず)がROM等の記憶手段(図示せず)からプログラムを読み込んで実行することにより、各機能を実現する。本実施の形態では、振動抑制装置の一例として、コントローラ20を設けている。
 機械システム10の機能構成については、第1及び第2の実施の形態で説明したものと同様なので説明を省略する。
 次に、コントローラ20の機能構成について説明する。
 図示するように、コントローラ20は、PID制御部21と、慣性補償部22と、摩擦補償部23を含む。これらの構成についても、第1及び第2の実施の形態で説明したものと同様なので説明を省略する。
 また、コントローラ20は、振動トルク微分値推定部50を含む。振動トルク微分値推定部50は、機械システム10により出力されたモータ角速度dθ/dtを取得し、弾性体3で発生してモータ2に作用する振動トルクの微分値の推定値である振動トルク微分値推定値(ddω/dt)^を出力する。具体的には、振動トルク微分値推定部50は、演算部51と、周期外乱速度オブザーバ52とを含む。
 演算部41は、機械システム10により出力されたモータ角速度dθ/dtを取得する。そして、これにアーム慣性Jとモータ慣性Jとの和を乗算した結果を微分することにより、慣性力を出力する。
 周期外乱速度オブザーバ52は、演算部51により出力された慣性力と摩擦補償部23により出力された摩擦モデルに基づくトルクとの和から、モータ2への指令トルクτを減算することにより得られた外乱トルクdを取得する。そして、外乱トルクdに対して次式で表される固有振動周波数ωの振動速度成分を取り出すフィルタ処理を行うことにより振動トルク微分値推定値(ddω/dt)^を演算し、この演算された振動トルク微分値推定値(ddω/dt)^を出力する。
Figure JPOXMLDOC01-appb-M000004
 本実施の形態では、機械システムに関する計測量の一例として、振動トルク微分値推定値(ddω/dt)^を用いており、計測量を推定する推定手段の一例として、振動トルク微分値推定部50を設けている。
 更に、コントローラ20は、演算部53を含む。演算部53は、振動トルク微分値推定部50により出力された振動トルク微分値推定値(ddω/dt)^を取得する。そして、これにフィードバックゲインGdvを乗算することにより振動抑制トルクを演算し、この演算された振動抑制トルクを出力する。
 これにより、PID制御部21により出力されたフィードバックトルクには、慣性補償部22により出力された慣性モデルに基づくフィードフォワードトルクが加算され、その結果から、演算部53により出力された振動抑制トルクが減算される。その意味で、演算部53は、計測量に基づいて駆動信号を補正する補正手段の一例である。そして、その結果に、摩擦補償部23により出力された摩擦モデルに基づくフィードフォワードトルクが加算され、その結果が、モータ2への指令トルクτとなる。
 ところで、第3の実施の形態において、コントローラ20は、これらの構成に加えて、収束ゲイン変更部54を含む。収束ゲイン変更部54は、コントローラ20に対して指示された目標角速度dθ/dtに応じて、周期外乱速度オブザーバ52で用いられるフィルタの収束ゲインに相当するζを修正することで、高周波成分を含んだモデル化誤差が増大する折り返し時の影響を受けないようにする。具体的には、目標角速度dθ/dtが小さい時に収束ゲインζを小さくすればよい。第3の実施の形態でも図6乃至図8と同様のグラフが得られるが、これらのグラフでは、目標角速度dθ/dtの絶対値が0.01rad/s以下になった場合に収束ゲインζを0として、モデル化誤差の影響を排除している。本実施の形態では、機械システムのモデル化誤差が増大する期間の一例として、目標角速度dθ/dtが小さくなった時を用いており、推定手段で用いられるゲインの一例として、収束ゲインζを用いており、機械システムのモデル化誤差が増大する期間においてモデル化誤差の増大の影響が小さくなるようにゲインを変更する変更手段の一例として、収束ゲイン変更部54を設けている。
 図13は、第3の実施の形態におけるコントローラ20の収束ゲイン変更部54、周期外乱速度オブザーバ52、演算部53等の動作例を示したフローチャートである。
 図示するように、コントローラ20では、収束ゲイン変更部54が、コントローラ20に指示された目標角速度dθ/dtの絶対値が、閾値(例えば、0.01rad/s)以下であるかどうかを判定する(ステップ301)。目標角速度dθ/dtの絶対値が閾値以下であると判定すれば、収束ゲイン変更部54は、周期外乱速度オブザーバ52における収束ゲインζを変更する(ステップ302)。
 次に、周期外乱速度オブザーバ52が、外乱トルクdに対して固有振動周波数ωの振動速度成分だけを取り出すフィルタ処理 を行うことにより、振動トルク微分値推定値(ddω/dt)^を算出する(ステップ303)。即ち、ステップ302で収束ゲインζが変更されていれば、変更された収束ゲインζを用いて、振動トルク微分値推定値(ddω/dt)^を算出する。一方、収束ゲインζが変更されていなければ、既定値の収束ゲインζを用いて、振動トルク微分値推定値(ddω/dt)^を算出する。
 次いで、演算部53が、ステップ303で算出された振動トルク微分値推定値(ddω/dt)^に基づいて、振動抑制トルクを算出する(ステップ304)。
 これにより、コントローラ20は、ステップ304で算出された振動抑制トルクに基づいて補正された指令トルクτをモータ2へ出力する(ステップ305)。
[第4の実施の形態]
 第4の実施の形態は、第2の実施の形態のように最小自乗推定を用いた場合に、振動トルク推定値の微分値(以下、「振動トルク推定値微分値」という)をネガティブフィードバックして同様の振動抑制効果を得るものである。
 図14は、第4の実施の形態における機械制御システム400の構成例を示したブロック図である。図示するように、この機械制御システム400は、機械システム10と、機械システム10を制御するコントローラ20とを含む。コントローラ20では、例えばCPU(図示せず)がROM等の記憶手段(図示せず)からプログラムを読み込んで実行することにより、各機能を実現する。本実施の形態では、振動抑制装置の一例として、コントローラ20を設けている。
 機械システム10の機能構成については、第1乃至第3の実施の形態で説明したものと同様なので説明を省略する。
 次に、コントローラ20の機能構成について説明する。
 図示するように、コントローラ20は、PID制御部21と、慣性補償部22と、摩擦補償部23を含む。これらの構成についても、第1乃至第3の実施の形態で説明したものと同様なので説明を省略する。
 また、コントローラ20は、振動トルク推定部60を含む。振動トルク推定部60は、第2の実施の形態における振動トルク推定部40と同様に、機械システム10により出力されたモータ角速度dθ/dtを取得し、弾性体3で発生してモータ2に作用する振動トルクの推定値である振動トルク推定値dω^を出力する。具体的には、振動トルク推定部60は、演算部61と、最小自乗推定部62とを含む。
 演算部61は、機械システム10により出力されたモータ角速度dθ/dtを取得する。そして、これにアーム慣性Jとモータ慣性Jとの和を乗算した結果を微分することにより、慣性力を出力する。
 最小自乗推定部62は、演算部61により出力された慣性力と摩擦補償部23により出力された摩擦モデルに基づくトルクとの和から、モータ2への指令トルクτを減算することにより得られた外乱トルクdを取得する。そして、外乱トルクdに対して次式で表される忘却因子及び重み付きの最小自乗推定を行うことにより振動トルク推定値dω^を演算し、この演算された振動トルク推定値dω^を出力する。
Figure JPOXMLDOC01-appb-M000005
 ここで、g(t)は時刻tでの重みであり、ρは忘却係数であり、d(t)は時刻tでの生の外乱値である。
 更に、コントローラ20は、演算部63と、演算部64とを含む。
 演算部63は、振動トルク推定部60により出力された振動トルク推定値dω^を取得する。そして、これを微分することにより振動トルク推定値微分値d(dω^)/dtを演算し、この演算された振動トルク推定値微分値d(dω^)/dtを出力する。
 本実施の形態では、機械システムに関する計測量の一例として、振動トルク推定値微分値d(dω^)/dtを用いており、計測量を推定する推定手段の一例として、振動トルク推定部30及び演算部63を設けている。
 演算部64は、演算部63により出力された振動トルク推定値微分値d(dω^)/dtを取得する。そして、これにフィードバックゲインGdvを乗算することにより振動抑制トルクを演算し、この演算された振動抑制トルクを出力する。
 これにより、PID制御部21により出力されたフィードバックトルクには、慣性補償部22により出力された慣性モデルに基づくフィードフォワードトルクが加算され、その結果から、演算部64により出力された振動抑制トルクが減算される。その意味で、演算部64は、計測量に基づいて駆動信号を補正する補正手段の一例である。そして、その結果に、摩擦補償部23により出力された摩擦モデルに基づくフィードフォワードトルクが加算され、その結果が、モータ2への指令トルクτとなる。
 ところで、第4の実施の形態において、コントローラ20は、これらの構成に加えて、重み変更部65を含む。重み変更部65は、コントローラ20に対して指示された目標角速度dθ/dtに応じて、最小自乗推定部62で用いられる式の重みg(t)を変更することで、第3の実施の形態と同様の結果を得る。具体的には、目標角速度dθ/dtが小さい時に重みg(t)を小さくすればよい。第4の実施の形態でも図6乃至図8と同様のグラフが得られるが、これらのグラフでは、目標角速度dθ/dtの絶対値が0.01rad/s以下になった場合に重みg(t)を0として、モデル化誤差の影響を排除している。本実施の形態では、機械システムのモデル化誤差が増大する期間の一例として、目標角速度dθ/dtが小さくなった時を用いており、推定手段で用いられるゲインの一例として、重みg(t)を用いており、機械システムのモデル化誤差が増大する期間においてモデル化誤差の増大の影響が小さくなるようにゲインを変更する変更手段の一例として、重み変更部65を設けている。
 図15は、第4の実施の形態におけるコントローラ20の重み変更部65、最小自乗推定部62、演算部63、演算部64等の動作例を示したフローチャートである。
 図示するように、コントローラ20では、重み変更部65が、コントローラ20に指示された目標角速度dθ/dtの絶対値が、閾値(例えば、0.01rad/s)以下であるかどうかを判定する(ステップ401)。目標角速度dθ/dtの絶対値が閾値以下であると判定すれば、重み変更部65は、最小自乗推定部62における重みg(t)を変更する(ステップ402)。
 次に、最小自乗推定部62が、外乱トルクdに対して忘却因子及び重み付きの最小自乗推定を行うことにより、振動トルク推定値dω^を算出する(ステップ403)。即ち、ステップ402で重みg(t)が変更されていれば、変更された重みg(t)を用いて、振動トルク推定値dω^を算出する。一方、重みg(t)が変更されていなければ、既定値の重みg(t)を用いて、振動トルク推定値dω^を算出する。
 そして、演算部63が、ステップ403で算出された振動トルク推定値dω^を微分することにより、振動トルク推定値微分値d(dω^)/dtを算出する(ステップ404)。
 次いで、演算部64が、ステップ404で算出された振動トルク推定値微分値d(dω^)/dtに基づいて、振動抑制トルクを算出する(ステップ405)。
 これにより、コントローラ20は、ステップ405で算出された振動抑制トルクに基づいて補正された指令トルクτをモータ2へ出力する(ステップ406)。
[第5の実施の形態]
 第1乃至第4の実施の形態では、外乱を推定するオブザーバを構成したが、第5の実施の形態では、アーム角速度dθ/dtを推定するオブザーバを構成する。
 図16は、第5の実施の形態における機械制御システム500の構成例を示したブロック図である。図示するように、この機械制御システム500は、機械システム10と、機械システム10を制御するコントローラ20とを含む。コントローラ20では、例えばCPU(図示せず)がROM等の記憶手段(図示せず)からプログラムを読み込んで実行することにより、各機能を実現する。本実施の形態では、振動抑制装置の一例として、コントローラ20を設けている。
 機械システム10の機能構成については、第1乃至第4の実施の形態で説明したものと同様なので説明を省略する。
 次に、コントローラ20の機能構成について説明する。
 図示するように、コントローラ20は、PID制御部21と、慣性補償部22と、摩擦補償部23を含む。これらの構成についても、第1乃至第4の実施の形態で説明したものと同様なので説明を省略する。
 また、コントローラ20は、アーム角速度推定部70を含む。アーム角速度推定部70は、機械システム10により出力されたモータ角速度dθ/dtを取得し、アーム角速度推定値(dθ/dt)^を出力する。具体的には、アーム角速度推定部70は、アーム角速度推定オブザーバ71を含む。
 アーム角速度推定オブザーバ71は、機械システム10により出力されたモータ角速度dθ/dtと、モータ2への指令トルクτから摩擦補償部23により出力された摩擦モデルに基づくトルクを減算することにより得られたトルクτMとを取得する。そして、このモータ角速度dθ/dtとトルクτMとに対して次に示す処理を行うことによりアーム角速度推定値(dθ/dt)^を演算し、この演算されたアーム角速度推定値(dθ/dt)^を出力する。
 図17は、モータ角速度dθ/dtとトルクτMとからアーム角速度推定値(dθ/dt)^を計算するための流れを示したブロック図である。
 図示するように、アーム角速度推定オブザーバ71では、演算部711が、モータ角速度dθ/dtを微分することによりモータ角加速度dθ/dtを演算する。また、演算部712が、トルクτMに1/Jを乗算することによりτM/Jを演算する。更に、演算部713が、後述するように演算されるε^にK/Jを乗算することによりKε^/Jを演算する。すると、演算部714が、モータ角加速度dθ/dtからτM/Jを減算し、その結果にKε^/Jを加算した結果に、収束ゲインL1を乗算することにより、L×(dθ/dt-τM/J+Kε^/J)を演算する。
 一方、演算部715が、モータ角加速度dθ/dtからτM/Jを減算し、その結果にKε^/Jを加算した結果に、収束ゲインLを乗算することにより、L×(dθ/dt-τM/J+Kε^/J)を演算する。また、演算部716が、モータ角速度dθ/dtにL×(dθ/dt-τM/J+Kε^/J)を加算し、その結果からアーム角速度推定値(dθ/dt)^を減算した結果を積分することにより、ε^を演算する。更に、演算部717が、ε^にK/Jを乗算することにより、Kε^/Jを演算する。
 これにより、演算部718が、L×(dθ/dt-τM/J+Kε^/J)にKε^/Jを加算した結果を積分することにより、アーム角速度推定値(dθ/dt)^を演算する。
 このように、アーム角速度推定オブザーバ71は、最小次元オブザーバの形式にて実現している。また、通常、状態量dθ/dtの微分値dθ/dtを用いず、出力値τM,fで置き換えるが、この実施の形態では、出力値τM,fで置き換えることなく状態量dθ/dtの微分値dθ/dtを残した形式で実現している。尚、このことは、機械システムの状態方程式における状態量の微分値を用いて、計測量を推定することの一例である。また、このような手法は、第5の実施の形態だけでなく、第1乃至第4の実施の形態においても適用可能である。 
 本実施の形態では、機械システムに関する計測量の一例として、アーム角速度推定値(dθ/dt)^を用いており、計測量を推定する推定手段の一例として、アーム角速度推定部70を設けている。
 再び図16を参照すると、コントローラ20は、演算部72を含む。演算部72は、アーム角速度推定部70により出力されたアーム角速度推定値(dθ/dt)^を取得する。そして、これにフィードバックゲインGを乗算することにより振動抑制トルクを演算し、この演算された振動抑制トルクを出力する。
 これにより、PID制御部21により出力されたフィードバックトルクには、慣性補償部22により出力された慣性モデルに基づくフィードフォワードトルクが加算され、その結果から、演算部72により出力された振動抑制トルクが減算される。その意味で、演算部72は、計測量に基づいて駆動信号を補正する補正手段の一例である。そして、その結果に、摩擦補償部23により出力された摩擦モデルに基づくフィードフォワードトルクが加算され、その結果が、モータ2への指令トルクτとなる。
 ところで、第5の実施の形態において、コントローラ20は、これらの構成に加えて、収束ゲイン変更部73を含む。収束ゲイン変更部73は、コントローラ20に対して指示された目標角速度dθ/dtに応じて、アーム角速度推定オブザーバ71で用いられる収束ゲインL,Lを変更する。具体的には、目標角速度dθ/dtが小さい時に収束ゲインL,Lを小さくすればよい。以下では、目標角速度dθ/dtの絶対値が0.01rad/s以下になった場合に収束ゲインL,Lを0として、モデル化誤差の影響を排除している。本実施の形態では、機械システムのモデル化誤差が増大する期間の一例として、目標角速度dθ/dtが小さくなった時を用いており、推定手段で用いられるゲインの一例として、収束ゲインL,Lを用いており、機械システムのモデル化誤差が増大する期間においてモデル化誤差の増大の影響が小さくなるようにゲインを変更する変更手段の一例として、収束ゲイン変更部73を設けている。
 図18及び図19は、収束ゲインL,Lを目標角速度dθ/dtに応じて変更しなかった場合のシミュレーション結果を示したグラフである。このうち、図18は、アーム角速度の実値とアーム角速度推定値との違いを示している。この図から、アーム角速度推定値がモデル化誤差の影響でアーム角速度の実値から乖離していることが分かる。また、図19は、図18のアーム角速度推定値を用いてフィードバックを行った結果を示している。この図から、アーム角速度の実値から乖離したアーム角速度推定値をフィードバックすることで、モータ角速度が目標角速度から大きく乖離していることが分かる。また、これにより、アーム角速度もアーム1の目標とする角速度から大きく乖離していることが推測される。
 一方、図20及び図21は、収束ゲインL,Lを目標角速度dθ/dtに応じて変更した場合のシミュレーション結果を示したグラフである。このうち、図20は、アーム角速度の実値とアーム角速度推定値との違いを示している。この図から、アーム角速度の実値とほぼ一致するアーム角速度推定値が得られることが分かる。また、図21は、図20のアーム角速度推定値を用いてフィードバックを行った結果を示している。この図から、アーム角速度の実値とほぼ一致するアーム角速度推定値をフィードバックすることで、良好な振動抑制効果が得られることが分かる。
 図22は、第5の実施の形態におけるコントローラ20の収束ゲイン変更部73、アーム角速度推定オブザーバ71、演算部72等の動作例を示したフローチャートである。
 図示するように、コントローラ20では、収束ゲイン変更部73が、コントローラ20に指示された目標角速度dθ/dtの絶対値が、閾値(例えば、0.01rad/s)以下であるかどうかを判定する(ステップ501)。目標角速度dθ/dtの絶対値が閾値以下であると判定すれば、収束ゲイン変更部73は、アーム角速度推定オブザーバ71における収束ゲインL,Lを変更する(ステップ502)。
 次に、アーム角速度推定オブザーバ71が、図17に示した処理を行うことにより、アーム角速度推定値(dθ/dt)^を算出する(ステップ503)。即ち、ステップ502で収束ゲインL,Lが変更されていれば、変更された収束ゲインL,Lを用いて、アーム角速度推定値(dθ/dt)^を算出する。一方、収束ゲインL,Lが変更されていなければ、既定値の収束ゲインL,Lを用いて、アーム角速度推定値(dθ/dt)^を算出する。
 次いで、演算部72が、ステップ503で算出されたアーム角速度推定値(dθ/dt)^に基づいて、振動抑制トルクを算出する(ステップ504)。
 これにより、コントローラ20は、ステップ504で算出された振動抑制トルクに基づいて補正された指令トルクτをモータ2へ出力する(ステップ505)。
[変形例]
 第1乃至第5の実施の形態では、振動トルク推定値dω^、振動トルク微分値推定値(ddω/dt)^、振動トルク推定値微分値d(dω^)/dt、アーム角速度推定値(dθ/dt)^に基づいて、振動抑制トルクを算出したが、これには限らない。例えば、弾性体3の弾性変形速度の推定値(dε/dt)^に基づいて、振動抑制トルクを算出してもよい。
10…機械システム、11,12,13,14,15…演算器、20…コントローラ、21…PID制御部、22…慣性補償部、23…摩擦補償部、30,40,60…振動トルク推定部、31,33,41,43,51,53,61,63,64,72…演算部、32…周期外乱オブザーバ、34,54,73…収束ゲイン変更部、42,62…最小自乗推定部、44,65…重み変更部、50…振動トルク微分値推定部、52…周期外乱速度オブザーバ、70…アーム角速度推定部、71…アーム角速度推定オブザーバ、100,200,300…機械制御システム

Claims (15)

  1.  動作部と、当該動作部を作動させるアクチュエータ部と、当該動作部及び当該アクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、当該動作部の振動を抑制する振動抑制装置であって、
     前記アクチュエータ部を駆動する駆動信号を生成する生成手段と、
     前記機械システムに関する計測量を推定する推定手段と、
     前記推定手段により推定された前記計測量に基づいて、前記生成手段により生成された前記駆動信号を補正する補正手段と、
     前記機械システムのモデル化誤差が増大する期間において、当該モデル化誤差の増大の影響が小さくなるように、前記推定手段で用いられるゲインを変更する変更手段と
    を備えたことを特徴とする振動抑制装置。
  2.  前記モデル化誤差が増大する期間は、前記アクチュエータ部の角速度の方向が反転する前後の期間であることを特徴とする請求項1に記載の振動抑制装置。
  3.  前記推定手段は、前記機械システムの状態方程式における状態量の微分値を用いて、前記計測量を推定することを特徴とする請求項1に記載の振動抑制装置。
  4.  前記補正手段は、前記駆動信号に対して前記計測量に基づくポジティブフィードバックを行うことにより、当該駆動信号を補正することを特徴とする請求項1に記載の振動抑制装置。
  5.  前記計測量は、前記アクチュエータ部の振動トルクの推定値又は前記アクチュエータ部の振動トルクの微分値の推定値であることを特徴とする請求項1に記載の振動抑制装置。
  6.  前記推定手段は、推定された外乱に対してフィルタ処理を行うことにより、当該外乱から前記振動トルクの推定値又は前記振動トルクの微分値の推定値を算出することを特徴とする請求項5に記載の振動抑制装置。
  7.  前記変更手段は、前記フィルタ処理における収束ゲインを前記ゲインとして用いることを特徴とする請求項6に記載の振動抑制装置。
  8.  前記計測量は、前記アクチュエータ部の振動トルクの推定値又は前記アクチュエータ部の振動トルクの推定値の微分値であることを特徴とする請求項1に記載の振動抑制装置。
  9.  前記推定手段は、推定された外乱に対して忘却因子及び重み付きの最小自乗推定を行うことにより、当該外乱から前記振動トルクの推定値を算出することを特徴とする請求項8に記載の振動抑制装置。
  10.  前記変更手段は、前記忘却因子及び重み付きの最小自乗推定における重みを前記ゲインとして用いることを特徴とする請求項9に記載の振動抑制装置。
  11.  前記計測量は、前記動作部の角速度の推定値であることを特徴とする請求項1に記載の振動抑制装置。
  12.  前記変更手段は、前記角速度の推定値を算出する際に用いられる収束ゲインを前記ゲインとして用いることを特徴とする請求項11に記載の振動抑制装置。
  13.  前記計測量は、前記弾性体の弾性変形角速度の推定値であることを特徴とする請求項1に記載の振動抑制装置。
  14.  動作部と、当該動作部を作動させるアクチュエータ部と、当該動作部及び当該アクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、当該動作部の振動を抑制する振動抑制方法であって、
     前記機械システムのモデル化誤差が増大する期間において、当該モデル化誤差の増大の影響が小さくなるようにゲインを変更し、当該期間以外においては当該ゲインを変更せずに、当該機械システムに関する計測量を推定するステップと、
     推定された前記計測量に基づいて、前記アクチュエータ部を駆動する駆動信号を補正するステップと
    を含むことを特徴とする振動抑制方法。
  15.  動作部と、当該動作部を作動させるアクチュエータ部と、当該動作部及び当該アクチュエータ部を連結する弾性体とを含む、固有振動モードを有する機械システムにおける、当該動作部の振動を抑制する振動抑制装置として、コンピュータを機能させるプログラムであって、
     前記コンピュータを、
     前記アクチュエータ部を駆動する駆動信号を生成する生成手段と、
     前記機械システムに関する計測量を推定する推定手段と、
     前記推定手段により推定された前記計測量に基づいて、前記生成手段により生成された前記駆動信号を補正する補正手段と、
     前記機械システムのモデル化誤差が増大する期間において、当該モデル化誤差の増大の影響が小さくなるように、前記推定手段で用いられるゲインを変更する変更手段と
    して機能させるためのプログラム。
PCT/JP2019/032249 2018-10-04 2019-08-19 振動抑制装置、振動抑制方法及びプログラム WO2020070988A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/268,043 US11669055B2 (en) 2018-10-04 2019-08-19 Vibration suppression device, method and computer-readable medium using estimated vibration torque
CN201980064880.XA CN112840276B (zh) 2018-10-04 2019-08-19 振动抑制装置、振动抑制方法以及存储单元
KR1020217009265A KR102553575B1 (ko) 2018-10-04 2019-08-19 진동 억제 장치, 진동 억제 방법 및 프로그램
EP19869956.3A EP3862820A4 (en) 2018-10-04 2019-08-19 VIBRATION SUPPRESSION DEVICE, VIBRATION SUPPRESSION METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018188826A JP6962893B2 (ja) 2018-10-04 2018-10-04 振動抑制装置、振動抑制方法及びプログラム
JP2018-188826 2018-10-04

Publications (1)

Publication Number Publication Date
WO2020070988A1 true WO2020070988A1 (ja) 2020-04-09

Family

ID=70054750

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/032249 WO2020070988A1 (ja) 2018-10-04 2019-08-19 振動抑制装置、振動抑制方法及びプログラム

Country Status (6)

Country Link
US (1) US11669055B2 (ja)
EP (1) EP3862820A4 (ja)
JP (1) JP6962893B2 (ja)
KR (1) KR102553575B1 (ja)
CN (1) CN112840276B (ja)
WO (1) WO2020070988A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7068133B2 (ja) * 2018-10-19 2022-05-16 国立大学法人 東京大学 制御システム、制御方法、及び制御プログラム
KR102487640B1 (ko) * 2021-02-26 2023-01-11 재단법인 대구경북과학기술원 플랜트 제어 장치 및 그 제어 방법
CN114415509B (zh) * 2022-01-11 2023-04-28 西北工业大学 一种针对远程火箭弹的伺服弹性主动抑制方法
CN116512245A (zh) * 2023-03-13 2023-08-01 之江实验室 一种柔性关节机械臂残余振动抑制的轨迹优化方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07337058A (ja) 1994-06-08 1995-12-22 Harmonic Drive Syst Ind Co Ltd オープンループ振動抑制方法
JPH08147038A (ja) * 1994-11-21 1996-06-07 Tsubakimoto Chain Co モータの駆動制御装置
JP2002258902A (ja) * 2001-02-27 2002-09-13 Internatl Business Mach Corp <Ibm> 回転記録装置およびその制御方法
WO2012141190A1 (ja) * 2011-04-15 2012-10-18 株式会社明電舎 周期外乱抑制装置および周期外乱抑制方法
JP2014034101A (ja) * 2012-08-10 2014-02-24 Toshiba Corp ロボット制御装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09121580A (ja) * 1995-10-26 1997-05-06 Meidensha Corp 低慣性化制御による2慣性共振系の振動抑制装置
US6515442B1 (en) * 1998-09-28 2003-02-04 Kabushiki Kaisha Yaskawa Denki Position controller
JP3796261B1 (ja) * 2005-12-02 2006-07-12 山洋電気株式会社 モータの負荷イナーシャ推定方法
JP4329792B2 (ja) * 2006-08-10 2009-09-09 トヨタ自動車株式会社 電動パワーステアリング装置
JP4914979B2 (ja) * 2007-03-14 2012-04-11 国立大学法人長岡技術科学大学 モータ制御装置およびモータ制御方法
JP5605127B2 (ja) * 2010-09-27 2014-10-15 株式会社明電舎 軸トルク制御装置
US8897965B2 (en) * 2011-03-29 2014-11-25 Jtekt Corporation Electric power steering apparatus
JP5626090B2 (ja) * 2011-04-15 2014-11-19 株式会社明電舎 周期外乱抑制装置および周期外乱抑制方法
JP5273575B2 (ja) * 2011-09-01 2013-08-28 株式会社安川電機 電動機制御装置
US9122262B2 (en) * 2011-10-13 2015-09-01 Mitsubishi Electric Corporation Servo control device
JP2014117787A (ja) * 2012-12-19 2014-06-30 Daihen Corp 制御装置
JP5652678B2 (ja) * 2013-03-21 2015-01-14 株式会社安川電機 電動機制御装置
US10710463B2 (en) * 2015-05-26 2020-07-14 Nissan Motor Co., Ltd. Control device for electric vehicle and control method for electric vehicle
JP6898649B2 (ja) * 2015-08-07 2021-07-07 学校法人慶應義塾 振動制御装置、振動制御方法、振動制御システム、プログラム及び記録媒体
US10379133B2 (en) * 2016-01-20 2019-08-13 Simmonds Precision Products, Inc. Speed estimation systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07337058A (ja) 1994-06-08 1995-12-22 Harmonic Drive Syst Ind Co Ltd オープンループ振動抑制方法
JPH08147038A (ja) * 1994-11-21 1996-06-07 Tsubakimoto Chain Co モータの駆動制御装置
JP2002258902A (ja) * 2001-02-27 2002-09-13 Internatl Business Mach Corp <Ibm> 回転記録装置およびその制御方法
WO2012141190A1 (ja) * 2011-04-15 2012-10-18 株式会社明電舎 周期外乱抑制装置および周期外乱抑制方法
JP2014034101A (ja) * 2012-08-10 2014-02-24 Toshiba Corp ロボット制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3862820A4

Also Published As

Publication number Publication date
JP6962893B2 (ja) 2021-11-05
US20210216048A1 (en) 2021-07-15
JP2020057296A (ja) 2020-04-09
EP3862820A1 (en) 2021-08-11
CN112840276B (zh) 2024-03-26
KR20210052504A (ko) 2021-05-10
EP3862820A4 (en) 2022-07-06
CN112840276A (zh) 2021-05-25
US11669055B2 (en) 2023-06-06
KR102553575B1 (ko) 2023-07-10

Similar Documents

Publication Publication Date Title
WO2020070988A1 (ja) 振動抑制装置、振動抑制方法及びプログラム
JP4685071B2 (ja) モータ制御装置及びモータ制御方法
EP2157489B1 (en) Motor Control System
JP2005301508A (ja) 制御装置
JP2010041734A (ja) モータ制御装置
JP2004213472A (ja) 制御装置
JP7117827B2 (ja) モータ制御システム、モータ制御システムの制御方法、及びロボットシステム
JP2009118684A (ja) 振動抑制制御装置
JP6714125B1 (ja) 車両操舵装置
JP5989694B2 (ja) 制御装置、制御方法及び制御プログラム
WO2014155559A1 (ja) ノッチフィルタ、外力推定器、モータ制御装置およびロボットシステム
JP6412736B2 (ja) 位置制御装置
TWI508425B (zh) 馬達之控制方法及馬達之控制裝置
JP5947732B2 (ja) 制御システム、外乱推定システム、制御方法、制御プログラム及び設計方法
JP4860277B2 (ja) 多慣性共振系の振動抑制制御方法及び装置
JP6496167B2 (ja) タンデム位置制御装置
JP2007060767A (ja) 機械定数同定装置を備えたモータ制御装置
JP6845103B2 (ja) 制御システム、制御方法、及び制御プログラム
JP5780058B2 (ja) 周期外乱抑制装置
JP6189186B2 (ja) 水中航走体及びその制御装置並びに制御方法
JP3871030B2 (ja) サーボ制御方法
JP5353314B2 (ja) 適応制御装置
JP5329203B2 (ja) 位置決め制御装置の振動抑制制御装置
JP5084196B2 (ja) 電動機制御装置および電動機制御方法
JP5805016B2 (ja) モータ制御装置

Legal Events

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

Ref document number: 19869956

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20217009265

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019869956

Country of ref document: EP

Effective date: 20210504