WO2022162740A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2022162740A1
WO2022162740A1 PCT/JP2021/002683 JP2021002683W WO2022162740A1 WO 2022162740 A1 WO2022162740 A1 WO 2022162740A1 JP 2021002683 W JP2021002683 W JP 2021002683W WO 2022162740 A1 WO2022162740 A1 WO 2022162740A1
Authority
WO
WIPO (PCT)
Prior art keywords
torque
machine learning
estimated
motor
cutting
Prior art date
Application number
PCT/JP2021/002683
Other languages
English (en)
French (fr)
Inventor
健二 西脇
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to DE112021006961.6T priority Critical patent/DE112021006961T5/de
Priority to PCT/JP2021/002683 priority patent/WO2022162740A1/ja
Priority to CN202180086302.3A priority patent/CN116635802A/zh
Priority to JP2021531611A priority patent/JP6949284B1/ja
Publication of WO2022162740A1 publication Critical patent/WO2022162740A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33034Online learning, training
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37355Cutting, milling, machining force
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40293Gantry, portal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45094Milling robot

Definitions

  • the present disclosure relates to a numerical controller that generates a model imitating a controlled object.
  • Patent Document 1 an electric motor control device acquires an M-sequence or sinusoidal command, and corrects the inertia tensor, friction coefficient, and spring constant for each sampling period so that the torque estimation error is minimized.
  • a technique is disclosed for correcting the error contained in the initial values of the physical model parameters during operation by doing so.
  • the present disclosure has been made in view of the above, and aims to obtain a numerical controller that enables highly accurate torque estimation for phenomena with strong nonlinearity.
  • the numerical control device is a numerical control device that controls a motor of a machine tool that cuts a workpiece.
  • the numerical control device according to the present disclosure includes a motor state observation unit that outputs a motor state signal indicating the result of observing the state of the motor, and a cutting state signal that indicates whether the machine tool is cutting. and an observation unit that outputs a first estimated torque that is an estimated value of the torque of the motor and a physical state variable that is a component of the first estimated torque based on the motor state signal and the physical model parameters of the machine tool.
  • a torque estimator a feature quantity generator that generates and outputs a feature quantity from at least one of a first estimated torque, a physical state variable, and a motor state signal; and a cutting state signal; calculating a machine learning correction amount, learning a machine learning model parameter so that the calculated machine learning correction amount approaches the difference between the actual torque included in the motor state signal and the first estimated torque, and learning the learned machine learning model parameter and a machine learning model calculator that stores the
  • the numerical control device has the effect of enabling highly accurate torque estimation for phenomena with strong nonlinearity.
  • FIG. 1 is a block diagram showing a configuration example of a numerical controller according to Embodiment 1;
  • FIG. Schematic diagram showing a target machine to be controlled by the numerical controller according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a nonlinear friction model, which is a physical model parameter estimated by a physical model storage unit according to Embodiment 1;
  • FIG. 2 is a block diagram showing a configuration example of a feature generation unit and a machine learning model calculation unit according to Embodiment 1;
  • FIG. 4 is a diagram showing an autoregression term in the configurations of the feature amount generation unit and the machine learning model calculation unit according to Embodiment 1; 4 is a flow chart showing the flow of learning of physical model parameters and machine learning model parameters in the numerical controller according to Embodiment 1;
  • the motor speed representing the operation of the target machine that is the control target of the numerical controller according to Embodiment 1, the first estimated torque estimated by the numerical controller, and the second estimated torque estimated by the numerical controller are diagram showing FIG. 4 is a diagram for explaining abnormality detection by the numerical controller according to Embodiment 1;
  • FIG. 7 is a diagram for explaining detection of cutting load by a numerical controller according to Embodiment 2; FIG.
  • FIG. 11 is a diagram for explaining detection of tool wear or damage by a numerical control device according to Embodiment 3;
  • FIG. 4 is a diagram showing an example of a case where a processing circuit included in the numerical controllers according to Embodiments 1 to 3 is configured with a processor and a memory;
  • FIG. 4 is a diagram showing an example of a case where a processing circuit included in the numerical controllers according to Embodiments 1 to 3 is configured with dedicated hardware;
  • FIG. 1 is a block diagram showing a configuration example of a numerical control device 100 according to Embodiment 1.
  • a numerical controller 100 controls a motor of a target machine 10, which is a machine tool.
  • the numerical controller 100 includes a motor state observing section 1 , a physical model calculating section 2 , a feature value generating section 3 , a machine learning model calculating section 4 and a cutting state observing section 5 .
  • the physical model calculator 2 includes a first torque estimator 21 and a physical model storage 22 .
  • the machine learning model calculator 4 includes a second torque estimator 41 and a machine learning model storage 42 .
  • FIG. 2 is a schematic diagram showing the target machine 10 to be controlled by the numerical controller 100 according to the first embodiment.
  • the target machine 10 is a machine tool that cuts a workpiece 15 by moving a tool 14 relative to the workpiece 15 .
  • a machining center will be described as an example.
  • the target machine 10 is composed of a column 11, a spindle head 12, a table 13, and a tool 14.
  • the tool 14 rotates by receiving the driving force generated by the spindle motor.
  • a column 11 and a spindle head 12 or a table 13 receive a driving force generated by a servomotor and are linearly driven. Illustration of the spindle motor and the servomotor is omitted.
  • Numerical controller 100 controls the position and orientation of tool 14 relative to workpiece 15 .
  • the target machine 10 is a machining center with three moving axes, but the machine tool that is the target machine 10 is not limited to a three-axis machining center.
  • the numerical controller 100 can be widely applied to machine tools driven by motors. Examples of machine tools that are the target machine 10 further include machine tools such as 5-axis machining centers, tapping centers, lathes, compound lathes, mounting machines, and the like.
  • the motor state observation unit 1 observes the state of the motor of the target machine 10 and outputs a motor state signal indicating the observation result. Specifically, the motor state observation unit 1 detects at least one of the position, velocity, and acceleration of each actuator corresponding to the first, second, and third axes, which are movement axes, and the main axis, and the main axis motor and the servo. An actual torque, which is each torque of the motor, is output as a motor state signal.
  • the motor status signals are not limited to only position, velocity, acceleration, and actual torque signals for each actuator.
  • the motor status signal is obtained from sensing data of an internal sensor or an external sensor provided at each axis of the target machine 10 or at a specified location, such as temperature data of the actuator of each axis, infrared sensor, ultrasonic sensor, or other sensor. Values such as obtained distance data, moving image data obtained from a vision sensor, and feature amount data obtained by image processing thereof may be included.
  • the first torque estimating unit 21 receives the motor state signal output from the motor state observing unit 1 and the physical model parameters output from the physical model storage unit 22, which will be described later.
  • One estimated torque is calculated from the equation of motion. That is, the first torque estimator 21 estimates the first estimated torque, which is the estimated torque of the motor, using the equation of motion based on the motor state signal and the physical model parameters of the target machine 10 .
  • the first torque estimator 21 outputs a first estimated torque and physical state variables that are components of the first estimated torque.
  • the physical state variables include not only inertia terms, centrifugal force terms, Coriolis force terms, and gravitational terms, but also Coulomb friction terms, viscous friction terms, arm vibration terms, and elastic deflection terms.
  • a term of a function introduced by simulating some physical phenomenon in calculating the first estimated torque, such as a non-linear friction model, may be included.
  • the numerical control device 100 allows the machine learning model calculation unit 4 to correct the uncertainty of the friction model and the error of the estimated friction value with respect to the friction component of the actual torque. do.
  • the motor state signals and physical model parameters used in the equation of motion correspond to the position, velocity, and acceleration of each actuator, and the mass, center of gravity position, and inertia tensor of each link, respectively.
  • the physical model parameters include the mass of the link mechanism of the target machine 10 , the center of gravity position of the link mechanism of the target machine 10 , and the inertia tensor of the link mechanism of the target machine 10 .
  • the numerical controller 100 learns the mass of the coefficients, the position of the center of gravity, and the inertia tensor as the physical model parameters in the inverse dynamics using the information about the known mechanism of the target machine 10 to obtain the first estimated torque for the actual torque.
  • the correction value in the machine learning model calculator 4 becomes relatively small, and the generalization performance of the second estimated torque can be improved.
  • the equation of motion for example, the Newton-Euler method, the Lagrangian equation of motion, or the like can be used.
  • the first torque estimator 21 uses an equation of motion including a continuous and smooth friction model that outputs an estimated value of the torque friction component with the speed of the motor obtained from the motor state signal as input.
  • the machine learning model calculation unit 4 uses a neural network, but since the neural network can calculate continuous functions with respect to the input, the feature amount and the input to the feature amount generation unit 3 are continuous. is desirable. Therefore, the numerical control device 100 defines a friction model that is continuous including near zero speed, so that even the friction components that cannot be learned in the physical model storage unit 22 can be learned and corrected using a neural network. becomes possible.
  • the physical model storage unit 22 uses the motor state signal obtained when the target machine 10 is operated for a certain period of time when the target machine 10 is in the non-cutting state as teacher data, and uses the actual torque and the first torque included in the motor state signal as teacher data. learn the physical model parameters to reduce the difference from the estimated torque of
  • the physical model storage unit 22 stores learned physical model parameters.
  • the numerical controller 100 can correct changes in physical properties due to attachment of sensors and wiring, processing errors, assembly errors, etc., and can improve the accuracy of estimating the actual torque.
  • physical model parameters can be roughly calculated from specification tables, CAD (Computer Aided Design) data, etc., so by giving these values as initial values at the time of learning, the speed of learning , convergence, etc. can be improved. However, if these values are unknown or difficult to calculate, they may be initialized with arbitrary constants.
  • Equation (1) the equation of motion for each axis consists of the physical model parameter w consisting of the mass, the position of the center of gravity, and the inertia tensor, and the coefficient matrix A (v , a) can be used to describe in a variable-separated form as shown in Equation (1).
  • the physical model storage unit 22 can calculate the physical model parameters of each axis by solving equation (1) for w for each axis by the least squares method.
  • the physical model storage unit 22 combines the equations (1) regarding w of each axis into one linear equation and simultaneously solves it for a drive machine that may cause inter-axis interference, such as a five-axis machine tool.
  • the physical model calculation unit 2 as a whole can obtain a more plausible solution.
  • the physical model storage unit 22 may use, in addition to the least squares method, the regularized least squares method, the Kalman filter, Bayesian estimation, a genetic algorithm, a neural network, etc., for the identification method of the physical model parameter w.
  • the physical model storage unit 22 stores a linear combination of a function of velocity and a friction coefficient, such as a linear friction model, which is a friction model consisting of Coulomb friction and viscous friction shown below.
  • a linear friction model which is a friction model consisting of Coulomb friction and viscous friction shown below.
  • the friction coefficient can be simultaneously estimated as a physical model parameter in the same manner as the equation (1).
  • the coefficient of friction estimated by the physical model storage unit 22 is expressed by Equation (2).
  • equation (2) which is captured as an image
  • equation (3) which will be described later, a dot is added above q i , but this cannot be expressed in the description. Therefore, in the explanation part, q i with a dot above it is simply written as q i .
  • r FC,i is the Coulomb friction coefficient
  • r FV,i is the viscous friction coefficient for a friction model F i of axis i operating at velocity q i .
  • the friction is estimated using a friction model with a higher degree of freedom that considers the nonlinearity with respect to speed, and after removing the friction component in the difference between the actual torque and the first estimated torque, other physical It is desirable to estimate the model parameters.
  • An example of such a non-linear friction model is the following function represented by Equation (3).
  • FIG. 3 is a diagram showing an example of a nonlinear friction model, which is physical model parameters estimated by the physical model storage unit 22 according to the first embodiment.
  • the horizontal axis indicates motor speed and the vertical axis indicates friction.
  • the nonlinear friction model has a total of four parameters in addition to the Coulomb friction coefficient rFC ,i and the viscous friction coefficient rFV,i . is obtained using the Levenberg-Marquardt method, which is a nonlinear least-squares method, from the difference from the estimated torque. Since the Levenberg-Marquardt method has initial value dependence, once linearity is assumed for friction, the Coulomb friction coefficient r FC,i and the viscous friction coefficient r FV,i are added to the physical model parameter w, and the above equation ( After calculating each friction coefficient by 1), by using them as initial values, it is possible to prevent estimation failure due to initial value dependency.
  • the physical model storage unit 22 can use the least-squares method, the regularized least-squares method, the nonlinear least-squares method, the Kalman filter, or the like in learning the physical model parameters.
  • Numerical controller 100 can estimate unknown coefficients in the motion equation and state equation of target machine 10 from operation data by using the least-squares method, the non-linear least-squares method, the non-linear least-squares method, or the Kalman filter. Become. Operational data is, for example, data contained in a motor status signal.
  • the physical model storage unit 22 stores the coefficients of the nonlinear friction model obtained here as physical model parameters, and adds the output of the nonlinear friction model at each time to the physical state variables.
  • Numerical controller 100 can detect changes in viscous friction and Coulomb friction due to aged deterioration and abnormalities by storing coefficients of the friction model as physical model parameters in physical model storage unit 22.
  • Numerical controller 100 alternately estimates the coefficients of the friction model and other physical model parameters, thereby designing the friction model more complicatedly and in detail. Further, since the numerical controller 100 can also estimate other physical model parameters in a state in which the influence of friction is almost eliminated, it is possible to learn the physical model parameters with higher accuracy.
  • the nonlinear friction model is not limited to a function of velocity, and may be a multivariable function that depends on position, acceleration, motor temperature, etc.
  • Each coefficient of the nonlinear friction model is Gauss-Newton method, steepest descent method , an extended Kalman filter, an unscented Kalman filter, or the like.
  • a support vector regression model, regression tree, random forest, multivariate adaptive regression spline model, neural network, or other model generation method based on machine learning algorithms may be used.
  • the first estimated torque is corrected by the machine learning unit 411 including the neural network. It suffices to consider it as a function of only the velocity given to .
  • the cutting state observation unit 5 observes the cutting state of the target machine 10 and outputs a cutting state signal indicating the observation result.
  • the cutting state signal is a signal indicating whether or not the target machine 10 is cutting.
  • the cutting state observation unit 5 acquires the machining program from the target machine 10 and observes the cutting state based on the content of the machining program.
  • the feature quantity generating unit 3 includes the motor state signal output from the motor state observing unit 1, the first estimated torque and physical state variables output from the first torque estimating unit 21, and the cutting state observing unit 5.
  • a cutting state signal which is an output, is input.
  • the feature amount generation unit 3 receives the first estimated torque, the physical state variable, the motor state signal, and the cutting state signal, and outputs the feature amount that is the input to the machine learning unit 411 .
  • Tool information is information about the type and shape of the tool 14 .
  • the tool information includes tool diameter, tool length, tool shape, information on the number of teeth of the tool 14 or information on the protrusion length of the tool 14 . Further, when the tool 14 is used for turning, the tool information may include tip shape information of the tool 14 or clearance angle information of the tool 14 .
  • the machining information is information about machining conditions in the target machine 10 .
  • the machining information includes information on machining conditions such as feed rate or feed width.
  • the application judgment is judgment for each of detection of abnormality in cutting, detection of load in cutting, and detection of wear or chipping of the tool 14 .
  • the application determination information indicates which one of abnormality detection, cutting load detection, and wear or chipping detection is to be performed. That is, the application determination information is information indicating which of the plurality of events that can occur in processing is to be determined.
  • the application determination information is input to the feature quantity generation unit 3 by the user of the target machine 10 .
  • the user selects an application determination target from “abnormality detection,” “cutting load detection,” and “tool wear or chipping detection,” and sets application determination information indicating the selected target as a feature value. Input to the generation unit 3 .
  • the target of application judgment also includes functions that use “abnormality detection", “cutting load detection”, or “tool wear or chipping detection” for internal processing. Examples of such functions include a function in which the user directly specifies the cutting load amount by a parameter, such as cutting load control, and a function in which the user does not specify the load amount, but the load amount is specified by the machining conditions, such as FSW (Friction Stir Welding). functions to control.
  • cutting load detection is performed by internal processing.
  • the application determination information may be a fixed value. Alternatively, the application determination information does not have to be input to the feature amount generator 3 .
  • the feature value generation unit 3 determines which application to perform among "abnormality detection", "cutting load detection”, and "tool wear or defect detection” from the input application determination information. .
  • the feature quantity generation unit 3 estimates the second estimated torque using either the machine learning model parameters obtained by learning when cutting is performed or the machine learning model parameters obtained by learning when cutting is not performed. based on the results of such determination.
  • the feature amount generation unit 3 calculates the actual torque obtained when cutting is performed and the actual torque obtained when cutting is not performed. and which to use is determined based on the result of such determination.
  • the feature quantity generator 3 outputs a feature quantity including information about the determined items.
  • the actual torque which is the input and estimation target of these feature value generation units 3, is a value that changes in time series. Since the machine learning model storage unit 42 also needs to consider the correlation in the direction of the time axis, it is given as a vector containing both the feature amount and the value for a certain past period. In a multi-axis mechanism such as a machine tool, which is the object of the first embodiment, the influence of mutual interference between axes is not small, so the input values corresponding to the respective axes are also included as vectors. is desirable. However, the torque component in the feature quantity is given as the difference between the actual torque and the first estimated torque, and only past values are used for the actual torque to be estimated.
  • FIG. 4 is a block diagram showing a configuration example of the feature amount generation unit 3 and the machine learning model calculation unit 4 according to Embodiment 1.
  • z is a unit delay operator
  • Nd is an integer greater than or equal to 0 indicating the number of unit times of delay.
  • the unit delay operator shown in FIG. 4 can also be said to be a storage device provided in the feature generator 3 . That is, the feature quantity generator 3 has a storage device that stores the first estimated torque, physical state variables, motor state signals, cutting state signals, tool information, machining information, and application determination information. .
  • the feature amount generation unit 3 extracts information as feature amounts from the information stored in the storage device.
  • the numerical control device 100 includes information on time-series changes related to physical state variables and motor state signals as input in the feature amount, so that the machine learning model calculation unit 4 can predict the operation of the target machine 10 in more detail. Thereby, the numerical controller 100 can improve the estimation accuracy of the second estimated torque with respect to the actual torque.
  • the feature amount generator 3 does not necessarily have to use all of the first estimated torque, physical state variables, motor state signals, cutting state signals, tool information, machining information, and application determination information in generating feature amounts. .
  • the feature amount generator 3 uses only a part of the first estimated torque, the physical state variable, the motor state signal, the cutting state signal, the tool information, the machining information, and the application determination information to generate the feature amount. Also good.
  • the feature quantity generator 3 may generate and output a feature quantity from at least one of the first estimated torque, the physical state variable, and the motor state signal, and the cutting state signal.
  • the second torque estimation unit 41 includes a machine learning unit 411.
  • the second torque estimating unit 41 is the feature quantity generated by the feature quantity generating unit 3, the first estimated torque output from the first torque estimating unit 21, and the output of the machine learning model storage unit 42.
  • Machine learning model parameters are input, and a machine learning correction amount is calculated based on machine learning of the machine learning unit 411 using the feature amount and the machine learning model parameters.
  • the second torque estimator 41 outputs the result obtained by adding the machine learning correction amount to the first estimated torque as the second estimated torque.
  • the machine learning unit 411 receives the feature quantity generated by the feature quantity generation unit 3 and the machine learning model parameters output from the machine learning model storage unit 42, and determines that the error of the second estimated torque with respect to the actual torque is the minimum. It is composed of a neural network that outputs the machine learning correction amount so that That is, the ideal value of the machine learning correction amount for the output matches the difference between the actual torque and the first estimated torque, and the difference between the past actual torque delayed by the input feature value and the first estimated torque , the machine learning unit 411 has an autoregressive term in the input/output relationship as shown in FIG.
  • FIG. 5 is a diagram showing autoregression terms in the configurations of the feature quantity generation unit 3 and the machine learning model calculation unit 4 according to the first embodiment.
  • FIG. 5 shows a portion related to the autoregressive term extracted from FIG.
  • machine learning model parameters refer to the weight matrix and bias vector in the neural network.
  • a recurrent type such as a recurrent neural network, LSTM (Long Short Term Memory), GRU (Gated Recurrent Unit), which has a recursive structure in the input/output relationship of the intermediate layer. is also an effective means for improving the prediction accuracy for such time-series data.
  • polynomial models in order to reduce the learning load and the amount of calculation, polynomial models, multiple regression models, support vector regression models, regression trees, random forests, multivariate adaptive regression spline models, etc. may be used instead of neural networks, In cases such as when mutual interference between axes can be ignored, the machine learning unit 411 may be applied independently for each axis.
  • the machine learning unit 411 can also learn factors of estimation errors that change depending on the immediately preceding state, such as the hysteresis characteristics of friction, and correct them as machine learning correction amounts.
  • the second torque estimator 41 uses machine learning that includes an autoregressive term in the input/output relationship to calculate the machine learning correction amount from the feature amount and the machine learning model parameters.
  • the second torque estimator 41 adds the calculated machine learning correction amount to the first estimated torque and outputs the second estimated torque.
  • the second torque estimator 41 may use machine learning using a neural network as machine learning including an autoregressive term in the input/output relationship.
  • Numerical controller 100 uses a neural network as a machine learning method, so that it becomes possible to learn and store a torque component, which is difficult to express on the equation of motion, as a nonlinear multi-degree-of-freedom model.
  • the second torque estimator 41 may use the difference between the actual torque and the first estimated torque as an autoregressive term included in the input/output relationship in machine learning for calculating the machine learning correction amount.
  • a difference between the actual torque and the first estimated torque is the target value of the correction amount for the first estimated torque.
  • the target value of the correction amount changes in time series with the operation of the motor of the target machine 10 . Therefore, when estimating the optimum correction amount for the next time, the numerical control apparatus 100 is provided with an autoregressive term that includes the target value of the past correction amount as an input, so that the estimation can be performed with higher accuracy. becomes.
  • the machine learning model storage unit 42 inputs the feature amount and the difference between the actual torque and the first estimated torque when the target machine 10 is operated for a certain period after the physical model parameters are learned in the physical model storage unit 22 . As training data for the output, machine learning model parameters are learned so as to reduce the error of the machine learning correction amount with respect to the difference between the actual torque and the first estimated torque. That is, the machine learning model storage unit 42 learns machine learning model parameters by supervised learning such that the machine learning correction amount approaches the difference between the actual torque and the first estimated torque. The machine learning model storage unit 42 stores learned machine learning model parameters.
  • the machine learning model parameters at the start of learning may be initialized with arbitrary constants. have. Therefore, in the machine learning unit 411, in addition to the uniform distribution and the normal normal distribution, the weight matrix is initialized with a probability distribution derived from the normal distribution such as the truncated normal distribution, the He normal distribution, and the Grorot normal distribution. is common.
  • the machine learning model storage unit 42 uses the mini-batch gradient descent method and the error backpropagation method as learning methods, and updates the machine learning model parameters represented by the weight matrix and bias vector for each batch. That is, the machine learning model storage unit 42 may use the error backpropagation method as a supervised learning method used when learning the machine learning model parameters. However, if a sufficient amount of teacher data cannot be prepared, the machine learning model storage unit 42 may use a normal gradient descent method, a stochastic gradient descent method, or the like instead of the mini-batch gradient descent method.
  • the machine learning model storage unit 42 has a dropout that randomly excludes neurons during learning, and monitors errors for each epoch to quickly terminate learning. It is also effective to use a technique such as early stopping.
  • the machine learning model storage unit 42 needs to apply the dropout probability to the weight matrix during inference of the machine learning correction amount. Therefore, such hyperparameters are also added as machine learning model parameters. and save.
  • FIG. 6 is a flow chart showing the flow of learning of physical model parameters and machine learning model parameters in numerical control device 100 according to the first embodiment.
  • the physical model storage unit 22 sets the initial values of the physical model parameters of each link, namely mass, center of gravity position, and inertia tensor, from the values in the specification table (step S1).
  • the motor state observation unit 1 outputs time-series data of actual torque, position, speed, and acceleration, which are motor state signals of the target machine 10, as teacher data (step S2).
  • the first torque estimator 21 calculates the first estimated torque by dynamic calculation with respect to the position, velocity, and acceleration (step S3).
  • the first torque estimator 21 adds a linear friction model term to the dynamics equation (step S4).
  • the physical model storage unit 22 adds the Coulomb friction coefficient and the viscous friction coefficient to the physical model parameters (step S5).
  • the physical model storage unit 22 identifies physical model parameters from the difference between the actual torque and the first estimated torque, using the dynamic equation transformed into a linear equation and the least-squares method (step S6).
  • the physical model storage unit 22 uses the Coulomb friction coefficient and the viscous friction coefficient in the identified physical model parameters as initial values, identifies the nonlinear friction model by the Levenberg-Marquardt method, and adds each obtained coefficient to the physical model parameters (step S7).
  • the physical model storage unit 22 subtracts the first estimated torque and the value of the nonlinear friction model from the actual torque, and uses the dynamics equation transformed into a linear equation by removing the terms of the friction model and the least squares method. , the physical model parameters other than the friction coefficient are identified again (step S8).
  • the first torque estimator 21 adds a nonlinear friction model term to the dynamics equation, and uses the learned physical model parameters to calculate the first estimated torque again (step S9).
  • the feature value generator 3 receives the first estimated torque, physical state variables, motor state signals, cutting state information, machining information, tool information, and application determination information, and generates a vector , and output as a feature amount (step S10).
  • the machine learning model storage unit 42 initializes the weight matrix and the bias, which are machine learning model parameters, with a normal distribution and the bias with a constant (step S11).
  • the machine learning model storage unit 42 sets hyperparameters such as early stopping and dropout as learning conditions, and adds these values to the machine learning model parameters (step S12).
  • the second torque estimating unit 41 uses the input as a feature value and the output as an ideal value of the machine learning correction amount that is the difference between the actual torque and the first estimated torque, and the error is calculated according to the conditions at the time of learning in the machine learning model parameters.
  • the weight matrix and bias of the machine learning model parameters are learned by the backpropagation method (step S13).
  • the physical model parameters are learned in advance in the physical model storage unit 22, and the machine learning correction amount for the first estimated torque is autoregressed.
  • learning of the machine learning model parameters in the machine learning model storage unit 42 greatly contributes. This is because the numerical control device 100 distinguishes between the physical model parameters and the machine learning model parameters, so that the torque estimation error component caused by a known physical phenomenon that can be easily modeled in the equation of motion and the component modeled in the equation of motion This is because the absolute value of the machine learning correction amount, which is the output of the machine learning unit 411, becomes smaller.
  • the numerical controller 100 can also reduce the number of parameters included in the machine learning model parameters. It is possible to prevent over-learning and increase the speed of learning in the unit 42, and to reduce teacher data used for learning.
  • the autoregression term related to the machine learning correction amount the difference between the actual torque and the calculation result by the equation of motion using the initial values for the physical model parameters is learned by the machine learning model calculation unit 4 and used as the machine learning correction amount.
  • the machine learning correction amount becomes smaller, and the torque estimation error range by a neural network can be suppressed.
  • an advantage of using an autoregressive term there are effects of cogging torque, torque ripple, and backlash in torque transmission between gears that depend on the motor characteristics.
  • One of the advantages is that it is easy to learn estimation error factors that change over time.
  • FIG. 7 shows the first estimated torque after learning the physical model parameters and the second estimated torque obtained by learning the machine learning model parameters from the difference between the actual torque and the first estimated torque.
  • FIG. 7 shows the motor speed, the first estimated torque estimated by the numerical controller 100, and the torque estimated by the numerical controller 100, which represents the operation of the target machine 10, which is the control target of the numerical controller 100 according to the first embodiment.
  • FIG. 10 is a diagram showing a second estimated torque that is calculated; In each item, the horizontal axis indicates time. As shown in FIG. 7, the second estimated torque is closer to the actual torque than the first estimated torque.
  • the numerical controller 100 learns by distinguishing between the physical model parameters and the machine learning model parameters. It can be said that it is a configuration.
  • a method of mainly monitoring the difference between the actual torque and the second estimated torque can be considered. This is because the numerical controller 100 monitors the difference between the actual torque and the second estimated torque, so that the observed values are concentrated near zero, and the absolute value can be regarded as the degree of abnormality of the actual torque.
  • a specific abnormality detection method a simple method of detecting whether or not the absolute value of the difference between the actual torque and the second estimated torque exceeds a preset threshold value may be used.
  • a two-class classification problem of normal and abnormal with the difference between the feature value and the actual torque and the second estimated torque as input we prepared labeled teacher data, logistic regression, support vector machine, decision tree , a neural network, or the like.
  • Numerical control device 100 performs oversampling of operation data during anomalies acquired using SMOTE (Synthetic Minority Over-sampling Technique), ADASYN (ADAactive SYNthetic), etc., when it is difficult to collect operation data during anomalies, which is training data. may be performed, or by unsupervised learning such as the K-means method and self-organizing map, the data may be classified into two clusters, normal and abnormal. Further, in the numerical controller 100, the number of classes and the number of clusters are not limited to normal and abnormal. Any degree of abnormality other than the absolute value of the difference from the estimated torque may be set.
  • SMOTE Synthetic Minority Over-sampling Technique
  • ADASYN ADAactive SYNthetic
  • the numerical control device 100 be executed in an ideal state for comparison of the degree of deterioration, such as during test operation.
  • the machine tool since the machine tool has a spindle and a tool 14 attached to its tip and cuts a workpiece 15 placed on a table 13, the physical properties of each link, such as the mass, the position of the center of gravity, and the inertia tensor, change. Therefore, the numerical controller 100 needs to consider the mass of the workpiece 15, such as re-learning both the physical model parameters and the machine learning model parameters in each state.
  • the physical model storage unit 22 learns the motor state signals when the target machine 10 is operated for a certain period of time, thereby automating the setting process. It has become.
  • the cycle time, trajectory deviation, pressing force at the time of collision, etc. are reduced. This technology can also be applied to increase the speed and accuracy of control, and the application of the above method is not limited to abnormality detection.
  • the machine learning model storage unit 42 separately performs supervised learning when the target machine 10 is cutting and supervised learning when the target machine 10 is not cutting.
  • the machine learning model storage unit 42 stores machine learning model parameters by learning based on input/output when cutting is performed and machine learning model parameters by learning based on input/output when cutting is not performed.
  • the machine learning model calculator 4 can switch between learning during cutting and learning during non-cutting by inputting a feature amount including a cutting state signal and application determination information.
  • FIG. 8 is a diagram for explaining abnormality detection by the numerical control device 100 according to the first embodiment.
  • FIG. 8 shows the actual torque and the second estimated torque estimated by the numerical controller 100. As shown in FIG. The horizontal axis indicates time.
  • the processing described here is executed when the application determination information indicates a determination for detecting an abnormality.
  • the machine learning model calculation unit 4 calculates the difference between the actual torque and the second estimated torque calculated by the machine learning model calculation unit 4 when application determination information indicating abnormality detection is input as a feature amount.
  • the difference is monitored by the second torque estimator 41 .
  • the second torque estimating unit 41 calculates a second estimated torque from machine learning model parameters by learning based on input and output when cutting is not performed, and calculates the actual torque and the calculated second estimated torque. monitor the diff.
  • the second torque estimator 41 detects occurrence of an abnormality when the difference exceeds a certain value. Abnormalities are motor torque abnormalities.
  • the numerical controller 100 can detect torque anomalies by having the machine learning model calculation unit 4 perform calculations using the learning model for non-cutting.
  • the numerical controller 100 adjusts the parameters of the machining conditions so that the difference between the actual torque and the second estimated torque is equal to or less than the constant value. For example, the numerical controller 100 makes adjustments to lower the feed rate.
  • the numerical control device 100 may output an alarm indicating that an abnormality has been detected.
  • Embodiment 2 a case where the numerical controller 100 detects the cutting load will be described.
  • the same reference numerals are given to the same constituent elements as in the first embodiment, and the explanation overlapping with the first embodiment is omitted.
  • FIG. 9 is a diagram for explaining how the numerical controller 100 according to the second embodiment detects the cutting load.
  • FIG. 9 shows the actual torque and the second estimated torque estimated by the numerical controller 100. As shown in FIG. The horizontal axis indicates time.
  • the processing in Embodiment 2 is executed when the application determination information indicates determination for detecting cutting load.
  • the first torque estimator 21 adds a nonlinear friction model term to the power equation and calculates the first estimated torque using the learned physical model parameters.
  • the feature amount generation unit 3 receives the first estimated torque, the physical state variable, the motor state signal, the cutting state signal, the tool information, the machining information, and the application determination information, and transmits the information to the machine learning unit 411. Outputs the feature value that is the input of .
  • the machine learning model storage unit 42 stores the weight matrix of the machine learning model parameters in the machine learning model storage unit 42 when the application determination information indicating cutting load detection and the cutting state signal indicating non-cutting are input as feature amounts.
  • the second torque estimating unit 41 uses the input as a feature value and the output as an ideal value of the machine learning correction amount that is the difference between the actual torque and the first estimated torque, and the error is calculated according to the conditions at the time of learning in the machine learning model parameters. Learn the weight matrix and bias of the machine learning model parameters by backpropagation.
  • the second estimated torque calculated by the second torque estimator 41 approximates the actual torque that operates the target machine 10.
  • the actual torque when the target machine 10 actually cuts the workpiece 15 is the sum of the torque for operating the target machine 10 and the torque for cutting the workpiece 15. is measured. Therefore, by subtracting the second estimated torque from the measured actual torque, the numerical controller 100 can obtain the cutting load torque, which is the torque required when the target machine 10 cuts the workpiece 15.
  • Cutting load detection refers to obtaining the cutting load torque.
  • the machine learning model calculation unit 4 calculates the actual torque and the number calculated by the machine learning model calculation unit 4.
  • the second torque estimator 41 obtains the cutting load torque, which is the difference between the two estimated torques.
  • the second torque estimating unit 41 calculates a second estimated torque from machine learning model parameters by learning based on input and output when cutting is not performed, and calculates the actual torque and the calculated second estimated torque. Calculate the cutting load torque, which is the difference between When the cutting state signal indicates non-cutting, the numerical controller 100 can detect the cutting load by having the machine learning model calculator 4 perform calculations using the learning model for non-cutting.
  • Embodiment 3 In the third embodiment, a case where the numerical controller 100 detects wear or damage of the tool 14 will be described.
  • the same components as those in Embodiment 1 or 2 above are denoted by the same reference numerals, and description overlapping with Embodiment 1 or 2 is omitted.
  • FIG. 10 is a diagram for explaining detection of wear or damage to the tool 14 by the numerical controller 100 according to the third embodiment.
  • FIG. 10 shows the actual torque and the second estimated torque estimated by the numerical controller 100. As shown in FIG. The horizontal axis indicates time.
  • the processing in Embodiment 3 is executed when the application determination information indicates determination for detecting wear or damage of the tool 14 .
  • the first torque estimator 21 adds a nonlinear friction model term to the power equation and calculates the first estimated torque using the learned physical model parameters.
  • the feature amount generation unit 3 receives the first estimated torque, the physical state variable, the motor state signal, the cutting state signal, the tool information, the machining information, and the application determination information, and transmits the information to the machine learning unit 411. Outputs the feature value that is the input of .
  • the machine learning model storage unit 42 stores a weight matrix of machine learning model parameters when application determination information indicating determination for detecting wear or chipping of the tool 14 and a cutting state signal indicating cutting are input as feature amounts. is stored in the machine learning model storage unit 42 .
  • the second torque estimating unit 41 uses the input as a feature value and the output as an ideal value of the machine learning correction amount that is the difference between the actual torque and the first estimated torque, and the error is calculated according to the conditions at the time of learning in the machine learning model parameters. Learn the weight matrix and bias of the machine learning model parameters by backpropagation.
  • the second estimated torque calculated by the second torque estimator 41 is the actual torque for operating the target machine 10 and the cutting load torque. can be estimated as the actual torque, which is the sum of
  • the numerical controller 100 subtracts the measured actual torque from the second estimated torque to determine whether the tool 14 has increased due to wear. Cutting load torque can be obtained. Therefore, the numerical controller 100 can detect the degree of wear of the tool 14 from the cutting load torque, which is the difference between the second estimated torque and the measured actual torque. Further, when the application determination information indicates a determination for detecting wear or damage of the tool 14, the numerical controller 100 determines that the second estimated torque to be measured is only the actual torque for operating the target machine 10. In this case, chipping of the tool 14 can be detected.
  • the machine learning model calculation unit 4 calculates the actual torque and the machine learning model calculation unit 4
  • the second torque estimator 41 monitors the difference from the calculated second estimated torque.
  • the second torque estimating unit 41 calculates a second estimated torque from machine learning model parameters by learning based on input and output when cutting is performed, and calculates the actual torque and the calculated second estimated torque. monitor the diff.
  • the second torque estimator 41 calculates the increase in the difference between the second estimated torque and the measured actual torque as cutting due to wear of the tool 14. Presumed to be the increase in load torque.
  • the second torque estimator 41 detects the degree of wear of the tool 14 based on the increased cutting load torque.
  • the second torque estimator 41 determines that the tool 14 is damaged when the measured actual torque is smaller than the second estimated torque or when the measured actual torque is extremely smaller than the second estimated torque. detect what has happened.
  • the numerical controller 100 can detect wear or chipping of the tool 14 by having the machine learning model calculator 4 perform calculations using the learning model for cutting. .
  • Numerical controller 100 decelerates and stops target machine 10 when wear or chipping of tool 14 is detected.
  • Numerical controller 100 may output an alarm indicating that wear or damage to tool 14 has been detected when wear or damage to tool 14 has been detected.
  • the motor state observing section 1, the physical model calculating section 2, the feature value generating section 3, the machine learning model calculating section 4, and the cutting state observing section 5 are implemented by processing circuits.
  • the processing circuit may be a processor and memory that executes a program stored in the memory, or may be dedicated hardware.
  • FIG. 11 is a diagram showing an example in which a processing circuit included in the numerical control device 100 according to Embodiments 1 to 3 is configured with a processor 91 and a memory 92.
  • the processing circuit is composed of processor 91 and memory 92
  • each function of the processing circuit of numerical controller 100 is implemented by software, firmware, or a combination of software and firmware.
  • Software or firmware is written as a program and stored in memory 92 .
  • each function is realized by the processor 91 reading and executing the program stored in the memory 92 . That is, the processing circuit includes a memory 92 for storing a program that results in the processing of the numerical controller 100 being executed. It can also be said that these programs cause a computer to execute the procedures and methods of the numerical controller 100 .
  • the processor 91 may be a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
  • the memory 92 includes non-volatile or volatile memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Registered Trademark) (Electrically EPROM), etc. semiconductor memory, magnetic disk, flexible disk, optical disk, compact disk, mini disk, or DVD (Digital Versatile Disc).
  • FIG. 12 is a diagram showing an example in which the processing circuit included in the numerical controller 100 according to Embodiments 1 to 3 is configured with dedicated hardware.
  • the processing circuit is composed of dedicated hardware, the processing circuit 93 shown in FIG. An FPGA (Field Programmable Gate Array) or a combination thereof is applicable.
  • Each function of the numerical controller 100 may be realized by the processing circuit 93 for each function, or may be realized by the processing circuit 93 collectively.
  • each function of the numerical control device 100 may be partly realized by dedicated hardware and partly realized by software or firmware.
  • the processing circuitry may implement each of the functions described above through dedicated hardware, software, firmware, or a combination thereof.
  • the model of the numerical controller 100 is used to estimate the torque using the information of the physical phenomena explicitly given on the mechanical properties of the target machine 10 and the equation of motion. and a machine learning model calculator 4 that includes a correction amount for the estimated torque of the physical model calculator 2 as an autoregressive term and estimates a highly nonlinear torque component that is difficult to express on the equation of motion. expressed as a combination of Numerical controller 100 learns these in order, so that the model of target machine 10 with high torque estimation accuracy and generalization performance with respect to actual torque can be learned at high speed from a small amount of operation data. Further, the numerical control device 100 can detect even minor abnormalities by comparing the actual torque and the estimated torque value, that is, by comparing the actual machine and the learned model.
  • the numerical control device 100 sequentially learns the physical model parameters and the machine learning model parameters to obtain the mechanical properties of the target machine 10, the torque component due to the physical phenomenon explicitly given in the equation of motion, and the equation of motion. It can be learned and estimated by distinguishing it from the highly nonlinear torque component, which is difficult to express above. As a result, the numerical control device 100 shortens the time required for the entire learning, and since the absolute value of the machine learning correction amount becomes smaller due to the learning of the physical model parameters, the generalization performance of the second estimated torque with respect to the actual torque is improved.
  • the numerical control device 100 efficiently learns the correlation between the feature values in the time axis direction by the autoregressive term of the input/output relationship in the second torque estimating unit 41, thereby estimating the second estimated torque. Accuracy can be improved. As described above, the numerical controller 100 has the effect of enabling highly accurate torque estimation even for complex phenomena with strong nonlinearity.
  • the target machine 10 which is a machine tool, is controlled by the numerical controller 100.
  • the numerical controller 100 can also be applied to cutting control by a robot or the like, a mounting machine, or the like.
  • each embodiment is an example of the content of the present disclosure.
  • the configuration of each embodiment can be combined with another known technique. Configurations of respective embodiments may be combined as appropriate. A part of the configuration of each embodiment can be omitted or changed without departing from the gist of the present disclosure.
  • Motor state observation unit 2 Physical model calculation unit 3 Feature value generation unit 4 Machine learning model calculation unit 5 Cutting state observation unit 10 Target machine 11 Column 12 Spindle head 13 Table 14 Tool 15 Work , 21 first torque estimation unit, 22 physical model storage unit, 41 second torque estimation unit, 42 machine learning model storage unit, 91 processor, 92 memory, 93 processing circuit, 100 numerical controller, 411 machine learning unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Numerical Control (AREA)

