Servo control device, servo system, and servo control method

The servo control device addresses trajectory errors by simultaneously calculating predicted values and reliability indices, enhancing actuator control accuracy and stability through a servo control device with a command generation and correction amount calculation unit.

JP7829371B2Active Publication Date: 2026-03-13MITSUBISHI ELECTRIC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-22
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing servo control methods struggle with high-precision and stable control due to trajectory errors caused by disturbances, as conventional correction techniques may not adequately consider disturbances, leading to potential worsening of errors and inaccurate motor control.

Method used

A servo control device that includes a command generation unit, state quantity prediction unit, correction amount calculation unit, and servo control unit, which simultaneously calculates predicted values and reliability indices to determine an effective correction amount for command information, using models like Gaussian process regression to enhance accuracy and stability.

Benefits of technology

Enables highly accurate and stable control of actuators by simultaneously calculating predicted values and reliability indices, reducing trajectory errors and maintaining precise motor control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007829371000006
    Figure 0007829371000006
  • Figure 0007829371000007
    Figure 0007829371000007
  • Figure 0007829371000008
    Figure 0007829371000008
Patent Text Reader

Abstract

To obtain a servo control device that enables highly accurate and stable control of an actuator.SOLUTION: A servo control device 2 comprises: a command generation unit 5 that generates command information 11 for controlling an actuator; a state quantity prediction unit 7 that simultaneously calculates a predicted value of a state quantity of the actuator or a mechanical system 4 driven by the actuator, and an index for representing a reliability of the predicted value; a correction amount calculation unit 8 that calculates a correction amount for correcting command information 11 based on the predicted value and the index; and a servo control unit 6 that controls the actuator based on the command information 11 corrected using the correction amount.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an actuator-controlling servo control device, a servo system, and a servo control method. [Background technology]

[0002] A servo control device, which controls the motor of a machine tool, controls the current supplied to the motor so that the position or speed of the driven object, such as a tool or a table that holds the workpiece, follows the command. When moving the driven object along a movement trajectory instructed by a machining program, the servo control device controls the motor while precisely managing the position of the driven object. In motor control, trajectory errors, which are the difference between the commanded position and the actual position, can occur due to the influence of various disturbances. Disturbances that cause trajectory errors include lost motion caused by friction when the motor reverses its direction of rotation, and vibrations of the mechanical system that occur when the motor is accelerated or decelerated. Conventionally, various methods have been proposed to reduce trajectory errors caused by disturbances.

[0003] One known method for reducing trajectory errors due to disturbances involves acquiring data on the rotational position or rotational speed of the motor shaft using sensors, and then correcting the command value by using a model to estimate the correction amount of the command value based on the position or speed data. However, if disturbances that may occur in motor control are not adequately considered, the correction using the model may not be effective, or the command value may be excessively changed by the correction, potentially worsening the trajectory error. Furthermore, if the data input to the model is disturbed by disturbances, or if there is an unknown input, unexpected corrections may occur. Thus, even if the command value is corrected using conventional techniques, the influence of disturbances can make it difficult to achieve high-precision and stable motor control. Therefore, to improve the accuracy of the correction, it is being considered to evaluate the reliability of the estimated values ​​output from the model and utilize the evaluation results in control.

[0004] In Patent Document 1, in an apparatus that estimates the amount of variation in the position of a component or the amount of variation in the distance between components of a machine tool by inputting information representing the physical state of the machine tool into a neural network and calculates a correction amount for the amount of variation, it is disclosed that the reliability of the estimated amount of variation is evaluated. The apparatus disclosed in Patent Document 1 calculates a correction amount adjusted based on the evaluation result of the reliability.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] The apparatus disclosed in Patent Document 1 obtains the amount of variation at the time of executing the estimation and then evaluates the reliability of the obtained amount of variation. According to such a procedure, since the evaluation result of the reliability is obtained with a delay from the time when the amount of variation is estimated, for the correction of the command value, a correction amount adjusted based on the result of evaluating the reliability of the past amount of variation is used. Since the reliability is evaluated after repeatedly executing the process of estimating the amount of variation a plurality of times, a certain amount of time is required for the calculation to obtain the evaluation result of the reliability. In the technique of Patent Document 1, there is a case where the trajectory error cannot be reduced by the correction because a correction amount adjusted based on the result of evaluating the reliability of the past amount of variation is used. For this reason, according to the technique of Patent Document 1, there is a problem that it is difficult to perform highly accurate and stable control of an actuator such as a motor because the trajectory error cannot be reduced by the correction in some cases.

[0007] The present disclosure has been made in view of the above, and an object thereof is to obtain a servo control device that enables highly accurate and stable control of an actuator. [Means for solving the problem]

[0008] To solve the above-mentioned problems and achieve the objectives, the servo control device according to this disclosure comprises: a command generation unit that generates command information for controlling an actuator; a state quantity prediction unit that simultaneously calculates predicted values ​​of state quantities of the actuator or the mechanical system driven by the actuator and an index representing the reliability of the predicted values; a correction amount calculation unit that calculates a correction amount for correcting the command information based on the predicted values ​​and the index; and a servo control unit that controls the actuator based on the command information corrected using the correction amount. The correction amount calculation unit includes a correction amount candidate value calculation unit that calculates multiple candidate values ​​for the correction amount based on the predicted value and the index; a correction amount evaluation unit that calculates an evaluation value for the accuracy of the correction for each candidate value, which is expressed by the difference between the error between the physical quantity indicated in the command information and the actual physical quantity and the candidate value; and a correction amount determination unit that determines the correction amount from among the multiple candidate values ​​based on the evaluation value for each candidate value. [Effects of the Invention]

[0009] The servo control device described herein has the effect of enabling highly accurate and stable control of the actuator. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example configuration of the servo system according to Embodiment 1. [Figure 2] This figure shows an example of the configuration of the motor and mechanical system of the servo system according to Embodiment 1. [Figure 3] This is an explanatory diagram conceptually showing the predicted value of the state variable and the variability of the predicted value in Embodiment 1. [Figure 4] A diagram showing a modified example of the servo system according to Embodiment 1. [Figure 5] A flowchart showing the procedure of processing performed by the servo control device of the servo system according to Embodiment 1. [Figure 6] This figure shows an example of the configuration of the correction amount calculation unit of the servo system according to Embodiment 2. [Figure 7] This figure shows an example of an evaluation function used to calculate the evaluation value in the correction amount calculation unit of Embodiment 2. [Figure 8] This figure shows an example configuration of a servo system according to Embodiment 3. [Figure 9]A diagram illustrating the response characteristics identified in the servo system according to Embodiment 3. [Figure 10] This figure shows an example configuration of a servo system according to Embodiment 4. [Figure 11] This figure shows an example of the hardware configuration for realizing the servo control device of the servo system according to Embodiments 1 to 4. [Modes for carrying out the invention]

[0011] The servo control device, servo system, and servo control method according to the embodiment will be described in detail below with reference to the drawings.

[0012] Embodiment 1. Figure 1 shows an example configuration of a servo system 1 according to Embodiment 1. The servo system 1 includes a servo control device 2, a motor 3 which is an actuator, a mechanical system 4 driven by the motor 3, and a learning unit 9. The servo control device 2 controls the motor 3.

