Servo control device

The calibration unit and the judgment unit of the servo control device evaluate the reliability of the candidate command value using the reliability index, solve the problem of reliability judgment when estimating the correction amount, and improve the accuracy and reliability of the servo motor drive control.

CN115917445BActive Publication Date: 2025-07-29MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080101273.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-05
Publication Date
2025-07-29
Estimated Expiration
2040-06-05

AI Technical Summary

Technical Problem

The existing servo control device cannot effectively judge the reliability of the correction amount when estimating the correction amount, resulting in poor track error and correction effect, especially in cases of interference or unknown input, which may deteriorate the result.

Method used

The servo control device uses the correction unit and the judgment unit to evaluate the candidate command value based on the command value and the actual measurement results of the servo motor, judges its reliability, and controls it through the servo amplifier to ensure the reliability of the corrected command value.

Benefits of technology

The track error is effectively suppressed, the accuracy and reliability of the servo motor drive control are improved, and the result deterioration caused by unreliable correction is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115917445B_ABST
    Figure CN115917445B_ABST
Patent Text Reader

Abstract

The servo control device (1) controls the operation of the servo motor (3) based on the command value that periodically inputs to indicate the operation of the servo motor (3). The servo control device (1) includes a correction unit (12), a determination unit (13), and a servo amplifier (11). The correction unit (12) determines a candidate command value, which is the command value after correcting the command value, and a reliability index, which is an index for evaluating the reliability of the candidate command value, based on the command value and the measured result of the operation of the servo motor (3), and outputs a corrected command value, which is the corrected command value for controlling the servo motor (3). The determination unit (13) determines whether to permit or not permit the application of the candidate command value to the control of the servo motor (3) based on the reliability index, and outputs the determination result to the correction unit (12). The servo amplifier (11) controls the servo motor (3) based on the corrected command value. The correction unit (12) outputs the candidate command value as the corrected command value to the servo amplifier (3) based on the determination result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a servo control device that controls a servo motor that drives an axis of a control object such as a machine tool. Background Art

[0002] Generally, in a servo control device that drives and controls a motor that drives a control object such as a machine tool, a robot, or industrial machinery, the drive current to the motor is controlled so as to achieve the position and speed specified by a command value generation device. An example of the command value generation device is a numerical control (NC) device or a motion controller. In particular, when a machining tool moves on a movement trajectory indicated by a machining program, the drive control of the motor is performed while finely managing the position.

[0003] Patent Document 1 discloses a control device that uses the characteristic quantity of a workpiece and the attribute value of the environment for producing a product as input data, and predicts a command value to a production device that produces a product from the workpiece through a prediction model. In the control device described in Patent Document 1, after starting the arithmetic processing of the prediction model, based on the remaining processing time until the arithmetic processing of the prediction model is completed, it is determined whether the determination of the command value based on the output value obtained from the prediction model can catch up with the control timing for controlling the operation of production by the production device. When the determination of the command value can catch up with the control timing, the command value to the production device is determined based on the output value obtained by the completion of the arithmetic processing of the prediction model. On the other hand, when the determination of the command value cannot catch up with the control timing, the arithmetic processing of the prediction model is aborted, and it is determined whether the result of the abortion can be trusted as the prediction result. When it can be trusted, the command value to the production device is determined based on the value of the result of the abortion.

[0004] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2019 - 179468 Summary of the Invention

[0005] In addition, in the drive control of an electric motor, the following technique is known, that is, a model for estimating a correction amount of a command value based on data such as the position and speed of the electric motor obtained by a sensor or the like is used to correct the command value. However, if the phenomena occurring in the drive control of the electric motor cannot be sufficiently considered in the model, the correction effect is not fully exhibited, or overcorrection occurs, and sometimes the result may be deteriorated by the correction. In addition, in the case where the input to the model is disturbed due to interference or the like or there is an unknown input, unexpected correction may be performed. Therefore, it is considered how much the value estimated by the model can be trusted, that is, the unreliability of the predicted result is judged and effectively used for control. However, the reliability in the technique described in Patent Document 1 is the reliability in the case of comparing with the result calculated by the prediction model until the end, and is not the reliability for judging the unreliability of the prediction result obtained from the prediction model. That is, in the technique described in Patent Document 1, the result in the case of calculating by the prediction model until the end does not consider the unreliability of the prediction and is used for generating the command value. Therefore, the following technique is required, that is, in the case of correcting the command value using a model for estimating the correction amount based on the operating state of the electric motor, it is possible to judge how much the correction amount estimated at the estimation time of the correction amount can be trusted.

[0006] The present invention has been made in view of the above circumstances, and an object thereof is to obtain a servo control device that can judge how much the correction amount estimated after the estimation time of the correction amount can be trusted at the estimation time of the correction amount.

[0007] In order to solve the above problems and achieve the object, the servo control device according to the present invention controls the operation of the servo motor based on a command value that periodically inputs an instruction for the operation of the servo motor. The servo control device includes a correction unit, a judgment unit, and a servo amplifier. The correction unit determines a corrected command value, that is, a candidate command value, for correcting the command value and a reliability index, which is an index for evaluating the reliability of the candidate command value, based on the command value and the measured result of the operation of the servo motor, and outputs a corrected command value, which is a command value for controlling the servo motor, after correction. The judgment unit judges whether to permit or not to permit the application of the candidate command value to the control of the servo motor based on the reliability index, and outputs the judgment result to the correction unit. The servo amplifier controls the servo motor based on the corrected command value. The correction unit outputs the candidate command value as the corrected command value to the servo amplifier based on the judgment result.