Abstract

数値制御装置(100)は、モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部(1)と、工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部(5)と、モータ状態信号および工作機械の物理モデルパラメータに基づき、モータのトルクの推定値である第一の推定トルクと第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部(21)と、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成する特徴量生成部(3)と、特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した機械学習補正量がモータ状態信号に含まれる実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを学習し、学習した機械学習モデルパラメータを記憶する機械学習モデル計算部(4)と、を備える。

Description

数値制御装置
 本開示は、制御対象を模したモデルを生成する数値制御装置に関する。
 工作機械を制御対象とする数値制御装置に対して、高速かつ高精度な制御手法および故障検知手法が求められている。これらの性能向上には、制御対象を正確に模したモデルが必要不可欠である。しかしながら、実際の数値制御装置の動作においては、制御対象における配線、主軸、工具またはワークなどの取り付けによる質量、重心位置、慣性テンソルおよび伸縮カバーの摩擦などといった物理モデルパラメータの誤差が無視できず、また、振動、摩擦などモータ速度に対して非線形な成分も多く含まれる。そのため、予めこれらを高精度に再現可能なモデルを与えることは困難であった。
 近年、このようなモデルにおける力およびトルクの推定誤差を抑制するための制御方式が提案されている。例えば、特許文献1には、電動機の制御装置が、M系列または正弦波状の指令を取得し、トルク推定誤差が最小となるように、慣性テンソル、摩擦係数、およびばね定数をサンプリング周期毎に修正することにより、物理モデルパラメータの初期値に含まれる誤差を動作中に修正する技術が開示されている。