[0013] The servo control device 2 includes a command generation unit 5 that generates command information 11 for controlling the motor 3, a servo control unit 6 that controls the motor 3 based on the command information 11, a state quantity prediction unit 7 that predicts the state quantities of the motor 3 or the mechanical system 4, and a correction quantity calculation unit 8 that determines a correction quantity for correcting the command information 11. The state quantities include the position, speed, acceleration or torque of the motor 3, the current flowing through the motor 3, and the position or speed of the driven body of the mechanical system 4.

[0014] The command generation unit 5 outputs the generated command information 11. The command information 11 includes at least one command value from among the position, speed, acceleration, or torque of the motor 3 and the current flowing through the motor 3. The command generation unit 5 is implemented by a device such as a numerical control device or a motion controller. The servo control unit 6 controls the position, speed, and acceleration of the motor 3 at servo control cycles. The servo control unit 6 monitors the actual operating state of the motor 3 and adjusts the power supplied to the motor 3 as needed to match the operating state of the motor 3 to the command value. The servo control device 2 drives the motor 3 by applying voltage to the motor 3. The motor 3 is connected to the mechanical system 4 which is the object to be driven. The mechanical system 4 operates in conjunction with the rotation of the motor 3.

[0015] Figure 2 shows an example configuration of the motor 3 and mechanical system 4 of the servo system 1 according to Embodiment 1. The motor 3 includes a servo motor 21 and a motor end position detector 22 attached to the servo motor 21. A specific example of the motor end position detector 22 is a rotary encoder. The motor end position detector 22 detects the motor end position, which is the rotation angle of the servo motor 21. The motor end position detector 22 outputs the motor end position detection result.

[0016] The mechanical system 4 includes a coupling 23 that transmits power from the servo motor 21, a ball screw 24 that is rotationally driven by the servo motor 21, a ball screw nut 25 that converts the rotation of the ball screw 24 into linear motion, and a table 26 fixed to the ball screw nut 25. The ball screw 24 and the ball screw nut 25 constitute a mechanism for transmitting power from the motor 3 to the driven table 26. The ball screw 24 is connected to the servo motor 21 via the coupling 23. The ball screw nut 25 is fitted onto the ball screw 24, and the table 26 and the ball screw nut 25 are driven together.

[0017] Assuming the detection unit for the rotation angle detected by the motor end position detector 22 is "degrees," the rotation angle can be converted to the length of the table 26 in the direction of movement by multiplying the motor end position value by the ball screw lead and dividing by 360 degrees. The ball screw lead is the amount of table movement per revolution of the servo motor 21. The motor end position detector 22 determines the motor end position converted to the length of the table 26 in the direction of movement and outputs a value indicating the converted motor end position.

[0018] The control by the servo control unit 6 is not limited to semi-closed control that uses the motor end position for feedback control, but may also be fully closed control that uses the mechanical end position, which is the position of the table 26, for feedback control. When the feedback control by the servo control unit 6 is fully closed control, a mechanical end position detector 27 and a mechanical end position detector head 28 are attached to the table 26. The mechanical end position detector 27 is, for example, a linear encoder. The mechanical end position detector head 28 is, for example, a linear encoder head. The mechanical end position detector 27 outputs the detection result of the mechanical end position.

[0019] The servo control unit 6 receives information about the motor end position detected by the motor end position detector 22 or information about the mechanical end position detected by the mechanical end position detector 27. The position detected for feedback control is called the feedback position. In the following explanation, the case where the feedback control by the servo control unit 6 is semi-closed control is used as an example.

[0020] The servo control unit 6 acquires motor end position information from the motor 3. The servo control unit 6 outputs feedback information 15, which is motor end position information. The learning unit 9 generates a prediction model 16 and outputs the generated prediction model 16. The state quantity prediction unit 7 receives command information 11, feedback information 15, and prediction model 16 as input. The state quantity prediction unit 7 calculates predicted values ​​for the state quantities of the motor 3 or mechanical system 4, and a reliability index. The reliability index is an index that represents the reliability of the calculated predicted values. The state quantity prediction unit 7 outputs predicted state quantity information 12, which is the result of calculating the predicted values, and index information 13, which is the result of calculating the reliability index.

[0021] The correction amount calculation unit 8 receives predicted state variable information 12 and index information 13 as input. The correction amount calculation unit 8 calculates a correction amount to correct the command information 11 based on the predicted value of the state variable and the reliability index. The correction amount calculation unit 8 outputs correction information 14, which is the result of calculating the correction amount. The servo control unit 6 receives the command information 11 and the correction information 14 as input. The servo control unit 6 corrects the command value indicated in the command information 11 by calculation using the correction amount. The servo control unit 6 controls the motor 3 based on the command information 11 corrected using the correction amount.

[0022] Next, the details of the state quantity prediction unit 7 will be described. The state quantity prediction unit 7 takes the command information 11 and the measured values ​​of the state quantities shown in the feedback information 15 as input and predicts the current or future state quantities using the prediction model 16. The prediction model 16 is a trained model for predicting the current or future state quantities from the measured values ​​of the state quantities and the command information 11. One example of a state quantity for motor 3 is the motor end position. One example of a state quantity for mechanical system 4 is the mechanical end position. "Current" refers to the time when the state quantity prediction unit 7 made a prediction of the state quantities. "Future" refers to a time after the time when the state quantity prediction unit 7 made a prediction of the state quantities.

[0023] Here, the state variable when the servo control period is the Nth period is e N μ NFor example, the state quantity prediction unit 7 predicts the state quantity μ at the N+ith period when the servo control period is the Nth period. N+i The value of is calculated. i is a natural number greater than or equal to 0. The state quantity prediction unit 7 calculates the predicted state quantity μ at the timing of the N+i period. N+i The value of this, i.e., the predicted value of the state variable, is output to the correction amount calculation unit 8.

[0024] In this way, the state quantity prediction unit 7 predicts the state quantity for the state at the time the predicted value of the state quantity is calculated, or the state quantity for the state at a later time than the time the predicted value of the state quantity is calculated, and outputs the predicted value of the state quantity at a timing that matches the predicted time of the state quantity. By matching the timing at which the state quantity prediction unit 7 outputs the predicted value with the predicted time of the state quantity, the servo control device 2 can perform appropriate correction of the command information 11 even if there is a delay in processing or communication.

[0025] The state quantity prediction unit 7 simultaneously calculates the predicted value of the state quantity and a confidence index. The state quantity prediction unit 7 uses the prediction model 16 to find the distribution of the predicted state quantity, that is, the probability distribution of the predicted state quantity. Based on the measured value of the state quantity and the probability distribution, the state quantity prediction unit 7 calculates the predicted value of the state quantity and a confidence index.

[0026] Here, an example of the prediction model 16 and an example of calculating predicted state variables and confidence indices using the prediction model 16 will be described. In Embodiment 1, the state variable prediction unit 7 calculates the probability distribution of predicted state variables from the prediction model 16, and calculates the predicted state variables and confidence indices from the probability distribution of predicted state variables.