[0008] Effects of the Invention

[0009] The servo control device according to the present invention has the following effect, that is, at the estimated time of the correction amount, it is possible to determine to what extent the correction amount estimated after the estimated time of the correction amount can be trusted. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 FIG. is a block diagram schematically showing an example of the structure of the servo control device according to Embodiment 1.

[0011] Figure 2 FIG. is a diagram for conceptually explaining the predicted value and the fluctuation of the predicted value.

[0012] Figure 3 FIG. is a flowchart showing an example of the sequence of the control method in the servo control device according to Embodiment 1.

[0013] Figure 4 FIG. is a block diagram schematically showing an example of the structure of the servo control device according to Embodiment 2.

[0014] Figure 5 FIG. is a block diagram schematically showing an example of the structure of the model information update unit of the servo control device according to Embodiment 2. [[ID=2३]]

[0015] Figure 6 FIG. is a block diagram schematically showing an example of the structure of the servo control device according to Embodiment 3.

[0016] Figure 7 FIG. is a diagram schematically showing an example of the hardware structure for implementing the servo control devices according to Embodiments 1, 2, and 3. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0017] Hereinafter, based on the drawings, the servo control device according to the embodiments of the present invention will be described in detail.

[0018] Embodiment 1.

[0019] In the drive control of a servo motor, there is a problem that a trajectory error occurs due to the influence of frictional interference when the rotation direction of the servo motor is reversed. This trajectory error is also called a quadrant bulge or cogging, and a technique for suppressing the trajectory error is required. As an example of a technique for suppressing the trajectory error, consider the following method, that is, using a model that estimates a correction amount for suppressing the trajectory error based on data such as the position and speed of the motor obtained through a sensor or the like, and correcting the command value. However, if the phenomenon that causes the trajectory error cannot be fully considered, the correction effect is not fully manifested, or overcorrection occurs, and the result may be deteriorated instead by the correction. In addition, when the input to the model is disturbed due to interference or the like, or when there is an unknown input, an unexpected correction may be performed. Therefore, by using the model to judge the reliability of the estimated correction amount after the estimated time of the correction amount at the time of estimating the correction amount, that is, judging the unreliability of the predicted result, and effectively using it for control, the trajectory error can be suppressed. In the following embodiments, the unreliability of the prediction of the result estimated by the model is judged, and a servo control device that can suppress the occurrence of the trajectory error in the drive control of the servo motor will be described.

[0020] Figure 1 FIG. is a block diagram schematically showing an example of the configuration of the servo control device according to Embodiment 1. The servo control device 1 is electrically connected to the command value generation unit 2 and the servo motor 3. The servo control device 1 controls based on the command value periodically generated by the command value generation unit 2 so that the actual operation state of the servo motor 3 coincides with the corrected command value. An example of the operation state is the position, speed, and acceleration of the servo motor 3. The servo control device 1 generates a current and a voltage for driving the servo motor 3 based on the command value generated by the command value generation unit 2 and applies them to the servo motor 3.

[0021] The command value generation unit 2 is a device that outputs a command value to the servo control device 1 at a predetermined time interval, that is, the servo control cycle. The command value generation unit 2 is implemented, for example, by a numerical control device or a motion controller, and generates a command value using a known technique. Here, the command value is a target value for controlling the operation state or control amount of the servo motor 3 to a desired state, and includes at least one of the position, speed, acceleration, torque, current, and model position of the servo motor 3. In addition, the model position is an approximate position of the servo motor 3 obtained by calculation, and estimates the actual position of the servo motor 3 in the current servo control cycle. By using a servo model that simulates the structure of the servo motor 3, the model position can be estimated. This servo model is simply defined as a first-order delay filter having a cut-off frequency and can usually be processed as a filter having a low-pass characteristic.

[0022] The servo motor 3 is a drive device for driving and controlling a control object via a power transmission mechanism such as a ball screw (not shown), and rotates by receiving an applied voltage from a servo amplifier 11 in the servo control device 1. An example of the control object is a machine tool, a robot, or an industrial machine. The servo motor 3 has a position detector such as an encoder for detecting the position of the servo motor 3. The position detector outputs the detected position to the servo control device 1. The position detected by the position detector is input to the servo amplifier 11 and the correction unit 12 in the servo control device 1.

[0023] The servo control device 1 has a servo amplifier 11, a correction unit 12, and a determination unit 13. The servo amplifier 11 is a device that controls the position, speed, and acceleration of the servo motor 3 at a predetermined time interval, i.e., the servo control cycle. The servo amplifier 11 actually performs control so that the actual operating state of the servo motor 3 coincides with the command value corrected by the correction unit 12 described later. Hereinafter, the command value used for controlling the operation of the servo motor 3 is referred to as the corrected command value.