特開2013-128387号公報
 しかしながら、特許文献1に記載の技術では、電動機の制御装置の運動が、慣性テンソル、摩擦、およびばねからのトルクでモデル化できると仮定されており、モデルとして考慮されていない外乱が表現できない、という問題があった。また、摩擦のモデルについても簡略化されているため、ストライベック効果、ヒステリシスなどといった非線形性の強い複雑な現象に対する表現能力を持たない、という問題があった。
 本開示は、上記に鑑みてなされたものであって、非線形性が強い現象に対する高精度なトルク推定を可能とする数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示にかかる数値制御装置は、ワークを切削する工作機械のモータを制御する数値制御装置である。本開示にかかる数値制御装置は、モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、モータ状態信号および工作機械の物理モデルパラメータに基づき、モータのトルクの推定値である第一の推定トルクと第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成し出力する特徴量生成部と、特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した機械学習補正量がモータ状態信号に含まれる実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを学習し、学習した機械学習モデルパラメータを記憶する機械学習モデル計算部と、を備える。
 本開示に係る数値制御装置は、非線形性が強い現象に対する高精度なトルク推定が可能となる、という効果を奏する。
実施の形態1に係る数値制御装置の構成例を示すブロック図 実施の形態1に係る数値制御装置による制御対象である対象機械を示す模式図 実施の形態1に係る物理モデル記憶部で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図 実施の形態1に係る特徴量生成部および機械学習モデル計算部の構成例を示すブロック図 実施の形態1に係る特徴量生成部および機械学習モデル計算部の構成において自己回帰項を示す図 実施の形態1に係る数値制御装置における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャート 実施の形態1に係る数値制御装置の制御対象である対象機械の動作を表すモータ速度、数値制御装置で推定される第一の推定トルク、および数値制御装置で推定される第二の推定トルクを示す図 実施の形態1における数値制御装置による異常検知について説明するための図 実施の形態2における数値制御装置による切削負荷の検知について説明するための図 実施の形態3における数値制御装置による工具の摩耗または欠損の検知について説明するための図 実施の形態1から3に係る数値制御装置が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図 実施の形態1から3に係る数値制御装置が備える処理回路を専用のハードウェアで構成する場合の例を示す図
 以下に、実施の形態に係る数値制御装置を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1に係る数値制御装置100の構成例を示すブロック図である。数値制御装置100は、工作機械である対象機械10のモータを制御する。数値制御装置100は、モータ状態観測部1と、物理モデル計算部2と、特徴量生成部3と、機械学習モデル計算部4と、切削状態観測部5と、を備える。物理モデル計算部2は、第一のトルク推定部21と、物理モデル記憶部22と、を備える。機械学習モデル計算部4は、第二のトルク推定部41と、機械学習モデル記憶部42と、を備える。
 数値制御装置100による制御対象である対象機械10について説明する。図2は、実施の形態1に係る数値制御装置100による制御対象である対象機械10を示す模式図である。対象機械10は、ワーク15に対して工具14を相対的に移動させることによってワーク15の切削加工を行う工作機械である。ここでは、対象機械10として、マシニングセンタを例にして説明する。
 対象機械10は、コラム11と、主軸ヘッド12と、テーブル13と、工具14と、から構成されている。工具14は、主軸モータが発生する駆動力を受けて回転する。コラム11および主軸ヘッド12、またはテーブル13は、サーボモータが発生する駆動力を受けて直進駆動する。主軸モータおよびサーボモータの図示は省略する。数値制御装置100は、ワーク15に対する工具14の位置および向きを制御する。
 実施の形態1では、対象機械10として、移動軸が3軸であるマシニングセンタを例示したが、対象機械10である工作機械は3軸のマシニングセンタに限定されない。数値制御装置100は、モータにより駆動する工作機械に広く適用することができる。対象機械10である工作機械の例としては、さらに、5軸マシニングセンタ、タッピングセンタ、旋盤、および複合旋盤などの工作機械、実装機などを挙げることができる。
 モータ状態観測部1は、対象機械10のモータの状態を観測し、観測結果を示すモータ状態信号を出力する。具体的には、モータ状態観測部1は、移動軸である第1軸、第2軸および第3軸と主軸とに対応する各アクチュエータの位置、速度、加速度の少なくとも一つと、主軸モータおよびサーボモータの各トルクである実トルクとをモータ状態信号として出力する。
 実トルクとしては、センサによってモータから直接計測された値を用いてもよく、アクチュエータから取得された入力電流値の換算値を用いてもよい。モータ状態信号は、各アクチュエータの位置、速度、加速度、および実トルクの信号のみに限定されない。モータ状態信号は、対象機械10の各軸または規定された個所に設けられた内界センサもしくは外界センサのセンシングデータ、例えば、各軸のアクチュエータの温度データ、赤外線センサ、超音波センサなどのセンサから得られた距離データ、ビジョンセンサから得られた動画像データ、およびそれらを画像処理して得られた特徴量データ、などの値を含んでもよい。
 第一のトルク推定部21は、モータ状態観測部1の出力であるモータ状態信号と、物理モデル記憶部22の出力である後述する物理モデルパラメータとを入力として、実トルクの推定値である第一の推定トルクを運動方程式により算出する。すなわち、第一のトルク推定部21は、モータ状態信号および対象機械10の物理モデルパラメータに基づき、運動方程式を用いてモータのトルクの推定値である第一の推定トルクを推定する。第一のトルク推定部21は、第一の推定トルクと、第一の推定トルクの成分である物理状態変数とを出力する。
 物理状態変数には、慣性項、遠心力の項、コリオリ力の項、重力項だけでなく、クーロン摩擦の項、粘性摩擦の項、アームの振動の項、弾性たわみの項に加えて、後述する非線形摩擦モデルのような、第一の推定トルクを算出する上で何らかの物理現象を模擬して導入された関数の項が含まれてもよい。物理状態変数に摩擦推定値を含むことにより、数値制御装置100は、摩擦モデルの不確かさおよび実トルクの摩擦成分に対する摩擦推定値の誤差を、機械学習モデル計算部4で補正することを可能にする。
 運動方程式において用いられるモータ状態信号および物理モデルパラメータは、それぞれ、各アクチュエータの位置、速度、加速度と、各リンクの質量、重心位置、慣性テンソルとに対応している。すなわち、物理モデルパラメータには、対象機械10のリンク機構における質量、対象機械10のリンク機構における重心位置、および対象機械10のリンク機構における慣性テンソルが含まれる。これにより、数値制御装置100は、対象機械10の既知の機構に関する情報を利用する逆動力学において、係数の質量、重心位置、慣性テンソルを物理モデルパラメータとして学習し実トルクに対する第一の推定トルクの推定精度を向上させることができる。また、数値制御装置100は、機械学習モデル計算部4における補正値が相対的に小さくなり、第二の推定トルクの汎化性能を向上させることができる。ここで、運動方程式としては、例えば、ニュートンオイラー法、ラグランジュの運動方程式などを用いることができる。
 第一のトルク推定部21は、モータ状態信号により求まるモータの速度を入力として、トルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む運動方程式を用いる。後述するように機械学習モデル計算部4はニューラルネットワークを用いるが、ニューラルネットワークが計算できるのは入力に対して連続な関数であるため、特徴量および特徴量生成部3への入力は連続であることが望ましい。そのため、数値制御装置100は、速度ゼロ付近も含めて連続となる摩擦モデルを定義することで、物理モデル記憶部22内で学習しきれない摩擦成分についてもニューラルネットワークを用いて学習および補正することが可能となる。
 物理モデル記憶部22は、対象機械10の状態が非切削状態であるときにおいて対象機械10を一定期間動作させた際のモータ状態信号を教師データとし、モータ状態信号に含まれる実トルクと第一の推定トルクとの差分を低減するよう物理モデルパラメータを学習する。物理モデル記憶部22は、学習した物理モデルパラメータを記憶する。数値制御装置100は、物理モデルパラメータを学習することで、センサ、配線類の取り付け、加工誤差、組み立て誤差などによる物性の変化を補正し、実トルクの推定精度を向上させることができる。また、一般的に、物理モデルパラメータは、諸元表、CAD(Computer Aided Design)データなどからおおよその値が算出可能であるため、これらの値を学習時の初期値として与えることにより学習の速度、収束性などを向上させることが可能である。ただし、これらの値が未知もしくは算出が困難な場合は、任意の定数で初期化してもよい。
 物理モデル記憶部22での物理モデルパラメータの学習には、上述の運動方程式を変形し、物理モデルパラメータのみを分離した優決定系の線形方程式を用いる。ニュートンの運動方程式、オイラーの運動方程式、およびラグランジュの運動方程式は、いずれも位置、速度、加速度に対して非線形な項を考慮しない場合、質量、重心位置、慣性テンソルからなる定数係数と、位置、速度、加速度からなる変数との積の線形結合で表現できる。すなわち、実トルクに対する動力学計算の誤差をΔfとおくと、各軸の運動方程式は、質量、重心位置、慣性テンソルからなる物理モデルパラメータw、および速度vと加速度aからなる係数行列A(v,a)を用いて式(1)のように変数分離した形で記述できる。
  Δf=A(v,a)w …(1)
 よって、物理モデル記憶部22は、式(1)を最小二乗法により軸毎にwについて解くことで、各軸の物理モデルパラメータを算出できる。また、物理モデル記憶部22は、5軸の工作機械のように軸間干渉を生じうる駆動機械に対しては、各軸のwに関する式(1)を一つの線形方程式にまとめて同時に解くことにより、物理モデル計算部2全体としてより尤もらしい解を得ることができる。物理モデル記憶部22は、物理モデルパラメータwの同定手法に関して、最小二乗法以外にも正則化最小二乗法、カルマンフィルタに加えて、ベイズ推定、遺伝的アルゴリズム、ニューラルネットワークなどを用いても良い。
 なお、物理モデル記憶部22は、運動方程式において摩擦の影響を考慮する際、次に示すクーロン摩擦および粘性摩擦からなる摩擦モデルである線形摩擦モデルなど、速度の関数と摩擦係数との線形結合で表現される摩擦係数が分離可能な式で摩擦を表現することで、摩擦係数についても式(1)と同様に物理モデルパラメータとして同時に推定が可能となる。物理モデル記憶部22で推定される摩擦係数を式(2)で示す。なお、イメージで取り込まれる式(2)および後述の式(3)ではqiの上部にドットが付与されているが、これを説明部分で表現できない。そのため、説明部分では、qiの上部にドットが付与されているものを単にqiと表記する。