[0027] The prediction model 16 can use Gaussian process regression. Gaussian process regression is an example of a probabilistic model that assumes the predicted state variables are random variables following a specific distribution. When calculating the predicted state variables and confidence index using Gaussian process regression, for example, the following calculations are performed.

[0028] Suppose that sampling is performed to obtain the input data x and the output data y of the prediction model 16 when the motor 3 is operating. The input data x is a command value. The output data y is a predicted state quantity. Let one of the input data x obtained by sampling be x j , and let one of the output data y obtained by sampling be y j . Here, j is a natural number. Assuming that the input data x1, ···, x M are obtained by sampling at M points, the predicted value m(x M+1 ) of the output data y M+1 for the new input data x M+1 is obtained by the following formula (1). The variance σ 2 (x M+1 ) is obtained by the following formula (2). Let C M be the Gram matrix. k is a vector whose elements are the values of the kernel function when each of the input data x1, ···, x M and the new input data x​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

number

[0031] New input data x M+1 Predicted value y * M+1 The probability distribution p(y * M+1 Since the probability distribution p(y) follows a Gaussian distribution, * M+1 ) is expressed by the following equation (4).

[0032]

number

[0033] Here, we will explain the predicted values ​​of state variables and the variability of those predicted values. Figure 3 is a conceptual diagram illustrating the predicted values ​​of state variables and the variability of those predicted values ​​in Embodiment 1. Figure 3 shows an example in which the predicted values ​​and the range of variability of those predicted values ​​are calculated using Gaussian process regression. In Figure 3, the horizontal axis of the graph represents the input data x. The vertical axis of the graph represents the output data y. The black circles in Figure 3 represent data obtained by sampling.

[0034] In prediction using Gaussian process regression, the predicted value of the output data y is calculated assuming that the output data y follows a Gaussian distribution. Therefore, if the predicted value is taken as the mean m(x) of the Gaussian distribution, and the indicator of prediction uncertainty is taken as the standard deviation σ(x) of the Gaussian distribution, it is statistically shown that the actual output data y will fall within the range of m(x)-2σ(x) or greater and m(x)+2σ(x) or less with approximately 95% probability. In Figure 3, the solid curve represents the mean m(x), which is the predicted value of the output data y. The dashed curve represents m(x)-2σ(x) and m(x)+2σ(x). As shown in Figure 3, the variability of the predicted value tends to be small in areas close to the data obtained by sampling, and large in areas far from the data obtained by sampling.

[0035] From this statistical standpoint, in Embodiment 1, the confidence index is defined based on the standard deviation. For example, when the standard deviation is used as the confidence index, a smaller confidence index indicates less variability in the predicted values ​​and a higher probability of the predicted values.

[0036] The state variable prediction unit 7 calculates the probability distribution of the predicted state variable and simultaneously calculates the predicted state variable, the mean m(x), and the confidence index, the standard deviation σ(x), from the probability distribution. The state variable prediction unit 7 calculates the mean m(x) for a given control period and the standard deviation σ(x), which indicates the confidence level of that mean m(x), at the same time.

[0037] It should be noted that calculating the predicted state variables and the reliability index simultaneously does not necessarily mean that the timing at which the predicted state variables are calculated and the timing at which the reliability index is calculated coincide. Calculating the predicted state variables and the reliability index simultaneously may also mean calculating them based on the operation of the motor 3 or mechanical system 4 at the same timing. Alternatively, calculating the predicted state variables and the reliability index simultaneously may mean calculating the predicted state variables and the reliability index for the operation of the motor 3 or mechanical system 4 at the same timing using a single estimation process rather than multiple estimation processes. Estimation processing refers to performing calculations on the prediction model 16. By calculating the predicted state variables and the reliability index simultaneously, the state variable prediction unit 7 can calculate them in a short amount of time. Simultaneous calculation of the predicted state variables and the reliability index is suitable for the servo control device 2, which is one of the embedded devices requiring high-speed calculations.

[0038] The confidence index is the variance σ of the Gaussian distribution. 2 (x) may be used. Alternatively, the confidence index may be the variance σ. 2 The result of an operation using one or more of (x), standard deviation σ(x), and mean m(x) may be used. The predicted state variables are mean m(x), standard deviation σ(x), and variance σ 2The result of an operation using one or more of (x) may be used. In the following explanation, the predicted state variable is assumed to be mean m(x) and the confidence index is assumed to be standard deviation σ(x).

[0039] While examples of calculating predicted state variables and confidence indices when using Gaussian process regression in prediction model 16 have been described, the method for calculating predicted state variables and confidence indices is not limited to using Gaussian process regression. For example, machine learning techniques such as decision trees, linear regression, boosting, or neural networks may be used to calculate predicted state variables. For example, techniques such as density estimation or mixed density networks may be used to calculate confidence indices. The probability distribution of the predicted state variables is not limited to a Gaussian distribution; it may be an exponential distribution or a t-distribution, or a combination of multiple types of distributions.

[0040] Next, the learning unit 9 will be described in detail. The learning unit 9 learns the prediction model 16 used in the state quantity prediction unit 7. Specifically, the learning unit 9 performs learning to optimize the model parameters or hyperparameters, which are the parameters applied to the prediction model 16.

[0041] The learning unit 9 may use any learning algorithm. As an example, we will explain the case where Gaussian process regression, one of the supervised learning algorithms, is applied. When Gaussian process regression is used for the prediction model 16, the parameters used in the kernel function, etc., are estimated from the training data and the prediction model 16 is updated. The training data is data that combines the measured values ​​of state variables shown in the feedback information 15 and the command information 11. The measured values ​​of state variables are the training data. A more probable prediction model 16 can be constructed by using methods such as maximum likelihood estimation for parameter estimation, but the method of parameter estimation is not limited to this method.

[0042] The learning unit 9 outputs the predicted model 16, which is the learning result, when the learning has converged. The learning unit 9 may also output the trained model information as the learning result. The trained model information consists of the parameters applied to the predicted model 16, i.e., the trained model parameters or hyperparameters. Known determination methods can be used to determine whether or not the learning has converged.

[0043] The learning unit 9 shown in Figure 1 is implemented by an information processing device, which is an external device to the servo control device 2. The device functioning as the learning unit 9 is connected to the servo control device 2. The device functioning as the learning unit 9 may be a device that can be connected to the servo control device 2 via a network. The device functioning as the learning unit 9 may be a device located on a cloud server. The learning unit 9 is not limited to being implemented by an external device to the servo control device 2, but may also be provided inside the servo control device 2.

[0044] Figure 4 shows a modified example of the servo system 1 according to Embodiment 1. The modified servo system 1 shown in Figure 4 has a learning unit 9 inside the servo control device 2. The modified servo system 1 is the same as the servo system 1 shown in Figure 1, except that the learning unit 9 is inside the servo control device 2.

[0045] Next, the details of the correction amount calculation unit 8 will be explained. In the following explanation, the command information 11 is the command value indicating the commanded position of the motor 3. The predicted state quantity calculated by the state quantity prediction unit 7 is the position error, which is the error in the position of the motor 3 relative to the commanded position. Note that the predicted state quantity may also be the feedback position of the motor 3. In this case, the correction amount calculation unit 8 can obtain the predicted state quantity, which is the position error, by calculating the difference between the predicted value of the commanded position and the predicted value of the feedback position. The predicted state quantity is not limited to the commanded position, but may also be a physical quantity such as speed, torque, or current.