[0024] Based on the command value generated by the command value generation unit 2 and state quantities such as the actual position and speed of the servo motor 3, the correction unit 12 determines a candidate command value, which is a candidate for the current or future corrected command value, and a reliability index, which is an index for evaluating the reliability of the candidate command value. In addition, the correction unit 12 outputs a corrected command value, which is a corrected command value for controlling the servo motor 3. Specifically, the correction unit 12 takes the command value generated by the command value generation unit 2 and state quantities such as the actual position and speed of the servo motor 3 as inputs, and determines the candidate command value and the reliability index by the method described later and outputs them. The actual state quantity of the servo motor 3 is the measured result of the operation of the servo motor 3.

[0025] The determination unit 13 determines whether to permit or not permit the application of the candidate command value to the control of the servo motor 3 based on the reliability index output from the correction unit 12, and outputs the determination result to the correction unit 12. Specifically, when the determination unit 13 determines that it can be trusted for the application of the candidate command value based on the reliability index output from the correction unit 12, it outputs a determination result to the effect that the output of the candidate command value to the servo amplifier 11 is permitted to the correction unit 12. When the determination unit 13 determines that it cannot be trusted for the application of the candidate command value based on the reliability index output from the correction unit 12, it outputs a determination result to the effect that the output of the candidate command value to the servo amplifier 11 is not permitted to the correction unit 12. The reliability index is an index for determining the unreliability of the predicted result, and is an index for determining whether the predicted result can be used for correcting the command value. In the correction unit 12, the state of the future servo motor 3 is predicted using a prediction model. Therefore, when the accuracy of the prediction model is low, the unreliability of the future prediction sometimes increases. In addition, when the input to the prediction model is disturbed due to interference or the like, or when there is an unknown input, the unreliability of the result predicted by the prediction model sometimes also increases. In the determination unit 13, the unreliability of the prediction in the correction unit 12 as described above is determined. As a method for the correction unit 12 to determine the reliability based on the reliability index, for example, there is a method of determining based on the magnitude relationship with a preset reference value, that is, a threshold value, but it is not limited to this method.

[0026] In addition, the correction unit 12 selects a command value for controlling the servo motor 3 according to the determination result from the determination unit 13, and outputs the selected command value as the corrected command value to the servo amplifier 11. Specifically, when the correction unit 12 obtains a determination result of permission, it outputs the candidate command value as the corrected command value to the servo amplifier 11. When it obtains a determination result of non-permission, it outputs a command different from the candidate command value as the corrected command value to the servo amplifier 11 by the method described later.

[0027] Here, a more detailed structure of the correction unit 12 will be described. The correction unit 12 includes a prediction unit 121 and a correction selection unit 122. The prediction unit 121 has a prediction model for predicting a state quantity of the operation of the servo motor 3 at present or in the future, such as its position. The prediction unit 121 takes the command value obtained from the command value generation unit 2 and the actual state quantity of the operation of the servo motor 3 obtained from the servo motor 3 as inputs, and uses the prediction model to predict the predicted state quantity of the operation of the servo motor 3 at present or in the future. In addition, the prediction unit 121 calculates a reliability index for evaluating the reliability of the predicted state quantity using the prediction model. Furthermore, although the reliability index evaluates the reliability of the predicted state quantity, since the candidate command value is a command value corrected using the predicted state quantity that is the object of evaluation, sometimes the reliability of the candidate command value is evaluated.

[0028] As an example of calculating the prediction model, the predicted state quantity predicted from the prediction model, and the reliability index corresponding to the predicted state quantity, a method of Gaussian process regression, which is an example of a probability model assuming that the predicted state quantity is a probability variable following a specific distribution, is given. When calculating the predicted state quantity and the reliability index using Gaussian process regression, for example, the following calculations are performed. Let N be a natural number, N points of sampling are performed when the servo motor 3 is operated by processing or the like, the input data is set as x, the output data is set as y, and the Gram matrix is set as C N . At this time, if one of the sampled input data is set as x i (i is a natural number), one of the sampled output data is set as y i (i is a natural number), and the values of the sampled input data are set as x1, ···, x N , then for the new input x N+1 , the predicted value m(x N+1 ) of the output y N+1 and the variance σ 2 (x N+1 ) that forms the basis of the reliability index are calculated by the following equations (1) and (2).

[0029] m(x N+1 ) = k T · (C N -1 ) · y ··· (1)

[0030] σ 2 (x N+1 ) = c - k T · (C N -1 ) · k ··· (2)

[0031] Here, k is as shown in the following formula (3), and is a vector obtained by arranging the values of the kernel function when the sampled input data x1, ···, x N are each set as the independent variable together with the new input x N+1 . In addition, c is a scalar value obtained by adding the values of the kernel function between the new inputs x N+1 to the accuracy parameter of the prediction model. Further, in formula (2), the variance σ 2 (x N+1 ) is obtained, but by calculating the square root of the variance, the standard deviation σ(x N+1 ) can be obtained.

[0032]

Equation 1

[0033]

