WO2021192023A1 - 数値制御装置 - Google Patents
数値制御装置 Download PDFInfo
- Publication number
- WO2021192023A1 WO2021192023A1 PCT/JP2020/012983 JP2020012983W WO2021192023A1 WO 2021192023 A1 WO2021192023 A1 WO 2021192023A1 JP 2020012983 W JP2020012983 W JP 2020012983W WO 2021192023 A1 WO2021192023 A1 WO 2021192023A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- position command
- auxiliary function
- unit
- numerical control
- vibration
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/404—Numerical 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 arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37351—Detect vibration, ultrasound
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41121—Eliminating oscillations, hunting motor, actuator
Definitions
- the present disclosure relates to a numerical control device that controls the operation of a machine tool.
- the numerical control device that controls the operation of the machine tool causes the machine tool to process the workpiece by operating the servo motor provided by the machine tool in accordance with the command of the machining program.
- the numerical control device may vibrate the machine tool when operating the machine tool.
- the machine tool vibrates, if the servomotor that moves the tool vibrates, the positioning accuracy of the tool deteriorates, and the machining accuracy decreases. Therefore, it is desired to reduce the vibration of the machine tool.
- the compensator described in Patent Document 1 detects a disturbance (vibration) that determines the displacement of the tool from the target amount with respect to the workpiece, and determines the future characteristics of the disturbance based on a mathematical process model formed from the disturbance. It is evaluated and the displacement is corrected according to the future characteristics.
- a disturbance vibration
- the present disclosure has been made in view of the above, and an object of the present disclosure is to obtain a numerical control device capable of suppressing aperiodic vibration generated by a command.
- the numerical control device of the present disclosure gives a position command to a drive unit that drives the tool when the machine tool executes machining on the workpiece by using the tool.
- a position command to a drive unit that drives the tool when the machine tool executes machining on the workpiece by using the tool.
- the process corresponding to the auxiliary function is controlled and the first machine tool that occurs when the auxiliary function is executed.
- It is equipped with a control unit that outputs a suppression position command, which is a position command for suppressing the vibration of the machine tool, to the drive unit.
- the suppression position command is a position command that causes the drive unit to generate a second vibration having an amplitude equal to or less than the amplitude of the first vibration in the opposite phase to the first vibration.
- the numerical control device has an effect of being able to suppress aperiodic vibration generated by a command.
- the figure which shows the structure of the numerical control apparatus which concerns on embodiment Flow chart showing the operation procedure of the numerical control device according to the embodiment
- the figure for demonstrating the vibration suppressed by the numerical control device which concerns on embodiment The figure which shows the hardware configuration example which realizes the machine learning device provided in the numerical control device which concerns on embodiment.
- FIG. 1 is a diagram showing a configuration of a numerical control device according to an embodiment.
- Numerical control (NC) device 1 is a computer that controls a machine tool according to a machining program.
- the machining program used by the numerical control device 1 to control the machine tool is described by a preparation function called a G code, a feed function called an F code, an auxiliary function called an M code, and the like.
- the auxiliary function is a function that causes the machine tool to perform operations that are not directly related to machining.
- auxiliary functions include the function of enabling or disabling the injection of cooling water to suppress the heat generated by friction during machining, the operation of changing tools, the function of automatically opening and closing the doors of machine tools, tables, etc. It is a function to execute clamping or unclamping on the rotating shaft that rotates. Clamping is a process of mechanically locking the rotating shaft, and unclamping is a process of mechanically unlocking the rotating shaft.
- the table rotated by the rotation axis fixes the work piece with the work piece placed on it.
- This table can be rotated 360 degrees by rotating the rotation axis.
- the work piece is rotated to a specific position while being placed on the table.
- the numerical control device 1 executes the auxiliary function by using the machining program in the numerical control device 1, various operations unique to the machine tool maker can be realized.
- the auxiliary function is indicated by the auxiliary function number J3, which is the number of the auxiliary function.
- a machine tool is a device that executes machining on a work piece using a tool.
- the machine tool includes a drive unit that drives the tool.
- the components of the machine tool may or may not include tools.
- the numerical control device 1 outputs a position command J1 for driving the drive unit when the machine tool executes machining on the workpiece. Further, the numerical control device 1 controls the processing corresponding to the auxiliary function when there is a command of the auxiliary function to execute the processing other than the processing of the workpiece. Further, the numerical control device 1 outputs a suppression position command 51, which is a position command for suppressing the vibration of the machine tool generated when the auxiliary function is executed, to the drive unit.
- the numerical control device 1 is connected to the drive unit 31 and the remote IO (Input / Output) 33.
- the drive unit 31 is connected to the servo motor 32.
- the servomotor 32 is an example of a drive unit that drives a tool.
- the servomotor 32 is connected to a tool post or the like to which a tool for machining an workpiece is attached, and the tool is operated by operating the tool post or the like.
- the numerical control device 1 includes an analysis unit 21, a control unit 22, a PLC (Programmable Logic Controller) 23, a machine learning device 10, and a machining program storage unit 40.
- the machining program storage unit 40 stores the machining program used when the machine tool is controlled.
- the analysis unit 21 analyzes a machining program which is a sequence program.
- the analysis unit 21 sends the analysis result to the control unit 22.
- the control unit 22 generates and outputs the position command J1, the selection tool number J2, and the auxiliary function number J3 based on the analysis result sent from the analysis unit 21.
- the position command J1 is a command that specifies the machining position by the tool.
- the position command J1 is indicated by, for example, the X coordinate, the Y coordinate, and the Z coordinate.
- the selected tool number J2 is a number that identifies the tool selected for machining the workpiece.
- Auxiliary function number J3 is a number that identifies the type of auxiliary function. Since there is a function of generating vibration in a tool or the like among the auxiliary functions, in the present embodiment, the numerical control device 1 suppresses the vibration with respect to the auxiliary function of generating vibration. It is assumed that the auxiliary function number J3 of the auxiliary function for suppressing vibration is set in advance in the numerical control device 1.
- the setting of the auxiliary function number J3 is set by, for example, a parameter, but the setting method is not limited to the setting by the parameter and may be set by any method.
- the auxiliary function number J3 is the first identification information for identifying the type of the auxiliary function, and the selected tool number J2 is the second identification information for identifying the type of the tool.
- the control unit 22 outputs the suppression position command 51 corresponding to the auxiliary function number J3 until the machine learning device 10 learns the suppression position command 51.
- the suppression position command 51 here is an initial value of the suppression position command 51 registered in advance in the numerical control device 1 for each type of auxiliary function. That is, the control unit 22 outputs the initial value of the suppression position command 51 corresponding to the auxiliary function number J3 before the auxiliary function is first executed. In this way, the control unit 22 outputs the pre-registered suppression position command 51 until the machine learning device 10 learns the suppression position command 51.
- the suppression position command 51 is a position command for suppressing vibration generated due to the auxiliary function to be executed.
- the suppression position command 51 is a command that specifies a machining position, which is indicated by, for example, the X coordinate, the Y coordinate, and the Z coordinate.
- the suppression position command 51 is a position command that generates a vibration (second vibration) having the same magnitude as the vibration of the machine tool (first vibration) in the opposite phase to the drive unit of the machine tool.
- the suppression position command 51 is a position command capable of suppressing the vibration of the tool.
- the control unit 22 receives the suppression position command 51 corresponding to the suppression information sent from the machine learning device 10. Is output.
- the control unit 22 outputs the suppression position command 51 at a timing at which vibration can be suppressed before and after learning the suppression position command 51.
- the control unit 22 outputs the position command J1 and the suppression position command 51 to the drive unit 31, and outputs the auxiliary function number J3 to the PLC 23. Further, the control unit 22 outputs the position command J1, the selection tool number J2, and the auxiliary function number J3 to the machine learning device 10.
- the PLC 23 sends an instruction (auxiliary function command) to execute the auxiliary function corresponding to the auxiliary function number J3 sent from the control unit 22 to the remote IO 33.
- the PLC 23 stores a ladder program in which the machine operation is described.
- the PLC 23 receives the auxiliary function number J3 indicating the auxiliary function command such as the M code, the PLC 23 sends the auxiliary function command to the remote IO 33 according to the ladder program.
- the remote IO 33 is a device that transmits / receives input / output signals to and from a device that executes an auxiliary function in the machine tool (hereinafter referred to as an auxiliary processing execution device).
- the remote IO 33 receives an auxiliary function command indicating an auxiliary function from the numerical control device 1.
- the remote IO 33 transmits an auxiliary function command to the auxiliary processing execution device, and receives information indicating the status of the auxiliary processing execution device from the auxiliary processing execution device.
- Examples of auxiliary processing execution devices are a device for injecting cooling water, a device for performing tool change, a device for opening and closing a door provided in a machine tool, and a device for clamping and unclamping a rotating shaft.
- the auxiliary function is a function executed by the auxiliary function command, and vibration (impact) is generated in the workpiece or the machine tool by the control by the auxiliary function.
- the vibration (impact) generated by the control by the auxiliary function is aperiodic and cannot be suppressed by the prior art.
- the drive unit 31 is connected to the servomotor 32 and controls the servomotor 32 according to a command sent from the numerical control device 1.
- the drive unit 31 receives the position command J1 in which the position of the tool is specified and the suppression position command 51 in which the position of the tool for suppressing vibration is specified from the numerical control device 1.
- the drive unit 31 controls the position of the tool based on the position command J1.
- the drive unit 31 controls the position of the tool based on the suppression position command 51.
- the drive unit 31 calculates the current value to be sent to the servomotor 32 based on the position command J1 and the suppression position command 51 from the numerical control device 1.
- the drive unit 31 drives the servomotor 32 by sending a current corresponding to the position command J1 and a current corresponding to the suppression position command 51 to the servomotor 32.
- the servomotor 32 is connected to the turret and rotates the tool attached to the turret according to the current from the drive unit 31.
- the drive unit 31 receives position information indicating the actual position of the tool from the servomotor 32. Further, the drive unit 31 receives the servomotor temperature J5 indicating the temperature of the servomotor 32 from the servomotor 32.
- the drive unit 31 transmits the position information indicating the actual position of the tool to the machine learning device 10 as the FB (Feed Back) position J4. Further, the drive unit 31 transmits the temperature of the servomotor 32 to the machine learning device 10 as the servomotor temperature J5.
- the FB position J4 may be detected by a detector that detects the position of the tool, or may be calculated based on the position command J1 to the servomotor 32.
- the machine learning device 10 includes a state observation unit 11 and a learning unit 12.
- the state observation unit 11 acquires the position command J1, the selection tool number J2, and the auxiliary function number J3 from the control unit 22. Further, the state observation unit 11 acquires the FB position J4 and the servomotor temperature J5 from the drive unit 31.
- the state observation unit 11 determines the position command J1, the selection tool number J2, and the auxiliary.
- the function number J3, the FB position J4, and the servo motor temperature J5 are acquired as state variables.
- the suppression information is information for generating a suppression position command 51 for suppressing vibration caused by an auxiliary function.
- the suppression information includes the amplitude and output timing of the suppression position command 51.
- the learning unit 12 learns the suppression information corresponding to the auxiliary function based on the state variables obtained from the state observing unit 11.
- the machine learning device 10 corresponds to the type of tool corresponding to the selected tool number J2 and the auxiliary function. Used for learning suppression information. Further, since the degree of vibration may differ depending on the temperature of the servomotor 32, in the present embodiment, the machine learning device 10 uses the servomotor temperature J5 for learning the suppression information corresponding to the auxiliary function. The numerical control device 1 does not have to use the selected tool number J2 and the servomotor temperature J5 for learning the suppression information.
- FIG. 2 is a flowchart showing an operation procedure of the numerical control device according to the embodiment.
- the analysis unit 21 analyzes the machining program (step S10). At this time, the analysis unit 21 determines whether or not the command to be executed next among the commands included in the machining program is the auxiliary function command to be suppressed by vibration (step S20).
- the control unit 22 sends the vibration suppression target auxiliary function number J3 to PLC23.
- the PLC 23 transmits the auxiliary function command corresponding to the auxiliary function number J3 to the auxiliary processing execution device via the remote IO 33.
- the auxiliary processing execution device executes the auxiliary function corresponding to the auxiliary function command.
- the numerical control device 1 controls the execution of the auxiliary function (step S30).
- the control unit 22 outputs the suppression position command 51 corresponding to the auxiliary function number J3.
- the control unit 22 outputs the suppression position command 51 registered in advance as the suppression position command 51 corresponding to the auxiliary function to the drive unit 31.
- the numerical control device 1 suppresses the vibration caused by the auxiliary function by using the suppression position command 51 corresponding to the auxiliary function.
- the numerical control device 1 suppresses the vibration of the tool, the tool post, the servomotor 32, etc. by using the suppression position command 51 (step S40). In this way, the numerical control device 1 suppresses vibration caused by the auxiliary function.
- the control unit 22 When the auxiliary function command is a command to be suppressed by vibration, the control unit 22 notifies the state observation unit 11 of the position command J1, the selected tool number J2, and the auxiliary function number J3. As a result, the state observation unit 11 acquires the position command J1, the selection tool number J2, and the auxiliary function number J3. Further, the state observation unit 11 acquires the FB position J4 and the servomotor temperature J5 of the servomotor 32 from the drive unit 31. The state observation unit 11 sends the position command J1, the selection tool number J2, the auxiliary function number J3, the FB position J4, and the servomotor temperature J5 to the learning unit 12 as state variables.
- the learning unit 12 learns the suppression information which is the information of the suppression position command 51 corresponding to the auxiliary function based on the state variable sent from the state observation unit 11 (step S50), and controls the learned suppression information. Send to 22. Specifically, the learning unit 12 learns the amplitude and timing of the suppression position command 51 corresponding to the auxiliary function, and sends the suppression information indicating the amplitude and timing of the suppression position command 51 to the control unit 22.
- step S20 the numerical control device 1 returns to the process of step S20. That is, the analysis unit 21 determines whether or not the command to be executed next is an auxiliary function command for vibration suppression target (step S20).
- the numerical control device 1 controls the machining process of the workpiece based on the command included in the machining program (step). S60).
- commands included in the machining program examples of commands other than those subject to vibration suppression are commands related to machining, that is, commands for executing machining on a workpiece using a tool.
- a command other than the vibration suppression target is a machining command.
- the control unit 22 When the numerical control device 1 controls the machining process of the workpiece, the control unit 22 generates the position command J1 corresponding to the machining command included in the machining program and sends it to the drive unit 31. As a result, the drive unit 31 controls the servomotor 32 according to the position command J1. After this, the numerical control device 1 returns to the process of step S20. That is, the analysis unit 21 determines whether or not the command to be executed next is an auxiliary function command for vibration suppression target (step S20).
- the numerical control device 1 After executing the auxiliary function, the numerical control device 1 immediately starts the processing of the workpiece regardless of the presence or absence of vibration of the machine tool. When the numerical control device 1 does not execute the suppression position command, the machine tool executes the machining process in a situation where vibration is generated due to the execution of the auxiliary function. On the other hand, in the present embodiment, the numerical control device 1 outputs the position command J1 corresponding to the machining command while outputting the suppression position command 51, so that the machine tool suppresses the vibration generated by the execution of the auxiliary function. While doing so, the machining process will be executed. The numerical control device 1 may start the machining process of the workpiece when the misalignment of the tool due to vibration becomes smaller than the specific value. Since the numerical control device 1 can suppress the vibration even when the vibration is generated by the execution of the auxiliary function, the time until the vibration is settled can be shortened.
- step S20 the numerical control device 1 repeats the processes of steps S60 and S20 until the command included in the machining program becomes the auxiliary function command to be suppressed by vibration.
- step S20 when the command included in the machining program is an auxiliary function command for vibration suppression target (step S20, Yes), the numerical control device 1 controls the execution of the auxiliary function (step S30).
- the numerical control device 1 suppresses the vibration of the tool, the tool post, the servomotor 32, etc. by using the suppression position command 51 (step S40). Then, the learning unit 12 learns the suppression information corresponding to the auxiliary function based on the state variable sent from the state observing unit 11 (step S50), and the numerical control device 1 returns to the process of step S20.
- the numerical control device 1 repeats the processes of steps S20 to S50 until all the commands in the machining program are executed.
- FIG. 3 is a diagram for explaining the vibration suppressed by the numerical control device according to the embodiment.
- the waveform F1 of the graph shown in the upper part of FIG. 3 shows the change of the FB position J4, and the graph shown in the lower part of FIG. 3 shows the suppression position command 51.
- the horizontal axis of the graph shown in the upper part of FIG. 3 is time, and the vertical axis is the coordinates of the FB position.
- the horizontal axis of the graph shown in the lower part of FIG. 3 is time, and the vertical axis is the suppression position command 51 (coordinates of the commanded position).
- the FB position J4 is indicated by, for example, the X coordinate, the Y coordinate, and the Z coordinate. In the example of FIG. 3, the FB position J4 in the X direction and the suppression position command 51 in the X direction are shown.
- Waveform F1 is a waveform when the auxiliary function is executed before the machining command is executed. That is, the waveform F1 is a waveform before the movement of the tool with respect to the position command J1 is started. As shown in the waveform F1, the FB position J4 changes when the auxiliary function is executed. That is, vibration is generated by executing the auxiliary function. In order to suppress this vibration, the numerical control device 1 outputs a suppression position command 51 for suppressing the vibration at the timing T1 at which the vibration generated by the execution of the auxiliary function can be suppressed.
- the suppression position command 51 is a command for suppressing the FB position J4. That is, the suppression position command 51 is a command for setting the FB position J4 (tool position) to 0. Specifically, the suppression position command 51 is a command for moving the tool to a position opposite to the FB position J4, which is the position of the tool. For example, when the FB position J4 has positive coordinates, the suppression position command 51 is a command to move the tool to negative coordinates.
- the suppression position command 51 has an amplitude A1 capable of suppressing the FB position J4. That is, the position of the tool corresponding to the suppression position command 51 has the same absolute value as the FB position J4 and the sign is opposite.
- the suppression position command 51 is a position command corresponding to the waveform X1 capable of suppressing the first wave.
- the waveform X1 has a phase opposite to that of the first wave of the waveform F1.
- the amplitude of the waveform X1 is preferably the same magnitude as the first wave of the waveform F1, but may be substantially the same as the magnitude of the first wave of the waveform F1. If the amplitude of the waveform X1 is equal to or smaller than the amplitude of the first wave of the waveform F1, vibration can be suppressed.
- the suppression position command 51 may include a position command capable of suppressing the second and subsequent waves. It is assumed that the suppression position command 51 of the present embodiment includes a position command up to the Nth (N is a natural number) wave so that the position deviation of the tool due to vibration becomes smaller than a specific value.
- the numerical control device 1 starts the machining process of the workpiece by using the position command J1 when the misalignment of the tool due to vibration becomes smaller than the specific value. As a result, the FB position J4 also becomes a position corresponding to the position command J1.
- the suppression position command 51 is generated based on the timing T1 for generating the command and the amplitude A1 of the command included in the suppression information. Then, the vibration due to the auxiliary function is suppressed by the generated suppression position command 51.
- an example of the starting point of the timing T1 for generating the suppression position command 51 is the time when the target auxiliary function is notified from the analysis unit 21 to the control unit 22.
- the starting point of the timing T1 for generating the suppression position command 51 may be any timing as long as the vibration can be suppressed.
- the state observation unit 11 observes the position command J1, the selection tool number J2, the auxiliary function number J3, the FB position J4, and the servomotor temperature J5 as state variables.
- the learning unit 12 learns the amplitude and timing of the suppression position command 51, which is suppression information, according to the data set created based on the state variables.
- the numerical control device 1 may use any learning algorithm used for the learning unit 12.
- the learning algorithm a case where reinforcement learning (Reinforcement Learning) is applied will be described.
- an agent action subject
- an agent action subject
- the current state environment parameter
- the environment changes dynamically depending on the behavior of the agent, and the agent is rewarded according to the change in the environment.
- the agent repeats this process and learns the action policy that gives the most reward through a series of actions.
- agents are rewarded by the environment by choosing an action and learn how to get the most reward through a series of actions.
- Q-learning and TD-learning are known as typical methods of reinforcement learning.
- the general update equation (learned model) of the action value function Q (s, a) is expressed by the following equation (1).
- s t represents the environment at time t
- a t represents the behavior in time t.
- state environment
- rt + 1 represents the reward received by the change of the state
- ⁇ represents the discount rate
- ⁇ represents the learning coefficient. Note that ⁇ is in the range of 0 ⁇ ⁇ 1 and ⁇ is in the range of 0 ⁇ ⁇ 1.
- inhibition data (amplitude and timing of the suppression position command 51) act a t next position command J1, is selected tool number J2, auxiliary function number J3, FB position J4, and the servo motor temperature J5 state s t, and the learning section 12 learns the best action a t in state s t at time t.
- the learning unit 12 updates the action value function Q (s, a) so that the action value Q of the action a at the time t approaches the best action value Q at the time t + 1.
- the best behavioral value Q in a certain environment is sequentially propagated to the behavioral value Q in the previous environment.
- the learning unit 12 includes a reward calculation unit 15 and a function update unit 16.
- the reward calculation unit 15 calculates the reward r based on the state variable.
- the reward calculation unit 15 calculates the reward r based on the difference between the position command J1 and the FB position J4, that is, the error due to vibration. For example, the reward calculation unit 15 increases the reward r (for example, gives a reward of "1") when the difference between the position command J1 and the FB position J4 is small.
- the reward calculation unit 15 reduces the reward r (for example, gives a reward of "-1") when the difference between the position command J1 and the FB position J4 is large.
- the learning unit 12 sets the difference between the position command J1 and the FB position J4 as the total difference in the time from the auxiliary function command to the next command.
- the learning unit 12 may determine the difference acquisition time by a parameter or the like, and use the total from the auxiliary function command to the determined acquisition time as the difference.
- the function update unit 16 updates the function for determining the suppression information according to the reward r calculated by the reward calculation unit 15. For example, in the case of Q learning function updating unit 16, action value represented by the formula (1) function Q (s t, a t) and is used as a function for calculating a suppression information.
- the learning unit 12 repeatedly executes the above learning.
- the learning algorithm is not limited to reinforcement learning.
- the learning algorithm in addition to reinforcement learning, supervised learning, unsupervised learning, semi-supervised learning, and the like can also be applied.
- the learning unit 12 can also use deep learning, which learns the extraction of the feature amount itself, and other known methods such as a neural network, genetic programming, and a function.
- Machine learning may be performed according to logical programming, support vector machines, and the like.
- the machine learning device 10 is used to learn the suppression information of the numerical control device 1, and the machine learning device 10 is connected to the numerical control device 1 via a network, for example. It may be a device separate from 1. Further, the machine learning device 10 may be built in the numerical control device 1. Further, the machine learning device 10 may exist on the cloud server.
- the learning unit 12 may learn the suppression information according to the data sets created for the plurality of numerical control devices 1.
- the learning unit 12 may acquire data sets from a plurality of numerical control devices 1 and a plurality of drive units 31 used at the same site, or a plurality of machine tools operating independently at different sites. And the suppression information may be learned by using the data set collected from the plurality of drive units 31. Further, the learning unit 12 can add the numerical control device 1 for collecting the data set to the target on the way, or conversely remove it from the target. Further, the learning unit 12 attaches the machine learning device 10 that has learned the suppression information with respect to a certain numerical control device 1 to another numerical control device 1, and regenerates the suppression information with respect to the other numerical control device 1. You may learn and update.
- control unit 22 When the control unit 22 receives the auxiliary function command from the analysis unit 21, it determines whether or not the machine learning device 10 is a learned auxiliary function. If the auxiliary function has already been learned by the machine learning device 10, the control unit 22 generates the suppression position command 51 based on the suppression information corresponding to the auxiliary function. The numerical control device 1 suppresses the vibration of the machine tool by using the generated suppression position command 51 when executing the auxiliary function.
- the numerical control device 1 sets the suppression information in a parameter or the like, creates a suppression position command 51 based on the parameter, and vibrates. May be suppressed.
- FIG. 4 is a diagram showing an example of a hardware configuration that realizes a machine learning device included in the numerical control device according to the embodiment.
- the machine learning device 10 can be realized by an input device 300, a processor 100, a memory 200, and an output device 400.
- An example of the processor 100 is a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
- Examples of the memory 200 are RAM (Random Access Memory) and ROM (Read Only Memory).
- the machine learning device 10 is realized by the processor 100 reading and executing a computer-executable learning program for executing the operation of the machine learning device 10 stored in the memory 200. It can be said that the learning program, which is a program for executing the operation of the machine learning device 10, causes the computer to execute the procedure or method of the machine learning device 10.
- the learning program executed by the machine learning device 10 has a modular configuration including a state observation unit 11 and a learning unit 12, and these are loaded on the main storage device and these are generated on the main storage device. NS.
- the input device 300 receives the position command J1, the selection tool number J2, the auxiliary function number J3, the FB position J4, and the servomotor temperature J5 and sends them to the processor 100.
- the memory 200 is used as a temporary memory when the processor 100 executes various processes.
- the memory 200 stores a state variable, a reward, an action value function, and the like.
- the output device 400 outputs the suppression information corresponding to the auxiliary function to the control unit 22.
- the learning program is a file in an installable format or an executable format, and may be stored in a computer-readable storage medium and provided as a computer program product. Further, the learning program may be provided to the machine learning device 10 via a network such as the Internet. Some of the functions of the machine learning device 10 may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware. Further, the numerical control device 1 can also be realized by the same hardware configuration as the machine learning device 10.
- the numerical control device 1 of the present embodiment can suppress the vibration of the machine tool even if the pressure of the clamp is increased to shorten the operation time for the clamp or the unclamp.
- the numerical control device 1 of the embodiment when the numerical control device 1 of the embodiment has an auxiliary function command, it controls the processing corresponding to the auxiliary function and suppresses the vibration generated when the auxiliary function is executed.
- 51 is output to the servomotor 32 at the timing of suppressing vibration.
- the suppression position command 51 is a position command that causes the servomotor 32 to generate vibration having the same magnitude of amplitude in the opposite phase to the vibration of the machine tool.
- the numerical control device 1 can suppress the aperiodic vibration generated by the command when the auxiliary function is executed.
- the numerical control device 1 can suppress the vibration of the servomotor 32, the machining accuracy of machining by the machine tool is improved. Further, since the numerical control device 1 can suppress vibration, it is possible to prevent the occurrence of a servo alarm. Further, since the numerical control device 1 can suppress the vibration caused by the operation of the auxiliary function, the operation of the auxiliary function operation can be speeded up and the machining time can be shortened.
- the configuration shown in the above embodiment is an example, and can be combined with another known technique, or a part of the configuration may be omitted or changed without departing from the gist. It is possible.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
数値制御装置(1)が、工具を用いて工作機械が被加工物への加工を実行する際に工具を駆動する駆動部への位置指令(J1)を出力するとともに、被加工物の加工以外の処理を実行する補助機能の指令があると、補助機能に対応する処理を制御するとともに、補助機能が実行された場合に発生する工作機械の第1の振動を抑制する位置指令である抑制位置指令(51)を駆動部に出力する制御部(22)を備え、抑制位置指令(51)は、第1の振動と逆位相で第1の振動の振幅以下の大きさの振幅を有した第2の振動を駆動部に発生させる位置指令である。
Description
本開示は、工作機械の動作を制御する数値制御装置に関する。
工作機械の動作を制御する数値制御装置は、加工プログラムの指令に従って、工作機械が備えるサーボモータなどを動作させることで、工作機械に被加工物を加工させる。
数値制御装置は、工作機械を動作させる際に工作機械を振動させてしまう場合がある。工作機械が振動する場合において、工具を移動させるサーボモータが振動すると、工具の位置決め精度が悪化するので加工精度が下がる。このため、工作機械の振動を減らすことが望まれている。
特許文献1に記載の補正装置は、工作物に対する工具の目標量からの変位を決定する外乱(振動)を検出し、外乱から形成した数学的なプロセスモデルをベースにして外乱の将来的特性を評価し、将来的特性に応じて変位を補正している。
しかしながら、上記特許文献1の技術では、周期的に発生する振動を抑制することはできるが、過去の信号から将来の信号を予測する自己回帰モデルを用いているので、指令により発生する非周期的な振動を抑制することはできない。
本開示は、上記に鑑みてなされたものであって、指令により発生する非周期的な振動を抑制することができる数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、工具を用いて工作機械が被加工物への加工を実行する際に工具を駆動する駆動部への位置指令を出力するとともに、被加工物の加工以外の処理を実行する補助機能の指令があると、補助機能に対応する処理を制御するとともに、補助機能が実行された場合に発生する工作機械の第1の振動を抑制する位置指令である抑制位置指令を駆動部に出力する制御部を備えている。抑制位置指令は、第1の振動と逆位相で第1の振動の振幅以下の大きさの振幅を有した第2の振動を駆動部に発生させる位置指令である。
本開示にかかる数値制御装置は、指令により発生する非周期的な振動を抑制することができるという効果を奏する。
以下に、本開示の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。
実施の形態.
図1は、実施の形態にかかる数値制御装置の構成を示す図である。数値制御(NC:Numerical Control)装置1は、加工プログラムに従って、工作機械を制御するコンピュータである。数値制御装置1が工作機械の制御に用いる加工プログラムは、Gコードと呼ばれる準備機能、Fコードと呼ばれる送り機能、Mコードと呼ばれる補助機能などによって記述されている。
図1は、実施の形態にかかる数値制御装置の構成を示す図である。数値制御(NC:Numerical Control)装置1は、加工プログラムに従って、工作機械を制御するコンピュータである。数値制御装置1が工作機械の制御に用いる加工プログラムは、Gコードと呼ばれる準備機能、Fコードと呼ばれる送り機能、Mコードと呼ばれる補助機能などによって記述されている。
補助機能は、直接的に加工に関与しない動作を工作機械に実行させる機能である。補助機能の例は、加工での摩擦によって発生した熱を抑えるための冷却水の射出を有効または無効にさせる機能、工具交換の動作、工作機械が備えるドアの自動開閉を実行させる機能、テーブルなどを回転させる回転軸に対しクランプまたはアンクランプを実行させる機能などである。クランプは、機械的に回転軸のロックを行う処理であり、アンクランプは、機械的に回転軸のロックを解除する処理である。
回転軸によって回転させられるテーブルは、被加工物を載置した状態で被加工物を固定する。このテーブルは、回転軸の回転によって360度回転可能となっている。被加工物は、テーブルに載せられた状態で特定の位置に回転させられる。この状態で加工軸がクランプされることで、被加工物が固定され、被加工物への工具による加工が開始される。数値制御装置1は、数値制御装置1内の加工プログラムを用いて補助機能を実行するので、工作機械メーカ独自の様々な動作を実現できる。加工プログラムでは、補助機能は、補助機能の番号である補助機能番号J3で示される。
工作機械は、工具を用いて被加工物への加工を実行する装置である。工作機械は、工具を駆動する駆動部を備えている。なお、工作機械の構成要素には、工具が含められてもよいし、含められなくてもよい。
数値制御装置1は、工作機械が被加工物への加工を実行する際には、駆動部を駆動するための位置指令J1を出力する。また、数値制御装置1は、被加工物の加工以外の処理を実行する補助機能の指令があると、補助機能に対応する処理を制御する。また、数値制御装置1は、補助機能が実行された場合に発生する工作機械の振動を抑制する位置指令である抑制位置指令51を駆動部に出力する。
数値制御装置1は、ドライブユニット31およびリモートIO(Input/Output)33に接続されている。ドライブユニット31は、サーボモータ32に接続されている。サーボモータ32は、工具を駆動する駆動部の一例である。サーボモータ32は、被加工物を加工する工具が取り付けられる刃物台などに接続されており、刃物台などを動作させることで工具を動作させる。
数値制御装置1は、解析部21と、制御部22と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)23と、機械学習装置10と、加工プログラム記憶部40とを備えている。
加工プログラム記憶部40は、工作機械が制御される際に用いられる加工プログラムを記憶する。解析部21は、シーケンスプログラムである加工プログラムを解析する。解析部21は、解析結果を制御部22に送る。
制御部22は、解析部21から送られてくる解析結果に基づいて、位置指令J1、選択工具番号J2、および補助機能番号J3を生成して出力する。位置指令J1は、工具による加工位置を指定した指令である。位置指令J1は、例えば、X座標、Y座標、およびZ座標によって示される。選択工具番号J2は、被加工物の加工用に選択された工具を識別する番号である。
補助機能番号J3は、補助機能の種類を識別する番号である。補助機能の中には工具などに振動を発生させてしまう機能があるので、本実施の形態では、振動を発生させる補助機能に対して、数値制御装置1が振動を抑制する。振動抑制を行う補助機能の補助機能番号J3は、予め数値制御装置1に設定されているものとする。なお、補助機能番号J3の設定は、例えばパラメータで設定されるが、設定方法はパラメータによる設定に限らず何れの方法で設定されてもよい。補助機能番号J3が、補助機能の種類を識別する第1の識別情報であり、選択工具番号J2が、工具の種類を識別する第2の識別情報である。
また、制御部22は、機械学習装置10が抑制位置指令51を学習するまでは、補助機能番号J3に対応する抑制位置指令51を出力する。ここでの抑制位置指令51は、補助機能の種類毎に予め数値制御装置1に登録されている、抑制位置指令51の初期値である。すなわち、制御部22は、最初に補助機能を実行する前は、補助機能番号J3に対応する抑制位置指令51の初期値を出力する。このように、制御部22は、機械学習装置10が抑制位置指令51を学習するまでは、予め登録されている抑制位置指令51を出力する。
抑制位置指令51は、実行する補助機能が原因で発生する振動を抑制するための位置指令である。抑制位置指令51は、例えば、X座標、Y座標、およびZ座標によって示される、加工位置を指定した指令である。
抑制位置指令51は、工作機械の振動(第1の振動)と逆位相で同じ大きさの振幅を有した振動(第2の振動)を工作機械の駆動部に発生させる位置指令である。例えば、補助機能がクランプである場合、クランプが回転軸を固定する際にクランプが振動することによって、工具が振動する。この場合、抑制位置指令51は、工具の振動を抑制することができる位置指令である。
制御部22は、機械学習装置10が抑制位置指令51を生成するための情報(後述する抑制情報)を学習した後は、機械学習装置10から送られてくる抑制情報に対応する抑制位置指令51を出力する。制御部22は、抑制位置指令51を学習する前も後も、振動を抑制できるタイミングで抑制位置指令51を出力する。
制御部22は、位置指令J1および抑制位置指令51をドライブユニット31に出力し、補助機能番号J3をPLC23に出力する。また、制御部22は、位置指令J1、選択工具番号J2、および補助機能番号J3を機械学習装置10に出力する。
PLC23は、制御部22から送られてくる補助機能番号J3に対応する補助機能を実行させる指示(補助機能指令)をリモートIO33に送る。PLC23は、機械動作が記述されたラダープログラムを格納している。PLC23は、Mコードなどの補助機能指令を示す補助機能番号J3を受け付けると、ラダープログラムに従って補助機能指令をリモートIO33に送る。
リモートIO33は、工作機械内で補助機能を実行する装置(以下、補助処理実行装置という)との間で入出力信号を送受信する機器である。リモートIO33は、数値制御装置1から、補助機能を示す補助機能指令を受け付ける。リモートIO33は、補助機能指令を補助処理実行装置に送信し、補助処理実行装置から補助処理実行装置の状態を示す情報などを受信する。補助処理実行装置の例は、冷却水を射出する装置、工具交換を実行する装置、工作機械が備えるドアを開閉させる装置、回転軸をクランプおよびアンクランプする装置である。上記のように、補助機能は、補助機能指令によって実行される機能であり、補助機能による制御によって被加工物または工作機械に振動(衝撃)が発生する。補助機能による制御で発生した振動(衝撃)は、非周期的であり従来技術では抑制できない。
ドライブユニット31は、サーボモータ32に接続されており、数値制御装置1から送られてくる指令に従ってサーボモータ32を制御する。ドライブユニット31は、数値制御装置1から工具の位置が指定された位置指令J1、振動を抑制するための工具の位置が指定された抑制位置指令51を受信する。ドライブユニット31は、位置指令J1を受け付けると、位置指令J1に基づいて工具の位置を制御する。ドライブユニット31は、抑制位置指令51を受け付けると、抑制位置指令51に基づいて工具の位置を制御する。
ドライブユニット31は、数値制御装置1からの位置指令J1および抑制位置指令51に基づいて、サーボモータ32に送る電流値を算出する。ドライブユニット31は、位置指令J1に対応する電流、および抑制位置指令51に対応する電流をサーボモータ32に送ることによってサーボモータ32を駆動する。
サーボモータ32は、刃物台に接続されており、ドライブユニット31からの電流に従って刃物台に取り付けられた工具を回転させる。
また、ドライブユニット31は、サーボモータ32から工具の実際の位置を示す位置情報を受信する。また、ドライブユニット31は、サーボモータ32からサーボモータ32の温度を示すサーボモータ温度J5を受信する。
ドライブユニット31は、工具の実際の位置を示す位置情報を、FB(Feed Back:フィードバック)位置J4として機械学習装置10に送信する。また、ドライブユニット31は、サーボモータ32の温度を、サーボモータ温度J5として機械学習装置10に送信する。FB位置J4は、工具の位置を検出する検出器によって検出されてもよいし、サーボモータ32への位置指令J1に基づいて算出されてもよい。
機械学習装置10は、状態観測部11と、学習部12とを備えている。状態観測部11は、制御部22から、位置指令J1、選択工具番号J2、および補助機能番号J3を取得する。また、状態観測部11は、ドライブユニット31からFB位置J4およびサーボモータ温度J5を取得する。
数値制御装置1では、機械学習装置10が、補助機能に対応する抑制位置指令51の情報(抑制情報)を学習する際には、状態観測部11が、位置指令J1、選択工具番号J2、補助機能番号J3、FB位置J4、およびサーボモータ温度J5を状態変数として取得する。抑制情報は、補助機能に起因する振動を抑制するための抑制位置指令51を生成するための情報である。抑制情報には、抑制位置指令51の振幅および出力タイミングが含まれている。学習部12は、状態観測部11から得た状態変数に基づいて、補助機能に対応する抑制情報を学習する。
刃物台に取り付けられている工具の種類によって、振動の具合が異なる場合があるので、本実施の形態では、機械学習装置10が、選択工具番号J2に対応する工具の種類を、補助機能に対応する抑制情報の学習に用いる。また、サーボモータ32の温度によって、振動の具合が異なる場合があるので、本実施の形態では、機械学習装置10が、サーボモータ温度J5を、補助機能に対応する抑制情報の学習に用いる。なお、数値制御装置1は、選択工具番号J2、およびサーボモータ温度J5を抑制情報の学習に用いなくてもよい。
図2は、実施の形態にかかる数値制御装置の動作手順を示すフローチャートである。数値制御装置1は、加工プログラムの実行を開始すると、解析部21が加工プログラムを解析する(ステップS10)。このとき、解析部21は、加工プログラムに含まれる指令のうち、次に実行する指令が、振動抑制対象の補助機能指令であるか否かを判定する(ステップS20)。
次に実行する指令が、振動抑制対象の補助機能指令である場合(ステップS20、Yes)、制御部22は、振動抑制対象の補助機能番号J3をPLC23に送る。これにより、PLC23が、リモートIO33を介して、補助機能番号J3に対応する補助機能指令を補助処理実行装置に送信する。補助処理実行装置は、補助機能指令に対応する補助機能を実行する。このように、数値制御装置1は、補助機能の実行を制御する(ステップS30)。このとき、制御部22は、補助機能番号J3に対応する抑制位置指令51を出力する。補助処理実行装置が実行した補助機能が初めて用いられる場合、制御部22は、補助機能に対応する抑制位置指令51として予め登録されている抑制位置指令51をドライブユニット31に出力する。
これにより、数値制御装置1は、補助機能に対応する抑制位置指令51を用いて、補助機能に起因する振動を抑制する。工作機械が補助機能を実行すると、工具、刃物台、サーボモータ32などが振動する。本実施の形態では、数値制御装置1が抑制位置指令51を用いて工具、刃物台、サーボモータ32などの振動を抑制する(ステップS40)。このように、数値制御装置1は、補助機能に起因する振動を抑制する。
また、補助機能指令が、振動抑制対象の指令である場合、制御部22は、位置指令J1、選択工具番号J2、および補助機能番号J3を、状態観測部11に通知する。これにより、状態観測部11は、位置指令J1、選択工具番号J2、および補助機能番号J3を取得する。また、状態観測部11は、ドライブユニット31から、サーボモータ32のFB位置J4およびサーボモータ温度J5を取得する。状態観測部11は、位置指令J1、選択工具番号J2、補助機能番号J3、FB位置J4、およびサーボモータ温度J5を、状態変数として学習部12に送る。
学習部12は、状態観測部11から送られてきた状態変数に基づいて、補助機能に対応する抑制位置指令51の情報である抑制情報を学習し(ステップS50)、学習した抑制情報を制御部22に送る。具体的には、学習部12は、補助機能に対応する抑制位置指令51の振幅およびタイミングを学習し、抑制位置指令51の振幅およびタイミングを示す抑制情報を制御部22に送る。
この後、数値制御装置1は、ステップS20の処理に戻る。すなわち、解析部21は、次に実行する指令が、振動抑制対象の補助機能指令であるか否かを判定する(ステップS20)。
次に実行する指令が、振動抑制対象の補助機能指令でない場合(ステップS20、No)、数値制御装置1は、加工プログラムに含まれる指令に基づいて、被加工物の加工処理を制御する(ステップS60)。加工プログラムに含まれる指令のうち振動抑制対象以外の指令の例は、加工に関与する指令、すなわち工具を用いて被加工物への加工を実行するための指令である。以下の説明では、加工プログラムに含まれる指令のうち、振動抑制対象以外の指令が加工指令である場合について説明する。
数値制御装置1が被加工物の加工処理を制御する場合、制御部22が、加工プログラムに含まれる加工指令に対応する位置指令J1を生成し、ドライブユニット31に送る。これにより、ドライブユニット31が、位置指令J1に従ってサーボモータ32を制御する。この後、数値制御装置1は、ステップS20の処理に戻る。すなわち、解析部21は、次に実行する指令が、振動抑制対象の補助機能指令であるか否かを判定する(ステップS20)。
数値制御装置1は、補助機能を実行させた後、工作機械の振動の有無にかかわらず、被加工物の加工処理を直ぐに開始する。数値制御装置1が、抑制位置指令を実行しない場合、工作機械は、補助機能の実行によって振動が発生している状況で加工処理を実行することとなる。一方、本実施の形態では、数値制御装置1が、抑制位置指令51を出力しつつ、加工指令に対応する位置指令J1を出力するので、工作機械は、補助機能の実行によって発生した振動を抑制しながら加工処理を実行することとなる。なお、数値制御装置1は、振動による工具の位置ずれが特定値よりも小さくなった時点で被加工物の加工処理を開始してもよい。数値制御装置1は、補助機能の実行によって振動が発生する場合であっても、振動を抑制することができるので、振動が収まるまでの時間を短くすることができる。
ステップS20において、加工プログラムに含まれる指令が、振動抑制対象の補助機能指令となるまで、数値制御装置1は、ステップS60およびステップS20の処理を繰り返す。
ステップS20において、加工プログラムに含まれる指令が、振動抑制対象の補助機能指令である場合(ステップS20、Yes)、数値制御装置1は、補助機能の実行を制御する(ステップS30)。
また、数値制御装置1は、抑制位置指令51を用いて工具、刃物台、サーボモータ32などの振動を抑制する(ステップS40)。そして、学習部12が、状態観測部11から送られてきた状態変数に基づいて、補助機能に対応する抑制情報を学習し(ステップS50)、数値制御装置1は、ステップS20の処理に戻る。
数値制御装置1は、加工プログラム内の全ての指令を実行するまで、ステップS20からS50の処理を繰り返す。
ここで、抑制情報を用いた抑制位置指令51の作成処理について説明する。図3は、実施の形態にかかる数値制御装置によって抑制される振動を説明するための図である。図3の上段に示すグラフの波形F1は、FB位置J4の変化を示し、図3の下段に示すグラフは、抑制位置指令51を示している。図3の上段に示すグラフの横軸は時間であり、縦軸はFB位置の座標である。図3の下段に示すグラフの横軸は時間であり、縦軸は抑制位置指令51(指令される位置の座標)である。FB位置J4は、例えば、X座標、Y座標、およびZ座標によって示される。図3の例では、X方向のFB位置J4とX方向の抑制位置指令51を示している。
波形F1は、加工指令が実行される前に補助機能が実行された場合の波形である。すなわち、波形F1は、位置指令J1に対する工具の移動が開始される前の波形である。波形F1に示すように、補助機能が実行されることによってFB位置J4が変化する。すなわち、補助機能が実行されることによって振動が発生している。この振動を抑制するため、数値制御装置1は、補助機能が実行されることによって発生する振動を抑制できるタイミングT1で、振動を抑制するための抑制位置指令51を出力する。
抑制位置指令51は、FB位置J4を抑制するための指令である。すなわち、抑制位置指令51は、FB位置J4(工具の位置)を0にするための指令である。具体的には、抑制位置指令51は、工具の位置であるFB位置J4とは逆方向の位置に移動させるための指令である。例えば、FB位置J4がプラスの座標である場合、抑制位置指令51は、工具をマイナスの座標に移動させる指令である。
また、抑制位置指令51は、FB位置J4を抑制することができる振幅A1を有している。すなわち、抑制位置指令51に対応する工具の位置は、FB位置J4とは絶対値が同じであり符号が逆である。FB位置J4が図3に示す波形F1の場合、抑制位置指令51は、第1波を抑制することができる波形X1に対応する位置指令となる。波形X1は、波形F1の第1波とは逆位相である。波形X1の振幅は、波形F1の第1波と同じ大きさであることが望ましいが、波形F1の第1波の大きさと略同じであればよい。波形X1の振幅は、波形F1の第1波の振幅以下の大きさであれば、振動を抑制することができる。
また、抑制位置指令51は、第2波以降を抑制することができる位置指令を含んでいてもよい。本実施の形態の抑制位置指令51は、振動による工具の位置ずれが特定値よりも小さくなるように、第N(Nは自然数)波までの位置指令を含んでいるものとする。数値制御装置1は、振動による工具の位置ずれが特定値よりも小さくなった時点で、位置指令J1を用いて被加工物の加工処理を開始する。これにより、FB位置J4も位置指令J1に対応する位置となる。
このように、抑制位置指令51は、抑制情報に含まれる、指令を発生させるタイミングT1と指令の振幅A1と、に基づいて生成される。そして、補助機能による振動は、生成された抑制位置指令51によって抑制される。ここで抑制位置指令51を発生させるタイミングT1の起点の例は、解析部21から制御部22に対象補助機能が通知された時点である。なお、抑制位置指令51を発生させるタイミングT1の起点は、振動を抑制できるタイミングであれば、何れのタイミングであってもよい。
ここで、機械学習装置10による学習処理について説明する。状態観測部11は、位置指令J1、選択工具番号J2、補助機能番号J3、FB位置J4、サーボモータ温度J5を状態変数として観測する。学習部12は、状態変数に基づいて作成されるデータセットに従って、抑制情報である、抑制位置指令51の振幅およびタイミングを学習する。
数値制御装置1は、学習部12に用いる学習アルゴリズムとして、どのようなものを用いてもよい。ここでは、学習アルゴリズムの一例として、強化学習(Reinforcement Learning)が適用された場合について説明する。数値制御装置1は、強化学習を実行する際に、ある環境内におけるエージェント(行動主体)が、現在の状態(環境のパラメータ)を観測し、取るべき行動を決定する。
強化学習では、エージェントの行動により環境が動的に変化し、エージェントには環境の変化に応じて報酬が与えられる。エージェントはこれを繰り返し、一連の行動を通じて報酬が最も多く得られる行動方針を学習する。換言すると、エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-learning)およびTD学習(TD-learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式(学習済モデル)は、以下の式(1)で表される。
式(1)において、stは時刻tにおける環境を表し、atは時刻tにおける行動を表す。行動atにより、状態(環境)はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1、αは0<α≦1の範囲とする。Q学習が適用される場合、抑制情報(抑制位置指令51の振幅およびタイミング)が行動atとなり、位置指令J1、選択工具番号J2、補助機能番号J3、FB位置J4、およびサーボモータ温度J5が状態stとなり、学習部12は、時刻tの状態stにおける最良の行動atを学習する。
式(1)で表される更新式は、時刻t+1における最もQ値の高い行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、学習部12は、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値Qに近づけるように、行動価値関数Q(s,a)を更新する。それにより、ある環境における最良の行動価値Qが、それ以前の環境における行動価値Qに順次伝播していくようになる。
学習部12は、報酬計算部15と、関数更新部16とを備えている。報酬計算部15は、状態変数に基づいて報酬rを計算する。報酬計算部15は、位置指令J1とFB位置J4との差分、すなわち、振動による誤差に基づいて、報酬rを計算する。例えば、報酬計算部15は、位置指令J1とFB位置J4との差分が小さい場合には報酬rを増大させる(例えば「1」の報酬を与える)。一方、報酬計算部15は、位置指令J1とFB位置J4との差分が大きい場合には、報酬rを低減する(例えば「-1」の報酬を与える)。
学習部12は、位置指令J1とFB位置J4との差分を、補助機能指令の後から次の指令までの時間における差分の合計とする。なお、学習部12は、パラメータ等で差分の取得時間を定めておき、補助機能指令の後から、定めておいた取得時間までの合計を差分としてもよい。
関数更新部16は、報酬計算部15によって計算される報酬rに従って、抑制情報を決定するための関数を更新する。例えばQ学習の場合、関数更新部16は、式(1)で表される行動価値関数Q(st,at)を、抑制情報を算出するための関数として用いる。学習部12は、以上のような学習を繰り返し実行する。
なお、本実施の形態では、学習部12が用いる学習アルゴリズムに強化学習を適用した場合について説明したが、学習アルゴリズムは、強化学習に限られるものではない。学習アルゴリズムについては、強化学習以外にも、教師あり学習、教師なし学習、または半教師あり学習等を適用することも可能である。
また、学習部12は、上述した学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
なお、機械学習装置10は、数値制御装置1の抑制情報を学習するために使用されるが、機械学習装置10は、例えば、ネットワークを介して数値制御装置1に接続された、この数値制御装置1とは別個の装置であってもよい。また、機械学習装置10は、数値制御装置1に内蔵されていてもよい。さらに、機械学習装置10は、クラウドサーバ上に存在していてもよい。
また、学習部12は、複数の数値制御装置1に対して作成されるデータセットに従って、抑制情報を学習するようにしてもよい。なお、学習部12は、同一の現場で使用される複数の数値制御装置1および複数のドライブユニット31からデータセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数の工作機械および複数のドライブユニット31から収集されるデータセットを利用して抑制情報を学習してもよい。さらに、学習部12は、データセットを収集する数値制御装置1を途中で対象に追加し、或いは、逆に対象から除去することも可能である。さらに、学習部12は、ある数値制御装置1に関して抑制情報を学習した機械学習装置10を、これとは別の数値制御装置1に取り付け、当該別の数値制御装置1に対して抑制情報を再学習して更新するようにしてもよい。
制御部22は、解析部21から補助機能指令を受け付けると、機械学習装置10が学習済みの補助機能であるか否かを判定する。制御部22は、補助機能が機械学習装置10で学習済みであれば、補助機能に対応する抑制情報に基づいて、抑制位置指令51を生成する。数値制御装置1は、補助機能を実行する際に、生成した抑制位置指令51を用いて、工作機械の振動を抑制する。
なお、数値制御装置1は、抑制情報を学習することなく事前に抑制情報を設定可能であれば、抑制情報をパラメータ等に設定しておき、パラメータに基づいて抑制位置指令51を作成し、振動を抑制してもよい。
ここで、機械学習装置10のハードウェア構成について説明する。図4は、実施の形態にかかる数値制御装置が備える機械学習装置を実現するハードウェア構成例を示す図である。
機械学習装置10は、入力装置300、プロセッサ100、メモリ200、および出力装置400により実現することができる。プロセッサ100の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ200の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
機械学習装置10は、プロセッサ100が、メモリ200で記憶されている機械学習装置10の動作を実行するための、コンピュータで実行可能な、学習プログラムを読み出して実行することにより実現される。機械学習装置10の動作を実行するためのプログラムである学習プログラムは、機械学習装置10の手順または方法をコンピュータに実行させるものであるともいえる。
機械学習装置10で実行される学習プログラムは、状態観測部11と、学習部12とを含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
入力装置300は、位置指令J1、選択工具番号J2、補助機能番号J3、FB位置J4、およびサーボモータ温度J5を受け付けてプロセッサ100に送る。メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリに使用される。メモリ200は、状態変数、報酬、行動価値関数などを記憶する。出力装置400は、補助機能に対応する抑制情報を制御部22に出力する。
学習プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、学習プログラムは、インターネットなどのネットワーク経由で機械学習装置10に提供されてもよい。なお、機械学習装置10の機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、数値制御装置1についても、機械学習装置10と同様のハードウェア構成によって実現できる。
ところで、補助機能が原因で工作機械に振動を発生させてしまう場合、この振動は、サーボモータに大きな影響を与える。サーボモータが振動することによって、加工位置の位置決め精度が悪化するため加工精度が下がる。この場合、状況によっては、加工位置の誤差が過大になること、工具位置の過走が検出されることなどによって、サーボアラームを発生させてしまうこともある。本実施の形態の数値制御装置1は、工作機械の振動を抑制しているので、加工精度が低下することを防止できるとともに、サーボアラームの発生を防止できる。
また、回転軸のクランプまたはアンクランプにて、大きな振動が発生する場合がある。加工時間短縮のために、クランプの圧力が強められると、大きな振動が発生する場合がある。また、振動を発生させないために、圧力が弱められると、クランプまたはアンクランプに対する動作時間が長くなり、加工時間が長くなる。本実施の形態の数値制御装置1は、クランプの圧力を強くしてクランプまたはアンクランプに対する動作時間を短くしても、工作機械の振動を抑制することができる。
このように実施の形態の数値制御装置1は、補助機能指令があると、補助機能に対応する処理を制御するとともに、補助機能が実行された場合に発生する振動を抑制するための抑制位置指令51を、振動を抑制するタイミングでサーボモータ32に出力する。抑制位置指令51は、工作機械の振動と逆位相で同じ大きさの振幅を有した振動をサーボモータ32に発生させる位置指令である。これにより、数値制御装置1は、補助機能が実行されることによって指令により発生する非周期的な振動を抑制することができる。
また、数値制御装置1は、サーボモータ32の振動を抑えることができるので、工作機械による加工の加工精度が向上する。また、数値制御装置1は、振動を抑制できるので、サーボアラームの発生を防ぐことができる。また、数値制御装置1は、補助機能の動作による振動を抑制できるので、補助機能動作の動作を高速化することが可能となり、加工時間を短縮することができる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 数値制御装置、10 機械学習装置、11 状態観測部、12 学習部、15 報酬計算部、16 関数更新部、21 解析部、22 制御部、23 PLC、31 ドライブユニット、32 サーボモータ、33 リモートIO、40 加工プログラム記憶部、51 抑制位置指令、100 プロセッサ、200 メモリ、300 入力装置、400 出力装置、J1 位置指令、J2 選択工具番号、J3 補助機能番号、J4 FB位置、J5 サーボモータ温度。
Claims (6)
- 工具を用いて工作機械が被加工物への加工を実行する際に前記工具を駆動する駆動部への位置指令を出力するとともに、前記被加工物の加工以外の処理を実行する補助機能の指令があると、前記補助機能に対応する処理を制御するとともに、前記補助機能が実行された場合に発生する前記工作機械の第1の振動を抑制する位置指令である抑制位置指令を前記駆動部に出力する制御部を備え、
前記抑制位置指令は、前記第1の振動と逆位相で前記第1の振動の振幅以下の大きさの振幅を有した第2の振動を前記駆動部に発生させる位置指令である、
ことを特徴とする数値制御装置。 - 前記抑制位置指令は、前記補助機能の種類毎に予め登録されており、
前記制御部は、前記補助機能に対応する抑制位置指令を前記駆動部に出力する、
ことを特徴とする請求項1に記載の数値制御装置。 - 前記補助機能の種類を識別する第1の識別情報、前記位置指令、および前記位置指令に対応するフィードバック位置を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記抑制位置指令を出力するタイミングと、前記抑制位置指令の前記振幅とを学習する学習部と、
を有した機械学習装置をさらに備え、
前記制御部は、前記学習部が学習した前記抑制位置指令を出力するタイミングで前記抑制位置指令を出力する、
ことを特徴とする請求項1に記載の数値制御装置。 - 前記状態変数には、前記工具の種類を識別する第2の識別情報、および前記駆動部の温度が含まれている、
ことを特徴とする請求項3に記載の数値制御装置。 - 前記学習部は、
前記位置指令と前記フィードバック位置との差分に基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記タイミングおよび前記振幅を決定するための関数を更新する関数更新部と、
を具備する、
ことを特徴とする請求項3または4に記載の数値制御装置。 - 前記関数は、行動価値関数である、
ことを特徴とする請求項5に記載の数値制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020542180A JP6775720B1 (ja) | 2020-03-24 | 2020-03-24 | 数値制御装置 |
CN202080098600.XA CN115315665A (zh) | 2020-03-24 | 2020-03-24 | 数控装置 |
DE112020006576.6T DE112020006576T5 (de) | 2020-03-24 | 2020-03-24 | Numerisches Steuergerät |
PCT/JP2020/012983 WO2021192023A1 (ja) | 2020-03-24 | 2020-03-24 | 数値制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/012983 WO2021192023A1 (ja) | 2020-03-24 | 2020-03-24 | 数値制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021192023A1 true WO2021192023A1 (ja) | 2021-09-30 |
Family
ID=72916077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/012983 WO2021192023A1 (ja) | 2020-03-24 | 2020-03-24 | 数値制御装置 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6775720B1 (ja) |
CN (1) | CN115315665A (ja) |
DE (1) | DE112020006576T5 (ja) |
WO (1) | WO2021192023A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117075535A (zh) * | 2023-10-16 | 2023-11-17 | 上海诺倬力机电科技有限公司 | 振动抑制方法、装置、电子设备及可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112022000207T5 (de) * | 2021-01-14 | 2023-09-07 | Fanuc Corporation | Maschinelle Lernvorrichtung |
WO2023223470A1 (ja) * | 2022-05-18 | 2023-11-23 | 三菱電機株式会社 | 制御パラメータ調整装置、数値制御装置および制御パラメータ調整方法 |
JP7490149B1 (ja) | 2023-05-10 | 2024-05-24 | 三菱電機株式会社 | 消費電力量調整装置、数値制御装置、および消費電力量調整方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000505578A (ja) * | 1996-03-01 | 2000-05-09 | フラウンホーファー・ゲゼルシャフト ツア フェルデルンク デア アンゲヴァンテン フォルシュンク アインゲトラーゲナー フェアアイン | 切削工作機械における動的変位を補正する方法および装置 |
JP2004268177A (ja) * | 2003-03-06 | 2004-09-30 | Fanuc Ltd | 工具の切粉付着防止/除去方法、及び工具交換装置 |
JP2006155351A (ja) * | 2004-11-30 | 2006-06-15 | Fanuc Ltd | 制御装置 |
JP2019153085A (ja) * | 2018-03-02 | 2019-09-12 | ブラザー工業株式会社 | 振動抑制装置と振動抑制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54113779A (en) * | 1978-02-24 | 1979-09-05 | Toyo Electric Mfg Co Ltd | Digital servo-device |
JP6693013B2 (ja) * | 2016-02-04 | 2020-05-13 | ブラザー工業株式会社 | 振動抑制装置と振動抑制方法 |
JP6903485B2 (ja) * | 2017-05-12 | 2021-07-14 | 株式会社日立製作所 | 制振装置および加工機 |
DE112018000172B4 (de) * | 2018-07-05 | 2020-09-24 | Mitsubishi Electric Corporation | Numerische Steuervorrichtung |
WO2020208685A1 (ja) * | 2019-04-08 | 2020-10-15 | 三菱電機株式会社 | 数値制御装置およびびびり振動の発生判定方法 |
-
2020
- 2020-03-24 CN CN202080098600.XA patent/CN115315665A/zh active Pending
- 2020-03-24 WO PCT/JP2020/012983 patent/WO2021192023A1/ja active Application Filing
- 2020-03-24 DE DE112020006576.6T patent/DE112020006576T5/de active Pending
- 2020-03-24 JP JP2020542180A patent/JP6775720B1/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000505578A (ja) * | 1996-03-01 | 2000-05-09 | フラウンホーファー・ゲゼルシャフト ツア フェルデルンク デア アンゲヴァンテン フォルシュンク アインゲトラーゲナー フェアアイン | 切削工作機械における動的変位を補正する方法および装置 |
JP2004268177A (ja) * | 2003-03-06 | 2004-09-30 | Fanuc Ltd | 工具の切粉付着防止/除去方法、及び工具交換装置 |
JP2006155351A (ja) * | 2004-11-30 | 2006-06-15 | Fanuc Ltd | 制御装置 |
JP2019153085A (ja) * | 2018-03-02 | 2019-09-12 | ブラザー工業株式会社 | 振動抑制装置と振動抑制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117075535A (zh) * | 2023-10-16 | 2023-11-17 | 上海诺倬力机电科技有限公司 | 振动抑制方法、装置、电子设备及可读存储介质 |
CN117075535B (zh) * | 2023-10-16 | 2024-01-02 | 上海诺倬力机电科技有限公司 | 振动抑制方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021192023A1 (ja) | 2021-09-30 |
JP6775720B1 (ja) | 2020-10-28 |
DE112020006576T5 (de) | 2022-12-01 |
CN115315665A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021192023A1 (ja) | 数値制御装置 | |
JP6542839B2 (ja) | 制御装置及び機械学習装置 | |
US11000949B2 (en) | Robot for controlling learning in view of operation in production line, and method of controlling the same | |
JP6494897B1 (ja) | 数値制御装置 | |
US20220308531A1 (en) | Motor controller and motor control method | |
JP2018118353A (ja) | 学習制御機能を備えた制御システム及び制御方法 | |
JP6386516B2 (ja) | 学習機能を備えたロボット装置 | |
JP6811908B1 (ja) | 数値制御装置、機械学習装置および数値制御方法 | |
CN113168155B (zh) | 数控装置及数控方法 | |
US10691091B2 (en) | Controller and machine learning device | |
JP2020035159A (ja) | パラメータ調整装置 | |
WO2021186574A1 (ja) | 制御システム、モータ制御装置および機械学習装置 | |
WO2020162199A1 (ja) | 制御装置、モデル作成方法および制御プログラム | |
US11022951B2 (en) | Information processing device and information processing method | |
CN112867975B (zh) | 维护辅助***、数控装置及维护辅助***的控制方法 | |
CN112975004A (zh) | 优劣判定装置及优劣判定方法 | |
JP2020055095A (ja) | 制御装置及び制御システム | |
JP2001154719A (ja) | 自由曲線補間方法 | |
JP6800384B1 (ja) | 位置決め制御装置および位置決め方法 | |
JP4200357B2 (ja) | 電動機制御装置の運転立上げ方法および電動機制御装置 | |
WO2020194685A1 (ja) | 数値制御装置および機械学習装置 | |
CN117813561A (zh) | 运动控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2020542180 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: 20926415 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20926415 Country of ref document: EP Kind code of ref document: A1 |