US10503130B2 - Controller - Google Patents

Controller Download PDF

Info

Publication number
US10503130B2
US10503130B2 US15/946,276 US201815946276A US10503130B2 US 10503130 B2 US10503130 B2 US 10503130B2 US 201815946276 A US201815946276 A US 201815946276A US 10503130 B2 US10503130 B2 US 10503130B2
Authority
US
United States
Prior art keywords
correction amount
command value
unit
computation unit
correction
Prior art date
Legal status (The legal status 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 status listed.)
Active, expires
Application number
US15/946,276
Other languages
English (en)
Other versions
US20180292792A1 (en
Inventor
Satoshi Ikai
Naoto Sonoda
Ryoutarou TSUNEKI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Assigned to FANUC CORPORATION reassignment FANUC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IKAI, SATOSHI, SONODA, NAOTO, TSUNEKI, RYOUTAROU
Publication of US20180292792A1 publication Critical patent/US20180292792A1/en
Application granted granted Critical
Publication of US10503130B2 publication Critical patent/US10503130B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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/406Numerical 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 monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/34Director, elements to supervisory
    • G05B2219/34082Learning, online reinforcement learning
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43171Correction servo and constant velocity motor as input to differential, sum motion

Definitions

  • the present invention relates to a controller for controlling a servomotor and a spindle motor of a machine tool, a robot, and an industrial machine.
  • feed-forward control examples include feed-forward control of creating a correction amount of a speed command from a position command value, feed-forward control of creating a correction amount of a current command from a position command value, feed-forward control of creating a correction amount of a current command from a speed command value, and the like.
  • a high-order mathematical model of these feed-forward control methods can decrease a change in acceleration as well as a positional deviation and a speed deviation with respect to the change in acceleration.
  • the coefficients of the mathematical model may be set using machine learning.
  • Japanese Patent Application No. 2017-049608 discloses a machine learning device and a machine learning method capable of avoiding complex adjustment of the coefficients of high-order feed-forward control when the order of feed-forward control is made higher to reduce a positional deviation and to improve trackability with respect to a position command in a controller which uses feed-forward control of creating a correction amount of a current command from a position command value.
  • the correction amount is calculated on the basis of machine learning by calculating control parameters a i and b j by machine learning (reinforcement learning).
  • a state s, an action a, and a reward r are defined as follows to perform reinforcement learning (Q-learning).
  • the state s is a set of servo states of commands and feedback, including the values of control parameters a i and b j (i, j ⁇ 0) and positional deviation information of a servo control unit, acquired by a controller executing a plurality of evaluation programs, and the action a is adjustment of the control parameters a i and b j associated with the state s.
  • the reward r is set as follows.
  • the value of a positional deviation of the servo control unit operated on the basis of the control parameters a i and b j after correction associated with the state information s′ becomes smaller than the value of the positional deviation of the servo control unit operated on the basis of the control parameters a i and b j before correction associated with the state information s before being corrected by the action information a, the value of the reward is set to a positive value.
  • a machining program that designates an axial moving distance, a feed speed, and the like depending on a machining shape during learning using a circle, a quadrangle, a square with quarter arc, and the like, for example, as the machining shape during learning is used as an evaluation program. This is because it is possible to evaluate inertial movement occurring when a rotation direction is reversed or rotation stops depending on the machining shape designated by the evaluation program and to compare the influences on the positional deviation.
  • the state information s is acquired by a machine learning device
  • the action a is generated by the machine learning device
  • the value function Q(s,a) is updated by the machine learning device on the basis of the reward r when the state information s is corrected to the state information s′ on the basis of the action information a.
  • an optimal action a that is, optimal control parameters a i and b j
  • the state s including a servo state such as commands and feedback, including the values of the control parameters a i and b j and positional deviation information of a servo control unit acquired by executing a plurality of evaluation programs using a controller.
  • the optimal action information includes information for correcting the control parameters a i and b j .
  • the information for correcting the control parameters a i and b j is parameter-setting information obtained by machine learning.
  • the controller operates such that the control parameters a i and b j are corrected on the basis of the action information and the order of the speed feed-forward being made higher so that the value of a positional deviation is decreased.
  • Patent Document 1 discloses a technique in which a neural network receives the output of a feed-forward compensator and a feedback compensator as an input and outputs an operation amount.
  • the weights of respective layers of a neural network are changed so that the output of a control target is equal to a signal obtained by adding the output of the neural network to the output of a linear model whereby the feedback compensator is obtained by machine learning.
  • Patent Document Japanese Unexamined Patent Application, Publication No. H07-210207
  • An object of the present invention is to provide a controller capable of preventing a control target from being controlled by an abnormal correction amount when the correction amount output from a mathematical model which uses coefficients obtained by machine learning has an abnormal value.
  • a controller for example, a “controller 100 ” to be described later that controls a servomotor and a spindle motor of a machine tool, a robot, and an industrial machine, including: a control unit (for example, a “control unit 110 ” to be described later), wherein the control unit includes: a first correction amount computation unit (for example, a “first correction amount computation unit 113 ” to be described later) that computes a first correction amount for correction from a command value to a second command value; a second correction amount computation unit (for example, a “second correction amount computation unit 114 ” to be described later) that computes a second correction amount for correction from the command value to the second command value; and a correction amount selecting unit (for example, a “correction amount selecting unit 116 ” to be described later) that selects either one of the first correction amount and the second correction amount, wherein the first correction amount computation unit is based on a first mathematical model, and parameters of the
  • the control unit (for example, a “controller 100 ” to be described later) preferably further includes: a correction amount comparing unit (for example, a “correction amount comparing unit 115 ” to be described later) that compares the first correction amount computed by the first correction amount computation unit and the second correction amount computed by the second correction amount computation unit; and an abnormality detection unit (for example, an “abnormality detection unit 117 ” to be described later) that detects an abnormality on the basis of a comparison result obtained by the correction amount comparing unit.
  • a correction amount comparing unit for example, a “correction amount comparing unit 115 ” to be described later
  • an abnormality detection unit for example, an “abnormality detection unit 117 ” to be described later
  • the abnormality detection unit may detect an abnormality when an absolute value of a difference between the first correction amount computed by the first correction amount computation unit and the second correction amount computed by the second correction amount computation unit is equal to or larger than a predetermined value.
  • the abnormality detection unit may detect an abnormality when an absolute value of a ratio of the first correction amount computed by the first correction amount computation unit to the second correction amount computed by the second correction amount computation unit is equal to or larger than a predetermined value.
  • the correction amount selecting unit preferably selects the second correction amount computed by the second correction amount computation unit as a correction amount created from the command value.
  • the control unit (for example, a “controller 100 ” to be described later) according to any one of (2) to (5), the control unit (for example, a “control unit 110 ” to be described later) preferably further includes: a warning output unit (for example, a “warning output unit 118 ” to be described later) that outputs a warning to the outside of the controller when the abnormality detection unit (for example, an “abnormality detection unit 117 ” to be described later) detects the abnormality.
  • a warning output unit for example, a “warning output unit 118 ” to be described later
  • the control unit (for example, a “controller 100 ” to be described later) according to any one of (2) to (5), the control unit (for example, a “control unit 110 ” to be described later) preferably further includes: a stopping unit (for example, a “stopping unit 119 ” to be described later) that outputs an alarm and stops an operation of the controller when the abnormality detection unit (for example, an “abnormality detection unit 117 ” to be described later) detects the abnormality.
  • a stopping unit for example, a “stopping unit 119 ” to be described later
  • an order of the second mathematical model may be equal to or lower than an order of the first mathematical model.
  • the command value may be a position command value and the second command value may be a speed command value or a current command value.
  • the command value may be a speed command value and the second command value may be a current command value.
  • a controller capable of preventing a control target from being controlled by an abnormal correction amount when the correction amount output from a mathematical model which uses coefficients obtained by machine learning has an abnormal value.
  • FIG. 1 is a functional block diagram of a controller according to a first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an input-output flow of the controller according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an operation of the controller according to the first embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an input-output flow of a controller according to a second embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an input-output flow of a controller according to a third embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an input-output flow of a controller according to a fourth embodiment of the present invention.
  • a controller 100 is a controller that controls a servomotor and a spindle motor of a machine tool, a robot, and an industrial machine and includes a control unit 110 .
  • FIG. 1 is a functional block diagram illustrating a configuration of the control unit 110 included in the controller 100 .
  • the control unit 110 is a portion that controls the entire controller 100 and realizes various functions of the present embodiment by appropriately reading and executing various programs from a storage area such as a ROM, a RAM, a flash memory, or a hard disk (HDD).
  • the control unit 110 may be a CPU.
  • the control unit 110 includes a PI control unit 112 , a first correction amount computation unit 113 , a second correction amount computation unit 114 , a correction amount comparing unit 115 , a correction amount selecting unit 116 , an abnormality detection unit 117 , a warning output unit 118 , and a stopping unit 119 .
  • the PI control unit 112 generates a control command by PI control from a command which is an input from a numerical controller (not illustrated) or a command generated by the controller 100 and a feedback from a control target device 300 , and outputs the control command.
  • the control command output from the PI control unit 112 is input to the control target device 300 .
  • the first correction amount computation unit 113 calculates control parameters of a first transfer function by machine learning in advance in a process of performing a feed-forward computation process represented by the first transfer function based on a predetermined first mathematical model and calculating a first correction amount for correction from a command to a control command.
  • the first correction amount computation unit 113 computes the first correction amount for correction from the command generated by the controller 100 or the command which is an input from a numerical controller (not illustrated) to the control command.
  • the second correction amount computation unit 114 calculates control parameters of a second transfer function by an adjustment process which has been performed conventionally by a skilled person or the like, for example, and is different from machine learning, in a process of performing a feed-forward computation process represented by the second transfer function based on a predetermined second mathematical model and calculating a second correction amount for correction from a command to a control command. Due to this, the order of the second mathematical model is equal to or lower than the order of the first mathematical model.
  • the second correction amount computation unit 114 computes the first correction amount for correction from the command which is the input from the numerical controller (not illustrated) or the command generated by the controller 100 to the control command.
  • the correction amount comparing unit 115 compares the first correction amount computed by the first correction amount computation unit 113 with the second correction amount computed by the second correction amount computation unit 114 .
  • the correction amount selecting unit 116 selects either one of the first correction amount computed by the first correction amount computation unit 113 and the second correction amount computed by the second correction amount computation unit 114 . More basically, when a comparison result obtained by the correction amount comparing unit 115 , between the first correction value computed by the first correction amount computation unit 113 and the second correction value computed by the second correction amount computation unit 114 , satisfies a predetermined condition (hereinafter also referred to as a “priority condition”), the correction amount selecting unit 116 selects the first correction amount computed by the first correction amount computation unit 113 more preferentially than the second correction amount computed by the second correction amount computation unit 114 .
  • a predetermined condition hereinafter also referred to as a “priority condition”.
  • the correction amount selecting unit 116 selects the second correction amount computed by the second correction amount computation unit 114 more preferentially than the first correction amount computed by the first correction amount computation unit 113 .
  • a condition that an absolute value of the difference between the first correction amount computed by the first correction amount computation unit 113 and the second correction amount computed by the second correction amount computation unit 114 is equal to or smaller than a predetermined first threshold may be used as the predetermined priority condition.
  • a condition that an absolute value of the ratio of the first correction amount computed by the first correction amount computation unit 113 to the second correction amount computed by the second correction amount computation unit 114 is equal to or smaller than a predetermined second threshold may be used. These conditions are examples only and are not limited thereto.
  • the abnormality detection unit 117 detects an abnormality in the first correction amount computation unit 113 . That is, the first correction amount computation unit 113 detects that an abnormal correction amount has been calculated. As described above, for example, the abnormality detection unit 117 can detect an abnormality in the first correction amount computation unit 113 when the absolute value of the difference between the first correction amount computed by the first correction amount computation unit 113 and the second correction amount computed by the second correction amount computation unit 114 is equal to or larger than the predetermined first threshold.
  • the abnormality detection unit 117 may detect an abnormality in the first correction amount computation unit 113 when the absolute value of the ratio of the first correction amount computed by the first correction amount computation unit 113 to the second correction amount computed by the second correction amount computation unit 114 is equal to or smaller than the predetermined second threshold.
  • the warning output unit 118 When the abnormality detection unit 117 detects that the first correction amount computation unit 113 has output an abnormal correction amount, the warning output unit 118 outputs a warning in order to notify the outside of the controller 100 of the occurrence of an abnormality in the first correction amount computation unit 113 .
  • the warning output unit 118 may output (record) a servo state of commands and feedback, including positional deviation information of the servo control unit when the first correction amount computation unit 113 has output the abnormal correction amount.
  • the correction amount selecting unit 116 selects the second correction amount computed by the second correction amount computation unit 114 more preferentially than the first correction amount computed by the first correction amount computation unit 113 . In this way, when the correction amount output from the first correction amount computation unit 113 based on the high-order first mathematical model calculated using the control parameter calculated by machine learning in advance has an abnormal value, it is possible to prevent the control target from being controlled by the abnormal correction amount.
  • the operation of the controller 100 may be stopped when the correction amount output from the first correction amount computation unit 113 has an abnormal value.
  • the stopping unit 119 outputs an alarm and stops the operation of the controller 100 when the abnormality detection unit 117 detects an abnormality in the correction amount output from the first correction amount computation unit 113 .
  • the stopping unit 119 may determine whether a machining process is to be stopped on the basis of a frequency or the like in which an abnormality in the correction amount output from the first correction amount computation unit 113 of the abnormality detection unit 117 is detected, for example.
  • the stopping unit 119 may output a message regarding whether or not to stop the operation to an operator and stop the operation of the controller 100 on the basis of a stop instruction from the operator.
  • the controller 100 includes ordinary functional blocks in addition to the above-described functional blocks.
  • the controller 100 includes a servomotor for moving a work, a control unit for controlling the servomotor, a position and speed detector for performing position and speed feedback control, a motor driving amplifier for amplifying an operation command, an operation panel for receiving a user's operation, and the like.
  • a servomotor for moving a work
  • a control unit for controlling the servomotor
  • a position and speed detector for performing position and speed feedback control
  • a motor driving amplifier for amplifying an operation command
  • an operation panel for receiving a user's operation
  • FIG. 2 is a diagram illustrating the flow of a feed-forward process of the controller 100 .
  • the controller 100 includes an adder 122 in addition to the PI control unit 112 , the first correction amount computation unit 113 , the second correction amount computation unit 114 , the correction amount comparing unit 115 , the correction amount selecting unit 116 .
  • the PI control unit 112 generates a control command on the basis of a command which is an input from a numerical controller (not illustrated) or a command generated by the controller 100 and a feedback from the control target device 300 and outputs the control command to the adder 122 .
  • the first correction amount computation unit 113 computes a first correction amount for correction from the command to the control command Basically, the first correction amount computation unit 113 performs a feed-forward computation process using the high-order first mathematical model of which the values of the control parameters are determined by machine learning and computes the first correction amount for correction from the command to the control command.
  • the second correction amount computation unit 114 performs a feed-forward computation process on the basis of the second mathematical model of which the values of the control parameters are determined according to a conventional method different from machine learning (the order of the second mathematical model is equal to or lower than that of the first mathematical model of the first correction amount computation unit 113 ) and computes the second correction amount for correction from the command to the control command.
  • the correction amount comparing unit 115 compares the first correction amount computed by the first correction amount computation unit 113 with the second correction amount computed by the second correction amount computation unit 114 .
  • the correction amount selecting unit 116 selects either one of the first correction amount and the second correction amount on the basis of the comparison result obtained by the correction amount comparing unit 115 and outputs the selected correction amount to the adder 122 .
  • the adder 122 adds the correction amount selected by the correction amount selecting unit 116 to the control command and outputs an addition result to the control target device 300 as a feed-forward-controlled control command.
  • the control target device 300 receives the control command as an input and outputs a feedback, and the feedback is input to a front stage of the PI control unit 112 .
  • the input-output flow of the controller 100 is configured in this manner.
  • FIG. 3 illustrates an operation flow of the controller 100 .
  • step S 1 the first correction amount computation unit 113 computes a first correction amount for correction to a control command from the command which is an input from a numerical controller (not illustrated) or the command generated by the controller.
  • step S 2 the second correction amount computation unit 114 computes a second correction amount for correction from the command to the control command.
  • step S 3 the correction amount comparing unit 115 compares the first correction amount with the second correction amount.
  • step S 4 when an absolute value of the difference between the first correction amount and the second correction amount exceeds a threshold (S 4 : YES), the flow proceeds to step S 5 .
  • the absolute value of the difference between the first correction amount and the second correction amount is equal to or smaller than the threshold. (S 4 : NO), the flow proceeds to step S 8 .
  • step S 5 the abnormality detection unit 117 detects an abnormality.
  • step S 6 the warning output unit 118 outputs a warning to the outside of the controller 100 .
  • step S 7 the correction amount selecting unit 116 selects the second correction amount among the first and second correction amounts and outputs the second correction amount to the adder 122 .
  • step S 8 the correction amount selecting unit 116 selects the first correction amount among the first and second correction amounts and outputs the first correction amount to the adder 122 .
  • step S 8 the PI control unit 112 generates a control command on the basis of the command and a feedback from the control target and outputs the control command to the adder 122 .
  • step S 10 the adder 122 adds the correction amount input from the correction amount selecting unit 116 to the control command input from the PI control unit 112 .
  • step S 11 the adder 122 outputs a control command to which the correction amount is added to the control target device 300 .
  • the present invention is not limited thereto.
  • the absolute value of the ratio of the first correction amount to the second correction amount may be compared with a threshold.
  • the warning output unit 118 outputs a warning to the outside of the controller 100 in step 36
  • the present invention is not limited thereto.
  • the stopping unit 119 may output an alarm and may stop the operation of the controller 100 .
  • the first correction amount computation unit 113 computes the first correction amount for correction from the command to the control command and the second correction amount computation unit 114 computes the second correction amount for correction from the command to the control command, the following may be considered as a specific example thereof.
  • the PI control unit 112 may create a current command value from a position command value and a position feedback value
  • the first correction amount computation unit 113 may compute a first current command value correction amount for correction from the position command value to the current command value
  • the second correction amount computation unit 114 may compute a second current command value correction amount for correction from the position command value to the current command value.
  • the PI control unit 112 may create a speed command value from a position command value and a position feedback value
  • the first correction amount computation unit 113 may compute a first speed command value correction amount for correction from the position command value to the speed command value
  • the second correction amount computation unit 114 may compute a second speed command value correction amount for correction from the position command value to the speed command value.
  • the PI control unit 112 may create a current command value from a speed command value and a speed feedback value
  • the first correction amount computation unit 113 may compute a first current command value correction amount for correction from the speed command value to the current command value
  • the second correction amount computation unit 114 may compute a second current command value correction amount for correction from the speed command value to the current command value.
  • a first correction amount computed using a first mathematical model (of a high order) of which the control parameters are determined by machine learning or a second correction amount computed using a second mathematical model of which the control parameters are determined by a method different from machine learning is selected as a correction amount for correction from a command to a control command. In this way, it is possible to use an appropriate correction amount.
  • a warning is output to the outside of the controller 100 , whereby a user can recognize that the correction value for correcting the control command is calculated using the second mathematical model of which the control parameters are determined by a method different from machine learning.
  • the order of the second mathematical model is equal to or lower than the order of the first mathematical model, it is possible to use a mathematical model of which the control parameters are determined more easily than the first mathematical model which uses machine learning, as the second mathematical model.
  • FIG. 4 illustrates an input-output flow of a controller 100 A according to a second embodiment of the present invention.
  • the controller 100 A includes a position control unit 132 , a first speed command value correction amount computation unit 133 , a second speed command value correction amount computation unit 134 , a first correction amount comparing unit 135 , a first correction amount selecting unit 136 , a speed control unit 142 , a first current command value correction amount computation unit 143 , a second current command value correction amount computation unit 144 , a second correction amount comparing unit 145 , a second correction amount selecting unit 146 , a current control unit 152 , a first voltage command value correction amount computation unit 153 , a second voltage command value correction amount computation unit 154 , a third correction amount comparing unit 155 , a third correction amount selecting unit 156 , and adders 122 A to 122 C.
  • the position control unit 132 generates a speed command value from a position command value which is an input from a numerical controller (not illustrated) or a position command value generated by the controller 100 , and a position feedback value which is the output from an integrator 191 to be described later.
  • the first speed command value correction amount computation unit 133 computes a first speed command value correction amount for correction from the position command value to a speed command value.
  • the second speed command value correction amount computation unit 134 computes a second speed command value correction amount for correction from the position command value to a speed command value.
  • the first correction amount comparing unit 135 compares the first speed command value correction amount with the second speed command value correction amount.
  • the first correction amount selecting unit 136 selects either one of the first speed command value correction amount and the second speed command value correction amount on the basis of a comparison result obtained by the first correction amount comparing unit 135 and outputs the selected correction amount to the adder 122 A.
  • the adder 122 A adds the correction amount to the speed command value from the position control unit 132 to obtain a corrected speed command value and outputs the corrected speed command value to the speed control unit 142 .
  • the speed control unit 142 generates a current command value from the speed command value which is the input from the adder 122 A and a speed feedback value which is the output from a machine 303 to be described later.
  • the first current command value correction amount computation unit 143 computes a first current command value correction amount for correct on to the current command value from the position command value input via the first speed command value correction amount computation unit 133 .
  • the second current command value correction amount computation unit 144 computes a second current command value correction amount for correction to the current command value from the position command value input via the second speed command value correction amount computation unit 134 .
  • the second correction amount comparing unit 145 compares the first current command value correction amount with the second current command value correction amount.
  • the second correction amount selecting unit 146 selects either one of the first current command value correction amount and the second current command value correction amount on the basis of a comparison result obtained by the second correction amount comparing unit 145 and outputs the selected correction amount to the adder 122 B.
  • the adder 122 B adds the correction amount to the current command value from the speed control unit 142 to obtain a corrected current command value and outputs the corrected current command value to the current control unit 152 .
  • the current control unit 152 generates a voltage command value from the current command value which is the input from the adder 122 B and a current feedback value which is the output of a driving amplifier 301 to be described later.
  • the first voltage command value correction amount computation unit 153 computes a first voltage command value correction amount for correction to the voltage command value from the position command value input via the first speed command value correction amount computation unit 133 and the first current command value correction amount computation unit 143 .
  • the second voltage command value correction amount computation unit 154 computes a second voltage command value correction amount for correction to the voltage command value from the position command value input via the second speed command value correction amount computation unit 134 and the second current command value correction amount computation unit 144 .
  • the third correction amount comparing unit 155 compares the first voltage command value correction amount with the second voltage command value correction amount.
  • the third correction amount selecting unit 156 selects either one of the first voltage command value correction amount and the second voltage command value correction amount on the basis of a comparison result obtained by the third correction amount comparing unit 155 and outputs the selected correction amount to the adder 122 C.
  • the adder 122 C adds the correction amount to the voltage command value from the current control unit 152 to obtain a corrected voltage command value and outputs the corrected voltage command value to the control target device 300 .
  • the control target device 300 includes the driving amplifier 301 , the motor 302 , and the machine 303 .
  • the driving amplifier 301 supplies a current for driving the motor 302 to the motor 302 .
  • a rotational movement of the shaft of the motor 302 is converted to a physical operation of the machine 303 .
  • a portion of the current supplied from the driving amplifier 301 to the motor 302 is output to the front stage of the current control unit 152 as a current feedback.
  • a portion of the output from the machine 303 is output to the front stage of the speed control unit 142 as a speed feedback value obtained by the integrator 191 integrating the output from the machine 303 is output to the front stage of the position control unit 132 as a position feedback.
  • the second embodiment provides the same advantages as those of the first embodiment.
  • FIG. 5 illustrates an input-output flow of a controller 100 B according to a third embodiment of the present invention.
  • the controller 100 B includes a speed control unit 162 , a first current command value correction amount computation unit 163 , a second current command value correction amount computation unit 164 , a first correction amount comparing unit 165 , a first correction amount selecting unit 166 , a current control unit 172 , a first voltage command value correction amount computation unit 173 , a second voltage command value correction amount computation unit 174 , a second correction amount comparing unit 175 , a second correction amount selecting unit 176 , and adders 122 D to 122 E.
  • the speed control unit 162 generates a current command value from a speed command value generated by the controller 100 B and a speed feedback value which is a portion of the output from the machine 303 to be described later.
  • the first current command value correction amount computation unit 163 computes a first current command value correction amount for correction from the speed command value to the current command value.
  • the second current command value correction amount computation unit 164 computes a second current command value correction amount for correction from the speed command value to the current command value.
  • the first correction amount comparing unit 165 compares the first current command value correction amount with the second current command value correction amount.
  • the first correction amount selecting unit 166 selects either one of the first current command value correction amount and the second current command value correction amount on the basis of a comparison result obtained by the first correction amount comparing unit 165 and outputs the selected correction amount to the adder 122 D.
  • the adder 122 D adds the correction amount to the current command value from the speed control unit 162 to obtain a corrected current command value and outputs the corrected current command value to the current control unit 172 .
  • the current control unit 172 generates a voltage command value from the current command value which is the input from the adder 122 D and a current feedback value which is a portion of the output from the driving amplifier 301 to be described later.
  • the first voltage command value correction amount computation unit 173 computes a first voltage command value correction amount for correction to the voltage command value from the speed command value input via the first current command value correction amount computation unit 163 .
  • the second voltage command value correction amount computation unit 174 computes a second voltage command value correction amount for correction to the voltage command value from the speed command value input via the second current command value correction amount computation unit 164 .
  • the second correction amount comparing unit 175 compares the first voltage command value correction amount with the second voltage command value correction amount.
  • the second correction amount selecting unit 176 selects either one of the first voltage command value correction amount and the second voltage command value correction amount on the basis of a comparison result obtained by the second correction amount comparing unit 175 and outputs the selected correction amount to the adder 122 E.
  • the adder 122 E adds the correction amount to the voltage command value from the current control unit 172 to obtain a corrected voltage command value and outputs the corrected voltage command value to the control target device 300 .
  • a portion of the current supplied from the driving amplifier 301 to the motor 302 is output to the front stage of the current control unit 172 as a current feedback value.
  • a portion of the output from the machine 303 is output to the front stage of the speed control unit 162 as a speed feedback value.
  • the third embodiment provides the same advantages as those of the first embodiment.
  • FIG. 6 illustrates an input-output flow of a controller 100 C according to a fourth embodiment of the present invention.
  • the controller 100 C includes a current control unit 182 , a first voltage command value correction amount computation unit 183 , a second voltage command value correction amount computation unit 184 , a correction amount comparing unit 185 , a correction amount selecting unit 186 , and an adder 122 F.
  • the current control unit 182 generates a voltage command value from the current command value generated by the controller 100 C and a current feedback value which is a portion of the output from the driving amplifier 301 .
  • the first voltage command value correction amount computation unit 183 computes a first voltage command value correction amount for correction from the current command value to the voltage command value.
  • the second voltage command value correction amount computation unit 184 computes a second voltage command value correction amount for correction from the current command value to the voltage command value.
  • the correction amount comparing unit 185 compares the first voltage command value correction amount with the second voltage command value correction amount.
  • the correction amount selecting unit 186 selects either one of the first voltage command value correction amount and the second voltage command value correction amount on the basis of a comparison result obtained by the correction amount comparing unit 185 and outputs the selected correction amount to the adder 122 F.
  • the adder 122 F adds the correction amount to the voltage command value from the current control unit 182 to obtain a corrected voltage command value and outputs the corrected voltage command value to the control target device 300 .
  • the fourth embodiment provides the same advantages as those of the first embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)