[0034] Next, the predicted value and the fluctuation of the predicted value will be described. Figure 2 is a diagram for conceptually explaining the predicted value and the fluctuation of the predicted value. In Figure 2 , an example of calculating the predicted value and the range of the fluctuation of the predicted value using Gaussian process regression is shown. Figure 2 The horizontal axis of Figure 2 shows the input data x, and the vertical axis shows the output data y. Figure 2 The points indicated by the black dots in Figure 2 show the points of the data obtained in advance. In the prediction using Gaussian process regression, the output data y predicts the predicted value of the output data y according to the Gaussian distribution. Therefore, if the predicted value is taken as the mean m(x) of the Gaussian distribution and the index indicating the unreliability of the prediction is taken as the standard deviation σ(x) of the Gaussian distribution, then statistically, the actual output data y enters the range of m(x) - 2σ(x) or more and m(x) + 2σ(x) or less with a probability of approximately 95%. In Figure 2 , the curve shown by the solid line shows the predicted value m(x) of the output data y, and the curves shown by the dotted lines show m(x) - 2σ(x) and m(x) + 2σ(x). As Figure 2 shows, there is a tendency that the fluctuation of the predicted value becomes smaller in the part close to the obtained data and becomes larger in the part far from the obtained data.

[0035] From this statistical perspective, a reliability index is defined based on the standard deviation σ(x). For example, when the standard deviation σ(x) is set as the reliability index, the smaller the reliability index becomes, the smaller the fluctuation, and thus the more reliable the predicted value. On this basis, when the actual output data y requires a tolerance error δ(>0), if 2σ(x) ≤ δ is satisfied, it is possible to converge within the tolerance error during calibration. In addition, in other examples, when the reliability index is set to 1 / (1 + α·σ(x)) and α = 2 / δ, when the fluctuation is 0, the reliability index becomes 1, and when the fluctuation is infinite, the reliability index becomes 0. The larger the value of the reliability index, the smaller the fluctuation, and the more reliable the predicted value. On this basis, when the reliability index is greater than or equal to 0.5, since 2σ(x) ≤ δ is satisfied, it is possible to converge within the tolerance error during calibration. As described above, the prediction unit 121 can determine the reliability index based on the fluctuation of the state quantity of the operation of the servo motor 3, which is the output data y predicted using the prediction model. In addition, the reliability index is not limited to this.

[0036] Here, an example of calculating the prediction and the reliability index for the prediction using Gaussian process regression is described. However, the prediction method is not limited to this. For example, it can also be a machine learning method using decision trees, linear regression, boosting methods, neural networks, etc. In addition, the calculation method of the reliability index is not limited to this. For example, methods such as density estimation and mixture density networks can also be used.

[0037] Return to Figure 1 , the correction selection unit 122 calculates the correction amount so that the predicted state quantity output from the prediction unit 121 is consistent with the command value, corrects the command value, and generates a candidate command value. Moreover, the correction selection unit 122 controls whether to output the candidate command value to the servo amplifier 11 based on the determination result output from the determination unit 13. When the determination result is permitted, the correction selection unit 122 outputs the candidate command value as the corrected command value to the servo amplifier 11. When the determination result is not permitted, the correction selection unit 122 outputs a value different from the candidate command value as the corrected command value to the servo amplifier 11. An example of the other value is the corrected command value in the previous cycle, the command value output from the command value generation unit 2, that is, the uncorrected command value, or a pre-specified value. However, the other value is not limited to these values. In addition, when it is not permitted, it is preset which of the above other values is to be output.

[0038] Next, the operation of the servo control device 1 according to the first embodiment will be described. Figure 3It is a flowchart showing an example of the order of the control method in the servo control device according to Embodiment 1. First, the command value generation unit 2 generates a command value at the servo control cycle and outputs it to the servo control device 1. This command value is input to the prediction unit 121 of the servo control device 1. In addition, the servo motor 3 outputs the state quantity of the actual operation of the servo motor 3 to the servo control device 1. The state quantity of the operation of the servo motor 3 is input to the prediction unit 121.

[0039] The prediction unit 121 acquires the command value and the state quantity of the operation of the servo motor 3 (step S11), and uses the prediction model to calculate the predicted state quantity and the reliability index of the operation of the servo motor 3 after the estimated time of the correction amount of the servo motor 3 (step S12). The prediction unit 121 outputs the calculated predicted state quantity of the operation of the servo motor 3 to the correction selection unit 122, and outputs the reliability index to the determination unit 13.

[0040] The correction selection unit 122 generates a candidate command value obtained by correcting the command value so that the predicted state quantity of the operation coincides with the command value (step S13). In addition, the determination unit 13 determines whether to permit the output of the candidate command value to the servo amplifier 11 based on the reliability index (step S14). When the determination unit 13 determines that it is possible to rely on the application of the candidate command value based on the reliability index, the determination unit 13 outputs the determination result permitting the output of the candidate command value to the servo amplifier 11 to the correction selection unit 122. In addition, when the determination unit 13 determines that it is not possible to rely on the application of the candidate command value based on the reliability index, the determination unit 13 outputs the determination result not permitting the output of the candidate command value to the servo amplifier 11 to the correction selection unit 122.