Figure JPOXMLDOC01-appb-M000001
 ここで、速度qiで動作する軸iの摩擦モデルFiに対して、rFC,iはクーロン摩擦係数、rFV,iは粘性摩擦係数である。ただし、工作機械をはじめとする多軸機構の動作においては、粘性摩擦が速度に対して完全に線形な関係とならず、特にアクチュエータの高速動作時においては、線形と仮定した場合の値と比べて小さくなることがしばしば確認される。そのような場合は、速度に対する非線形性を考慮したより自由度の高い摩擦モデルを用いて摩擦を推定し、実トルクと第一の推定トルクの差分における摩擦成分を除去した上で、その他の物理モデルパラメータを推定することが望ましい。このような摩擦モデルである非線形摩擦モデルとして、式(3)で示される以下に示すような関数が一例として挙げられる。
Figure JPOXMLDOC01-appb-M000002
 ここで、ωlsは低速動作の境界速度であり、ωhsは高速動作の境界速度であり、rST,iは摩擦の飽和係数である。非線形摩擦モデルのグラフを図3に示す。図3は、実施の形態1に係る物理モデル記憶部22で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図である。図3において、横軸はモータ速度を示し、縦軸は摩擦を示す。
 非線形摩擦モデルは、クーロン摩擦係数rFC,iおよび粘性摩擦係数rFV,iに加えて計4つのパラメータを持ち、速度qiに対して非線形な関数であるため、これらは実トルクと第一の推定トルクとの差分から非線形最小二乗法であるLevenberg-Marquardt法を用いて求める。Levenberg-Marquardt法は、初期値依存性を持つため、一度摩擦に線形性を仮定してクーロン摩擦係数rFC,iおよび粘性摩擦係数rFV,iを物理モデルパラメータwに加え、上述の式(1)により各摩擦係数を算出した後、それらを初期値とすることで初期値依存性による推定の失敗を防ぐことができる。すなわち、物理モデル記憶部22は、物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタなどを用いることができる。数値制御装置100は、最小二乗法、非線形最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いることで、対象機械10の運動方程式および状態方程式における未知の係数を動作データから推定することが可能となる。動作データは、例えば、モータ状態信号に含まれるデータである。
 物理モデル記憶部22は、ここで得られた非線形摩擦モデルの係数を物理モデルパラメータとして記憶し、各時刻の非線形摩擦モデルの出力を物理状態変数に追加する。数値制御装置100は、摩擦モデルの係数を物理モデルパラメータとして物理モデル記憶部22で記憶しておくことにより、経年劣化、異常などによる粘性摩擦、またクーロン摩擦の変化を検知することができる。物理モデル記憶部22は、例えば、物理モデルパラメータの学習において、非線形摩擦モデルの係数および他の物理モデルパラメータを交互に推定する。数値制御装置100は、摩擦モデルの係数およびその他の物理モデルパラメータを交互に推定することで、摩擦モデルをより複雑かつ詳細に設計することができる。また、数値制御装置100は、その他の物理モデルパラメータの推定についても摩擦の影響をほとんど除去した状態で行えるため、物理モデルパラメータをより高精度に学習することが可能となる。
 ただし、非線形摩擦モデルについては、速度の関数に限らず、位置、加速度、モータ温度などにも依存する多変数関数であってもよく、非線形摩擦モデルの各係数はGauss-Newton法、最急降下法、拡張カルマンフィルタ、無香カルマンフィルタなどによって同定しても良い。また、非線形摩擦モデルとして、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデル、ニューラルネットワークなど機械学習アルゴリズムに基づいたモデル生成手法を用いても良いが、後述の機械学習モデル計算部4において、ニューラルネットワークをはじめとする機械学習部411により第一の推定トルクの補正を行うため、非線形摩擦モデルは摩擦の静的な特性に着目したマクロな影響のみを除去できれば良く、陽に与えられる速度のみの関数として考慮すれば十分である。
 切削状態観測部5は、対象機械10による切削状態を観測し、観測結果を示す切削状態信号を出力する。切削状態信号は、対象機械10が切削を行っているか否かを示す信号である。切削状態観測部5は、対象機械10から加工プログラムを取得し、加工プログラムの内容を基に、切削状態を観測する。
 特徴量生成部3には、モータ状態観測部1の出力であるモータ状態信号と、第一のトルク推定部21の出力である第一の推定トルクおよび物理状態変数と、切削状態観測部5の出力である切削状態信号とが入力される。特徴量生成部3は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号とを入力とし、機械学習部411への入力である特徴量を出力する。
 切削負荷を推定する場合などには、工具情報と、加工情報と、アプリケーション判定情報とが、特徴量生成部3への入力に追加される。工具情報は、工具14の種別および形状についての情報である。工具情報は、工具径、工具長、工具形状、工具14の刃数の情報または工具14の突き出し長さの情報を含む。また、工具14が、旋削加工に使用される工具14である場合、工具情報は、工具14のチップ形状の情報または工具14の逃げ角の情報を含んでも良い。加工情報は、対象機械10における加工条件についての情報である。加工情報は、送り速度または送り幅といった加工条件についての情報を含む。
 アプリケーション判定は、切削における異常の検知と、切削における負荷の検知と、工具14の摩耗または欠損の検知との各々についての判定である。アプリケーション判定情報は、異常検知、切削負荷検知、および、摩耗または欠損の検知の各々についての判定のうちいずれを行うかを示す。すなわち、アプリケーション判定情報は、加工において生じ得る複数の事象の各々についての判定のうちいずれを行うかを示す情報である。
 アプリケーション判定情報は、対象機械10のユーザによって特徴量生成部3へ入力される。ユーザは、「異常検知」と、「切削負荷検知」と、「工具の摩耗または欠損の検知」との中から、アプリケーション判定の対象を選択し、選択された対象を示すアプリケーション判定情報を特徴量生成部3へ入力する。アプリケーション判定の対象には、内部処理に「異常検知」、「切削負荷検知」または「工具の摩耗または欠損の検知」が用いられる機能も含まれる。かかる機能の例は、切削負荷制御のように、パラメータによって切削負荷量を直接ユーザが指定する機能、FSW(Friction Stir Welding)のように、ユーザが負荷量を指定しないが加工条件によって負荷量を制御する機能などである。これら各機能では、内部処理によって「切削負荷検知」が行われる。なお、数値制御装置100が、異常検知と、切削負荷検知と、摩耗または欠損の検知とのいずれかのみを行う場合、アプリケーション判定情報は固定値でも良い。または、アプリケーション判定情報は、特徴量生成部3へ入力されなくても良い。
 特徴量生成部3は、「異常検知」と、「切削負荷検知」と、「工具の摩耗または欠損の検知」とのうちいずれのアプリケーション判定を行うかを、入力されたアプリケーション判定情報から判断する。特徴量生成部3は、切削が行われているときの学習による機械学習モデルパラメータと、切削が行われていないときの学習による機械学習モデルパラメータとのどちらを用いて第2の推定トルクを推定するかを、かかる判断の結果に基づいて決定する。また、特徴量生成部3は、実トルクから第2の推定トルクを差し引く演算において、切削が行われているときに取得された実トルクと、切削が行われていないときに取得された実トルクとのどちらを用いるかを、かかる判断の結果に基づいて決定する。特徴量生成部3は、決定された事項についての情報を含めた特徴量を出力する。
 これらの特徴量生成部3の入力および推定対象である実トルクは、時系列的に変化する値である。機械学習モデル記憶部42は、それぞれ時間軸方向の相関についても考慮する必要があるため、特徴量も過去の一定期間の値も同時に含むベクトルとして与える。また、実施の形態1で対象とする工作機械のような多軸機構においては、軸間の相互干渉の影響が小さくないため、それぞれの軸に対応する入力の値についても同時に含むベクトルとすることが望ましい。ただし、特徴量におけるトルク成分に関しては、実トルクと第一の推定トルクとの差分として与え、推定対象とする実トルクに対して過去の値のみを用いるものとする。
 図4は、実施の形態1に係る特徴量生成部3および機械学習モデル計算部4の構成例を示すブロック図である。図4において、zは単位遅延演算子であり、Ndは遅延の単位時刻数を示す0以上の整数である。図4に示す単位遅延演算子は、特徴量生成部3に備えられた記憶装置ともいえる。すなわち、特徴量生成部3は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを記憶する記憶装置を有する。
 特徴量生成部3は、記憶装置に記憶された情報の中から特徴量とする情報を抽出する。数値制御装置100は、物理状態変数およびモータ状態信号に関する時系列変化の情報を入力として特徴量に含むことで、機械学習モデル計算部4が対象機械10の動作をより詳細に予測できる。これにより、数値制御装置100は、実トルクに対する第二の推定トルクの推定精度を向上させることができる。
 特徴量生成部3は、特徴量の生成において、第一の推定トルク、物理状態変数、モータ状態信号、切削状態信号、工具情報、加工情報およびアプリケーション判定情報の全てを必ずしも使用しなくても良い。特徴量生成部3は、第一の推定トルク、物理状態変数、モータ状態信号、切削状態信号、工具情報、加工情報およびアプリケーション判定情報のうちの一部のみを使用して特徴量を生成しても良い。特徴量生成部3は、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成し出力しても良い。
 第二のトルク推定部41は、機械学習部411を備える。第二のトルク推定部41は、特徴量生成部3で生成された特徴量と、第一のトルク推定部21の出力である第一の推定トルクと、機械学習モデル記憶部42の出力である機械学習モデルパラメータとを入力とし、特徴量および機械学習モデルパラメータを用いた機械学習部411の機械学習に基づいて機械学習補正量を算出する。第二のトルク推定部41は、第一の推定トルクに機械学習補正量を加算したものを第二の推定トルクとして出力する。
 機械学習部411は、特徴量生成部3で生成された特徴量と機械学習モデル記憶部42の出力である機械学習モデルパラメータとを入力とし、実トルクに対する第二の推定トルクの誤差が最小となるよう、機械学習補正量を出力するニューラルネットワークから構成される。すなわち、出力の機械学習補正量の理想的な値は実トルクと第一の推定トルクとの差分と一致し、入力である特徴量に遅延した過去の実トルクと第一の推定トルクとの差分を含むため、機械学習部411は、図5に示すような入出力関係に自己回帰項を持つ。
 図5は、実施の形態1に係る特徴量生成部3および機械学習モデル計算部4の構成において自己回帰項を示す図である。図5は、図4から自己回帰項に関連する部分を抽出したものである。ここで、機械学習モデルパラメータは、ニューラルネットワークにおける重み行列およびバイアスベクトルを指す。また、ニューラルネットワークの種類として、中間層の入出力関係に再帰的な構造を持つ、リカレントニューラルネットワーク、LSTM(Long Short Term Memory)、GRU(Gated Recurrent Unit)といったリカレント型と呼ばれるニューラルネットワークを用いることも、このような時系列データに対する予測精度を向上する上で有効な手段である。
 また、学習負荷および計算量を削減するため、ニューラルネットワークの代わりに多項式モデル、重回帰モデル、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデルなどを用いても良いし、軸間の相互干渉を無視してよい場合などは、軸毎に独立に機械学習部411を適用しても良い。
 ただし、ニューラルネットワークをはじめとする機械学習部411で用いた汎用的な関数近似モデルは、一般的に不連続関数の近似に適していない。そのため、第一の推定トルクにおいて式(2)の線形摩擦モデルによって摩擦分のトルクの近似および補正を行うと、実トルクと第一の推定トルクとの差分が不連続なジャンプを起こし、これらの値を入出力に含み自己回帰項を形成する機械学習部411の機械学習モデルパラメータの学習結果および機械学習補正量の算出結果が著しく悪化する可能性がある。さらに、実際の工作機械においては、粘着と滑りとが交互に起こって発生するスティックスリップ現象、ストライベック曲線で表わされるような潤滑に関する摩擦などが影響し、速度ゼロ付近および低速動作時の摩擦は非線形性が強いため、これらのモデルを陽に与えることは非常に困難である。
 そこで、式(3)で示した非線形摩擦モデルように、速度ゼロ付近を連続かつ滑らかに接続した摩擦モデルを用いることで、第一の推定トルクおよび特徴量の各値がそれぞれ連続となる。これにより、上述のような第一の推定トルクおよび非線形摩擦モデルで再現が困難な摩擦成分についても、機械学習補正量を加えることによって高精度に推定が可能となる。さらに、特徴量は、過去の一定期間の速度、非線形摩擦モデルの出力などを同時に含むベクトルである。そのため、機械学習部411は、摩擦のヒステリシス特性など直前の状態に依存して変化する推定誤差要因についても学習し、機械学習補正量として補正することが可能となる。
 このように、第二のトルク推定部41は、入出力関係に自己回帰項を含む機械学習を用いて特徴量および機械学習モデルパラメータから機械学習補正量を算出する。第二のトルク推定部41は、算出した機械学習補正量を第一の推定トルクに加算して第二の推定トルクを出力する。また、第二のトルク推定部41は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いた機械学習を用いても良い。数値制御装置100は、機械学習の手法としてニューラルネットワークを利用することで、運動方程式上で表現が困難なトルク成分を非線形多自由度モデルとして学習し保存することが可能となる。
 第二のトルク推定部41は、機械学習補正量を算出するための機械学習において、入出力関係に含まれる自己回帰項として、実トルクと第一の推定トルクとの差分を用いてもよい。実トルクと第一の推定トルクとの差分が第一の推定トルクに対する補正量の目標値である。補正量の目標値は、対象機械10のモータの動作に伴い時系列的に変化する。このため、数値制御装置100は、次の時刻の最適な補正量を推定する際、過去の補正量の目標値を入力に含む自己回帰項を備えることで、より高精度に推定することが可能となる。
 機械学習モデル記憶部42は、物理モデル記憶部22における物理モデルパラメータの学習後に、対象機械10を一定期間動作させた際の特徴量、および実トルクと第一の推定トルクとの差分をそれぞれ入出力の教師データとして、実トルクと第一の推定トルクとの差分に対する機械学習補正量の誤差が低減するよう機械学習モデルパラメータを学習する。すなわち、機械学習モデル記憶部42は、機械学習補正量が実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを教師あり学習により学習する。機械学習モデル記憶部42は、学習した機械学習モデルパラメータを記憶する。
 学習開始時の機械学習モデルパラメータは任意の定数で初期化して良いが、特にニューラルネットワークで表現される機械学習部411は、機械学習モデルパラメータである重み行列、バイアスなどに対して初期値依存性を持つ。そのため、機械学習部411では、重み行列について、一様分布、通常の正規分布に加えて、切断正規分布、Heの正規分布、Glorotの正規分布など、正規分布に由来した確率分布で初期化することが一般的である。
 また、機械学習モデル記憶部42は、学習手法としてミニバッチ勾配降下法および誤差逆伝搬法を利用し、重み行列およびバイアスベクトルで表わされる機械学習モデルパラメータをバッチ毎に更新する。すなわち、機械学習モデル記憶部42は、機械学習モデルパラメータの学習時に用いる教師あり学習手法として誤差逆伝搬法を用いても良い。ただし、教師データが十分な量だけ用意できない場合などは、機械学習モデル記憶部42は、ミニバッチ勾配降下法の代わりに通常の勾配降下法、確率的勾配降下法などを用いても良い。
 また、機械学習モデル記憶部42は、機械学習部411におけるニューラルネットワークの汎化性能を向上させるため、学習の際にニューロンをランダムに除外するdropout、エポック毎に誤差を監視して学習を早く打ち切るearly stoppingといった手法を用いるのも有効である。機械学習モデル記憶部42は、学習時にdropoutを適用した際は、機械学習補正量の推論時にdropout確率を重み行列に適用する必要があるので、このようなハイパーパラメータについても機械学習モデルパラメータとして追加し保存する。
 ここまでの物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを、フローチャートを用いて説明する。図6は、実施の形態1に係る数値制御装置100における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャートである。
 物理モデル記憶部22は、諸元表の値から各リンクの物理モデルパラメータである質量、重心位置、および慣性テンソルの初期値を設定する(ステップS1)。モータ状態観測部1は、対象機械10のモータ状態信号である実トルク、位置、速度、および加速度の時系列データを教師データとして出力する(ステップS2)。
 第一のトルク推定部21は、位置、速度、および加速度に対して、動力学計算により第一の推定トルクを算出する(ステップS3)。第一のトルク推定部21は、動力学方程式に線形摩擦モデルの項を追加する(ステップS4)。物理モデル記憶部22は、物理モデルパラメータにクーロン摩擦係数および粘性摩擦係数を追加する(ステップS5)。物理モデル記憶部22は、実トルクと第一の推定トルクとの差分から、線形方程式に変形した動力学方程式および最小二乗法を用いて、物理モデルパラメータを同定する(ステップS6)。
 物理モデル記憶部22は、同定した物理モデルパラメータにおけるクーロン摩擦係数および粘性摩擦係数を初期値とし、Levenberg-Marquardt法で非線形摩擦モデルを同定し、得られた各係数を物理モデルパラメータに追加する(ステップS7)。物理モデル記憶部22は、実トルクから第一の推定トルクおよび非線形摩擦モデルの値を引いた結果に対し、摩擦モデルの項を除去し線形方程式に変形した動力学方程式および最小二乗法を用いて、摩擦係数以外の物理モデルパラメータを再び同定する(ステップS8)。第一のトルク推定部21は、動力学方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて、第一の推定トルクを再び算出する(ステップS9)。
 特徴量生成部3は、第一の推定トルク、物理状態変数、モータ状態信号、切削状態情報、加工情報、工具情報およびアプリケーション判定情報を入力として、それらを過去の一定期間の値も同時に含むベクトルにまとめ、特徴量として出力する(ステップS10)。機械学習モデル記憶部42は、機械学習モデルパラメータである重み行列、およびバイアスに対し、重み行列を正規分布で、バイアスを定数で初期化する(ステップS11)。
 機械学習モデル記憶部42は、学習時の条件として、early stopping、dropoutなどのハイパーパラメータを設定し、それらの値を機械学習モデルパラメータへ追加する(ステップS12)。第二のトルク推定部41は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する(ステップS13)。
 ここで、第二の推定トルクの汎化性能の向上については、上述の通り、事前に物理モデル記憶部22において物理モデルパラメータの学習を行い、第一の推定トルクに対する機械学習補正量を自己回帰項として、機械学習モデル記憶部42において機械学習モデルパラメータの学習を行うことによる寄与が大きい。なぜなら、数値制御装置100は、物理モデルパラメータと機械学習モデルパラメータとを区別することで、それぞれ運動方程式においてモデル化が容易な既知の物理現象に起因したトルク推定誤差成分と、運動方程式においてモデル化が困難なトルク推定誤差成分とを分けて学習することができ、機械学習部411の出力である機械学習補正量の絶対値が小さくなるためである。言い換えれば、陽に与えられるトルク推定誤差成分が機械学習補正量に含まれないため、数値制御装置100は、機械学習モデルパラメータに含まれるパラメータ数も少なくすることができ、結果として機械学習モデル記憶部42における学習の過学習の防止と高速化、さらに学習に用いる教師データの削減も可能となる。
 機械学習補正量に関する自己回帰項についても同様に、実トルクと物理モデルパラメータに初期値を用いた運動方程式による算出結果の差分を機械学習モデル計算部4で学習し機械学習補正量とする構成、または、物理モデルパラメータに初期値を用いた運動方程式による算出結果を特徴量に含み第二の推定トルクを直接機械学習部411の出力として機械学習モデルパラメータを学習する構成に比べ、機械学習補正量の絶対値が小さくなりニューラルネットワークなどによるトルク推定誤差範囲を抑えることができる。さらに、自己回帰項を用いるメリットとして、モータ特性に依存するコギングトルク、トルクリップル、ギア間のトルク伝達におけるバックラッシュの影響など、運動方程式の式中に与えることが困難な時間軸方向に周期的に変化する推定誤差要因を学習しやすい点などが挙げられる。
 実際に、物理モデルパラメータを学習した後の第一の推定トルク、さらに実トルクと第一の推定トルクとの差分から機械学習モデルパラメータを学習した第二の推定トルクを図7に示す。図7は、実施の形態1に係る数値制御装置100の制御対象である対象機械10の動作を表すモータ速度、数値制御装置100で推定される第一の推定トルク、および数値制御装置100で推定される第二の推定トルクを示す図である。各項目において、横軸は時間を示している。図7に示すように、第二の推定トルクの方が、第一の推定トルクよりも実トルクに近似している。
 また、機械学習部411にニューラルネットワークを用いた場合、特徴量に含まれるどのパラメータが機械学習補正量にどの程度影響したかが明らかでなく、機械学習モデルパラメータの変化から対象機械10の物性の変化を推測することは非常に困難である。しかしながら、物理モデルパラメータの学習ではそれら物性の各値を直接確認できる実施の形態1では、数値制御装置100は、物理モデルパラメータと機械学習モデルパラメータとを区別して学習するため、異常検知に適した構成といえる。
 学習を行った物理モデル計算部2および機械学習モデル計算部4を用いた異常検知の例として、主に実トルクと第二の推定トルクとの差分を監視する手法が考えられる。数値制御装置100は、実トルクと第二の推定トルクとの差分を監視することで、観測値がほぼゼロ付近に集中し、絶対値をそのまま実トルクの異常度と捉えられるためである。具体的な異常検知手法としては、実トルクと第二の推定トルクとの差分の絶対値があらかじめ設定された閾値を超えるか否かによって検知を行う単純なものでもよい。その他、特徴量および実トルクと第二の推定トルクとの差分を入力とした正常、異常の2クラス分類問題として、ラベル付けを行った教師データを用意し、ロジスティック回帰、サポートベクターマシン、決定木、ニューラルネットワークなどを用いて判別してもよい。
 数値制御装置100は、教師データである異常時の動作データが集めにくい場合、SMOTE(Synthetic Minority Over-sampling TEchnique)、ADASYN(ADAptive SYNthetic)などを用いて取得された異常時の動作データに対するオーバーサンプリングを行っても良いし、K-means法、自己組織化マップなど教師なし学習により正常、異常で分かれる2クラスタに分類しても良い。また、数値制御装置100において、クラス数およびクラスタ数は正常、異常の二つに限定されず、異常度の度合いに合わせてより細かく段階的に設定しても良いし、実トルクと第二の推定トルクとの差分の絶対値以外の異常度を任意に設定しても良い。
 図1の破線で示した、物理モデル記憶部22における物理モデルパラメータ、および機械学習モデル記憶部42における機械学習モデルパラメータの学習のタイミングについて、故障検知を目的とした用途を想定すると、出荷段階の試験運転時など数値制御装置100が劣化度合いの比較対象として理想的な状態となる環境で実行することが望ましい。ただし、工作機械は、主軸と工具14とが先端に取り付けられ、テーブル13に置かれたワーク15を切削するため、その場合、各リンクの質量、重心位置、慣性テンソルといった物性が変化する。このため、数値制御装置100は、各状態で物理モデルパラメータおよび機械学習モデルパラメータをどちらも学習し直すなど、ワーク15の質量を考慮する必要がある。
 一般的にワーク15を設置した際、これらの物理モデルパラメータへの影響を数値制御装置100などによって設定する手間が発生していた。これに対し、実施の形態1では、物理モデル記憶部22において、対象機械10を一定期間動作させた際のモータ状態信号からそれらを学習することで、この設定の過程についても自動化することが可能となっている。また、物理モデルパラメータの値が正しく設定されていることで、サイクルタイム、軌跡ずれ、衝突時の押しつけ力などが減少するといった利点もあり、位置制御、速度制御などに加えて、力制御、インピーダンス制御の高速化、高精度化にも応用可能な技術であり、上述の手法の用途は異常検知に限定されるものではない。
 機械学習モデル記憶部42は、対象機械10による切削が行われているときにおける教師あり学習と、対象機械10による切削が行われていないときにおける教師あり学習とを個別に行う。機械学習モデル記憶部42は、切削が行われているときにおける入出力に基づいた学習による機械学習モデルパラメータと、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータとを記憶する。機械学習モデル計算部4は、切削状態信号とアプリケーション判定情報とを含む特徴量が入力されることによって、切削時についての学習と非切削時についての学習とを切り換えて実行することができる。
 図8は、実施の形態1における数値制御装置100による異常検知について説明するための図である。図8には、実トルクと、数値制御装置100で推定される第二の推定トルクとを示す。横軸は時間を示す。ここで説明する処理は、アプリケーション判定情報が、異常を検知するための判定を示す場合に実行される。
 実施の形態1において、機械学習モデル計算部4は、異常検知を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部4によって計算された第二の推定トルクとの差分を第二のトルク推定部41において監視する。第二のトルク推定部41は、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分を監視する。第二のトルク推定部41は、差分がある一定の値以上になった場合に異常の発生を検知する。異常とは、モータのトルク異常である。
 数値制御装置100は、切削状態信号が非切削を示す場合において、非切削時についての学習モデルを使用した計算を機械学習モデル計算部4が行うことによって、トルクの異常を検知することができる。数値制御装置100は、異常が検知された場合、実トルクと第二の推定トルクとの差分が上記一定の値以下になるように加工条件のパラメータを調整する。例を挙げると、数値制御装置100は、送り速度を下げる調整を行う。数値制御装置100は、異常が検知された場合、異常が検知されたことを示すアラームを出力しても良い。