US15/946,276 2017-04-07 2018-04-05 Controller Active 2038-04-18 US10503130B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-076917 2017-04-07
JP2017076917A JP6577508B2 (ja) 2017-04-07 2017-04-07 制御装置

Publications (2)

Publication Number Publication Date
US20180292792A1 US20180292792A1 (en) 2018-10-11
US10503130B2 true US10503130B2 (en) 2019-12-10

Family

ID=63587741

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/946,276 Active 2038-04-18 US10503130B2 (en) 2017-04-07 2018-04-05 Controller

Country Status (4)

Country Link
US (1) US10503130B2 (zh)
JP (1) JP6577508B2 (zh)
CN (1) CN108693829B (zh)
DE (1) DE102018205185B4 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3754827A4 (en) * 2018-02-16 2021-03-17 Mitsubishi Electric Corporation CONTROL DEVICE OF A POWER CONVERTER
TWI681274B (zh) * 2018-11-14 2020-01-01 財團法人工業技術研究院 工具機頻率響應參數的調整方法及應用其之調整系統
JP7302226B2 (ja) * 2019-03-27 2023-07-04 株式会社ジェイテクト 研削盤の支援装置及び支援方法
CN111010063B (zh) * 2019-12-30 2022-04-19 南京埃斯顿自动化股份有限公司 永磁同步电机的模型预测与参考信号前馈的复合控制方法
CN111890350A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
CN113259396A (zh) * 2021-07-06 2021-08-13 北京安帝科技有限公司 一种S7comm协议的异常检测方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064444A (en) 1974-03-29 1977-12-20 Societe Francaise D'equipments Pour La Navigation Aerienne Method and self-adapting damper system having energy balance
JPH075904A (ja) 1991-07-16 1995-01-10 Toshiba Corp ニューラルネットワーク制御装置
JPH0749702A (ja) 1993-08-05 1995-02-21 Toshiba Corp ファジィ推論機能付き制御装置
JPH07210207A (ja) 1994-01-17 1995-08-11 Hitachi Ltd 適応制御装置
JPH09160638A (ja) 1995-12-04 1997-06-20 Ishikawajima Harima Heavy Ind Co Ltd 計装機器の切替装置
JP2007115101A (ja) 2005-10-21 2007-05-10 Nissan Motor Co Ltd 制御装置
JP2008257348A (ja) 2007-04-02 2008-10-23 Tokyo Institute Of Technology 振動低減装置のコントローラの設計方法、振動低減装置のコントローラ及び振動低減装置
JP2009237916A (ja) 2008-03-27 2009-10-15 Yaskawa Electric Corp サーボ制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789764B (zh) 2001-11-20 2015-05-27 伊英克公司 驱动双稳态电光显示器的方法
JP4575508B1 (ja) 2009-05-20 2010-11-04 ファナック株式会社 デュアル位置フィードバック制御を行うサーボ制御装置
CN104756399B (zh) * 2013-01-16 2017-04-26 三菱电机株式会社 电动机控制装置
JP5650814B1 (ja) * 2013-07-05 2015-01-07 ファナック株式会社 フィードフォワード制御を備えたモータ制御装置
WO2015151242A1 (ja) * 2014-04-02 2015-10-08 三菱電機株式会社 モータ制御装置およびモータ制御システム
JP2016087676A (ja) * 2014-11-10 2016-05-23 パナソニックIpマネジメント株式会社 レーザ加工装置及びレーザ加工方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064444A (en) 1974-03-29 1977-12-20 Societe Francaise D'equipments Pour La Navigation Aerienne Method and self-adapting damper system having energy balance
JPH075904A (ja) 1991-07-16 1995-01-10 Toshiba Corp ニューラルネットワーク制御装置
JPH0749702A (ja) 1993-08-05 1995-02-21 Toshiba Corp ファジィ推論機能付き制御装置
JPH07210207A (ja) 1994-01-17 1995-08-11 Hitachi Ltd 適応制御装置
JPH09160638A (ja) 1995-12-04 1997-06-20 Ishikawajima Harima Heavy Ind Co Ltd 計装機器の切替装置
JP2007115101A (ja) 2005-10-21 2007-05-10 Nissan Motor Co Ltd 制御装置
JP2008257348A (ja) 2007-04-02 2008-10-23 Tokyo Institute Of Technology 振動低減装置のコントローラの設計方法、振動低減装置のコントローラ及び振動低減装置
JP2009237916A (ja) 2008-03-27 2009-10-15 Yaskawa Electric Corp サーボ制御装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Notification of Reasons for Refusal dated Dec. 18, 2018 in corresponding Japanese Application No. 2017-076917.
Notification of Reasons for Refusal dated Feb. 26, 2019 in corresponding Japanese Patent Application No. 2017-076911.
Notification of Reasons for Refusal dated May 21, 2019 in Japanese Patent Application No. 2017-076917.