[0041] The correction selection unit 122 determines whether the determination result is permission (step S15). When the determination result is permission (when step S15 is Yes), the correction selection unit 122 outputs the candidate command value as the corrected command value to the servo amplifier 11 (step S16). On the other hand, when the determination result is not permission, that is, when it is not permitted (when step S15 is No), the correction selection unit 122 outputs a value other than the candidate command value as the corrected command value to the servo amplifier 11 (step S17). After step S16 or step S17, the servo amplifier 11 controls the servo motor 3 based on the corrected command value (step S18). Then, the process returns to step S11. The above process is repeated each time a command value is input from the command value generation unit 2 at the servo control cycle.

[0042] In Embodiment 1, the correction unit 12 takes as inputs the command value generated by the command value generation unit 2 and the measured result of the state quantity of the operation of the servo motor 3, and determines a candidate command value obtained by correcting the command value and a reliability index indicating the unreliability of the prediction of the candidate command value. Further, the determination unit 13 determines, based on the reliability index, whether to apply the candidate command value as the corrected command value to the control of the servo motor 3, and outputs the determination result to the correction unit 12. Moreover, the correction unit 12 determines the corrected command value to be output to the servo amplifier 11 based on the determination result. Thereby, there is an effect that it is possible to suppress the deterioration of the machining accuracy by using a candidate command value with a high predicted unreliability as the corrected command value. That is, the servo control device 1 according to Embodiment 1 has the following effect, that is, it is possible to determine, at the estimation time of the correction amount for correcting the command value, to what extent the correction amount estimated after the estimation time of the correction amount can be trusted.

[0043] Further, the correction unit 12 uses a prediction model to predict, from the time when the candidate command value is determined, the state quantity of the operation of the servo motor 3 at a subsequent time, that is, the predicted state quantity, and the reliability index corresponding to the predicted state quantity. And the correction unit 12 determines the candidate command value based on the predicted state quantity. As described above, since it is possible to use a prediction model that outputs both the current or future correction amount and the reliability index corresponding to the correction amount at the same time, there is an effect that the evaluation of the reliability of the correction amount becomes easy.

[0044] Moreover, when the application of the candidate command value is permitted, the correction unit 12 outputs the candidate command value as the corrected command value to the servo amplifier 11, and when the application of the candidate command value is not permitted, the correction unit 12 outputs another value as the corrected command value to the servo amplifier 11. As described above, it is possible to automatically switch between correction using the candidate command value calculated by the prediction model using the reliability index and correction using a value other than that. Further, when the input to the prediction model is disturbed due to interference or the like, or when there is an unknown input, it is possible to suppress an unexpected correction amount. And since the reliability index is calculated based on the fluctuation of the predicted value, it is possible to improve the accuracy of the reliability.

[0045] Embodiment 2.

[0046] Figure 4 FIG. is a block diagram schematically showing an example of the configuration of the servo control device according to Embodiment 2. Hereinafter, the same reference numerals are given to the same structural elements as those in Embodiment 1, and the description thereof is omitted, and only the parts different from those in Embodiment 1 will be described. The servo control device 1A according to Embodiment 2 further includes an accumulation unit 14 and a model information update unit 15.

[0047] The accumulation unit 14 stores, as accumulated information, the instruction value from the instruction value generation unit 2 and the state quantity of the actual operation from the servo motor 3 in a corresponding manner. An example of the state quantity of the operation is the position or speed of the servo motor 3 or the current flowing in the servo motor 3. In Embodiment 2, the state quantity of the operation stored in the accumulation unit 14 is referred to as feedback information. That is, the accumulated information is the information obtained by corresponding the instruction value and the feedback information. Further, the feedback information is determined by the correction unit 12 based on the actual measurement result of the operation of the servo motor 3. In one example, the state quantity of the actual operation from the servo motor 3 used in the construction of the prediction model is determined as the data collected as the feedback information.

[0048] The accumulated information includes the combination of the instruction value and the feedback information when the determination result in the determination unit 13 becomes not permitted. Therefore, the accumulation unit 14 records the accumulated information at the timing when the determination result output from the determination unit 13 to the accumulation unit 14 becomes not permitted. Further, the recording timing is an example, and the timing may be earlier or later than the time preset based on the case where the determination result becomes not permitted. In the case of being earlier than the time preset based on the case where the determination result becomes not permitted, in one example, it is only necessary to record the accumulated information at the timing earlier than the preset time from the timing when the determination result is issued. In this case, the accumulated information recorded when the determination result is not permitted remains unchanged, and in the case where the determination result is permitted, the recorded accumulated information may remain unchanged or may be deleted. In addition, not only when the recorded time also becomes the non-permitted time, but also the accumulated information may be recorded at a preset time interval from the start timing.

[0049] The model information update unit 15 updates the model information related to the prediction model using the accumulated information stored in the accumulation unit 14. The model information includes the model parameters or hyperparameters of the prediction model that outputs the predicted state quantity and the reliability index corresponding to the predicted state quantity, or the prediction model. That is, the model information update unit 15 updates the model parameters or hyperparameters of the prediction model as the model information according to the accumulated information, or updates the prediction model as the model information according to the accumulated information. Here, the case of updating the model parameters of the prediction model using machine learning is described as an example.

[0050] Figure 5 It is a block diagram schematically showing an example of the structure of the model information update unit of the servo control device according to Embodiment 2. The model information update unit 15 includes a state observation unit 151, a learning unit 152, a trained model storage unit 153, and an output unit 154.