[0046] Here, the predicted position error calculated by the state quantity prediction unit 7 is μ, the reliability index calculated by the state quantity prediction unit 7 is σ, the actual position error is e, and the correction amount is Co. The servo control unit 6 corrects the command position by subtracting the value of the predicted position error μ from the command position value. By correcting the command position using the correction amount Co corresponding to the position error μ, the servo control unit 6 can cancel out errors caused by the operation of the motor 3 or mechanical system 4, and accurately match the actual position to the command position. However, if the predicted position error μ is different from the actual position error e, it may not be possible to perform an appropriate correction, and the position accuracy may deteriorate. Therefore, the correction amount calculation unit 8 calculates an effective correction amount Co that allows for appropriate correction by using the reliability index. As a result, the servo system 1 can prevent deterioration of position accuracy due to correction.

[0047] Here, first and second examples of how the correction amount calculation unit 8 calculates a correction amount based on the predicted value of the state variable and a confidence index are described. The larger the confidence index σ, which is the standard deviation, the greater the uncertainty of the predicted value of the position error μ. In the first example, the servo system 1 sets a threshold for the confidence index σ in advance, and stops correcting the command value if the confidence index σ exceeds the threshold. The servo system 1 corrects the command value when the confidence index σ is less than or equal to the threshold.

[0048] In the first example, the correction amount calculation unit 8 calculates the correction amount Co according to the following equation (5), with threshold value t.

[0049]

number

[0050] Thus, in the first example, a threshold value for the confidence index σ is set to determine whether the predicted value is appropriate or not. The correction amount calculation unit 8 sets the correction amount Co to zero if the calculated value of the confidence index σ falls outside the range determined by the threshold value. This prevents the servo system 1 from degrading positional accuracy due to correction.

[0051] Next, a second example of how the correction amount calculation unit 8 calculates the correction amount will be described. The probability distribution p(e) of the actual position error e is the position error μ and the variance σ 2 It follows a Gaussian distribution. The probability distribution p(e) is given by p(e) = N(μ,σ). 2 From the formula, the predicted position error μ and the confidence index σ can be calculated. When the servo control unit 6 performs correction by subtracting the correction amount Co from the command position value, if the actual position error e and the correction amount Co satisfy the following equation (6), then a deterioration in position accuracy due to the correction occurs.

[0052] |e|<|e-Co| ···(6)

[0053] By integrating the probability distribution p(e) within the range of position error e that satisfies equation (6), the probability of positional accuracy deteriorating can be calculated before correction. In the second example, by setting a target probability in advance, the correction amount calculation unit 8 can determine a correction amount Co such that the probability of positional accuracy deteriorating is less than or equal to the target probability.

[0054] In this way, the correction amount calculation unit 8 calculates a correction amount based on the predicted value of the state variable and the reliability index, thereby obtaining an effective correction amount that allows for appropriate correction. The servo system 1 can perform correction that reduces trajectory error while reducing the deterioration of position accuracy due to the correction. The correction amount calculation unit 8 calculates the correction amount by performing calculations at each servo control cycle. The servo system 1 can correct the movement trajectory with high precision by continuously calculating the correction amount by the correction amount calculation unit 8.

[0055] Figure 5 is a flowchart showing the processing steps performed by the servo control device 2 of the servo system 1 according to Embodiment 1. Figure 5 shows the processing steps during the servo control cycle.

[0056] In step S1, the command generation unit 5 of the servo control device 2 generates command information 11. The command generation unit 5 outputs the generated command information 11. In step S2, the state quantity prediction unit 7 of the servo control device 2 takes the measured value of the state quantity and the command information 11 as input and simultaneously calculates the predicted value of the state quantity and the reliability index using the prediction model 16. The state quantity prediction unit 7 obtains the measured value of the state quantity from the feedback information 15. The state quantity prediction unit 7 outputs predicted state quantity information 12, which is the result of calculating the predicted value, and index information 13, which is the result of calculating the reliability index.

[0057] In step S3, the correction amount calculation unit 8 of the servo control device 2 calculates a correction amount based on the predicted value and the reliability index. The correction amount calculation unit 8 outputs correction information 14, which is the result of calculating the correction amount. In step S4, the servo control unit 6 of the servo control device 2 controls the motor 3 based on the command information 11 corrected using the correction amount. The servo control device 2 repeats the process shown in Figure 5 during the period from when the motor 3 is started to when it is stopped.

[0058] According to Embodiment 1, the servo control device 2 simultaneously calculates predicted values ​​of state variables and reliability indices based on the prediction model 16, and calculates a correction amount based on the predicted values ​​of state variables and reliability indices. By simultaneously calculating predicted values ​​of state variables and reliability indices, the servo control device 2 can calculate a correction amount that allows for highly accurate correction of the movement trajectory compared to cases where the correction amount is calculated based on reliability indices for state variables estimated in the past. As a result, the servo system 1 and the servo control device 2 have the effect of enabling highly accurate and stable control of the actuator.

[0059] Embodiment 2. Embodiment 2 describes a modified version of the correction amount calculation unit 8. Figure 6 is a diagram showing an example of the configuration of the correction amount calculation unit 8A in the servo system 1 according to Embodiment 2. The servo system 1 according to Embodiment 2 has a correction amount calculation unit 8A, which is a modified version of the correction amount calculation unit 8. The configuration of the servo system 1 according to Embodiment 2, other than the correction amount calculation unit 8A, is the same as that of the servo system 1 according to Embodiment 1. In Embodiment 2, the same reference numerals are used for the same components as in Embodiment 1, and the configurations that differ from Embodiment 1 will be mainly described.

[0060] The correction amount calculation unit 8A includes a correction amount candidate value calculation unit 31 that calculates a candidate value 34 for the correction amount, a correction amount evaluation unit 32 that calculates an evaluation value 35 for the correction amount, and a correction amount determination unit 33 that determines the value of the correction amount based on the evaluation value 35. The correction amount calculation unit 8A calculates the correction amount based on the evaluation value 35, with the correction amount determination unit 33 determining the value of the correction amount based on the evaluation value 35 calculated by the correction amount evaluation unit 32.

[0061] In the following explanation, the command information 11 is the command value indicating the commanded position of the motor 3. The predicted state quantity calculated by the state quantity prediction unit 7 is the position error, which is the error in the position of the motor 3 relative to the commanded position. The predicted state quantity may also be the feedback position of the motor 3. In this case, the correction amount calculation unit 8A can obtain the predicted state quantity, which is the position error, by calculating the difference between the predicted value of the commanded position and the predicted value of the feedback position. The predicted state quantity is not limited to the commanded position, but may also be a physical quantity such as speed, torque, or current.