Also Published As

Publication number Publication date
DE102018205185B4 (de) 2022-01-27
CN108693829A (zh) 2018-10-23
US20180292792A1 (en) 2018-10-11
DE102018205185A1 (de) 2018-10-11
JP6577508B2 (ja) 2019-09-18
CN108693829B (zh) 2020-06-19
JP2018180778A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
US10503130B2 (en) Controller
US10668619B2 (en) Controller and machine learning device
US8271131B2 (en) Robot with learning control function
US8731886B2 (en) Simulator for estimating life of robot speed reducer
US10948899B2 (en) Motor controller that uses an acceleration/deceleration time constant of the motor
JP4327880B2 (ja) ゲイン自動調整機能を備えたサーボモータ制御装置
US11175647B2 (en) Motor controller
US20190101892A1 (en) Numerical control system
US20180341244A1 (en) Controller and machine learning device
US20170028521A1 (en) Machine learning device, screw fastening system, and control device thereof
JPH07191710A (ja) コントローラ
US10627807B2 (en) Motor controller
US20190317472A1 (en) Controller and control method
US20170300030A1 (en) Numerical controller
US10739734B2 (en) Motor control apparatus
US11287801B2 (en) Control device, CNC device, and control method
JP6646025B2 (ja) 制御装置及び機械学習装置
JP3997201B2 (ja) 産業用ロボットおよびその異常判断方法
US8295954B2 (en) Method and device for adjusting a regulating device
US11650563B2 (en) Machine tool for detecting and cutting loads using machine learning
JP4636271B2 (ja) サーボ制御装置とその調整方法
JP4372018B2 (ja) 数値制御装置
CN118019614A (zh) 数控装置、加工系统、数控方法及加工方法
JP2002328707A (ja) 数値制御装置
JP2009106986A (ja) スポット溶接ガン制御装置

Legal Events

Date Code Title Description
AS Assignment

Owner name: FANUC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:IKAI, SATOSHI;SONODA, NAOTO;TSUNEKI, RYOUTAROU;REEL/FRAME:045450/0300

Effective date: 20180403

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4