[0051] The state observation unit 151 observes the accumulated information stored in the accumulation unit 14 as state variables. In addition, here, the state observation unit 151 observes the accumulated information as state variables, but it is sufficient to observe state variables related to the servo motor 3 or the servo control device 1A that at least includes the accumulated information. An example of the state variables related to the servo motor 3 or the servo control device 1A is state quantities such as the position, speed, or current flowing through the servo motor 3, and command values.

[0052] The learning unit 152 learns the model parameters of the prediction model according to the training data set created based on the state variables. Any learning algorithm can be used as the learning algorithm used by the learning unit 152. As an example, the case of applying one of the supervised learning algorithms, i.e., Gaussian process regression, will be described. When the Gaussian process regression is used in the prediction model, the parameters used in the kernel function, etc. are estimated using the accumulated information stored in the accumulation unit 14, and the prediction model is updated. For example, teacher data is created with the time series data of the command value output from the command value generation unit 2 as the input data and the actual state of the servo motor 3 as the output data, and learning is performed based on these data to estimate the parameters. The optimal estimation, etc. is used as the method for estimating the parameters, and thus a more reliable prediction model can be constructed, but the method for estimating the parameters is not limited to this method. When the learning converges, the learning unit 152 sets the learned prediction model or the learned model parameters or hyperparameters applied to the prediction model as the trained model information, i.e., the learning result. The determination of learning convergence can use a well-known determination method.

[0053] The trained model storage unit 153 stores the learning result. As described above, the learning result is the model after learning convergence, i.e., the trained model or the updated model parameters or hyperparameters.

[0054] The output unit 154 obtains the learning result from the trained model storage unit 153 and applies the learning result to the prediction model of the prediction unit 121 at an appropriate timing. That is, when the prediction model has been learned, the output unit 154 reflects the updated prediction model in the prediction model of the prediction unit 121. In addition, when the model parameters or hyperparameters of the prediction model have been learned, the output unit 154 reflects the updated model parameters or hyperparameters in the prediction model of the prediction unit 121. As described above, by successively updating the prediction model using the input-output data with insufficient reliability in the determination result of the determination unit 13, a prediction model that can perform highly reliable correction can be constructed. That is, the situation where the application of the candidate command value to the servo motor 3 becomes prohibited can be reduced.

[0055] In addition, in Figure 4In this case, it is shown that the accumulation unit 14 and the model information update unit 15 are provided in the servo control device 1A. However, the accumulation unit 14 and the model information update unit 15 may also be devices separate from the servo control device 1A. In one example, the accumulation unit 14 and the model information update unit 15 may be built into an external information processing device such as a personal computer. In this case, it is configured to record the accumulated information and construct a prediction model on the external information processing device, and reflect the result in the prediction unit 121 in the servo control device 1A.

[0056] In Embodiment 2, the accumulation unit 14 stores the command value from the command value generation unit 2 and the feedback information from the servo motor 3 in correspondence with each other as accumulated information. The accumulated information includes the command value and feedback information for which the determination result obtained by the determination unit 13 is not permitted. The model information update unit 15 updates the prediction model, model parameters, or hyperparameters, that is, the result information, using the accumulated information through machine learning, and reflects the updated result information in the prediction unit 121. Thereby, it is possible to sequentially update the prediction model using the input-output data in the case where the reliability of the determination result obtained by the determination unit 13 is insufficient. That is, by using the data with low reliability to update the prediction model, model parameters, or hyperparameters again, it is possible to improve the prediction accuracy of the prediction model. In addition, it is possible to construct a more reliable prediction model through machine learning.

[0057] Embodiment 3.

[0058] Figure 6 FIG. is a block diagram schematically showing an example of the structure of the servo control device according to Embodiment 3. Hereinafter, the same reference numerals are given to the same structural elements as in Embodiment 1, and their descriptions are omitted, and the parts different from Embodiment 1 will be described. In the servo control device 1B according to Embodiment 3, the correction unit 12 has two or more prediction units. In Figure 6 the example, the correction unit 12 has a first prediction unit 121A and a second prediction unit 121B. In addition, the correction unit 12 may have three or more prediction units.

[0059] The prediction models used by the first prediction unit 121A and the second prediction unit 121B are different. That is, in the first prediction unit 121A and the second prediction unit 121B, the structure or prediction method of the prediction model is different, or the structure or prediction method of the prediction model is the same but the model parameters or hyperparameters used are different. Therefore, generally, there are differences in the prediction results of the first prediction unit 121A and the second prediction unit 121B.

[0060] The first prediction unit 121A and the second prediction unit 121B obtain the command value output from the command value generation unit 2 and the state quantity of the actual operation of the servo motor 3 output from the servo motor 3, and use each prediction model to predict the predicted state quantity and the reliability index corresponding to the predicted state quantity. The first prediction unit 121A and the second prediction unit 121B output the predicted state quantity to the correction selection unit 122, and output the reliability index to the determination unit 13. Here, in order to distinguish the outputs of the first prediction unit 121A and the second prediction unit 121B respectively, the predicted state quantity and the reliability index output from the first prediction unit 121A are respectively referred to as the first predicted state quantity and the first reliability index, and the predicted state quantity and the reliability index output from the second prediction unit 121B are respectively referred to as the second predicted state quantity and the second reliability index.