実施の形態2.
 実施の形態2では、数値制御装置100において切削負荷を検知する場合について説明する。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1と重複する説明を省略する。図9は、実施の形態2における数値制御装置100による切削負荷の検知について説明するための図である。図9には、実トルクと、数値制御装置100で推定される第二の推定トルクとを示す。横軸は時間を示す。
 実施の形態2における処理は、アプリケーション判定情報が、切削負荷を検知するための判定を示す場合に実行される。切削状態信号が非切削を示す場合において、第一のトルク推定部21は、動力方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて第一の推定トルクを算出する。特徴量生成部3は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを入力とし、機械学習部411への入力である特徴量を出力する。
 機械学習モデル記憶部42は、切削負荷検知を示すアプリケーション判定情報と非切削を示す切削状態信号とが特徴量として入力された場合に、機械学習モデルパラメータの重み行列を機械学習モデル記憶部42に記憶する。第二のトルク推定部41は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する。
 切削状態信号が非切削を示す場合における入出力に基づいた学習による学習モデルにおいて、第二のトルク推定部41で計算される第二の推定トルクは、対象機械10を動作させる実トルクに近似する。しかし、切削状態信号が切削を示す場合、対象機械10が実際にワーク15を切削する際の実トルクとしては、対象機械10を動作させるトルクとワーク15を切削するためのトルクとを合算したトルクが計測される。そのため、数値制御装置100は、計測された実トルクから第二の推定トルクを差し引くことによって、対象機械10がワーク15を切削する際に必要なトルクである切削負荷トルクを求めることができる。切削負荷検知とは、切削負荷トルクを求めることを指す。
 実施の形態2において、機械学習モデル計算部4は、切削負荷を検知するための判定を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部4によって計算された第二の推定トルクとの差分である切削負荷トルクを、第二のトルク推定部41において求める。第二のトルク推定部41は、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分である切削負荷トルクを求める。数値制御装置100は、切削状態信号が非切削を示す場合において、非切削時についての学習モデルを使用した計算を機械学習モデル計算部4が行うことによって、切削負荷を検知することができる。
