This is a national phase application in the United States of International Patent Application No. PCT/JP2019/032249 with an international filing date of Aug. 19, 2019, which claims priority of Japanese Patent Application No. 2018-188826 filed on Oct. 4, 2018 the contents of which are incorporated herein by reference.
The present invention relates to a vibration suppression device, a vibration suppression method, and a program that suppress vibration of an operation unit in a mechanical system having a natural vibration mode including the operation unit, an actuator unit that operates the operation unit, and an elastic body that couples the operation unit and the actuator unit.
An open-loop vibration suppression method is known in which 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 in the elastic body, the current value (torque) is amplified by a gain Kc, and is subtracted from a current command (torque command) of the motor (see JP H7-337058 A, for example).
Here, when a configuration is adopted in which the disturbance torque obtained from the disturbance observer is filtered to extract the vibration torque and the torque command is corrected by the open-loop control, if the influence of the modeling error of the mechanical system is large, there is a possibility that an erroneous vibration torque component is extracted by the filter processing and an erroneous vibration suppression is performed.
It is an object of the present invention to reduce the possibility of erroneous vibration suppression due to a modeling error of a mechanical system.
With such object, the present invention provides a vibration suppression device that suppresses vibration of an operation unit in a mechanical system having a natural vibration mode including the operation unit, an actuator unit that operates the operation unit, and an elastic body that couples the operation unit and the actuator unit, the vibration suppression device including a generation means for generating a drive signal for driving the actuator unit, an estimation means for estimating a measurement amount related to the mechanical system, a correction means for correcting the drive signal generated by the generation means on the basis of the measurement amount estimated by the estimation means, and a change means for changing a gain used by the estimation means so that an influence of an increase in a modeling error becomes small in a period in which the modeling error of the mechanical system increases.
Here, the period in which the modeling error increases may be a period before and after the direction of the angular velocity of the actuator unit is inverted.
The estimation means may estimate the measurement amount by using a differential value of the state quantity in the equation of state of the mechanical system.
Furthermore, the correction means may correct the drive signal by performing positive feedback based on the measurement amount to the drive signal.
The measurement amount may be an estimation value of vibration torque of the actuator unit or an estimation value of a differential value of vibration torque of the actuator unit. In that case, the estimation means may calculate an estimation value of the vibration torque or an estimation value of a differential value of the vibration torque from a estimated disturbance by performing filter processing to the estimated disturbance. The change means may use a convergence gain in the filter processing as the gain.
Furthermore, the measurement amount may be an estimation value of vibration torque of the actuator unit or a differential value of an estimation value of vibration torque of the actuator unit. In that case, the estimation means may calculate an estimation value of the vibration torque from an estimated disturbance by performing a least squares estimation with forgetting factor and weight for the estimated disturbance. The change means may use a weight in the least squares estimation with forgetting factor and weight as the gain.
Furthermore, the measurement amount may be an estimation value of an angular velocity of the operation unit. In that case, the change means may use a convergence gain used in calculating an estimation value of the angular velocity as the gain.
Alternatively, the measurement amount may be an estimation value of an elastic deformation angular velocity of the elastic body.
The present invention also provides a vibration suppression method that suppresses vibration of an operation unit in a mechanical system having a natural vibration mode including the operation unit, an actuator unit that operates the operation unit, and an elastic body that couples the operation unit and the actuator unit, the vibration suppression method including a step of estimating a measurement amount related to the mechanical system with changing a gain so that an influence of an increase in a modeling error becomes small in a period in which the modeling error of the mechanical system increases, and without changing the gain except for the period, and a step of correcting a drive signal for driving the actuator unit on the basis of the measurement amount having been estimated.
Furthermore, the present invention also provides a program that causes a computer to function as a vibration suppression device that suppresses vibration of an operation unit in a mechanical system having a natural vibration mode including the operation unit, an actuator unit that operates the operation unit, and an elastic body that couples the operation unit and the actuator unit, the program causing the computer to function as a generation means for generating a drive signal for driving the actuator unit, an estimation means for estimating a measurement amount related to the mechanical system, a correction means for correcting the drive signal generated by the generation means on the basis of the measurement amount estimated by the estimation means, and a change means for changing a gain used by the estimation means so that an influence of an increase in a modeling error becomes small in a period in which the modeling error of the mechanical system increases.
According to the present invention, it is possible to reduce the possibility of erroneous vibration suppression due to a modeling error of a mechanical system.
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
In this equation, the natural frequency of the arm 1 becomes √(K/JA). JA is the inertia of the arm 1 (hereinafter referred to as “arm inertia”), JM is the inertia of the motor 2 (hereinafter referred to as “motor inertia”), K is the rigidity of the elastic body 3, fA is the frictional force of the arm 1 (hereinafter referred to as “arm frictional force”), fM is the frictional force of the motor 2 (hereinafter referred to as “motor frictional force”), f is the excitation force acting on the arm 1, and ε is elastic deformation (=θA−θM). Note that in the equations and drawings of the description, “·” given directly above the character represents the first-order differential of time, and “··” given directly above the character represents the second-order differential of time. On the other hand, in the text of the description, the first-order differential of time is represented by “d/dt” and the second-order differential of time is represented by “d2/dt2”.
Here, as an existing technology, it is conceivable to configure a disturbance observer, to filter its output to extract the vibration torque component, and to correct the drive signal by open-loop control.
In a well-controlled robot or the like, the vibration torque component in the drive signal is minute in general, and is easily affected by a modeling error. In particular, when the robot or the like is performing a micromotion, the influence of the frictional force becomes dominant, and the frictional force drastically changes at the time of the turning back operation. In that case, the occurring modeling error dramatically increases, and the included frequency components include a variety of high frequency components.
When the existing technology is applied in such a situation, 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 an attempt is made to extract the vibration torque component by filter processing, an erroneous component is extracted. In particular, if the phase is shifted by 90° or more, the vibration suppression effect is lost, and on the contrary, there is a possibility that the vibration is excited. Due to the influence of the modeling error described above, a phase shift of 90° or more with respect to the true value occurs in the vibration torque component estimated by the existing technology, which results in vibration on the contrary. That is, at the time of turning back, the modeling error component becomes far larger than the vibration torque component, and the control is performed on the basis of an erroneous estimation result by the existing technology.
Note that
Therefore, in the present embodiment, the influence of the modeling error is reduced by reducing the gain of the estimation unit in a place where the modeling error (includes high frequency components in particular) is large. Specifically, the influence of the modeling error is reduced by reducing the convergence gain of the observer or the weight in the least squares estimation in a period before and after the direction of the motor angular velocity is inverted, in which the modeling error of the frictional force changes dramatically.
First, the functional configuration of the mechanical system 10 will be described.
As illustrated, the mechanical system 10 includes calculators 11 to 15.
The calculator 11 subtracts the arm frictional force fA (dθA/dt) output by the calculator 12 from the excitation force f, and acquires the result of subtracting Kε output from the calculator 15. Then, the arm angular velocity dθA/dt is calculated by integrating the result of dividing this by the arm inertia JA, and the calculated arm angular velocity dθA/dt is output.
The calculator 12 acquires the arm angular velocity dθA/dt output from the calculator 11. Then, the arm frictional force fA (dθA/dt) is calculated on the basis of this, and the calculated arm frictional force fA (dθA/dt) is output.
The calculator 13 subtracts the motor frictional force fM (dθM/dt) output by the calculator 14 from the command torque τ output by the controller 20, and acquires the result of adding Kε output by the calculator 15. Then, the motor angular velocity dθM/dt is calculated by integrating the result of dividing this by the motor inertia JM, 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, the motor frictional force fM (dθM/dt) is calculated on the basis of this, and the calculated motor frictional force fM (dθM/dt) is output.
The calculator 15 acquires an elastic deformation speed dε/dt obtained by subtracting the motor angular velocity dθM/dt output by the calculator 13 from the arm angular velocity dθA/dt output by the calculator 11. Then, Kε is calculated by integrating the result of multiplying this by a rigidity K, and the calculated Kε is output.
Next, the functional configuration of the controller 20 will be described.
As illustrated, 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 acquires the result of subtracting the motor angular velocity dθM/dt fed back from the mechanical system 10 from a target angular velocity of the motor 2 (hereinafter referred to as “target angular velocity”) dθD/dt indicated to the controller 20. Then, by performing PID control to this, the PID control unit 21 outputs feedback torque.
The inertia compensation unit 22 acquires the target angular velocity dθD/dt indicated to the controller 20. Then, the inertia compensation unit 22 calculates inertia compensation “(JA{circumflex over ( )}+JM{circumflex over ( )}) d2θD/dt2” by applying an arm inertia model and a motor inertia model to this, thereby outputting feedforward torque based on the inertia model.
The friction compensation unit 23 acquires the target angular velocity dθD/dt indicated to the controller 20. Then, the friction compensation unit 23 calculates friction compensation “fA{circumflex over ( )}(dθD/dt)+fM{circumflex over ( )}(dθD/dt)” by applying an arm friction model and a motor friction model to this, thereby outputting feedforward torque based on the friction model.
Note that in the equations and drawings of the description, a circumflex is given directly above the character, while in the text of the description, the circumflex is given after the character. In the present embodiment, the PID control unit 21, the inertia compensation unit 22, and the friction compensation unit 23 are provided as an example of the generation means for generating the drive signal.
The controller 20 includes a vibration torque estimation unit 30. The vibration torque estimation unit 30 acquires the motor angular velocity dθM/dt output by the mechanical system 10, and outputs the vibration torque estimation value dω{circumflex over ( )}, which is an estimation value of the vibration torque generated in the elastic body 3 and acting on the motor 2. Specifically, 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, the inertial force is output by differentiating the result of multiplying this by the sum of the arm inertia JA and the motor inertia JM.
The periodic disturbance observer 32 acquires a disturbance torque d obtained by subtracting the command torque τ to the motor 2 from the sum of the inertia force output from the calculation unit 31 and the torque based on the friction model output from the friction compensation unit 23. Then, the vibration torque estimation value dω{circumflex over ( )} is calculated by performing filter processing for extracting only the vibration component of a natural vibration frequency ω expressed by the following equation with respect to the disturbance torque d, and the calculated vibration torque estimation value dω{circumflex over ( )} is output.
In the present embodiment, the vibration torque estimation value dω{circumflex over ( )} is used as an example of the measurement amount related to the mechanical system, and the vibration torque estimation unit 30 is provided as an example of the estimation means for estimating the measurement amount.
Furthermore, the controller 20 includes a calculation unit 33. The calculation unit 33 acquires the vibration torque estimation value dω{circumflex over ( )} output by the vibration torque estimation unit 30. Then, the vibration suppression torque is calculated by multiplying this by a feedback gain Gd, and the calculated vibration suppression torque is output.
Thus, the feedback torque output by the PID control unit 21 is added with the feedforward torque based on the inertia model output by the inertia compensation unit 22, and the vibration suppression torque output by the calculation unit 33 is added to the result. In that sense, the calculation unit 33 is an example of the correction means for correcting the drive signal on the basis of the measurement amount. Then, the result is added with the feedforward torque based on the friction model output by the friction compensation unit 23, and the result becomes the command torque τ to the motor 2.
In the first embodiment, the controller 20 includes a convergence gain change unit 34 in addition to these components. By modifying ξ corresponding to the convergence gain of the filter used in the periodic disturbance observer 32 in accordance with the target angular velocity dθD/dt indicated to the controller 20, the convergence gain change unit 34 becomes not affected by the time of turning back in which the modeling error including a high frequency component increases. Specifically, the convergence gain ξ is only required to be made small when the target angular velocity dθD/dt is small. Hereinafter, the influence of the modeling error is eliminated by setting the convergence gain ξ to 0 when the absolute value of the target angular velocity dθD/dt becomes 0.01 rad/s or less. In the present embodiment, a time in which 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, the convergence gain ξ is used as an example of a gain used in the estimation means, and the convergence gain change unit 34 is provided as an example of the change means for changing the gain so that the influence of an increase in the modeling error becomes small in a period in which the modeling error of the mechanical system increases.
Furthermore,
As illustrated, in the controller 20, the convergence gain change unit 34 determines whether or not the absolute value of the target angular velocity dθD/dt indicated to the controller 20 is equal to or less than a threshold value (0.01 rad/s, for example) (Step 101). If it is determined that the absolute value of the target angular velocity dθD/dt is equal to or less than the threshold value, the convergence gain change unit 34 changes the convergence gain ξ in the periodic disturbance observer 32 (Step 102).
Next, the periodic disturbance observer 32 performs filter processing for extracting only the vibration component of the natural vibration frequency ω with respect to the disturbance torque d, thereby calculating the vibration torque estimation value dω{circumflex over ( )} (Step 103). That is, if the convergence gain ξ has been changed in Step 102, the vibration torque estimation value dω{circumflex over ( )} 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ω{circumflex over ( )} is calculated using the convergence gain ξ of the default value.
Next, the calculation unit 33 calculates the vibration suppression torque on the basis of the vibration torque estimation value dω{circumflex over ( )} calculated in Step 103 (Step 104).
Thus, the controller 20 outputs, to the motor 2, the command torque τ corrected on the basis of the vibration suppression torque calculated in Step 104 (Step 105).
In the first embodiment, the periodic disturbance observer 32 is used to estimate the vibration torque estimation value dω{circumflex over ( )}, but in the second embodiment, a similar result is obtained by using an estimation unit that performs the least squares estimation with forgetting factor and weight (hereinafter referred to as “least squares estimation unit”).
Since the functional configuration of the mechanical system 10 is similar to that described in the first embodiment, the description thereof is omitted.
Next, the functional configuration of the controller 20 will be described.
As illustrated, the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. Since these configurations are similar to those described in the first embodiment, the description thereof is omitted.
The controller 20 includes a vibration torque estimation unit 40. Similarly to the vibration torque estimation unit 30 in the first embodiment, the vibration torque estimation unit 40 acquires the motor angular velocity dθM/dt output by the mechanical system 10, and outputs the vibration torque estimation value dω{circumflex over ( )}, which is an estimation value of the vibration torque generated in the elastic body 3 and acting on the motor 2. Specifically, the vibration torque estimation unit 40 includes a calculation unit 41 and a least squares estimation unit 42.
The calculation unit 41 acquires the motor angular velocity dθM/dt output by the mechanical system 10. Then, the inertial force is output by differentiating the result of multiplying this by the sum of the arm inertia JA and the motor inertia JM.
The least squares estimation unit 42 acquires a disturbance torque d obtained by subtracting the command torque τ to the motor 2 from the sum of the inertia force output from the calculation unit 41 and the torque based on the friction model output from the friction compensation unit 23. Then, the vibration torque estimation value dω{circumflex over ( )} is calculated by performing the least squares estimation with forgetting factor and weighted expressed by the following equation with respect to the disturbance torque d, and the calculated vibration torque estimation value dω{circumflex over ( )} is output.
where g(t) is the weight at time t, ρ is the forgetting coefficient, and d(t) is the raw disturbance value at the time t.
In the present embodiment, the vibration torque estimation value dω{circumflex over ( )} is used as an example of the measurement amount related to the mechanical system, and the vibration torque estimation unit 40 is provided as an example of the estimation means for estimating the measurement amount.
Furthermore, the controller 20 includes a calculation unit 43. The calculation unit 43 acquires the vibration torque estimation value dω{circumflex over ( )} output by the vibration torque estimation unit 40. Then, the vibration suppression torque is calculated by multiplying this by a feedback gain Gd, and the calculated vibration suppression torque is output.
Thus, the feedback torque output by the PID control unit 21 is added with the feedforward torque based on the inertia model output by the inertia compensation unit 22, and the vibration suppression torque output by the calculation unit 43 is added to the result. In that sense, the calculation unit 43 is an example of the correction means for correcting the drive signal on the basis of the measurement amount. Then, the result is added with the feedforward torque based on the friction model output by the friction compensation unit 23, and the result becomes the command torque τ to the motor 2.
In the second embodiment, the controller 20 includes a weight change unit 44 in addition to these components. The weight change unit 44 changes the weight g(t) of the equation used in the least squares estimation unit 42 in accordance with the target angular velocity dθD/dt indicated to the controller 20, thereby obtaining a similar result to that in the first embodiment. Specifically, the weight g(t) is only required to be made small when the target angular velocity dθD/dt is small. Similar graphs to those in
As illustrated, in the controller 20, the weight change unit 44 determines whether or not the absolute value of the target angular velocity dθD/dt indicated to the controller 20 is equal to or less than a threshold value (0.01 rad/s, for example) (Step 201). If it is determined that the absolute value of the target angular velocity dθD/dt is equal to or less than the threshold value, the weight change unit 44 changes the weight g(t) in the least squares estimation unit 42 (Step 202).
Next, the least squares estimation unit 42 performs least squares estimation with forgetting factor and weight with respect to the disturbance torque d, thereby calculating the vibration torque estimation value dω{circumflex over ( )} (Step 203). That is, if the weight g(t) has been changed in Step 202, the vibration torque estimation value dω{circumflex over ( )} is calculated using the changed weight g(t). On the other hand, if the weight g(t) has not been changed, the vibration torque estimation value dω{circumflex over ( )} is calculated using the weight g(t) of the default value.
Next, the calculation unit 43 calculates the vibration suppression torque on the basis of the vibration torque estimation value dω{circumflex over ( )} calculated in Step 203 (Step 204).
Thus, the controller 20 outputs, to the motor 2, the command torque τ corrected on the basis of the vibration suppression torque calculated in Step 204 (Step 205).
In the first and second embodiments, the vibration is suppressed by resonance ratio control that controls the vibration so as to be defeated by the estimated vibration torque, but in the third embodiment, a similar vibration suppression effect is obtained by performing negative feedback to the differential value of the vibration torque. In this case, the vibration torque estimation value that is the output of the periodic disturbance observer may be differentiated and fed back, or a periodic disturbance speed observer that outputs the estimation value of the differential value of the vibration torque (hereinafter referred to as “vibration torque differential value estimation value”) may be configured and the vibration torque differential value estimation value may be fed back.
Since the functional configuration of the mechanical system 10 is similar to those described in the first and second embodiments, the description thereof is omitted.
Next, the functional configuration of the controller 20 will be described.
As illustrated, the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. Since these configurations are similar to those described in the first and second embodiments, the description thereof is omitted.
The controller 20 includes a vibration torque differential value estimation unit 50. The vibration torque differential value estimation unit 50 acquires the motor angular velocity dθM/dt output by the mechanical system 10, and outputs the vibration torque differential value estimation value (ddω/dt){circumflex over ( )}, which is an estimation value of the differential value of the vibration torque generated in the elastic body 3 and acting on the motor 2. Specifically, 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, the inertial force is output by differentiating the result of multiplying this by the sum of the arm inertia JA and the motor inertia JM.
The periodic disturbance speed observer 52 acquires a disturbance torque d obtained by subtracting the command torque τ to the motor 2 from the sum of the inertia force output from the calculation unit 51 and the torque based on the friction model output from the friction compensation unit 23. Then, the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} is calculated by performing filter processing for extracting the vibration speed component of the natural vibration frequency ω expressed by the following equation with respect to the disturbance torque d, and the calculated vibration torque differential value estimation value (ddω/dt){circumflex over ( )} is output.
In the present embodiment, the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} is used as an example of the measurement amount related to the mechanical system, and the vibration torque differential value estimation unit 50 is provided as an example of the estimation means for estimating the measurement amount.
Furthermore, the controller 20 includes a calculation unit 53. The calculation unit 53 acquires the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} output by the vibration torque differential value estimation unit 50. Then, the vibration suppression torque is calculated by multiplying this by the feedback gain Gdv, and the calculated vibration suppression torque is output.
Thus, the feedback torque output by the PID control unit 21 is added with the feedforward torque based on the inertia model output by the inertia compensation unit 22, and the vibration suppression torque output by the calculation unit 53 is subtracted from the result. In that sense, the calculation unit 53 is an example of the correction means for correcting the drive signal on the basis of the measurement amount. Then, the result is added with the feedforward torque based on the friction model output by the friction compensation unit 23, and the result becomes the command torque τ to the motor 2.
In the third embodiment, the controller 20 includes a convergence gain change unit 54 in addition to these components. By modifying ξ corresponding to the convergence gain of the filter used in the periodic disturbance speed observer 52 in accordance with the target angular velocity dθ0/dt indicated to the controller 20, the convergence gain change unit 54 becomes not affected by the time of turning back in which the modeling error including a high frequency component increases. Specifically, the convergence gain ξ is only required to be made small when the target angular velocity dθD/dt is small. Similar graphs to those in
As illustrated, in the controller 20, the convergence gain change unit 54 determines whether or not the absolute value of the target angular velocity dθD/dt indicated to the controller 20 is equal to or less than a threshold value (0.01 rad/s, for example) (Step 301). If it is determined that the absolute value of the target angular velocity dθD/dt is equal to or less than the threshold value, the convergence gain change unit 54 changes the convergence gain ξ in the periodic disturbance speed observer 52 (Step 302).
Next, the periodic disturbance speed observer 52 performs filter processing for extracting only the vibration speed component of the natural vibration frequency ω with respect to the disturbance torque d, thereby calculating the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} (Step 303). That is, if the convergence gain ξ has been changed in Step 302, the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} is calculated using the changed convergence gain ξ. On the other hand, if the convergence gain ξ has not been changed, the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} is calculated using the convergence gain ξ of the default value.
Next, the calculation unit 53 calculates the vibration suppression torque on the basis of the vibration torque differential value estimation value (ddω/dt){circumflex over ( )} calculated in Step 303 (Step 304).
Thus, the controller 20 outputs, to the motor 2, the command torque τ corrected on the basis of the vibration suppression torque calculated in Step 304 (Step 305).
In the fourth embodiment, a similar vibration suppression effect is obtained by performing negative feedback to the differential value of the vibration torque estimation value (hereinafter referred to as “vibration torque estimation value differential value”) when the least squares estimation is used as in the second embodiment.
Since the functional configuration of the mechanical system 10 is similar to those described in the first to third embodiments, the description thereof is omitted.
Next, the functional configuration of the controller 20 will be described.
As illustrated, the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. Since these configurations are similar to those described in the first to third embodiments, the description thereof is omitted.
The controller 20 includes a vibration torque estimation unit 60. Similarly to the vibration torque estimation unit 40 in the second embodiment, the vibration torque estimation unit 60 acquires the motor angular velocity dθM/dt output by the mechanical system 10, and outputs the vibration torque estimation value dω{circumflex over ( )}, which is an estimation value of the vibration torque generated in the elastic body 3 and acting on the motor 2. Specifically, the vibration torque estimation unit 60 includes a calculation unit 61 and a least squares estimation unit 62.
The calculation unit 61 acquires the motor angular velocity dθM/dt output by the mechanical system 10. Then, the inertial force is output by differentiating the result of multiplying this by the sum of the arm inertia JA and the motor inertia JM.
The least squares estimation unit 62 acquires a disturbance torque d obtained by subtracting the command torque τ to the motor 2 from the sum of the inertia force output from the calculation unit 61 and the torque based on the friction model output from the friction compensation unit 23. Then, the vibration torque estimation value dω{circumflex over ( )} is calculated by performing the least squares estimation with forgetting factor and weighted expressed by the following equation with respect to the disturbance torque d, and the calculated vibration torque estimation value dω{circumflex over ( )} is output.
where g(t) is the weight at time t, ρ is the forgetting coefficient, and d(t) is the raw disturbance value at the time t.
Furthermore, the controller 20 includes a calculation unit 63 and a calculation unit 64.
The calculation unit 63 acquires the vibration torque estimation value dω{circumflex over ( )} output by the vibration torque estimation unit 60. Then, the vibration torque estimation value differential value d(dω{circumflex over ( )})/dt is calculated by differentiating this, and the calculated vibration torque estimation value differential value d(dω{circumflex over ( )})/dt is output.
In the present embodiment, the vibration torque estimation value differential value d(dω{circumflex over ( )})/dt is used as an example of the measurement amount related to the mechanical system, and the vibration torque estimation unit 30 and the calculation unit 63 are provided as an example of the estimation means for estimating the measurement amount.
The calculation unit 64 acquires the vibration torque estimation value differential value d(dω{circumflex over ( )})/dt output by the calculation unit 63. Then, the vibration suppression torque is calculated by multiplying this by the feedback gain Gdv, and the calculated vibration suppression torque is output.
Thus, the feedback torque output by the PID control unit 21 is added with the feedforward torque based on the inertia model output by the inertia compensation unit 22, and the vibration suppression torque output by the calculation unit 64 is subtracted from the result. In that sense, the calculation unit 64 is an example of the correction means for correcting the drive signal on the basis of the measurement amount. Then, the result is added with the feedforward torque based on the friction model output by the friction compensation unit 23, and the result becomes the command torque τ to the motor 2.
In the fourth embodiment, the controller 20 includes a weight change unit 65 in addition to these components. The weight change 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 indicated to the controller 20, thereby obtaining a similar result to that in the third embodiment. Specifically, the weight g(t) is only required to be made small when the target angular velocity dθD/dt is small. Similar graphs to those in
As illustrated, in the controller 20, the weight change unit 65 determines whether or not the absolute value of the target angular velocity dθD/dt indicated to the controller 20 is equal to or less than a threshold value (0.01 rad/s, for example) (Step 401). If it is determined that the absolute value of the target angular velocity dθD/dt is equal to or less than the threshold value, the weight change unit 65 changes the weight g(t) in the least squares estimation unit 62 (Step 402).
Next, the least squares estimation unit 62 performs least squares estimation with forgetting factor and weight with respect to the disturbance torque d, thereby calculating the vibration torque estimation value dω{circumflex over ( )} (Step 403). That is, if the weight g(t) has been changed in Step 402, the vibration torque estimation value dω{circumflex over ( )} is calculated using the changed weight g(t). On the other hand, if the weight g(t) has not been changed, the vibration torque estimation value dω{circumflex over ( )} is calculated using the weight g(t) of the default value.
Then, the calculation unit 63 calculates the vibration torque estimation value differential value d(dω{circumflex over ( )})/dt by differentiating the vibration torque estimation value dω{circumflex over ( )} calculated in Step 403 (Step 404).
Next, the calculation unit 64 calculates the vibration suppression torque on the basis of the vibration torque estimation value differential value d(dω{circumflex over ( )})/dt calculated in Step 404 (Step 405).
Thus, the controller 20 outputs, to the motor 2, the command torque τ corrected on the basis of the vibration suppression torque calculated in Step 405 (Step 406).
In the first to fourth embodiments, the observer for estimating disturbance is configured, but in the fifth embodiment, an observer for estimating the arm angular velocity dθA/dt is configured.
Since the functional configuration of the mechanical system 10 is similar to those described in the first to fourth embodiments, the description thereof is omitted.
Next, the functional configuration of the controller 20 will be described.
As illustrated, the controller 20 includes a PID control unit 21, an inertia compensation unit 22, and a friction compensation unit 23. Since these configurations are similar to those described in the first to fourth embodiments, the description thereof is omitted.
The controller 20 includes an arm angular velocity estimation unit 70. The arm angular velocity estimation unit 70 acquires the motor angular velocity dθM/dt output by the mechanical system 10, and outputs the arm angular velocity estimation value (dθA/dt){circumflex over ( )}. Specifically, the arm angular velocity estimation unit 70 includes an arm angular velocity estimation observer 71.
The arm angular velocity estimation observer 71 acquires the motor angular velocity dθM/dt output by the mechanical system 10 and torque τM obtained by subtracting the torque based on the friction model output by the friction compensation unit 23 from the command torque z to the motor 2. The arm angular velocity estimation value (dθA/dt){circumflex over ( )} is calculated by performing the processing shown as follows to the motor angular velocity dθM/dt and the torque τM, and the calculated arm angular velocity estimation value (dθA/dt){circumflex over ( )} is output.
As illustrated, in the arm angular velocity estimation observer 71, a calculation unit 711 calculates a motor angular acceleration d2θM/dt2 by differentiating the motor angular velocity dθM/dt2. A calculation unit 712 calculates τM/JM by multiplying torque τM by 1/JM. Furthermore, a calculation unit 713 calculates Kε{circumflex over ( )}/JM by multiplying ε{circumflex over ( )}, calculated as described later, by K/JM. Then, a calculation unit 714 multiplies the result of subtracting τM/JM from the motor angular acceleration d2θM/dt2 and adding Kε{circumflex over ( )}/JM to the result by a convergence gain L1, thereby calculating L1×(d2θM/dt2−τM/JM+Kε{circumflex over ( )}/JM).
On the other hand, a calculation unit 715 multiplies the result of subtracting τM/JM from the motor angular acceleration d2θM/dt2 and adding Kε{circumflex over ( )}/JM to the result by a convergence gain L2, thereby calculating L2×(d2θM/dt2−τM/JM+Kε{circumflex over ( )}/JM). A calculation unit 716 adds L2×(d2θM/dt2−τM/JM+Kε{circumflex over ( )}/JM) to the motor angular velocity dθM/dt and integrates the result of subtracting the arm angular velocity estimation value (dθA/dt){circumflex over ( )} from the result, thereby calculating ε{circumflex over ( )}. Furthermore, a calculation unit 717 calculates Kε{circumflex over ( )}/JA by multiplying ε{circumflex over ( )} by K/JA.
Thus, a calculation unit 718 integrates the result of adding Kε{circumflex over ( )}/JA to L1×(d2θM/dt2−τM/JM+Kε{circumflex over ( )}/JM), thereby calculating the arm angular velocity estimation value (dθA/dt){circumflex over ( )}.
Thus, the arm angular velocity estimation observer 71 is implemented in the form of a minimal dimension observer. Normally, the differential value d2θM/dt2 of the state quantity dθM/dt is not used and is replaced by the output values τM, f, but in this embodiment, the arm angular velocity estimation observer 71 is implemented in the form where the differential value d2θM/dt2 of the state quantity dθM/dt is left without being replaced by the output values τM, f. Note that this is an example of estimating the measurement amount by using a differential value of the state quantity in an equation of state of the mechanical system. Such a technique is applicable not only in the fifth embodiment but also in the first to fourth embodiments.
In the present embodiment, the arm angular velocity estimation value (dθA/dt){circumflex over ( )} is used as an example of the measurement amount related to the mechanical system, and the arm angular velocity estimation unit 70 is provided as an example of the estimation means for estimating the measurement amount.
With reference to
Thus, the feedback torque output by the PID control unit 21 is added with the feedforward torque based on the inertia model output by the inertia compensation unit 22, and the vibration suppression torque output by the calculation unit 72 is subtracted from the result. In that sense, the calculation unit 72 is an example of the correction means for correcting the drive signal on the basis of the measurement amount. Then, the result is added with the feedforward torque based on the friction model output by the friction compensation unit 23, and the result becomes the command torque τ to the motor 2.
In the fifth embodiment, the controller 20 includes a convergence gain change unit 73 in addition to these components. The convergence gain change unit 73 changes the convergence gains L1 and L2 used in the arm angular velocity estimation observer 71 in accordance with the target angular velocity dθD/dt indicated to the controller 20. Specifically, the convergence gains L1 and L2 are only required to be made small when the target angular velocity dθD/dt is small. Hereinafter, the influence of the modeling error is eliminated by setting the convergence gains L1 and L2 to 0 when the absolute value of the target angular velocity dθD/dt becomes 0.01 rad/s or less. In the present embodiment, a time in which 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, the convergence gains L1 and L2 are used as an example of a gain used in the estimation means, and the convergence gain change unit 73 is provided as an example of the change means for changing the gain so that the influence of an increase in the modeling error becomes small in a period in which the modeling error of the mechanical system increases.
On the other hand,
As illustrated, in the controller 20, the convergence gain change unit 73 determines whether or not the absolute value of the target angular velocity dθD/dt indicated to the controller 20 is equal to or less than a threshold value (0.01 rad/s, for example) (Step 501). If it is determined that the absolute value of the target angular velocity dθD/dt is equal to or less than the threshold value, the convergence gain change unit 73 changes the convergence gains L1 and L2 in the arm angular velocity estimation observer 71 (Step 502).
Next, the arm angular velocity estimation observer 71 performs the processing shown in
Next, the calculation unit 72 calculates the vibration suppression torque on the basis of the arm angular velocity estimation value (dθA/dt){circumflex over ( )} calculated in Step 503 (Step 504).
Thus, the controller 20 outputs, to the motor 2, the command torque z corrected on the basis of the vibration suppression torque calculated in Step 504 (Step 505).
[Variation]
In the first to fifth embodiments, the vibration suppression torque is calculated on the basis of the vibration torque estimation value dω{circumflex over ( )}, the vibration torque differential value estimation value (ddω/dt){circumflex over ( )}, the vibration torque estimation value differential value d(dω>{circumflex over ( )})/dt, and the arm angular velocity estimation value (dθA/dt){circumflex over ( )}, but the present invention is not limited thereto. The vibration suppression torque may be calculated on the basis of an estimation value (dε/dt){circumflex over ( )} of the elastic deformation speed of the elastic body 3, for example.
Number | Date | Country | Kind |
---|---|---|---|
JP2018-188826 | Oct 2018 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/032249 | 8/19/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/070988 | 4/9/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20070143040 | Ide | Jun 2007 | A1 |
20080035411 | Yamashita | Feb 2008 | A1 |
20130311044 | Tamaizumi | Nov 2013 | A1 |
20140300308 | Ikeda | Oct 2014 | A1 |
20170205439 | Liu | Jul 2017 | A1 |
20190072935 | Katsura | Mar 2019 | A1 |
Number | Date | Country |
---|---|---|
H07-337058 | Dec 1995 | JP |
2013-118817 | Jun 2013 | JP |
2014-117787 | Jun 2014 | JP |
Entry |
---|
International Preliminary Report on Patentability and Written Opinion issued in PCT/JP2019/032249; dated Apr. 15, 2021. |
The extended European search report issued by the European Patent Office dated Jun. 7, 2022, which corresponds to European Patent Application No. 19869956.3-1202 and is related to U.S. Appl. No. 17/268,043. |
Number | Date | Country | |
---|---|---|---|
20210216048 A1 | Jul 2021 | US |