[0061] The determination unit 13 obtains the first reliability index output from the first prediction unit 121A and the second reliability index output from the second prediction unit 121B. The determination unit 13 determines the reliability using the obtained first reliability index, second reliability index, and a preset reference value, i.e., a threshold value. In this determination of reliability, there are the following cases: the first case where both the first reliability index and the second reliability index satisfy the threshold value, and it is determined that the reliability is satisfied; the second case where only either one of the first reliability index and the second reliability index satisfies the threshold value, and it is determined that the reliability is satisfied; and the third case where neither the first reliability index nor the second reliability index satisfies the threshold value, and it is determined that the reliability is not satisfied.

[0062] In the first case, the determination unit 13 outputs the determination result to the correction selection unit 122, and this determination result permits the output of the candidate command value corrected based on the predicted state quantity output from the prediction unit with higher reliability among the first prediction unit 121A and the second prediction unit 121B to the servo amplifier 11.

[0063] In the second case, the determination unit 13 outputs the determination result to the correction selection unit 122, and this determination result permits the output of the candidate command value corrected based on the predicted state quantity output from the prediction unit that satisfies the reliability to the servo amplifier 11.

[0064] In the third case, the determination result that does not permit the use of both the first predicted state quantity and the second predicted state quantity for correction is output to the correction selection unit 122.

[0065] The correction selection unit 122 calculates a correction amount such that the first predicted state quantity output from the first prediction unit 121A is consistent with the command value, and corrects the command value to generate a candidate command value. In addition, the correction selection unit 122 calculates a correction amount such that the second predicted state quantity output from the second prediction unit 121B is consistent with the command value, and corrects the command value to generate a candidate command value.

[0066] Furthermore, the correction selection unit 122 controls whether to output the candidate command value to the servo amplifier 11 based on the determination result output from the determination unit 13. In the first case, the correction selection unit 122 outputs the candidate command value corrected based on the predicted state quantity output from the prediction unit with a higher reliability among the first prediction unit 121A and the second prediction unit 121B as the corrected command value to the servo amplifier 11. In the second case, the correction selection unit 122 outputs the candidate command value corrected based on the predicted state quantity output from any one of the prediction units that satisfies the reliability as the corrected command value to the servo amplifier 11. In the third case, the correction selection unit 122 outputs another value as the corrected command value. An example of the other value is the corrected command value in the previous cycle, the command value output from the command value generation unit 2, that is, the uncorrected command value, or a pre-specified value. However, the other value is not limited to these values.

[0067] That is, when at least one of the determination results based on the reliability indexes determined by the plurality of prediction units 121A and 121B is permitted, the correction selection unit 122 determines the candidate command value with the best reliability index among the candidate command values related to the prediction unit for which the determination result is permitted as the corrected command value. In addition, when all of the determination results based on the reliability indexes determined by the plurality of prediction units 121A and 121B are not permitted, the correction selection unit 122 determines the corrected command value immediately before the time when the candidate command value is determined, the command value at the time when the candidate command value is determined, or a pre-set value as the corrected command value.

[0068] In Embodiment 3, the servo control device 1B includes a plurality of prediction units 121A and 121B, and the prediction models used by the respective prediction units 121A and 121B are different. Accordingly, different predicted state quantities and reliability indices are calculated from the respective prediction units 121A and 121B. The determination unit 13 selects a candidate command value to be output to the servo amplifier 11 based on the reliability indices output from the plurality of prediction units 121A and 121B. That is, among the candidate command values for which the reliability index satisfies the threshold, the candidate command value corrected based on the predicted state quantity output from the prediction unit with a higher reliability is selected as the corrected command value, and in the case where the reliability index does not satisfy all the thresholds, another value is selected as the corrected command value. As described above, by comparing the reliability indices from the plurality of prediction models and selecting the most reliable correction amount, the accuracy of the correction can be improved. In addition, in response to changes in the input to the controlled object or the plurality of prediction units 121A and 121B, by using a more suitable prediction model according to the controlled object or the data, a more reliable correction can also be performed based on the reliability index. As a result, it is possible to prevent the machining accuracy from deteriorating due to inappropriate correction.

[0069] In addition, the structure of Embodiment 2 may be applied to the structure of Embodiment 3. Accordingly, it is possible to sequentially update the prediction models in the plurality of prediction units 121A and 121B using the input-output data determined to have insufficient reliability in the determination result obtained by the determination unit 13. That is, by using the data with low reliability to update the prediction models, model parameters, or hyperparameters in the plurality of prediction units 121A and 121B again, the prediction accuracy of the prediction models can be improved.

[0070] Next, the hardware structures of the correction unit 12, determination unit 13, accumulation unit 14, and model information update unit 15 that implement the servo control devices 1, 1A, and 1B described in the respective embodiments will be described. Figure 7 is a diagram schematically showing an example of the hardware structure that implements the servo control devices according to Embodiments 1, 2, and 3. The correction unit 12, determination unit 13, accumulation unit 14, and model information update unit 15 described in Embodiments 1, 2, and 3 can be implemented by Figure 7 the processing circuit 100 shown.