実施の形態3.
 実施の形態3では、数値制御装置100において工具14の摩耗または欠損を検知する場合について説明する。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2と重複する説明を省略する。図10は、実施の形態3における数値制御装置100による工具14の摩耗または欠損の検知について説明するための図である。図10には、実トルクと、数値制御装置100で推定される第二の推定トルクとを示す。横軸は時間を示す。
 実施の形態3における処理は、アプリケーション判定情報が、工具14の摩耗または欠損を検知するための判定を示す場合に実行される。切削状態信号が切削を示す場合において、第一のトルク推定部21は、動力方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて第一の推定トルクを算出する。特徴量生成部3は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを入力とし、機械学習部411への入力である特徴量を出力する。
 機械学習モデル記憶部42は、工具14の摩耗または欠損を検知するための判定を示すアプリケーション判定情報と切削を示す切削状態信号とが特徴量として入力された場合に、機械学習モデルパラメータの重み行列を機械学習モデル記憶部42に記憶する。第二のトルク推定部41は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する。
 切削状態信号が切削を示す場合における入出力に基づいた学習による学習モデルにおいて、第二のトルク推定部41で計算される第二の推定トルクは、対象機械10を動作させる実トルクと切削負荷トルクとの合算である実トルクと推定できる。アプリケーション判定情報が工具14の摩耗または欠損を検知するための判定を示す場合において、数値制御装置100は、第二の推定トルクから計測された実トルクを差し引くことによって、工具14の摩耗によって上昇した切削負荷トルクを求めることができる。そのため、数値制御装置100は、第二の推定トルクと計測された実トルクとの差分である切削負荷トルクから、工具14の摩耗の度合いを検知することができる。また、アプリケーション判定情報が工具14の摩耗または欠損を検知するための判定を示す場合において、数値制御装置100は、計測される第二の推定トルクが、対象機械10を動作させる実トルクのみである場合、工具14の欠損を検知することができる。
 実施の形態3において、機械学習モデル計算部4は、工具14の摩耗または欠損を検知するための判定を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部4によって計算された第二の推定トルクとの差分を第二のトルク推定部41において監視する。第二のトルク推定部41は、切削が行われているときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分を監視する。
 第二のトルク推定部41は、第二の推定トルクよりも計測された実トルクが大きい場合、第二の推定トルクと計測された実トルクとの差分の上昇分を、工具14の摩耗による切削負荷トルクの上昇分と推定する。第二のトルク推定部41は、切削負荷トルクの上昇分に基づいて、工具14の摩耗の度合いを検知する。また、第二のトルク推定部41は、第二の推定トルクよりも計測された実トルクが小さいか、または第二の推定トルクよりも計測された実トルクが極端に小さい場合、工具14が欠損したことを検知する。
 数値制御装置100は、切削状態信号が切削を示す場合において、切削時についての学習モデルを使用した計算を機械学習モデル計算部4が行うことによって、工具14の摩耗または欠損を検知することができる。数値制御装置100は、工具14の摩耗または欠損が検知された場合、対象機械10を減速および停止させる。数値制御装置100は、工具14の摩耗または欠損が検知された場合、工具14の摩耗または欠損が検知されたことを示すアラームを出力しても良い。
 次に、実施の形態1から3に係る数値制御装置100のハードウェア構成について説明する。数値制御装置100において、モータ状態観測部1、物理モデル計算部2、特徴量生成部3、機械学習モデル計算部4および切削状態観測部5は、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであっても良いし、専用のハードウェアであっても良い。
 図11は、実施の形態1から3に係る数値制御装置100が備える処理回路をプロセッサ91およびメモリ92で構成する場合の例を示す図である。処理回路がプロセッサ91およびメモリ92で構成される場合、数値制御装置100の処理回路の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ92に格納される。処理回路では、メモリ92に記憶されたプログラムをプロセッサ91が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、数値制御装置100の処理が結果的に実行されることになるプログラムを格納するためのメモリ92を備える。また、これらのプログラムは、数値制御装置100の手順および方法をコンピュータに実行させるものであるともいえる。
 プロセッサ91は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ92には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
 図12は、実施の形態1から3に係る数値制御装置100が備える処理回路を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアで構成される場合、図12に示す処理回路93は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。数値制御装置100の各機能を機能別に処理回路93で実現しても良いし、各機能をまとめて処理回路93で実現しても良い。
 なお、数値制御装置100の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
 以上説明したように、実施の形態1から3では、数値制御装置100のモデルを、対象機械10の力学的物性と運動方程式上で陽に与えられる物理現象の情報を利用してトルクの推定を行う物理モデル計算部2と、物理モデル計算部2の推定トルクに対する補正量を自己回帰項として含み、運動方程式上で表現が困難な非線形性の強いトルク成分の推定を行う機械学習モデル計算部4の組み合わせで表現する。数値制御装置100は、これらを順に学習することで、実トルクに対するトルク推定精度および汎化性能が高い対象機械10のモデルを、少量の動作データから高速に学習することができる。また、数値制御装置100は、実トルクとトルク推定値とを比較する、すなわち実機と学習したモデルとを比較することで、軽微な異常についても検知が可能となる。
 すなわち、数値制御装置100は、物理モデルパラメータと機械学習モデルパラメータとを順に学習することで、それぞれ対象機械10の力学的物性、運動方程式上で陽に与えられる物理現象によるトルク成分と、運動方程式上で表現が困難な非線形性の強いトルク成分とを区別して学習し、推定することができる。これにより、数値制御装置100は、学習全体にかかる時間を短縮し、機械学習補正量の絶対値が物理モデルパラメータの学習により小さくなるので、実トルクに対する第二の推定トルクの汎化性能を向上させることができる。また、数値制御装置100は、第二のトルク推定部41において、入出力関係の自己回帰項により時間軸方向の特徴量間の相関を効率的に学習させることで、第二の推定トルクの推定精度を向上させることができる。以上により、数値制御装置100は、非線形性が強い複雑な現象に対しても、高精度なトルク推定が可能となるという効果を奏する。
 なお、実施の形態1から3では、工作機械である対象機械10を数値制御装置100による制御対象としたが、数値制御装置100は、機械の軸数、関節の直動、回転の機構によらず適用が可能である。数値制御装置100は、ロボットなどによる切削制御、実装機などにも適用することができる。
 以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
 1 モータ状態観測部、2 物理モデル計算部、3 特徴量生成部、4 機械学習モデル計算部、5 切削状態観測部、10 対象機械、11 コラム、12 主軸ヘッド、13 テーブル、14 工具、15 ワーク、21 第一のトルク推定部、22 物理モデル記憶部、41 第二のトルク推定部、42 機械学習モデル記憶部、91 プロセッサ、92 メモリ、93 処理回路、100 数値制御装置、411 機械学習部。