[0062] The correction amount candidate value calculation unit 31 receives the predicted state quantity information 12 and the index information 13 as input. The correction amount candidate value calculation unit 31 determines one or more candidate values ​​34 for the correction amount. For example, the correction amount candidate value calculation unit 31 determines the candidate value 34 by calculation using the predicted value of the state quantity shown in the predicted state quantity information 12 and the reliability index shown in the index information 13. The correction amount candidate value calculation unit 31 outputs the determined candidate value 34. Instead of outputting the candidate value 34 determined based on the predicted value of the state quantity and the reliability index, the correction amount candidate value calculation unit 31 may output a candidate value 34 that has been set in a table in advance.

[0063] The correction amount evaluation unit 32 receives the predicted state quantity information 12, the index information 13, and the candidate values ​​34 determined by the correction amount candidate value calculation unit 31 as input. The correction amount evaluation unit 32 calculates an evaluation value 35 for each of the multiple candidate values ​​34 based on a pre-set evaluation function. The correction amount evaluation unit 32 outputs the evaluation value 35 calculated for each candidate value 34.

[0064] The correction amount determination unit 33 receives candidate values ​​34 determined by the correction amount candidate value calculation unit 31 and evaluation values ​​35 calculated by the correction amount evaluation unit 32. Based on the evaluation value 35 for each candidate value 34, the correction amount determination unit 33 determines a value to be used as the correction amount from among the candidate values ​​34. In this way, the correction amount calculation unit 8A determines the value of the correction amount from among the multiple candidate values ​​34 based on the evaluation value 35 calculated for each of the multiple candidate values ​​34.

[0065] Here, an example of how the correction amount evaluation unit 32 calculates the evaluation value 35 will be described. The correction amount evaluation unit 32 calculates the evaluation value 35 based on the predicted state quantity shown in the predicted state quantity information 12 and the reliability index shown in the index information 13. Similar to Embodiment 1, the predicted state quantity calculated by the state quantity prediction unit 7 is the position error, the reliability index calculated by the state quantity prediction unit 7 is σ, the actual position error is e, and the correction amount is Co. The servo control unit 6 corrects the command position by subtracting the correction amount Co from the command position value.

[0066] The probability distribution p(e) of the actual position error e is defined by the predicted position error μ and the confidence index σ. The probability distribution p(e) may be a Gaussian distribution or a non-Gaussian distribution. Here, the probability distribution p(e) is defined by the position error μ and the variance σ. 2 It follows a Gaussian distribution. The probability distribution p(e) is given by p(e) = N(μ,σ). 2 It can be calculated using the predicted position error μ and the confidence index σ from the formula given.

[0067] Each of the candidate values ​​34, which are the candidate values ​​of the correction amount input from the correction amount candidate value calculation unit 31 to the correction amount evaluation unit 32, is Co n This is expressed as (n=1,2,3,...). The correction amount evaluation unit 32 receives the candidate correction amount Co n An evaluation function is provided to calculate the evaluation value. The evaluation function is defined such that the lower the accuracy of the correction using the correction amount Co, the larger the evaluation value of 35 becomes.

[0068] The command position is corrected by subtracting a correction amount Co from the command position value. Therefore, the corrected position accuracy is highest when the correction amount Co matches the actual position error e. The greater the discrepancy between the correction amount Co and the actual position error e, the lower the corrected position accuracy becomes. Thus, the evaluation function is defined as the candidate correction amount Co. n The system is set so that the larger the absolute value of the difference between the position error e and the system value, the higher the evaluation value.

[0069] Furthermore, the control of the motor 3 by the servo control device 2 can become unstable as the value of the correction amount Co increases. In other words, when the value of the correction amount Co deviates positively from the actual position error e, the corrected position accuracy tends to be lower compared to when the value of the correction amount Co deviates negatively from the actual position error e. Therefore, the evaluation function is defined as the candidate correction amount Co. n When the value is greater than the position error e, the candidate correction amount Co n The setting is configured such that the evaluation value is greater than the value when the position error e is smaller.

[0070] Figure 7 shows an example of an evaluation function used in the calculation of the evaluation value 35 in the correction amount calculation unit 8A of Embodiment 2. Figure 7 shows an example of an evaluation function, L(Co n The graph of ,e) is shown. In Figure 7, the vertical axis of the graph is L(Co n ,e), the horizontal axis of the graph represents the actual position error e.

[0071] L(Co n e) is expressed by the following equation (7).

[0072]

number

[0073] L(Co n e) is a candidate correction value Co from the position error e. n This function imposes a penalty, or loss, based on the deviation, and is also called a loss function.