[0071] The processing circuit 100 includes a processor 101, a memory 102, an input circuit 103, and an output circuit 104. The processor 101 is a CPU (also known as Central Processing Unit, central processing device, processing device, arithmetic unit, microprocessor, microcomputer, processor, DSP), a system LSI (Large Scale Integration), or the like. The memory 102 is a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory), a magnetic disk, a floppy disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).

[0072] The correction unit 12, the determination unit 13, the accumulation unit 14, and the model information update unit 15 can be implemented by reading the programs corresponding to each of them from the memory 102 and executing them by the processor 101. The input circuit 103 is used when receiving information processed by the processor 101, information stored in the memory 102, etc. from the outside, and the output circuit 104 is used when outputting information generated by the processor 101, information stored in the memory 102 to the outside.

[0073] In addition, the servo amplifier 11 is implemented by a dedicated circuit, and the dedicated circuit includes a conversion circuit that converts a voltage supplied from the outside to generate a voltage applied to the servo motor 3, a control circuit that controls the conversion circuit, and the like.

[0074] The structures shown in the above embodiments represent an example, and can also be combined with other known technologies, can also combine the embodiments with each other, and can also omit or change a part of the structure without departing from the gist.

[0075] Explanation of reference numerals

[0076] 1, 1A, 1B servo control device, 2 command value generation unit, 3 servo motor, 11 servo amplifier, 12 correction unit, 13 determination unit, 14 accumulation unit, 15 model information update unit, 121 prediction unit, 121A first prediction unit, 121B second prediction unit, 122 correction selection unit, 151 state observation unit, 152 learning unit, 153 trained model storage unit, 154 output unit.

Claims

1. A servo control device controls the operation of a servo motor based on an instruction value that periodically indicates the operation of the servo motor. The servo control device is characterized by comprising: a correction unit that determines a candidate instruction value, which is an instruction value obtained by correcting the instruction value, and a reliability index, which is an index for evaluating the reliability of the candidate instruction value, based on the instruction value and the measured result of the operation of the servo motor, and outputs a corrected instruction value, which is the corrected instruction value for controlling the servo motor; a determination unit that determines whether to permit or not permit the application of the candidate instruction value to the control of the servo motor based on the reliability index, and outputs the determination result to the correction unit; and a servo amplifier that controls the servo motor based on the corrected instruction value, wherein the correction unit comprises: a prediction unit that uses a prediction model for predicting a state quantity of the operation of the servo motor at present or in the future, takes the instruction value and the measured result of the operation of the servo motor as inputs, predicts a predicted state quantity of the state quantity of the operation of the servo motor at a time after the time when the candidate instruction value is determined, and evaluates the reliability of the predicted state quantity; and a correction selection unit that determines the candidate instruction value based on the predicted state quantity, wherein the prediction unit uses the reliability of the predicted state quantity as the reliability index, and the correction selection unit of the correction unit outputs the candidate instruction value as the corrected instruction value to the servo amplifier based on the determination result.

2. The servo control device according to claim 1, characterized by further comprising: an accumulation unit that stores the instruction value and the measured result of the operation of the servo motor in correspondence as accumulation information; and a model information update unit that, when the determination result is not permitted, updates the prediction model or model information including model parameters or hyperparameters of the prediction model using the accumulation information, and causes the updated model information to be reflected in the prediction model of the prediction unit.

3. The servo control device according to claim 2, characterized by: the model information update unit comprising: a state observation unit that observes state variables related to the servo motor or the servo control device including at least the accumulation information; a learning unit that learns the model information according to a training data set created based on the state variables; a trained model storage unit that stores the trained model information learned by the learning unit; and an output unit that causes the trained model information to be reflected in the prediction model of the prediction unit.

4. The servo control device according to any one of claims 1 to 3, characterized by: the prediction unit determining the reliability index based on the fluctuation of the state quantity of the servo motor predicted using the prediction model. ​ The determination unit compares the confidence index output from the prediction model with a predetermined reference value, and determines the determination result based on the comparison result.

5. The servo control device according to any one of claims 1 to 4, characterized in that when the determination result is permission, the correction selection unit outputs the candidate command value as the corrected command value; when the determination result is non-permission, the correction selection unit outputs the corrected command value immediately before the time when the candidate command value is determined, the command value at the time when the candidate command value is determined, or a pre-specified value as the corrected command value.

6. The servo control device according to any one of claims 1 to 4, characterized in that the correction unit has a plurality of the prediction units, when at least one of the determination results based on the confidence indices determined by the plurality of prediction units is permission, the correction selection unit determines the candidate command value with the best confidence index among the candidate command values related to the prediction unit for which the determination result is permission as the corrected command value; when all of the determination results based on the confidence indices determined by the plurality of prediction units are non-permission, the correction selection unit determines the corrected command value immediately before the time when the candidate command value is determined, the command value at the time when the candidate command value is determined, or a pre-set value as the corrected command value.

Citation Information

Patent Citations

  • Control unit, control method, and control program

    JP2019179468A

  • Method for adjusting servo system and its controller

    JP2004094336A

  • Robot control device having learning control function

    US20180117758A1