Claims (19)

  1.  ワークを切削する工作機械のモータを制御する数値制御装置であって、
     前記モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、
     前記工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、
     前記モータ状態信号および前記工作機械の物理モデルパラメータに基づき、前記モータのトルクの推定値である第一の推定トルクと前記第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、
     前記第一の推定トルクと前記物理状態変数と前記モータ状態信号との少なくとも一つ、および前記切削状態信号から特徴量を生成し出力する特徴量生成部と、
     前記特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した前記機械学習補正量が前記モータ状態信号に含まれる実トルクと前記第一の推定トルクとの差分に近づくように前記機械学習モデルパラメータを学習し、学習した前記機械学習モデルパラメータを記憶する機械学習モデル計算部と、
     を備えることを特徴とする数値制御装置。
  2.  前記特徴量生成部は、前記第一の推定トルクと、前記物理状態変数と、前記モータ状態信号と、前記切削状態信号と、前記工作機械に使用される工具についての情報である工具情報と、前記工作機械における加工条件についての情報である加工情報とを記憶する記憶装置を有し、前記記憶装置に記憶された情報の中から前記特徴量とする情報を抽出する、
     ことを特徴とする請求項1に記載の数値制御装置。
  3.  前記機械学習モデル計算部は、前記切削が行われているときにおける入出力に基づいた学習による前記機械学習モデルパラメータと、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータとを記憶する、
     ことを特徴とする請求項2に記載の数値制御装置。
  4.  前記機械学習モデル計算部は、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分を監視し、前記差分に基づいて異常を検知する、
     ことを特徴とする請求項3に記載の数値制御装置。
  5.  前記機械学習モデル計算部は、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分である切削負荷トルクを求める、
     ことを特徴とする請求項3に記載の数値制御装置。
  6.  前記機械学習モデル計算部は、前記切削が行われているときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分を監視し、前記差分に基づいて前記工具の摩耗または欠損を検知する、
     ことを特徴とする請求項3に記載の数値制御装置。
  7.  前記記憶装置は、加工における複数の事象の各々を検知するための判定のいずれを行うかを示す判定情報をさらに記憶する、
     ことを特徴とする請求項2から6のいずれか一つに記載の数値制御装置。
  8.  前記工具情報は、前記工具の刃数の情報または前記工具の突き出し長さの情報を含むことを特徴とする請求項2から7のいずれか一つに記載の数値制御装置。
  9.  前記工具は、旋削加工に使用される工具であって、
     前記工具情報は、前記工具のチップ形状の情報または前記工具の逃げ角の情報を含むことを特徴とする請求項2から7のいずれか一つに記載の数値制御装置。
  10.  前記機械学習モデル計算部は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いて前記機械学習補正量を算出し、かつ、前記機械学習モデルパラメータの学習時に誤差逆伝搬法を用いる、
     ことを特徴とする請求項1から9のいずれか一つに記載の数値制御装置。
  11.  前記機械学習モデル計算部は、前記自己回帰項として前記実トルクと前記第一の推定トルクとの差分を用いる、
     ことを特徴とする請求項10に記載の数値制御装置。
  12.  前記第一のトルク推定部は、前記モータ状態信号および前記物理モデルパラメータに基づき、運動方程式を用いて前記第一の推定トルクと前記物理状態変数とを出力する、
     ことを特徴とする請求項1から11のいずれか一つに記載の数値制御装置。
  13.  前記運動方程式は、前記モータ状態信号により求まる前記モータの速度を入力としてトルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む、
     ことを特徴とする請求項12に記載の数値制御装置。
  14.  前記実トルクと前記第一の推定トルクとの差分を低減するよう前記物理モデルパラメータを学習し記憶する物理モデル計算部
     をさらに備えることを特徴とする請求項1から11のいずれか一つに記載の数値制御装置。
  15.  前記第一のトルク推定部は、前記モータ状態信号および前記物理モデルパラメータに基づき、運動方程式を用いて前記第一の推定トルクと前記物理状態変数とを出力し、
     前記運動方程式は、前記モータ状態信号により求まる前記モータの速度を入力としてトルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含み、
     前記物理モデル計算部は、前記摩擦モデルの係数を前記物理モデルパラメータとして学習し記憶する、
     ことを特徴とする請求項14に記載の数値制御装置。
  16.  前記物理状態変数に、前記摩擦モデルが含まれる、
     ことを特徴とする請求項15に記載の数値制御装置。
  17.  前記物理モデル計算部は、前記物理モデルパラメータの学習において、前記摩擦モデルの係数および他の前記物理モデルパラメータを交互に推定する、
     ことを特徴とする請求項16に記載の数値制御装置。
  18.  前記物理モデル計算部は、前記物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いる、
     ことを特徴とする請求項16または17に記載の数値制御装置。
  19.  ワークを切削する工作機械のモータを制御する数値制御装置であって、
     前記モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、
     前記工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、
     前記モータ状態信号および前記工作機械の物理モデルパラメータに基づき、前記モータのトルクの推定値である第一の推定トルクと前記第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、
     前記第一の推定トルクと前記物理状態変数と前記モータ状態信号との少なくとも一つ、および前記切削状態信号から特徴量を生成し出力する特徴量生成部と、
     前記特徴量および機械学習モデルパラメータから前記モータ状態信号に含まれる実トルクと前記第一の推定トルクとの差分に近づくように算出された機械学習補正量を前記第一の推定トルクに加算して第二の推定トルクを出力する第二のトルク推定部と、
     を備えることを特徴とする数値制御装置。