[0074] The evaluation value 35, based on the evaluation function, is defined by the integral of the product of the evaluation function and the probability distribution p(e). An example of an evaluation value 35 is E(Co n ) is as shown in the following equation (8), L(Co n It can be obtained by integrating the product of (,e) and the probability distribution p(e).

[0075]

number

[0076] The correction amount determination unit 33 determines the candidate correction amount value Co n E(Co) calculated for each n ) compare and E(Co n The smallest correction amount candidate value Co n Select the corrected amount. The correction amount determination unit 33 determines the candidate correction amount value Co n Selected correction amount candidate value Co from among them n This is determined as the value of the correction amount Co.

[0077] In this way, the correction amount determination unit 33 determines the candidate value 34 with the smallest evaluation value 35 among the multiple candidate values ​​34 as the correction amount value. The correction amount calculation unit 8A may also determine the candidate value 34 that is below a pre-set threshold as the correction amount value in the correction amount determination unit 33. The correction amount calculation unit 8A outputs correction information 14, which is the correction amount value determined in the correction amount determination unit 33.

[0078] The correction amount calculation unit 8A can calculate an effective correction amount that allows for appropriate correction by determining the value of the correction amount from among the candidate values ​​34 based on the evaluation value 35. As a result, the servo system 1 can prevent deterioration of positional accuracy due to correction.

[0079] Furthermore, the evaluation function may be defined such that the evaluation value 35 becomes smaller the lower the accuracy of the correction using the correction amount. In this case, the correction amount determination unit 33 determines the candidate value 34 with the largest evaluation value 35 among multiple candidate values ​​34 as the value of the correction amount. Also, the evaluation function is not limited to a linear function, but may be a higher-order function. The evaluation function may also be set considering the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6.

[0080] According to Embodiment 2, the correction amount calculation unit 8A calculates an evaluation value 35 of the candidate values ​​34 based on the evaluation function, and determines the value of the correction amount from among the candidate values ​​34 based on the evaluation value 35. The correction amount calculation unit 8A can calculate a correction amount that can correct the movement trajectory with high precision. As a result, the servo system 1 and the servo control device 2 have the effect of enabling high-precision and stable control of the actuator.

[0081] Embodiment 3. Figure 8 shows an example of the configuration of the servo system 1A according to Embodiment 3. The servo system 1A modifies the correction amount based on the response characteristics of the motor 3 or the mechanical system 4 to the correction amount. In Embodiment 3, the same reference numerals are used for components that are the same as those in Embodiments 1 or 2, and the configuration that differs from Embodiments 1 or 2 will be described in detail.

[0082] The servo system 1A includes a servo control device 2A, a motor 3, a mechanical system 4, a learning unit 9, and a response characteristic identification unit 40. The servo control device 2A includes a correction amount correction unit 41. The configuration of the servo control device 2A, excluding the correction amount correction unit 41, is the same as that of the servo control device 2 of the servo system 1 according to Embodiment 1.

[0083] In the following explanation, command information 11 is the command value indicating the commanded position of motor 3. The predicted state quantity calculated by the state quantity prediction unit 7 is the position error, which is the error in the position of motor 3 relative to the commanded position. Note that the predicted state quantity may also be the feedback position of motor 3. In this case, the correction amount calculation unit 8 can obtain the predicted state quantity, which is the position error, by calculating the difference between the predicted commanded position and the predicted feedback position. The predicted state quantity is not limited to the commanded position, but may also be a physical quantity such as speed, torque, or current.

[0084] When the servo control unit 6 corrects the command value using a correction amount, the expected correction may not be achieved and the effect of the correction may be reduced due to the influence of the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6. The mechanical characteristics are due to the structure of the motor 3 or mechanical system 4. Therefore, in Embodiment 3, the servo control device 2A modifies the correction amount considering the influence of the mechanical characteristics or control characteristics.

[0085] The response characteristic identification unit 40 identifies the response characteristics of the motor 3 or mechanical system 4 with respect to the correction amount. The response characteristic identification unit 40 outputs response characteristic information 42, which is information indicating the identified response characteristics.

[0086] Here, an example of how the response characteristic identification unit 40 identifies the response characteristics using a transfer function is described. The feedback position is measured when the command value is set to "0" and white noise equivalent to the correction amount is provided instead of the correction amount calculated by the correction amount calculation unit 8. The feedback position measured at this time represents the correction amount that actually acts in correcting the position of the motor 3 or the position of the driven body of the mechanical system 4. Hereinafter, the correction amount that actually acts in correcting the position of the motor 3 or the position of the driven body will be called the actual correction amount. Due to the influence of mechanical characteristics or control characteristics, the actual correction amount will deviate from the calculated correction amount. Note that a sine sweep wave may be used instead of white noise when identifying the response characteristics. The feedback position can be measured by actually operating the motor 3 and the mechanical system 4, or it can be done using simulation.

[0087] Figure 9 is a diagram illustrating the response characteristics identified in the servo system 1A according to Embodiment 3. The response characteristic identification unit 40 acquires data on the correction amount and data on the actual correction amount. The response characteristic identification unit 40 calculates the frequency transfer function, which is the response characteristic, by performing numerical processing such as Fourier transform on the correction amount and the actual correction amount. The response characteristic identification unit 40 identifies the transfer function represented by the gain and phase in the frequency domain, respectively.

[0088] As shown in Figure 9, the transfer function is represented by a gain diagram representing the gain characteristics and a phase diagram representing the phase characteristics. In the gain diagram, the horizontal axis is a logarithmic axis representing frequency, and the vertical axis represents the gain in decibels. In the phase diagram, the horizontal axis is a logarithmic axis representing frequency, and the vertical axis represents the phase. In the gain diagram, resonance points are represented as positive peaks, and anti-resonance points are represented as negative peaks. A Coquad diagram may also be used to represent the transfer function, in which the real and imaginary parts after the Fourier transform are plotted separately on the frequency axis. In a Coquad diagram, the horizontal axis is a logarithmic axis representing frequency, and the vertical axis represents the real and imaginary parts.

[0089] The response characteristic identification unit 40 outputs response characteristic information 42, which is information about the transfer function that is the identified response characteristic. The response characteristic identification unit 40 may also identify the response characteristic using means other than a transfer function, such as a polynomial or a neural network.

[0090] The response characteristic identification unit 40 is implemented by an information processing device, which is an external device to the servo control device 2A. The device functioning as the response characteristic identification unit 40 is connected to the servo control device 2A. The device functioning as the response characteristic identification unit 40 may be a device that can be connected to the servo control device 2A via a network. The device functioning as the response characteristic identification unit 40 may be a device located on a cloud server. The response characteristic identification unit 40 is not limited to being implemented by an external device to the servo control device 2A, but may also be provided inside the servo control device 2A.

[0091] The correction amount correction unit 41 receives correction information 14 and response characteristic information 42 as input. The correction amount correction unit 41 performs a calculation to correct the correction amount calculated by the correction amount calculation unit 8 based on the response characteristic information 42. The correction amount correction unit 41 corrects the correction amount based on the response characteristics identified by the response characteristic identification unit 40. The correction amount correction unit 41 calculates the corrected correction amount using the correction amount calculated by the correction amount calculation unit 8 and the inverse model of the transfer function.

[0092] Here, an example of how the correction amount correction unit 41 corrects the correction amount will be explained. The correction amount correction unit 41 is assumed to receive transfer function information as response characteristic information 42. The correction amount calculated by the correction amount calculation unit 8 is Co, and the transfer function is G(s).

[0093] The correction amount correction unit 41 calculates the corrected correction amount Co' using the following equation (9). -1 (s) is the inverse transfer function of G(s), where G(s)G -1 (s)=1 is satisfied.

[0094] Co'=G -1 (s)Co ···(9)

[0095] The correction amount correction unit 41 outputs correction information 43 indicating the corrected correction amount. The servo control unit 6 receives the command information 11 and the correction information 43 as input. The servo control unit 6 corrects the command value indicated in the command information 11 by calculation using the corrected correction amount. The servo control unit 6 controls the motor 3 based on the command information 11 corrected using the corrected correction amount.

[0096] The correction amount modification unit 41 can modify the correction amount based on the identified response characteristics to reduce the influence of the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6. In other words, the correction amount modification unit 41 can modify the correction amount to match the actual correction amount. Note that the servo control device 2A may have the correction amount calculation unit 8A of Embodiment 2 instead of the correction amount calculation unit 8.

[0097] According to Embodiment 3, the correction amount correction unit 41 can correct the correction amount to match the actual correction amount by correcting the correction amount based on the response characteristics of the motor 3 or mechanical system 4 to the correction amount. The servo control device 2A can correct the movement trajectory with high precision by correcting the command information 11 based on the corrected correction amount. As a result, the servo system 1A and the servo control device 2A have the effect of enabling high-precision and stable control of the motor 3.

[0098] Embodiment 4. Figure 10 shows an example of the configuration of the servo system 1B according to Embodiment 4. The servo system 1B corrects the measured values ​​of the state variables used to create training data based on the response characteristics of the motor 3 or mechanical system 4 to the correction amount. The training data is the training data used by the learning unit 9 to train the prediction model 16. In Embodiment 4, the same reference numerals are used for the same components as in Embodiments 1 to 3 described above, and the configuration that differs from Embodiments 1 to 3 will be mainly described.

[0099] The servo system 1B includes a servo control device 2B, a motor 3, a mechanical system 4, a learning unit 9, a response characteristic identification unit 40, a state quantity correction unit 50, and an information storage unit 51. The configuration of the servo control device 2B is the same as that of the servo control device 2 of the servo system 1 according to Embodiment 1. The servo control device 2B differs from the servo control device 2 in that it outputs command information 11 and feedback information 15 to the information storage unit 51.

[0100] In the following explanation, command information 11 is the command value indicating the commanded position of motor 3. The predicted state quantity calculated by the state quantity prediction unit 7 is the position error, which is the error in the position of motor 3 relative to the commanded position. Note that the predicted state quantity may also be the feedback position of motor 3. In this case, the correction amount calculation unit 8 can obtain the predicted state quantity, which is the position error, by calculating the difference between the predicted commanded position and the predicted feedback position. The predicted state quantity is not limited to the commanded position, but may also be a physical quantity such as speed, torque, or current.

[0101] The response characteristic identification unit 40 identifies the response characteristics of the motor 3 or mechanical system 4 with respect to the correction amount. The response characteristic identification unit 40 identifies the transfer function, which is expressed by the gain and phase in the frequency domain. The response characteristic identification unit 40 outputs response characteristic information 42, which is information about the identified response characteristic transfer function. The response characteristic identification unit 40 may also identify the response characteristics using means other than a transfer function, such as a polynomial or a neural network.

[0102] The information storage unit 51 stores the command information 11 and the feedback information 15 in association with each other. The feedback information 15 includes the measured values ​​of the state variables. The state variable correction unit 50 reads the command information 11 and the feedback information 15 from the information storage unit 51. The state variable correction unit 50 also receives the response characteristic information 42 as input. The state variable correction unit 50 performs calculations to correct the measured values ​​of the state variables included in the feedback information 15 based on the response characteristic information 42. The state variable correction unit 50 corrects the measured values ​​of the state variables based on the response characteristics identified by the response characteristic identification unit 40. The state variable correction unit 50 calculates the corrected measured values ​​using the measured values ​​of the state variables included in the feedback information 15 and the inverse model of the transfer function.

[0103] Here, an example of how the state variable correction unit 50 corrects the measured value of a state variable will be described. Hereafter, the measured value of a state variable corrected by the state variable correction unit 50 will be referred to as the corrected state variable. The state variable correction unit 50 will be input with information of the transfer function as response characteristic information 42. The transfer function will be G(s). The measured value of the state variable will be the position error e.

[0104] The state variable correction unit 50 calculates the corrected position error e' using the following equation (10). -1 (s) is the inverse transfer function of G(s), where G(s)G -1 (s)=1 is satisfied.

[0105] e'=G -1 (s)Co ···(10)

[0106] The state variable correction unit 50 outputs command information 11 and corrected state variable information 52 indicating the corrected state variables. The learning unit 9 receives the command information 11 and the corrected state variable information 52 as input. The learning unit 9 creates training data including the command value indicated in the command information 11 and the corrected state variables, and uses the training data to train the prediction model 16. The corrected state variables are the training data.

[0107] The state variable correction unit 50 can correct the measured values ​​of the state variables to reduce the influence of the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6, by correcting the measured values ​​of the state variables based on the identified response characteristics. The learning unit 9 can generate a prediction model 16 in which the influence of the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6, is reduced. The servo control device 2B can perform a correction that can reduce the influence of the mechanical characteristics of the motor 3 or mechanical system 4, or the control characteristics of the servo control unit 6, by calculating a correction amount using the predicted values ​​of the state variables calculated based on the prediction model 16 and a reliability index.

[0108] The learning unit 9, the response characteristic identification unit 40, the state quantity correction unit 50, and the information storage unit 51 are each implemented by an information processing device, which is an external device to the servo control device 2B. The devices that function as these units are connected to the servo control device 2B. The devices that function as these units may be devices that can be connected to the servo control device 2B via a network. The devices that function as these units may be devices that reside on a cloud server. These units are not limited to being implemented by external devices to the servo control device 2B, but may also be provided inside the servo control device 2B. The learning unit 9, the response characteristic identification unit 40, the state quantity correction unit 50, and the information storage unit 51 are not limited to being integrated into a single device, but may be distributed across two or more devices.

[0109] The servo control device 2B may have the correction amount calculation unit 8A of Embodiment 2 instead of the correction amount calculation unit 8. The servo control device 2B may perform the processing described in Embodiment 4 and the processing described in Embodiment 3.

[0110] According to Embodiment 4, the learning unit 9 learns a prediction model 16 based on training data including state variables corrected by the state variable correction unit 50. The servo control device 2B calculates predicted values ​​and a confidence index for the state variables based on the prediction model 16, and calculates a correction amount based on the predicted values ​​and the confidence index for the state variables. The servo control device 2B can correct the movement trajectory with high precision by correcting the command information 11 based on the correction amount. As a result, the servo system 1B and the servo control device 2B have the effect of enabling high-precision and stable control of the actuator.

[0111] Next, the hardware for realizing the servo control devices 2, 2A, and 2B will be described. Figure 11 is a diagram showing an example of the hardware configuration for realizing the servo control devices 2, 2A, and 2B of the servo systems 1, 1A, and 1B according to embodiments 1 to 4. Figure 11 shows an example of the configuration when the servo control devices 2, 2A, and 2B are realized by a processing circuit 60. The processing circuit 60 has a processor 62 and a memory 63.

[0112] The processor 62 is a CPU (Central Processing Unit, also known as a microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)), a system LSI (Large Scale Integration), etc. The memory 63 is a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Registered Trademark) (Electrically Erasable Programmable Read-Only Memory), magnetic disks, flexible disks, optical disks, compact disks, minidiscs, or DVDs (Digital Versatile Discs).