PCT/JP2021/002683 2021-01-26 2021-01-26 数値制御装置 WO2022162740A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021006961.6T DE112021006961T5 (de) 2021-01-26 2021-01-26 Numerische Steuervorrichtung
PCT/JP2021/002683 WO2022162740A1 (ja) 2021-01-26 2021-01-26 数値制御装置
CN202180086302.3A CN116635802A (zh) 2021-01-26 2021-01-26 数控装置
JP2021531611A JP6949284B1 (ja) 2021-01-26 2021-01-26 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/002683 WO2022162740A1 (ja) 2021-01-26 2021-01-26 数値制御装置

Publications (1)

Publication Number Publication Date
WO2022162740A1 true WO2022162740A1 (ja) 2022-08-04

Family

ID=78001457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002683 WO2022162740A1 (ja) 2021-01-26 2021-01-26 数値制御装置

Country Status (4)

Country Link
JP (1) JP6949284B1 (ja)
CN (1) CN116635802A (ja)
DE (1) DE112021006961T5 (ja)
WO (1) WO2022162740A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343735B1 (ja) * 2023-04-07 2023-09-12 ファナック株式会社 加工シミュレーション装置及び加工シミュレーション方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002461A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 数値制御装置
JP2017177255A (ja) * 2016-03-29 2017-10-05 ソニー株式会社 制御装置及び制御方法
JP2019000942A (ja) * 2017-06-15 2019-01-10 ファナック株式会社 学習装置、制御装置及び制御システム
WO2020213062A1 (ja) * 2019-04-16 2020-10-22 三菱電機株式会社 モータ制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5209810B1 (ja) 2011-07-27 2013-06-12 ファナック株式会社 イナーシャと摩擦係数とばね定数を同時に推定する機能を備える電動機の制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002461A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 数値制御装置
JP2017177255A (ja) * 2016-03-29 2017-10-05 ソニー株式会社 制御装置及び制御方法
JP2019000942A (ja) * 2017-06-15 2019-01-10 ファナック株式会社 学習装置、制御装置及び制御システム
WO2020213062A1 (ja) * 2019-04-16 2020-10-22 三菱電機株式会社 モータ制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343735B1 (ja) * 2023-04-07 2023-09-12 ファナック株式会社 加工シミュレーション装置及び加工シミュレーション方法
WO2024209686A1 (ja) * 2023-04-07 2024-10-10 ファナック株式会社 加工シミュレーション装置及び加工シミュレーション方法

Also Published As

Publication number Publication date
JP6949284B1 (ja) 2021-10-13
DE112021006961T5 (de) 2023-11-30
JPWO2022162740A1 (ja) 2022-08-04
CN116635802A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
JP7118249B2 (ja) モータ制御装置
Bona et al. Friction compensation in robotics: an overview
JP6411380B2 (ja) ロボットとその環境との衝突の検出を改善する方法、同方法を実施するシステムおよびコンピュータプログラム製品
US8442685B2 (en) Robot control apparatus
JP6567205B1 (ja) 機械学習装置、補正パラメータ調整装置および機械学習方法
JP6324641B1 (ja) 異常診断装置及び異常診断方法
US11822308B2 (en) Polishing tool wear amount prediction device, machine learning device, and system
JP6469065B2 (ja) 機械学習装置及び加工時間予測装置
JP6443311B2 (ja) 制御装置、制御プログラムおよび記録媒体
US10444731B2 (en) Controller and machine learning device
RU2682195C1 (ru) Устройство диагностики неисправностей и способ диагностики неисправностей
JP5591400B2 (ja) 駆動機械の負荷特性推定装置
Makarov et al. Adaptive filtering for robust proprioceptive robot impact detection under model uncertainties
CN113365788B (zh) 作业判别装置及作业判别方法
CN111347421A (zh) 用于扭矩估计的方法和装置
US10962957B2 (en) Collision position estimation device and machine learning device
JP4453526B2 (ja) サーボ制御装置
Sotoudehnejad et al. Counteracting modeling errors for sensitive observer-based manipulator collision detection
Kappler et al. A new data source for inverse dynamics learning
WO2022162740A1 (ja) 数値制御装置
US11579000B2 (en) Measurement operation parameter adjustment apparatus, machine learning device, and system
Liu et al. Velocity estimation of robot manipulators: An experimental comparison
CN113711138B (zh) 伺服控制装置
CN115847420A (zh) 一种针对运动目标的机械臂视觉跟踪控制方法及系统
CN116313036A (zh) 基于运动测量和机器学习的手部动作预测算法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021531611

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 21922764

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180086302.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021006961

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21922764

Country of ref document: EP

Kind code of ref document: A1