[0113] Memory 63 stores programs for operating as the command generation unit 5, servo control unit 6, state quantity prediction unit 7, correction quantity calculation units 8, 8A, learning unit 9, and correction quantity correction unit 41, which are the essential components of the servo control devices 2, 2A, and 2B. By reading and executing these programs, the processor 62 can realize the essential components of the servo control devices 2, 2A, and 2B. The programs for operating as the essential components of the servo control devices 2, 2A, and 2B, which are stored in memory 63, may be provided to the user, for example, by being written to a storage medium such as a CD (Compact Disc)-ROM or DVD-ROM, or by being provided via a network. The processor 62 also outputs data such as calculation results to the volatile memory of memory 63. Alternatively, the processor 62 saves data such as calculation results by outputting them to an auxiliary storage device via the volatile memory of memory 63.

[0114] The input unit 61 is a circuit that receives input signals for the servo control devices 2, 2A, and 2B from an external source. The output unit 64 is a circuit that outputs signals generated by the servo control devices 2, 2A, and 2B to an external source.

[0115] Figure 11 shows an example of hardware when servo control devices 2, 2A, and 2B are implemented using a general-purpose processor 62 and memory 63. However, servo control devices 2, 2A, and 2B may also be implemented using a dedicated processing circuit instead of the processor 62 and memory 63. In other words, servo control devices 2, 2A, and 2B may be implemented using a dedicated processing circuit. Here, the dedicated processing circuit may be a single circuit, a composite circuit, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit combining these. Furthermore, a portion of the servo control devices 2, 2A, and 2B may be implemented using the processor 62 and memory 63, and the remainder implemented using a dedicated processing circuit.

[0116] In servo systems 1, 1A, and 1B, the learning unit 9, response characteristic identification unit 40, state quantity correction unit 50, and information storage unit 51, which are provided outside the servo control devices 2, 2A, and 2B, can each be realized with hardware similar to that shown in Figure 11.

[0117] In embodiments 1 to 4, motor 3 is an example of an actuator. The servo control devices 2, 2A, and 2B may control actuators other than motor 3. That is, the servo systems 1, 1A, and 1B may have actuators other than motor 3.

[0118] The configurations shown in each of the embodiments described above are examples of the content of this disclosure. The configurations of each embodiment can be combined with other known technologies. The configurations of each embodiment may be combined with each other as appropriate. It is possible to omit or modify parts of the configurations of each embodiment without departing from the gist of this disclosure. [Explanation of Symbols]

[0119] 1,1A,1B Servo system, 2,2A,2B Servo control device, 3 Motor, 4 Mechanical system, 5 Command generation unit, 6 Servo control unit, 7 State quantity prediction unit, 8,8A Correction quantity calculation unit, 9 Learning unit, 11 Command information, 12 Predicted state quantity information, 13 Indicator information, 14 Correction information, 15 Feedback information, 16 Prediction model, 21 Servo motor, 22 Motor end position detector, 23 Coupling, 24 Ball screw, 25 Ball screw nut, 26 Table, 27 Mechanical end position detector, 28 Mechanical end position detector head, 31 Correction quantity candidate value calculation unit, 32 Correction quantity evaluation unit, 33 Correction quantity determination unit, 34 Candidate value, 35 Evaluation value, 40 Response characteristic identification unit, 41 Correction quantity correction unit, 42 Response characteristic information, 43 Correction correction information, 50 State quantity correction unit, 51 Information storage unit, 52 Correction state quantity information, 60 processing circuit, 61 input section, 62 processor, 63 memory, 64 output section.

Claims

1. A command generation unit that generates command information for controlling the actuator, A state quantity prediction unit that simultaneously calculates predicted values ​​of state quantities of the actuator or the mechanical system driven by the actuator and an index representing the reliability of the predicted values, A correction amount calculation unit calculates a correction amount for correcting the command information based on the predicted value and the index, A servo control unit that controls the actuator based on the command information corrected using the correction amount, Equipped with, The correction amount calculation unit, A correction amount candidate value calculation unit calculates a plurality of candidate values ​​for the correction amount based on the predicted value and the index, For each of the candidate values, a correction amount evaluation unit calculates an evaluation value for the accuracy of the correction, which is represented by the difference between the error between the physical quantity shown in the command information and the actual physical quantity and the candidate value. A correction amount determination unit determines the correction amount from among a plurality of candidate values ​​based on the evaluation value for each of the candidate values, A servo control device characterized by having the following features.

2. The servo control device according to Claim 1, wherein the correction amount evaluation unit calculates the evaluation value for each candidate value based on an evaluation function set such that the evaluation value becomes larger the larger the absolute value of the difference between the error and the candidate value.

3. The servo control device according to claim 1 or 2, characterized in that the state quantity prediction unit predicts the state quantity for the state at the time the predicted value is calculated, or the state quantity for the state at a time later than the time the predicted value is calculated, and outputs the predicted value at a timing that matches the predicted state quantity.

4. The servo control device according to any one of claims 1 to 3, characterized in that the state quantity prediction unit predicts the current or future state quantity by using a prediction model, taking the measured value of the state quantity and the command information as input.

5. The servo control device according to claim 4, characterized in that the state quantity prediction unit uses the prediction model to obtain the probability distribution of the predicted state quantity, and calculates the predicted value and the index based on the probability distribution.

6. The servo control device according to claim 4 or 5, further comprising a learning unit for learning the aforementioned predictive model.

7. The command information includes at least one command value among the position, speed, acceleration, or torque of the actuator and the current flowing through the actuator. The servo control device according to any one of claims 4 to 6, characterized in that the measured value includes at least one value from among the position, speed, acceleration, or torque of the actuator, the current flowing through the actuator, and the position or speed of the driven body having the mechanical system.

8. A threshold value for the indicator is set to determine whether the predicted value is an appropriate value. The servo control device according to any one of claims 1 to 7, characterized in that the correction amount calculation unit sets the correction amount to zero when the calculated value of the index falls outside the range determined by the threshold.

9. A servo control device according to any one of claims 1 to 8, further comprising a correction amount correction unit that modifies the correction amount based on the response characteristics of the actuator or the mechanical system to the correction amount.

10. Actuator and A command generation unit that generates command information for controlling the actuator, A state quantity prediction unit that simultaneously calculates predicted values ​​of state quantities of the actuator or the mechanical system driven by the actuator, and an index representing the reliability of the predicted values, based on a prediction model. A correction amount calculation unit calculates a correction amount for correcting the command information based on the predicted value and the index, A servo control unit that controls the actuator based on the command information corrected using the correction amount, A learning unit that learns the prediction model using training data including measured values ​​of the state variables, Equipped with, The correction amount calculation unit, A correction amount candidate value calculation unit calculates a plurality of candidate values ​​for the correction amount based on the predicted value and the index, For each of the candidate values, a correction amount evaluation unit calculates an evaluation value for the accuracy of the correction, which is represented by the difference between the error between the physical quantity shown in the command information and the actual physical quantity and the candidate value. A correction amount determination unit determines the correction amount from among a plurality of candidate values ​​based on the evaluation value for each of the candidate values, A servo system characterized by having the following features.

11. A response characteristic identification unit for identifying the response characteristics of the actuator or the mechanical system with respect to the correction amount, The servo system according to claim 10, further comprising a correction amount correction unit that corrects the correction amount based on the identified response characteristics.

12. The response characteristic identification unit identifies the transfer function represented by the gain and phase in the frequency domain, The servo system according to claim 11, characterized in that the correction amount correction unit calculates the corrected correction amount using the correction amount and the inverse model of the transfer function.

13. A response characteristic identification unit for identifying the response characteristics of the actuator or the mechanical system with respect to the correction amount, The servo system according to claim 10, further comprising a state variable correction unit that corrects the measured values ​​used to create the training data based on the identified response characteristics.

14. The response characteristic identification unit identifies the transfer function represented by the gain and phase in the frequency domain, The servo system according to claim 13, characterized in that the state quantity correction unit calculates the corrected measured value using the measured value and the inverse model of the transfer function.

15. A servo control method in which a servo control device controls an actuator, The steps include generating command information for controlling the actuator, The steps include simultaneously calculating a predicted value of a state variable of the actuator or the mechanical system driven by the actuator, and an index representing the reliability of the predicted value, A step of calculating a correction amount for correcting the command information based on the predicted value and the index, A step of controlling the actuator based on the command information corrected using the correction amount, Includes, The step of calculating the correction amount is: A step of calculating a plurality of candidate values ​​for the correction amount based on the predicted value and the index, For each candidate value, the step of calculating an evaluation value for the accuracy of the correction, which is represented by the difference between the error between the physical quantity shown in the command information and the actual physical quantity and the candidate value; The steps include determining the correction amount from among a plurality of candidate values ​​based on the evaluation value for each of the candidate values, A servo control method characterized by including the following:

Citation Information

Patent Citations

  • Motor controller

    JP1997215365A

  • Controller and information recording and reproducing device

    JP1997265304A

  • Fluctuation amount estimation device in machine tool, and correction amount calculation device

    JP2020179429A

  • Model predictive control with stochastic output limit handling

    US20080071395A1

  • Servo control device

    WO2021245916A1