WO2023053399A1 - 数値制御装置、加工システム、数値制御方法および加工方法 - Google Patents

数値制御装置、加工システム、数値制御方法および加工方法 Download PDF

Info

Publication number
WO2023053399A1
WO2023053399A1 PCT/JP2021/036265 JP2021036265W WO2023053399A1 WO 2023053399 A1 WO2023053399 A1 WO 2023053399A1 JP 2021036265 W JP2021036265 W JP 2021036265W WO 2023053399 A1 WO2023053399 A1 WO 2023053399A1
Authority
WO
WIPO (PCT)
Prior art keywords
operation command
machining
command
tool
workpiece
Prior art date
Application number
PCT/JP2021/036265
Other languages
English (en)
French (fr)
Inventor
一樹 高幣
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2021/036265 priority Critical patent/WO2023053399A1/ja
Priority to JP2022519584A priority patent/JP7224541B1/ja
Priority to CN202180102184.0A priority patent/CN117957088A/zh
Publication of WO2023053399A1 publication Critical patent/WO2023053399A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • 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/404Numerical 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
    • 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/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Definitions

  • the present disclosure relates to a numerical controller, machining system, numerical control method, and machining method for controlling machine tools.
  • a machine tool is a processing device that can perform removal processing, which is processing that removes unnecessary parts from a processing object by applying force or energy to the processing object using a tool.
  • a machine tool has a spindle drive system that rotates a tool or an object to be processed, and a feed drive system that changes the relative positions of the tool and the object to be processed.
  • the workpiece is machined by driving the spindle drive system and the feed drive system based on.
  • machining may not be performed according to the commands due to various factors, resulting in machining errors.
  • Patent Document 1 proposes a technique for reproducing the properties of the machined surface by calculating the displacement of the tool caused by the cutting resistance applied to the tool during cutting.
  • the displacement of the center of the tool when a cutting force corresponding to the cutting thickness of the tool calculated in the simulation is generated is machined. regarded as an error.
  • the present disclosure has been made in view of the above, and aims to obtain a numerical controller capable of accurately reducing machining errors of machine tools.
  • the numerical control device of the present disclosure includes a spindle drive system for driving a tool for machining a workpiece or a spindle for rotating the workpiece;
  • the numerical control program comprising: a command generation unit that generates a basic operation command, which is an operation command based on the basic operation command, and generates a modified operation command, which is an operation command obtained by modifying the basic operation command; Calculates process information that shows the results of simulating the machining of a case, including the effects of the operation of the drive system and the dynamics of the structure that causes vibrations during the operation of the machine tool on the machining process of the workpiece with the tool. Based on multiple process information, it evaluates the magnitude of the machining error when using each of the multiple operation commands, and determines the operation to be given to the machine tool from
  • FIG. 1 is a diagram showing a functional configuration of a machining system according to a first embodiment
  • Diagram showing the time waveforms of the spindle speed and feedrate of the corrective operation command A diagram showing a tool and an object to be machined when machining is performed using the spindle rotation speed and feed rate shown in FIG.
  • FIG. 7 together with the physical configuration of the machine tool
  • FIG. 9 A diagram showing the physical quantities shown in FIG. 9 together with the physical configuration of the machine tool
  • FIG. 9 A diagram for explaining an example of the spindle drive control model of FIG.
  • FIG. 9 A diagram for explaining an example of the feed drive control model in FIG.
  • FIG. 9 Flowchart for explaining the operation of the numerical controller shown in FIG.
  • FIG. A diagram showing an example of a configuration of a learning device for the numerical control device shown in FIG. Flowchart for explaining learning processing of the learning device shown in FIG.
  • FIG. 2 shows dedicated hardware for implementing the functions of the numerical controller, learning device, and reasoning device according to the first to third embodiments
  • FIG. 3 is a diagram showing the configuration of a control circuit for realizing the functions of the numerical controller, learning device, and reasoning device according to the first to third embodiments;
  • a numerical control device, a processing system, a numerical control method, and a processing method according to embodiments of the present disclosure will be described in detail below with reference to the drawings.
  • a plurality of components having similar functions may be distinguished by adding a hyphen and a number after a common number.
  • common numerals are used.
  • FIG. 1 is a diagram showing a functional configuration of a machining system 1 according to Embodiment 1.
  • a machining system 1 has a machine tool 2 and a numerical controller 3 .
  • the numerical control device 3 controls the machine tool 2 by giving the machine tool 2 an operation command generated based on the command described in the numerical control program 4 .
  • the machine tool 2 has one spindle drive system 21, one or more feed drive systems 22, a tool 23 for machining the workpiece W, and a table 24 for holding the workpiece W.
  • the spindle drive system 21 has a spindle motor 211 and a spindle drive mechanism 212 driven by the spindle motor 211 .
  • a tool 23 is connected to the spindle drive system 21 , and the spindle drive system 21 can rotate the tool 23 .
  • the spindle motor 211 or the spindle drive mechanism 212 is provided with an encoder (not shown) that represents angle information of the spindle drive system 21 .
  • the feed drive system 22 has a servomotor 221 and a feed drive mechanism 222 driven by the servomotor 221 .
  • the feed drive system 22 can change the relative positions of the tool 23 and the workpiece W.
  • the servomotor 221 and the feed drive mechanism 222 are provided with encoders (not shown) that represent position information of the feed drive system 22 .
  • a table 24 holding a workpiece W or a tool 23 is connected to the feed drive system 22, and the feed drive system 22 moves the table 24 or the tool 23 to feed the tool 23 and the workpiece W. can be changed.
  • the machine tool 2 has a feed drive system 22-1 for moving the tool 23 and a feed drive system 22-2 for moving the table 24.
  • Both the tool 23 and the table 24 are is moved, only the tool 23 may be moved, or only the table 24 may be moved. It is sufficient if the relative position between the tool 23 and the workpiece W held on the table 24 can be changed.
  • the feed drive system 22 changes the relative positions of the tool 23 and the workpiece W, so that the tool 23 cuts the workpiece W along the machining path.
  • the spindle drive system 21 and the feed drive system 22 are connected to the numerical controller 3, and the spindle motor 211 and the servomotor 221 are controlled by operation commands given from the numerical controller 3.
  • the drive system 20 A series of processes in which the cutting edge of the tool 23 penetrates the object W to form a machined surface while generating chips is called a machining process M.
  • FIG. 2 is a diagram showing an example of the physical configuration of the machine tool 2 shown in FIG.
  • the table 24 has a table shape with a horizontal surface, and the workpiece W is placed on the horizontal surface.
  • the spindle drive mechanism 212 is provided so that the tool 23 is positioned above the workpiece W held on the table 24 .
  • the spindle motor 211 is provided adjacent to the spindle drive mechanism 212 .
  • the spindle of a spindle drive system 21 having a spindle motor 211 and a spindle drive mechanism 212 is perpendicular to the horizontal plane of the table 24, and the spindle drive system 21 rotates the tool 23 around the spindle.
  • the feed drive mechanism 222-1 of the feed drive system 22-1 that moves the tool 23 is connected to the tool 23 via a structure including the spindle drive mechanism 212 to which the tool 23 is attached.
  • the servomotor 221-1 of the feed drive system 22-1 is provided adjacent to the feed drive mechanism 222-1.
  • the feed shaft of the feed drive system 22-1 is parallel to the main shaft, and the feed drive system 22-1 moves the tool 23 up and down along the feed shaft.
  • a feed drive mechanism 222-2 of a feed drive system 22-2 that moves the table 24 is connected to the table 24.
  • the servomotor 221-2 of the feed drive system 22-2 is provided adjacent to the feed drive mechanism 222-2.
  • the feed axis of the feed drive system 22-2 is in the horizontal plane of the table 24, and the feed drive system 22-2 moves the table 24 in the horizontal direction.
  • the machine tool 2 feeds in a direction perpendicular to the feed shaft of the feed drive system 22-2 and within the horizontal plane of the table 24. It may further have a feed drive system 22 having a shaft.
  • the physical configuration shown here is an example for facilitating the explanation, and the physical configuration of the machine tool 2 is not limited to the example shown in FIG.
  • the number of feed drive systems 22 of the machine tool 2 may be one, or three or more.
  • the directions of the main shaft and the feed shaft are also examples.
  • the table-like table 24 is an example of a mechanism for holding the object W to be processed, and may have any structure as long as it can hold the object W to be processed and can control the position relative to the tool 23 .
  • the numerical controller 3 has a command generator 31 , a memory 32 , a coupled simulation unit 33 , a process evaluation unit 34 and a drive controller 35 .
  • the numerical control program 4 contains a plurality of commands that instruct the movement of the main shaft and feed shaft of the machine tool 2.
  • a command included in the numerical control program 4 is a command for designating a path along which the tool 23 moves by a position relative to the workpiece W, for example.
  • the command specifying the path of the tool 23 includes a plurality of position commands specifying positions on the path.
  • the numerical control program 4 further includes a spindle rotation speed command indicating the rotation speed of the spindle at the position indicated by each position command, and a feed speed command indicating the movement speed of the feed shaft.
  • the numerical control program 4 may be given to the numerical controller 3 from the outside of the numerical controller 3 or may be held internally by the numerical controller 3 .
  • the command generation unit 31 analyzes commands written in the numerical control program 4 and generates hourly operation commands given to the machine tool 2 to control the machine tool 2 .
  • the command generation unit 31 generates a basic operation command, which is an operation command for causing the machine tool 2 to execute the command described in the numerical control program 4 without modification, and a modification, which is an operation command obtained by modifying the basic operation command. to generate driving commands;
  • the command generator 31 can generate one or more corrective driving commands.
  • the modified operation command has the same relative path of the tool 23 with respect to the workpiece W as the basic operation command, and at least one of the feed amount of the feed axis and the cut thickness of the workpiece W is changed. It can be used as an operation command.
  • the feed amount is the feed amount per unit process, for example, the feed amount per blade of the tool 23 .
  • the correction operation command at least one of the spindle rotation speed command and the feed speed command at the moment when each of the plurality of cutting edges of the tool 23 cuts into the workpiece W differs for each tool cutting edge.
  • the spindle rotation speed command and the feed speed command at each time are modulated corresponding to the respective angles of the plurality of cutting edges of the tool 23 and the relative position between the tool 23 and the workpiece W.
  • the command generation unit 31 generates the basic operation command at each time corresponding to the feed amount per blade for each cutting edge of the tool 23 or the cut thickness of the workpiece W set inside or outside the command generation unit 31.
  • An operation command obtained by changing at least one of the spindle rotation speed command and the feed speed command can be generated as a modified operation command.
  • the command generation unit 31 outputs the generated basic operation command and modified operation command to the coupled simulation unit 33 and the drive control unit 35, respectively.
  • FIG. 3 is a diagram showing time waveforms of the spindle rotation speed and the feed speed of the basic operation command.
  • two positions P1 and P2 are specified in the numerical control program 4, and constant values of the spindle rotation speed and feed rate are specified for the command trajectory between the positions P1 and P2.
  • the basic operation command is an operation command for causing the machine tool 2 to execute the command written in the numerical control program 4 without modification. Therefore, as described in the numerical control program 4, the spindle rotation speed and the feed speed specified by the basic operation command for the command trajectory between the positions P1 and P2 are constant.
  • FIG. 4 is a diagram showing the tool 23 and the workpiece W when machining is performed using the spindle rotation speed and feed rate shown in FIG.
  • the tool 23 is moving from the position P1 toward the position P2 while rotating in the rotation direction R1, and the blade of the tool 23 cuts the workpiece W when it comes into contact with the workpiece W.
  • the feed amount c per tooth is constant.
  • the cutting area A1 per blade is also constant.
  • FIG. 5 is a diagram showing time waveforms of the spindle rotation speed and the feed speed of the correction operation command.
  • the spindle speed and feed rate are varied sinusoidally based on the constant values described in the numerical control program 4. .
  • FIG. 6 is a diagram showing the tool 23 and the workpiece W when machining is performed using the spindle rotation speed and feed rate shown in FIG.
  • the tool 23 is moving from the position P1 toward the position P2 while rotating in the rotation direction R1, and the blade of the tool 23 cuts the workpiece W when it comes into contact with the workpiece W.
  • the spindle rotation speed and the feed rate are always changed. Therefore, the feed amount c per blade changes with time, and as a result, the cutting area A1 per blade also changes for each blade.
  • the command generation unit 31 sets the spindle rotation speed and the feed speed to a sinusoidal variation pattern based on the feed amount c per blade or the cut thickness of the workpiece W based on the basic operation command. was changed to generate a corrected operation command.
  • the variation pattern used is not limited to a sinusoidal wave shape, and various variation patterns including a triangular wave shape and a random wave shape may be used.
  • the command generator 31 can also generate a modified run command by superimposing a predetermined profile variation on at least one of the spindle rotation speed and the feed speed of the basic run command.
  • the command generation unit 31 can hold in advance information indicating a profile of variation superimposed on the basic operation command. Also, here, the command generation unit 31 generates one corrected operation command from one basic operation command, but the command generation unit 31 generates a plurality of corrected operation commands from one basic operation command. may
  • the storage unit 32 stores a machining process model 321 , a dynamics model 322 , a spindle drive control model 323 , a feed drive control model 324 and machining condition information 325 .
  • the storage unit 32 can output the stored information to the coupled simulation unit 33 .
  • the machining condition information 325 includes tool shape information including the number of teeth of the tool 23, tool diameter and helix angle, and depth of cut when the tool 23 is used. Details of the machining process model 321, the dynamics model 322, the spindle drive control model 323, and the feed drive control model 324 will be described later.
  • the cutting process performed by the machine tool 2 is a physical phenomenon in which the machining process and machine dynamics affect each other. Therefore, in order to manage or control the machining state, an integrated analysis of both the machining process and the machine dynamics is required. It is desirable to Here, the machining process represents a series of processes in which the cutting edge of the tool 23 penetrates the object W to form a machined surface while generating chips.
  • Machine dynamics represents the dynamic behavior of a structure that vibrates due to vibration sources inside and outside the machine tool 2 .
  • the structure here can include the tool 23 and the workpiece W in addition to the structure that constitutes the machine tool 2 .
  • the drive system 20 is controlled by the numerical controller 3 so that the tool 23 rotates and moves along a predetermined path with respect to the workpiece W.
  • the cutting force Fc generated between the tool 23 and the workpiece W is transmitted to the feed drive system 22 as a disturbance force Fd through the structure, and the disturbance torque It is transmitted to the spindle drive system 21 as Td .
  • the position of the feed drive system 22 is determined by the amplitude of the disturbance force Fd and Varies according to frequency.
  • T d a disturbance torque
  • T d when a disturbance torque T d is applied to the spindle drive system 21, the rotation angle of the spindle drive system 21 changes relative to the rotation angle when the tool 23 is not cutting the workpiece W.
  • FIG. 7 is a diagram showing the relationship between the spindle drive system 21, machine dynamics, and machining process M shown in FIG.
  • FIG. 8 is a diagram showing the physical quantities shown in FIG. 7 together with the physical configuration of the machine tool 2.
  • the numerical controller 3 gives an operation command to the spindle drive system 21
  • the spindle motor 211 drives the spindle drive mechanism 212
  • the structure of the machine tool 2 including the tool 23 rotates, and the workpiece W is machined. do.
  • the spindle drive system 21 is controlled to the spindle drive system angle ⁇ 1 based on the operation command, the actual angle of the tool 23 becomes the tool angle ⁇ 2 under the influence of the tool-side mechanical dynamics MD1.
  • a series of machining processes M are executed in which the tool 23 enters the workpiece W and forms a machined surface while generating chips.
  • the cutting torque Tc generated at this time is fed back to the spindle drive system 21 as a disturbance torque Td through the structure under the influence of the tool-side mechanical dynamics MD1.
  • Machine tool 2 outputs a feedback signal to numerical controller 3 . If the state of the spindle drive system 21 receiving the disturbance torque T d is different from the operation command, the numerical controller 3 changes the operation command based on the feedback signal transmitted from the spindle drive system 21 .
  • FIG. 9 is a diagram showing the relationship between the feed drive system 22-2, machine dynamics, and machining process M shown in FIG.
  • FIG. 10 is a diagram showing the physical quantities shown in FIG. 9 together with the physical configuration of the machine tool 2.
  • the numerical controller 3 gives an operation command to the feed drive system 22-2
  • the workpiece W is machined by the relative motion between the tool 23 and the workpiece W.
  • the servo motor 221-2 of the feed drive system 22-2 drives the feed drive mechanism 222-2 based on the operation command, and as a result, the table 24 undergoes drive system displacement r1.
  • the actual displacement generated in the workpiece W becomes the structure displacement r2 under the influence of the workpiece-side mechanical dynamics MD2 when the drive system displacement r1 occurs.
  • the cutting force F c generated at this time is fed back to the feed drive system 22-2 as a disturbance force F d through the structure. If the state of the feed drive system 22-2 receiving the disturbance force Fd is different from the operation command, the numerical controller 3 changes the run command based on the feedback signal transmitted from the feed drive system 22-2.
  • the machining process M, the mechanical dynamics, and the drive system 20 form a coupled system, and the numerical controller 3 participates in the machining process M via the drive system 20 and the mechanical dynamics.
  • the machining point where the cutting force Fc is generated disappears along with the generation of chips. cannot be detected. Therefore, in order to accurately evaluate the cutting including the motion of the tool 23 and the workpiece W, a simulation including the operation of the spindle drive system 21 and the feed drive system 22 is performed in addition to the machining process M and machine dynamics. There is a need to do.
  • machining process model 321, the dynamics model 322, the spindle drive control model 323, and the feed drive control model 324 stored in the storage unit 32 will be described. These models are used when the joint simulation unit 33, which will be described later, performs a simulation.
  • the machining process model 321 represents machining characteristics between the tool 23 and the workpiece W.
  • FIG. More specifically, the machining process model 321 is a mathematical model that expresses the cutting force Fc generated according to the positional relationship between the tool 23 and the workpiece W.
  • Formula (1) shown below is an example of a formula that expresses the cutting force Fc while the cutting edge of the tool 23 is in contact with the workpiece W.
  • Formula (1) is calculated using the specific cutting force K c , the edge force coefficient K e , the minute thickness ⁇ a of the cross section of the tool 23, the cut thickness h of the workpiece W, the rotation angle ⁇ of the tool 23, and the time t. It represents the minute cutting force ⁇ F c per cross section of the tool 23 .
  • the total cutting force Fc generated by the cutting of the tool 23 can be calculated by summing the minute cutting force ⁇ Fc shown in Equation (1) in the axial direction of the tool 23.
  • the cutting thickness h of the workpiece W is the distance between the previously machined surface and the current machined surface in the radial direction of the tool 23 .
  • Equation (1) expresses that the cutting force Fc can be calculated from the sum of the force proportional to the cut thickness h and a constant amount of force called edge force.
  • the cut thickness h can be expressed by the following formula (2).
  • the cut thickness h is composed of a component representing the nominal cut thickness determined by the feed amount c of the tool 23 per blade, a component representing the relative vibration of the tool 23 and the workpiece W, and a component representing the relative vibration of the tool 23. It is represented by the sum of the component representing the increase or decrease in the cut thickness due to the difference in the radius of rotation of each cutting edge when a plurality of cutting edges are provided.
  • the components representing the relative vibration of the tool 23 and the workpiece W are the radial direction component u r of the tool 23 of the relative displacement between the tool 23 and the workpiece W at the moment when the machining surface is cut this time, and the previous machining surface and the tool radial direction component w r of the relative displacement between the tool 23 and the workpiece W transferred to .
  • the component representing the increase or decrease in the cut thickness due to the difference in the radius of gyration of each cutting edge is represented by the radius of gyration correction amount ⁇ e of the cutting edge of the tool 23 .
  • Formula (1) is an example of the machining process model 321, and the machining process model 321 is not limited to the above.
  • a model that calculates the cutting force Fc using voxels expressing the shape of the tool 23 and the shape of the workpiece W may be used.
  • Dynamics model 322 represents the dynamic properties of structures that vibrate during operation of machine tool 2 .
  • the dynamics model 322 is a mathematical model representing dynamic displacement of the structure when a dynamic force is applied to the structure.
  • the behavior of the workpiece W connected to the drive system 20 when the cutting force Fc is applied to the workpiece W can be expressed by the following formula (3).
  • Formula (3) is an example of a formula that expresses the vibration of the object W to be processed.
  • the cutting force F c generated between the tool 23 and the workpiece W is the relative displacement u between the tool 23 and the workpiece W, the relative displacement v of the drive system 20, and the equivalent mass m of the workpiece W. , the equivalent viscosity coefficient C of the workpiece W, and the equivalent spring constant K of the workpiece W.
  • Equation (3) expresses the mechanical dynamics in which the cutting force Fc is transmitted through the workpiece W to the drive system 20 as a disturbance force Fd .
  • the dynamics model 322 is not limited to Equation (3).
  • it may be a model that expresses the shape of the workpiece W in voxels and calculates the displacement when the structure is vibrated using FEM (Finite Element Method) analysis.
  • FEM Finite Element Method
  • the dynamics model 322 described here expresses only the vibration of the workpiece W
  • the dynamics model 322 expresses the vibration of the tool 23 or other structures instead of the workpiece W. good too.
  • the dynamics model 322 may represent vibrations of both the tool 23 and the workpiece W.
  • the spindle drive control model 323 is a mathematical model representing the spindle drive system 21 of the machine tool 2 and a spindle drive controller that exists in the drive control unit 35 of the numerical controller 3 and controls the spindle drive system 21. .
  • FIG. 11 is a diagram for explaining an example of the spindle drive control model 323 of FIG.
  • the spindle drive control model 323 is based on the position control of the spindle drive controller under the condition that the disturbance torque Td caused by the cutting torque Tc is transmitted to the spindle drive system 21 when the spindle rotation angle command is given. It is a mathematical model in which the position and speed of the spindle drive system 21 are controlled by a controller and a speed controller.
  • K pp1 , K vp1 , and K vi1 are control gains, which are proportional gain K pp1 for position control, proportional gain K vp1 for velocity control, and integral gain K vi1 for velocity control, respectively.
  • P 1 (s) is the torque-to-position transfer function of the entire spindle drive system 21, and s is a complex number. P 1 (s) can be identified from the actual response of the spindle drive system 21 by known system identification techniques.
  • the spindle drive system 21 is modeled as a one-inertia system here, the spindle drive system 21 may be modeled as a multi-inertia system. Also, a feedforward controller may be added to the spindle drive controller.
  • the feed drive control model 324 is a mathematical model representing the feed drive system 22 of the machine tool 2 and the feed drive controller within the drive control unit 35 of the numerical controller 3 .
  • FIG. 12 is a diagram for explaining an example of the feed drive control model 324 of FIG.
  • the feed drive control model 324 calculates the position of the feed drive controller under the condition that the disturbance force Fd caused by the cutting force Fc is transmitted to the spindle drive system 21 when the feed drive system position command is given.
  • K pp2 , K vp2 , and K vi2 are control gains, which are proportional gain K pp2 for position control, proportional gain K vp2 for velocity control, and integral gain K vi2 for velocity control, respectively.
  • P 2 (s) is the force-to-position transfer function of the entire feed drive system 22, where s is a complex number. P 2 (s) can be identified from the actual response of the feed drive system 22 by known system identification techniques.
  • the feed drive system 22 is modeled as a one-inertia system here, the feed drive system 22 may be modeled as a multi-inertia system.
  • a feedforward controller may be added to the feed drive controller.
  • the coupled simulation unit 33 simulates machining when each of the plurality of operation commands output by the command generation unit 31 is given to the machine tool 2, and calculates process information indicating the simulation result.
  • the process information includes parameters with which machining errors can be compared, such as the cut thickness of the workpiece W, the cutting force Fc , the disturbance force Fd, and the like.
  • the cutting thickness of the workpiece W is, for example, the cutting thickness of the workpiece W per blade of the tool 23 .
  • the coupled simulation unit 33 simulates the effects of the operation of the drive system 20 including the spindle drive system 21 and the feed drive system 22 and the dynamics of the structure that causes vibration during the operation of the machine tool 2 on the machining process M. , the machining performed by the machine tool 2 can be simulated.
  • the coupled simulation unit 33 performs simulations for the number of operation commands generated by the command generation unit 31, and generates process information indicating simulation results for the number of operation commands.
  • the coupled simulation unit 33 outputs the generated process information to the process evaluation unit 34 .
  • the coupled simulation unit 33 provides the machining process model 321, the dynamics model 322, the spindle drive control model 323, and the feed drive control model 324 with the operation commands output by the command generation unit 31 under the specified machining conditions.
  • the coupled simulation unit 33 can use the machining process model 321 , dynamics model 322 , spindle drive control model 323 , feed drive control model 324 and machining condition information 325 stored in the storage unit 32 .
  • the designated processing condition becomes the processing condition indicated by the processing condition information 325 .
  • the coupled simulation unit 33 simulates the machining process M between the tool 23 and the workpiece W, the mechanical dynamics of the structure of the machine tool 2, the operation of the spindle drive system 21, and the operation of the feed drive system 22. run the generated simulation.
  • a coupled model is created by combining each model of a machining process model 321, a dynamics model 322, a spindle drive control model 323, and a feed drive control model 324.
  • the drive signal, the spindle drive system angle ⁇ 1, the drive system displacement r1, the tool angle ⁇ 2, and the feed system when the basic operation command and the correction operation command are given respectively.
  • the structure displacement r2 the cut thickness h of the workpiece, the cutting torque Tc , the cutting force Fc , the disturbance torque Td , the disturbance force Fd , and the feedback signal are simulated, and their time series information and frequency components Co-simulation to calculate information is performed.
  • the process evaluation unit 34 evaluates the magnitude of the machining error when using each of the plurality of operation commands based on the plurality of process information output by the coupled simulation unit 33, and calculates the basic An operation command to be given to the machine tool 2 is selected from the operation command and the corrected operation command.
  • the process evaluation unit 34 outputs a command selection signal indicating the selected operation command to the drive control unit 35 .
  • the process evaluation unit 34 can evaluate the magnitude of the machining error based on the change in the cut thickness h of the workpiece W over time.
  • the process evaluation unit 34 evaluates that the smaller the increase in the cut thickness h of the workpiece W, the smaller the machining error.
  • the process evaluation unit 34 can select the operation command that minimizes the increase in the cut thickness h as the operation command to be given to the machine tool 2 .
  • the cut thickness h represents the vibration between the tool 23 and the workpiece W. When vibration called chatter vibration occurs between the tool 23 and the workpiece W, the amplitude increases with the lapse of time, leading to worsening of machining errors.
  • the process evaluation unit 34 can select an operation command that minimizes the vibration between the tool 23 and the workpiece W by evaluating the time-dependent change in the cut thickness h.
  • the operation command that minimizes the vibration between the tool 23 and the workpiece W can minimize the machining error caused by the vibration between the tool 23 and the workpiece W.
  • the process evaluation unit 34 can evaluate the magnitude of the machining error based on the maximum amplitude of the disturbance force Fd or the disturbance torque Td when each operation command is executed. The process evaluation unit 34 evaluates that the smaller the maximum amplitude of the disturbance force Fd or the disturbance torque Td , the smaller the machining error.
  • the process evaluation unit 34 can select the operation command with the smallest maximum amplitude as the operation command to be given to the machine tool 2 . The smaller the maximum amplitude of the disturbance force Fd or the disturbance torque Td , the smaller the vibration of the drive system 20 caused by the disturbance force Fd or the disturbance torque Td . Therefore, by selecting the operation command that minimizes the maximum amplitude of the disturbance force Fd or the disturbance torque Td , the machining error caused by the vibration of the drive system 20 can be minimized.
  • the process evaluation unit 34 compares the time waveform of the process information calculated by the coupled simulation unit 33 with a preset target profile, and evaluates the magnitude of the machining error based on the deviation from the target profile. can do.
  • the target profile is a profile in which the machining error is equal to or less than the allowable value, and is preset inside the process evaluation unit 34, for example.
  • the process evaluation unit 34 evaluates that the smaller the deviation from the target profile, the smaller the machining error.
  • the process evaluation unit 34 may evaluate the deviation from the target profile based on a loss function such as a square sum error, or may evaluate the deviation from the target profile based on a machine learning method such as pattern matching. may The process evaluation unit 34 can minimize the machining error by selecting the operation command that minimizes the deviation from the target profile.
  • the process evaluation unit 34 may evaluate the magnitude of the machining error using any one of the plurality of evaluation methods described above, or may use a combination of the plurality of evaluation methods described above.
  • the drive control unit 35 controls the drive system 20 of the machine tool 2 based on the operation command indicated by the command selection signal output by the process evaluation unit 34 among the multiple operation commands generated by the command generation unit 31 .
  • the drive control unit 35 has therein a spindle drive controller for controlling the spindle drive system 21 and a feed drive controller for controlling the feed drive system 22 .
  • the spindle drive controller outputs a command to the spindle motor 211 so that the position and speed of the spindle drive system 21 become the amounts specified by the operation command while monitoring the signal of the encoder provided in the spindle drive system 21. do.
  • the feed drive controller outputs a command to the servo motor 221 while monitoring the signal of the encoder provided in the feed drive system 22 so that the position and speed of the feed drive system 22 are the amounts specified by the operation command. do.
  • FIG. 13 is a flow chart for explaining the operation of the numerical controller 3 shown in FIG.
  • the command generation unit 31 of the numerical control device 3 reads the numerical control program 4, analyzes the read numerical control program 4, and outputs the commands described in the numerical control program 4 to the machine tool. 2 and a modified operation command obtained by modifying the basic operation command (step S101). After generating one basic operation command and one or more patterns of modified operation commands, the command generation unit 31 outputs the generated operation commands to the coupled simulation unit 33 .
  • the coupled simulation unit 33 executes coupled simulation for each operation command output by the command generation unit 31 to calculate a plurality of pieces of process information (step S102).
  • the coupled simulation unit 33 outputs the calculated process information to the process evaluation unit 34 .
  • the process evaluation unit 34 compares and evaluates a plurality of pieces of process information, evaluates the magnitude of the machining error when each operation command is used, and provides the machine tool 2 with one of the basic operation command and the corrected operation command. An operation command is selected (step S103).
  • the process evaluation unit 34 outputs a command selection signal indicating the selected operation command to the drive control unit 35 .
  • the drive control unit 35 controls the operation of the machine tool 2 using the selected operation command based on the command selection signal output by the process evaluation unit 34 (step S104).
  • the command generation unit 31 determines whether reading of all commands described in the numerical control program 4 has been completed (step S105). If the reading has not been completed (step S105: No), the command generator 31 repeats the process from step S101. When the reading is completed (step S105: Yes), the processing system 1 ends the operation.
  • the numerical control device 3 sends the basic operation command generated based on the numerical control program and the modified operation command obtained by modifying the basic operation command to the machine tool 2.
  • the process information indicating the result of simulating the machining in the given case, the operation of the drive system 20 and the dynamics of the structure that causes vibration during the operation of the machine tool 2 are applied to the machining process of the workpiece W by the tool 23. Calculations are made including the influence to be given, and an operation command to be given to the machine tool 2 is selected based on the evaluation result of the process information. Therefore, even if the machining process, the operation of the drive system 20, and the mechanical dynamics of the structure that causes vibration during the operation of the machine tool 2 influence each other and machining errors occur, the numerical controller 3 Machining errors can be reduced.
  • the coupled simulation unit 33 includes a machining process model 321 representing machining characteristics between the tool 23 and the workpiece W, a dynamics model 322 representing dynamic characteristics of a structure that causes vibration during operation of the machine tool 2, A spindle drive control model 323 representing the spindle drive system 21 and the spindle drive controller that controls the spindle drive system 21, and a feed drive control model 324 representing the feed drive system 22 and the feed drive controller that controls the feed drive system 22.
  • the process information is calculated when an operation command is given under the specified machining conditions.
  • the storage unit 32 that stores the machining process model 321, the dynamics model 322, the spindle drive control model 323, the feed drive control model 324, and the machining condition information 325 indicating the machining conditions is numerically controlled. Although it is provided in the device 3 , the storage unit 32 may be provided outside the numerical control device 3 .
  • the command generator 31 determines that the relative path of movement of the tool 23 with respect to the workpiece W is the same as the basic operation command, and the feed amount per blade or the cutting thickness h of the workpiece W is changed.
  • the command can be generated as a modified run command.
  • the command generation unit 31 changes at least one of the spindle rotation speed and the feed speed of the basic operation command with respect to the feed amount per blade or the cutting thickness h of the workpiece W as the modified operation command. can do.
  • the command generator 31 can generate a modified run command by superimposing a predetermined profile variation on at least one of the spindle rotation speed and the feed speed of the basic run command. By generating the correction operation command in this way, it becomes possible to generate the operation command that reduces the machining error without changing the shape of the workpiece W.
  • the storage unit 32 may store different models and machining conditions according to the machining process described in the numerical control program 4.
  • the coupled simulation unit 33 can perform simulation using different models and machining conditions depending on the machining process.
  • the machine tool 2 has one spindle drive system 21 and one or more feed drive systems 22, but the machine tool 2 has a plurality of spindle drive systems 21. good too. Even if the machine tool 2 has a plurality of spindle drive systems 21, the operation shown in FIG. 13 may be performed in the same manner.
  • the machine tool 2 in which the tool 23 is connected to the spindle drive system 21 and the tool 23 rotates for example, like a machining center, was described.
  • the workpiece W may be connected to the spindle drive system 21 like a lathe, and the workpiece W may be rotated.
  • the command generation unit 31 can calculate the machining error from a plurality of operation commands without changing the path specified by the numerical control program 4. It is possible to select an operation command that reduces
  • FIG. 14 is a diagram showing the functional configuration of a processing system 1a according to the second embodiment. Functional configurations having functions similar to those of the first embodiment are denoted by the same reference numerals as those of the first embodiment, and overlapping descriptions are omitted. Differences from the first embodiment will be mainly described below.
  • the machining system 1a is different from the machining system 1 in that an operation command is generated based on the simulation result.
  • the machining system 1a has a machine tool 2 and a numerical controller 3a.
  • the numerical controller 3 a controls the machine tool 2 based on commands written in the numerical control program 4 , similarly to the numerical controller 3 .
  • the numerical control device 3a has a command generation section 31a, a storage section 32a, a coupled simulation section 33a, a process evaluation section 34, and a drive control section .
  • the command generation unit 31a can use the process information output by the coupled simulation unit 33a when generating the correction operation command.
  • the command generation unit 31a can use the operation command obtained by correcting the basic operation command based on the process information as the corrected operation command.
  • the command generator 31a can use the machining process model 321, the dynamics model 322, the spindle drive control model 323, the feed drive control model 324, and the machining condition information 325 stored in the storage 32a.
  • the command generation unit 31a adds a variation that compensates for the amplitude or phase of the dynamic vibration component superimposed on the cut thickness of the workpiece W included in the process information to the basic operation command. , to generate a modified run command.
  • the dynamic vibration component corresponds to the second term on the right side of Equation (2) above.
  • the command generating unit 31a uses a band stop filter that attenuates the amplitude of the dynamic vibration component superimposed on the cut thickness of the workpiece W, or detects the vibration based on the cutting timing of the cutting edge of the tool 23.
  • a variation that compensates for the amplitude or phase of the vibration component can be added to the basic run command, such as by using a phase compensation filter that compensates for the phase lag of the component.
  • the storage unit 32a stores a machining process model 321, a dynamics model 322, a spindle drive control model 323, a feed drive control model 324, and machining condition information 325, and stores the stored information. Output to the coupled simulation unit 33a.
  • the storage unit 32a can also output the stored information to the command generation unit 31a.
  • the coupled simulation unit 33a calculates process information indicating the result of simulating machining when the machine tool 2 is given the basic operation command and the modified operation command.
  • the coupled simulation unit 33a outputs the calculated process information to the process evaluation unit 34 and also to the command generation unit 31a.
  • FIG. 15 is a flow chart for explaining the operation of the numerical controller 3a shown in FIG.
  • the command generation unit 31a of the numerical control device 3a reads the numerical control program 4, analyzes the read numerical control program 4, and outputs the command described in the numerical control program 4 to the machine tool. 2 is generated (step S201).
  • the command generation unit 31a outputs the generated basic operation command to the coupled simulation unit 33a.
  • the coupled simulation unit 33a generates process information by performing a coupled simulation when the machine tool 2 executes the basic operation command output by the command generation unit 31a (step S202).
  • the coupled simulation unit 33a outputs the generated process information to the process evaluation unit 34 and the command generation unit 31a.
  • the command generation unit 31a corrects the basic operation command based on the process information output as a result of executing step S202, and generates a modified operation command (step S203).
  • the command generation unit 31a outputs the generated correction operation command to the coupled simulation unit 33a.
  • the coupled simulation unit 33a generates process information by performing a coupled simulation when the machine tool 2 executes the corrective operation command output by the command generation unit 31a (step S204).
  • the coupled simulation unit 33a outputs the generated process information to the process evaluation unit 34 and the command generation unit 31a.
  • the process evaluation unit 34 compares and evaluates a plurality of pieces of process information, evaluates the magnitude of the machining error when each operation command is used, and provides the machine tool 2 with one of the basic operation command and the corrected operation command. An operation command is selected (step S205).
  • the process evaluation unit 34 outputs a command selection signal indicating the selected operation command to the drive control unit 35 .
  • the drive control unit 35 controls the operation of the machine tool 2 using the selected operation command based on the command selection signal output by the process evaluation unit 34 (step S206).
  • the command generation unit 31a determines whether reading of all commands described in the numerical control program 4 has been completed (step S207). If the reading has not been completed (step S207: No), the command generator 31a repeats the process from step S201. If the reading is completed (step S207: Yes), the processing system 1a ends its operation.
  • the command generation unit 31a generates the modified operation command based on the process information indicating the simulation result when the basic operation command is given to the machine tool 2. Further corrective operation commands may be generated based on the process information indicating the simulation results when given to the machine 2 .
  • a machine learning technique is used with the amplitude or phase of the vibration component of the cut thickness of the workpiece W as an evaluation value to issue a correction operation command capable of reducing the vibration of the cut thickness of the workpiece W. Exploratory techniques can be employed.
  • FIG. 16 is a diagram showing an example of the configuration of a learning device 50 related to the numerical control device 3a shown in FIG.
  • the learning device 50 may be included in the numerical control device 3a shown in FIG. 14, or may be an information processing device different from the numerical control device 3a.
  • the learning device 50 has a learning data acquisition unit 51 and a model generation unit 52 .
  • the learning data acquisition unit 51 acquires the operation command generated by the command generation unit 31a and the process information corresponding to the operation command, that is, the process information indicating the simulation result when the operation command is given to the machine tool 2 for learning. Get it as data.
  • the learning data acquisition unit 51 can output the acquired learning data to the model generation unit 52 .
  • the learning data acquisition unit 51 may acquire all of the process information, or may acquire part of the process information.
  • the learning data acquisition unit 51 can acquire, as learning data, a parameter indicating the magnitude of the machining error from the process information.
  • the learning data acquisition unit 51 can acquire the cutout thickness of the workpiece W, or the amplitude or phase of the vibration component of the cutout thickness of the workpiece W as learning data.
  • the model generation unit 52 learns a new corrected operation command based on the learning data including the operation command and the process information indicating the simulation result when the operation command is given to the machine tool 2 . That is, the model generator 52 generates a learned model for inferring a new corrective operation command from the process information of the numerical controller 3a. The model generation unit 52 outputs the generated learned model to the learned model storage unit 53 .
  • the learning algorithm used by the model generation unit 52 can be known algorithms such as supervised learning, unsupervised learning, and reinforcement learning. As an example, a case where reinforcement learning is applied will be described.
  • reinforcement learning an agent, who is the subject of action in an environment, observes the parameters of the environment that indicate the current state and decides what action to take. The environment dynamically changes according to the actions of the agent, and the agent is rewarded according to the change in the environment. The agent repeats this and learns the course of action that yields the most rewards through a series of actions.
  • Q-learning and TD-learning are known. For example, in the case of Q-learning, a general update formula for the action-value function Q(s, a) is represented by Equation (4) below.
  • s t represents the state of the environment at time t
  • a t represents the action at time t.
  • Action a t changes the state to s t+1 .
  • r t+1 represents the reward obtained by changing the state
  • represents the discount rate
  • represents the learning coefficient.
  • takes a value in the range of 0 ⁇ 1
  • takes a value in the range of 0 ⁇ 1.
  • the corrective operation command becomes the action at
  • the process information becomes the state st
  • the learning device 50 learns the best action at in the state at time t.
  • the update formula represented by formula (4) increases the action value Q if the action value Q of action a with the highest Q value at time t+1 is greater than the action value Q of action a executed at time t. On the contrary, the action value Q is decreased. In other words, the action value function Q(S, a) is updated so that the action value Q of action a at time t approaches the best action value at time t+1. As a result, the best action value Q in a certain environment is sequentially propagated to the action value Q in the previous environment.
  • the model generation unit 52 when generating a trained model by reinforcement learning, includes a reward calculation unit 54 and a function update unit 55.
  • the remuneration calculation unit 54 calculates remuneration based on the driving command and process information.
  • the remuneration calculator 54 calculates remuneration r based on remuneration criteria D including remuneration increase criteria D1 and remuneration decrease criteria D2.
  • the remuneration standard D is determined based on the size of the processing error indicated by the process information.
  • the magnitude of the machining error for example, the amplitude of the vibration component of the cut thickness of the workpiece W is used.
  • the reward increase criterion D1 is that the amplitude of the vibration component of the cut thickness of the workpiece W is less than the threshold value
  • the reward decrease criterion D2 is that the amplitude of the vibration component of the cut thickness of the workpiece W is less than the threshold value. It can be said that it is more than.
  • the reward calculation unit 54 increases the reward r by, for example, giving a reward of "+1" when the reward increase criterion D1 is satisfied, and gives a reward of, for example, "-1" when the reward decrease criterion D2 is satisfied. , decrease the reward r.
  • the reward calculator 54 outputs the calculated reward r to the function updater 55 .
  • the phase of the vibration component of the cut thickness of the workpiece W can be used in addition to the amplitude of the vibration component of the chip thickness.
  • the phase of the vibration component of the cutting thickness is the phase of vibration superimposed on the chip shape at the moment when the cutting edge of the tool 23 starts cutting the workpiece W.
  • the reward increase criterion D1 is set so that the phase of the vibration component of the cut thickness of the workpiece W is a value within a predetermined range
  • the reward decrease criterion D2 is the vibration of the cut thickness of the workpiece W. It is possible that the phase of the component is a value outside the above range.
  • the function updating unit 55 updates the function for determining the corrected driving command according to the reward r calculated by the reward calculating unit 54 and outputs the function to the learned model storage unit 53 .
  • the action value function Q(s t , a t ) represented by Equation (4) is used as the function for calculating the corrective driving command.
  • the above learning is repeatedly executed.
  • the learned model storage unit 53 stores the action value function Q(s t , a t ) updated by the function updating unit 55, that is, the learned model.
  • FIG. 17 is a flow chart for explaining the learning process of the learning device 50 shown in FIG.
  • the learning data acquisition unit 51 acquires the operation command generated by the command generation unit 31a and the process information indicating the simulation result when the operation command is given to the machine tool 2 as learning data (step S301).
  • the model generation unit 52 calculates a reward r based on the driving command and the process information included in the learning data acquired by the learning data acquisition unit 51 (step S302). Specifically, the remuneration calculation unit 54 acquires the driving command and the process information, and determines whether to increase or decrease the remuneration r based on a predetermined remuneration standard D (step S303). .
  • step S303 increase
  • step S304 increases the remuneration r
  • step S305 decreases the remuneration r
  • the function update unit 55 updates the action-value function Q(s t , a t ) stored in the learned model storage unit 53 based on the reward r calculated by the reward calculation unit 54 (step S306).
  • the learning device 50 repeatedly executes the processes from step S301 to step S306, and stores the generated action-value function Q(s t , a t ) as a learned model.
  • the learned model storage unit 53 is provided outside the learning device 50 in FIG. 16, the learning device 50 may have the learned model storage unit 53 inside.
  • the learned model storage section 53 may be provided in the same storage device as the storage section 32a, or may be provided in a separate storage device. .
  • FIG. 18 is a diagram showing an example of the configuration of the reasoning device 60 related to the numerical control device 3a shown in FIG.
  • the inference device 60 has a data acquisition unit 61 and an inference unit 62 .
  • the reasoning device 60 may be provided in the numerical control device 3a, or may be an information processing device different from the numerical control device 3a.
  • the inference device 60 is provided, for example, in the command generator 31a of the numerical controller 3a.
  • the data acquisition unit 61 acquires process information output by the coupled simulation unit 33a.
  • the data acquisition unit 61 outputs the acquired data to the inference unit 62 .
  • the inference unit 62 uses the learned model stored in the learned model storage unit 53 to infer a new corrective operation command from the process information acquired by the data acquisition unit 61 . That is, by inputting the process information output by the data acquisition unit 61 to the learned model, the inference unit 62 can infer a corrective operation command suitable for the process information.
  • the inference device 60 outputs a corrective operation command using a learned model obtained by performing machine learning using data acquired from the numerical controller 3a.
  • a learned model may be acquired from 3a, and a corrected operation command may be output based on this learned model.
  • FIG. 19 is a flowchart for explaining the operation of the inference device 60 shown in FIG.
  • the data acquisition unit 61 of the inference device 60 acquires process information as data for inference (step S401), and outputs the acquired process information to the inference unit 62.
  • FIG. 19 is a flowchart for explaining the operation of the inference device 60 shown in FIG.
  • the data acquisition unit 61 of the inference device 60 acquires process information as data for inference (step S401), and outputs the acquired process information to the inference unit 62.
  • the inference unit 62 inputs the process information, which is data for inference acquired in step S401, to the learned model stored in the learned model storage unit 53 (step S402).
  • the inference unit 62 outputs a correction operation command that is the result of inputting process information to the learned model (step S403).
  • the command generation unit 31a of the numerical controller 3a acquires the corrective operation command output by the inference unit 62, and outputs the acquired corrective operation command to the coupled simulation unit 33a.
  • the inference unit 62 uses reinforcement learning as a learning algorithm, but the learning algorithm used by the inference unit 62 is not limited to reinforcement learning.
  • the inference unit 62 can also use supervised learning, unsupervised learning, or semi-supervised learning as learning algorithms other than reinforcement learning.
  • model generation unit 52 deep learning that learns to extract the feature amount itself can also be used, and other known methods such as neural networks, genetic programming, function reasoning, etc.
  • Machine learning may be performed according to programming, support vector machines, and the like.
  • each of the learning device 50 and the reasoning device 60 may be connected to the numerical control device 3a via a network, for example, and may be separate devices from the numerical control device 3a. Further, each of the learning device 50 and the reasoning device 60 may be built in the numerical control device 3a. Furthermore, each of learning device 50 and reasoning device 60 may reside on a cloud server.
  • the model generator 52 may learn the corrective operation command using learning data acquired from a plurality of numerical controllers 3a.
  • the model generator 52 may acquire learning data from a plurality of numerical controllers 3a used in the same area, or may acquire learning data from a plurality of numerical controllers 3a independently operating in different areas. It is also possible to learn the corrective operation command by using the learning data that is stored in the vehicle. It is also possible to add or exclude the numerical control device 3a that collects the learning data from the targets in the middle.
  • the learning device 50 that has learned the corrective operation command for a certain numerical controller 3a is applied to another numerical controller 3a, and the corrective operation command is re-learned and updated for the other numerical controller 3a. You may do so.
  • the numerical controller 3a As described above, the numerical controller 3a according to the second embodiment generates the basic operation command generated from the numerical control program 4 and the modified operation command obtained by modifying the basic operation command using the process information. An operation command to be given to the machine tool 2 is selected based on the evaluation result of the operation command.
  • the command generation unit 31a generates a new correction operation command based on the simulation result executed by the coupled simulation unit 33a, and therefore generates the correction operation command based on the drive system 20, the machine dynamics, and the characteristics of the machining process M. be able to. Therefore, the numerical controller 3a can efficiently reduce machining errors.
  • the numerical controller 3a may generate another corrective operation command from the corrective operation command.
  • the learning device 50 is used to learn the corrective operation command by machine learning based on learning data including the corrective operation command and process information.
  • the numerical controller 3a can use the corrected operation command output by the inference device 60 that infers the corrected operation command using the learned model that is the learning result of the learning device 50 .
  • the numerical controller 3a can exploratoryly generate a corrected operation command, so the machining system 1a can reduce machining errors without preparing rules for correcting the operation command in advance. It is possible to generate corrective driving commands that can be used.
  • FIG. 20 is a diagram showing the configuration of a processing system 1b according to the third embodiment. Components having functions similar to those of the first embodiment are denoted by the same reference numerals as those of the first embodiment, and overlapping descriptions are omitted. In the following, parts different from Embodiments 1 and 2 will be mainly described.
  • the machining system 1b has a machine tool 2b and a numerical controller 3b.
  • the machine tool 2 b has a spindle drive system 21 , a feed drive system 22 , a tool 23 , a table 24 and a sensor 25 .
  • the sensor 25 detects vibrations of structures that vibrate during operation of the machine tool 2b.
  • the sensor 25 is, for example, an acceleration sensor or force sensor.
  • the sensor 25 may be an encoder provided inside the drive system 20 in advance for feedback control of the drive system 20 .
  • the sensor 25 is connected to the numerical controller 3b, and a sensor signal obtained by the sensor 25 is output to the numerical controller 3b.
  • the numerical control device 3b has a command generation unit 31b, a storage unit 32, a coupled simulation unit 33, a process evaluation unit 34, and a drive control unit 35.
  • Numerical controller 3b differs from Embodiments 1 and 2 in that an operation command is generated based on a sensor signal output from sensor 25. FIG.
  • the command generation unit 31b generates a basic operation command in the same manner as the command generation unit 31 of the first embodiment. Further, the command generation unit 31b can generate a modified driving command by modifying the basic driving command based on the sensor signal output by the sensor 25.
  • a correspondence table between the amplitude of the sensor signal and the feed amount per blade or the cut thickness of the workpiece W is recorded in advance, and the command generation unit 31b calculates the feed per blade based on the correspondence table.
  • the feed amount or the cut thickness of the workpiece W may be determined.
  • the operation of the numerical control device 3b is the same as the operation of the numerical control device 3 shown in FIG. 13 except that the sensor signal is used when generating the corrective operation command, so detailed description will be omitted here.
  • the command generation unit 31b generates the modified operation command by modifying the basic operation command using the sensor signal, but the operation command may be modified sequentially. That is, the command generator 31b may further generate a corrected operation command using the sensor signal detected when the corrected operation command generated using the sensor signal is given to the machine tool 2b. In this case, it is possible to use a method of searching for a corrective driving command that reduces the vibration of the sensor signal using a machine learning method such as reinforcement learning using the amplitude or phase of the vibration component of the sensor signal as an evaluation value.
  • a learned model can be obtained using the learning device 50 shown in FIG. 16, and a corrected driving command can be obtained from the learned model using the inference device 60 shown in FIG.
  • the third embodiment can be applied. Description of the method for generating the correction operation command used by the numerical controller 3b is omitted.
  • the operation command acquired by the learning data acquisition unit 51 is the operation command corresponding to the sensor signal, specifically, the operation command given to the machine tool 2b when the sensor signal was acquired.
  • the machine tool 2b includes the sensor 25, and the command generator 31b of the numerical controller 3b generates the corrective operation command based on the sensor signal. can be done. Therefore, the command generation unit 31b can modify the operation command according to the state of vibration actually generated in the machine tool 2b, and can efficiently generate the operation command that reduces the machining error. .
  • the machining system 1b can generate the corrected operation command that reduces the machining error without preparing a correction rule for the operation command in advance. be possible.
  • the model generation unit 52 and the data acquisition unit 61 and the inference unit 62 of the inference device 60 are implemented by processing circuits. These processing circuits may be implemented by dedicated hardware, or may be control circuits using a CPU (Central Processing Unit).
  • CPU Central Processing Unit
  • FIG. 21 is a diagram showing dedicated hardware for realizing the functions of the numerical controllers 3, 3a, 3b, the learning device 50, and the inference device 60 according to the first to third embodiments.
  • the processing circuit 90 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
  • this control circuit is, for example, the control circuit 91 having the configuration shown in FIG.
  • FIG. 22 is a diagram showing the configuration of a control circuit 91 for implementing the functions of the numerical controllers 3, 3a, 3b, learning device 50, and reasoning device 60 according to the first to third embodiments.
  • the control circuit 91 has a processor 92 and a memory 93 .
  • the processor 92 is a CPU, and is also called an arithmetic unit, microprocessor, microcomputer, DSP (Digital Signal Processor), or the like.
  • the memory 93 is, for example, non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (registered trademark) (Electrically EPROM), They include magnetic discs, flexible discs, optical discs, compact discs, mini discs, and DVDs (Digital Versatile Disks).
  • the control circuit 91 When the above processing circuit is implemented by the control circuit 91, it is implemented by the processor 92 reading and executing a program stored in the memory 93 and corresponding to the processing of each component.
  • the memory 93 is also used as temporary memory in each process executed by the processor 92 .
  • the program executed by the processor 92 may be stored in a storage medium and provided, or may be provided via a communication channel.
  • the functions of the numerical controllers 3, 3a, 3b, the learning device 50, and the inference device 60 according to the first to third embodiments are either the processing circuit 90 shown in FIG. 21 or the control circuit 91 shown in FIG. Either one may be used, or the processing circuit 90 and the control circuit 91 may be used in combination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

数値制御装置(3)は、数値制御プログラム(4)に基づいて運転指令である基本運転指令を生成するとともに、基本運転指令を修正した運転指令である修正運転指令を生成する指令生成部(31)と、基本運転指令および修正運転指令のそれぞれを工作機械(2)に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、駆動系(20)の動作と、工作機械(2)の動作中に振動を生じる構造物のダイナミクスとが、工具(23)による加工対象物(W)の加工プロセス(M)に与える影響を含めて算出する連成シミュレーション部(33)と、複数のプロセス情報に基づいて、複数の運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、基本運転指令および修正運転指令の中から工作機械(2)に与える運転指令を選択するプロセス評価部(34)と、を備えることを特徴とする。

Description

数値制御装置、加工システム、数値制御方法および加工方法
 本開示は、工作機械を制御する数値制御装置、加工システム、数値制御方法および加工方法に関する。
 工作機械は、工具を用いて加工対象物に力またはエネルギーを与えることで加工対象物から不要部分を除去する加工である除去加工を行うことができる加工装置である。工作機械は、工具または加工対象物を回転させる主軸駆動系と、工具および加工対象物の相対位置を変化させる送り駆動系とを有し、数値制御装置が数値制御プログラムに基づいて生成した運転指令に基づいて主軸駆動系および送り駆動系を駆動することで、加工対象物を加工する。ここで、数値制御プログラムに記述された指令の通りに工作機械を制御しても、様々な要因によって指令の通りに加工されず、加工誤差が生じることがある。
 特許文献1には、切削加工中に工具に加わる切削抵抗によって生じる工具の変位を演算することで、加工面の性状を再現する技術が提案されている。特許文献1に記載の方法では、工具の動特性を表すパラメータを予め記憶しておくことで、シミュレーションで計算した工具の切り取り厚さに応じた切削抵抗が発生したときの工具中心の変位を加工誤差とみなしている。
特開2013-132733号公報
 しかしながら、上記従来の技術によれば加工誤差を精度よく低減することができないという問題があった。特許文献1に記載の技術では、工具のたわみ量を予測して、工具中心の変位を加工誤差とみなしていたが、実際には、工作機械の動作中には、加工プロセスと、駆動系の動作と、工作機械の動作中に振動を生じる構造物の機械ダイナミクスとが相互に影響し合う。ここで加工プロセスとは工具の刃先が加工対象物に侵入することで切りくずを生成しながら加工面を形成するという一連の過程を表し、機械ダイナミクスとは、工作機械内外の振動源から振動が伝搬したときに振動する構造物の動的な特性を表す。このため、特許文献1に記載の方法では、加工誤差を正確に評価することができず、加工誤差を精度よく低減することができなかった。
 本開示は、上記に鑑みてなされたものであって、工作機械の加工誤差を精度よく低減することが可能な数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、加工対象物を加工するための工具または加工対象物を回転させる主軸を駆動する主軸駆動系と、工具および加工対象物の相対位置を変化させる送り軸を駆動する送り駆動系と、を含む駆動系を有する工作機械に運転指令を与えることによって、工作機械を制御する数値制御装置であって、数値制御プログラムに基づいて運転指令である基本運転指令を生成するとともに、基本運転指令を修正した運転指令である修正運転指令を生成する指令生成部と、基本運転指令および修正運転指令のそれぞれを工作機械に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、駆動系の動作と、工作機械の動作中に振動を生じる構造物のダイナミクスとが、工具による加工対象物の加工プロセスに与える影響を含めて算出する連成シミュレーション部と、複数のプロセス情報に基づいて、複数の運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、基本運転指令および修正運転指令の中から工作機械に与える運転指令を選択するプロセス評価部と、を備えることを特徴とする。
 本発明によれば、工作機械の加工誤差を精度よく低減することが可能であるという効果を奏する。
実施の形態1にかかる加工システムの機能構成を示す図 図1に示す工作機械の物理構成の一例を示す図 基本運転指令の主軸回転速度および送り速度の時間波形を示す図 図3に示す主軸回転速度および送り速度を用いて加工を行うときの工具および加工対象物を示す図 修正運転指令の主軸回転速度および送り速度の時間波形を示す図 図5に示す主軸回転速度および送り速度を用いて加工を行うときの工具および加工対象物を示す図 図1に示す主軸駆動系と機械ダイナミクスと加工プロセスとの関係を示す図 図7に示す物理量を工作機械の物理構成と共に示す図 図1に示す送り駆動系と機械ダイナミクスと加工プロセスとの関係を示す図 図9に示す物理量を工作機械の物理構成と共に示す図 図1の主軸駆動制御モデルの一例を説明するための図 図1の送り駆動制御モデルの一例を説明するための図 図1に示す数値制御装置の動作を説明するためのフローチャート 実施の形態2にかかる加工システムの機能構成を示す図 図14に示す数値制御装置の動作を説明するためのフローチャート 図14に示す数値制御装置に関する学習装置の構成の一例を示す図 図16に示す学習装置の学習処理を説明するためのフローチャート 図14に示す数値制御装置に関する推論装置の構成の一例を示す図 図18に示す推論装置の動作を説明するためのフローチャート 実施の形態3にかかる加工システムの構成を示す図 実施の形態1~3にかかる数値制御装置、学習装置、および、推論装置の機能を実現するための専用のハードウェアを示す図 実施の形態1~3にかかる数値制御装置、学習装置、および、推論装置の機能を実現するための制御回路の構成を示す図
 以下に、本開示の実施の形態にかかる数値制御装置、加工システム、数値制御方法および加工方法を図面に基づいて詳細に説明する。なお、以下の説明中において、同様の機能を有する複数の構成要素に共通の数字の後にハイフンおよび数字を付して区別することがある。同様の機能を有する複数の構成要素のそれぞれを区別する必要がない場合、共通の数字のみを記す。
実施の形態1.
 図1は、実施の形態1にかかる加工システム1の機能構成を示す図である。加工システム1は、工作機械2と、数値制御装置3とを有する。数値制御装置3は、数値制御プログラム4に記述された指令に基づいて生成する運転指令を工作機械2に与えることによって、工作機械2を制御する。
 工作機械2は、1つの主軸駆動系21と、1または複数の送り駆動系22と、加工対象物Wを加工するための工具23と、加工対象物Wを保持するテーブル24とを有する。
 主軸駆動系21は、主軸モータ211と、主軸モータ211によって駆動される主軸駆動機構212とを有する。主軸駆動系21には、工具23が接続されており、主軸駆動系21は、工具23を回転させることができる。主軸モータ211または主軸駆動機構212には、主軸駆動系21の角度情報を表すエンコーダ(不図示)が備わる。
 送り駆動系22は、サーボモータ221と、サーボモータ221によって駆動される送り駆動機構222とを有する。送り駆動系22は、工具23および加工対象物Wの相対位置を変化させることができる。サーボモータ221および送り駆動機構222には、送り駆動系22の位置情報を表すエンコーダ(不図示)が備わる。送り駆動系22には、加工対象物Wが保持されたテーブル24または工具23が接続されており、送り駆動系22は、テーブル24または工具23を移動させることで、工具23および加工対象物Wの相対位置を変化させることができる。なお、図1に示す例では、工作機械2は、工具23を移動させる送り駆動系22-1と、テーブル24を移動させる送り駆動系22-2とを有し、工具23およびテーブル24の両方を移動させることとしたが、工具23だけを移動させてもよいし、テーブル24だけを移動させてもよい。工具23と、テーブル24に保持された加工対象物Wとの相対位置を変化させることができればよい。送り駆動系22が工具23および加工対象物Wの相対位置を変化させることで、工具23が加工経路に沿って加工対象物Wを切削することになる。
 主軸駆動系21および送り駆動系22は、数値制御装置3に接続され、数値制御装置3から与えられる運転指令によって主軸モータ211およびサーボモータ221が制御される。以下では、主軸駆動系21および送り駆動系22の両方を指す場合、単に駆動系20と称する。なお、工具23の刃先が加工対象物Wに侵入することで切りくずを生成しながら加工面を形成するという一連の過程は、加工プロセスMと呼ばれる。
 図2は、図1に示す工作機械2の物理構成の一例を示す図である。テーブル24は、水平面を有するテーブル状であり、この水平面に加工対象物Wが載置される。主軸駆動機構212は、工具23がテーブル24に保持された加工対象物Wの上方に位置するように設けられている。主軸モータ211は、主軸駆動機構212に隣接して設けられる。主軸モータ211および主軸駆動機構212を有する主軸駆動系21の主軸は、テーブル24の水平面と垂直な方向であり、主軸駆動系21は、主軸を中心に工具23を回転させる。
 工具23を移動させる送り駆動系22-1の送り駆動機構222-1は、工具23が取り付けられた主軸駆動機構212を含む構造物を介して工具23と接続されている。送り駆動系22-1のサーボモータ221-1は、送り駆動機構222-1に隣接して設けられる。送り駆動系22-1の送り軸は、主軸と平行であり、送り駆動系22-1は、工具23を送り軸に沿って上下に移動させる。
 テーブル24を移動させる送り駆動系22-2の送り駆動機構222-2は、テーブル24と接続されている。送り駆動系22-2のサーボモータ221-2は、送り駆動機構222-2に隣接して設けられる。送り駆動系22-2の送り軸は、テーブル24の水平面内の方向であり、送り駆動系22-2は、テーブル24を水平方向に移動させる。なお、ここでは、テーブル24を移動させる送り駆動系22を1つだけ説明したが、工作機械2は、送り駆動系22-2の送り軸と垂直であってテーブル24の水平面内の方向に送り軸を有する送り駆動系22をさらに有してもよい。
 なお、ここで示す物理構成は説明を容易にするための一例であり、工作機械2の物理構成は図2に示す例に限定されるものではない。例えば、工作機械2の送り駆動系22は1つであってもよいし、3つ以上であってもよい。主軸および送り軸の方向についても、一例である。また、テーブル状のテーブル24は加工対象物Wを保持する機構の一例であり、加工対象物Wを保持することができ、工具23に対する相対的な位置を制御可能な構成であればよい。
 図1の説明に戻る。数値制御装置3は、指令生成部31と、記憶部32と、連成シミュレーション部33と、プロセス評価部34と、駆動制御部35とを有する。
 数値制御プログラム4には、工作機械2の主軸および送り軸の運動を指示する複数の指令が含まれている。数値制御プログラム4に含まれる指令は、例えば、工具23が移動する経路を加工対象物Wに対する相対的な位置で指定する指令である。工具23の経路を指定する指令は、経路上の位置を指定する複数の位置指令を含む。また、数値制御プログラム4は、各位置指令が示す位置における、主軸の回転速度を示す主軸回転速度指令と、送り軸の移動速度を示す送り速度指令とをさらに含む。数値制御プログラム4は、数値制御装置3の外部から数値制御装置3に対して与えられてもよいし、数値制御装置3が内部に保持していてもよい。
 指令生成部31は、数値制御プログラム4に記述された指令を解析し、工作機械2を制御するために工作機械2に与えられる時々刻々の運転指令を生成する。指令生成部31は、数値制御プログラム4に記述された指令を、修正せずにそのまま工作機械2に実行させるための運転指令である基本運転指令と、基本運転指令を修正した運転指令である修正運転指令とを生成する。指令生成部31は、1または複数の修正運転指令を生成することができる。修正運転指令は、加工対象物Wに対して工具23の移動する相対的な経路が基本運転指令と同一であり、送り軸の送り量および加工対象物Wの切り取り厚さの少なくとも一方が変更された運転指令とすることができる。送り量は、単位工程当たりの送り量であり、例えば、工具23が有する刃の1刃当たりの送り量である。この場合、修正運転指令では、工具23に備わる複数の刃先のそれぞれが加工対象物Wに切り込む瞬間の主軸回転数指令および送り速度指令の少なくともいずれかが工具刃先毎に異なる。工具23に備わる複数の刃先のそれぞれの角度と、工具23および加工対象物W間の相対位置とに対応して、各時刻の主軸回転速度指令と送り速度指令とが変調される。指令生成部31は、指令生成部31の内部または外部で設定された工具23の刃先毎の1刃あたりの送り量または加工対象物Wの切り取り厚さに対応して、基本運転指令の各時刻の主軸回転速度指令および送り速度指令の少なくとも一方を変更した運転指令を、修正運転指令として生成することができる。指令生成部31は、生成した基本運転指令および修正運転指令を連成シミュレーション部33および駆動制御部35のそれぞれに出力する。
 図3は、基本運転指令の主軸回転速度および送り速度の時間波形を示す図である。ここでは、簡単のため、数値制御プログラム4で2点の位置P1およびP2が指定されており、位置P1およびP2の間の指令軌跡に対して、一定値の主軸回転速度および送り速度が指定されている場合について説明する。図3は、位置P1およびP2の間の指令軌跡に対する主軸回転速度および送り速度を示している。基本運転指令は、数値制御プログラム4に記述された指令を、修正せずにそのまま工作機械2に実行させるための運転指令である。このため、数値制御プログラム4で記述された通り、基本運転指令が、位置P1およびP2の間の指令軌跡に対して指定する主軸回転速度および送り速度はそれぞれ一定である。
 図4は、図3に示す主軸回転速度および送り速度を用いて加工を行うときの工具23および加工対象物Wを示す図である。工具23は、回転方向R1に回転しながら位置P1から位置P2に向けて移動しており、加工対象物Wに接触すると、工具23の有する刃が加工対象物Wを切削する。基本運転指令では、主軸回転速度および送り速度はそれぞれ一定であるため、1刃当たりの送り量cは一定となる。この場合、1刃当たりの切削領域A1も一定となる。
 図5は、修正運転指令の主軸回転速度および送り速度の時間波形を示す図である。ここでは、図3および図4で説明した基本運転指令の指令軌跡を保ったまま、主軸回転数および送り速度を、数値制御プログラム4に記述された一定値を基準として正弦波状に変動させている。
 図6は、図5に示す主軸回転速度および送り速度を用いて加工を行うときの工具23および加工対象物Wを示す図である。工具23は、回転方向R1に回転しながら位置P1から位置P2に向けて移動しており、加工対象物Wに接触すると、工具23の有する刃が加工対象物Wを切削する。修正運転指令では、主軸回転速度および送り速度はそれぞれ常に変化している。このため、1刃当たりの送り量cが経時的に変化し、結果として、1刃当たりの切削領域A1も1刃ごとに変化する。
 図5の例では、指令生成部31は、基本運転指令に基づく1刃当たり送り量cまたは加工対象物Wの切り取り厚さを基準として、主軸回転速度および送り速度のそれぞれを正弦波状の変動パターンに変化させて修正運転指令を生成することとした。しかしながら、使用される変動パターンは正弦波状に限らず、三角波形状、ランダム波形状を含む様々な変動パターンが用いられてもよい。指令生成部31は、基本運転指令の主軸回転速度および送り速度の少なくとも一方に、予め定められたプロファイルの変動を重畳することによって修正運転指令を生成することもできる。指令生成部31は、基本運転指令に重畳する変動のプロファイルを示す情報を、予め保持しておくことができる。また、ここでは指令生成部31は、1つの基本運転指令から1つの修正運転指令を生成する場合について説明したが、指令生成部31は、1つの基本運転指令から複数の修正運転指令を生成してもよい。
 図1の説明に戻る。記憶部32は、加工プロセスモデル321と、ダイナミクスモデル322と、主軸駆動制御モデル323と、送り駆動制御モデル324と、加工条件情報325とを記憶する。記憶部32は、記憶された情報を連成シミュレーション部33に出力することができる。加工条件情報325は、工具23の刃数、工具径およびねじれ角を含む工具形状情報と、その工具23を用いた場合の切り込み量とを含む。加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323および送り駆動制御モデル324の詳細については後述される。
 工作機械2が実行する切削加工は、加工プロセスと機械ダイナミクスとが相互に影響する物理現象であるため、加工状態を管理または制御するためには、加工プロセスおよび機械ダイナミクスの両者を統合した解析を行うことが望ましい。ここで、加工プロセスとは、工具23の刃先が加工対象物Wに侵入することで切りくずを生成しながら加工面を形成するという一連の過程を表す。機械ダイナミクスとは、工作機械2の内外の振動源によって、振動を生じる構造物の動的な振る舞いを表す。ここでいう構造物は、工作機械2を構成する構造物に加えて、工具23および加工対象物Wを含むことができる。
 駆動系20が数値制御装置3によって制御されることで、工具23が回転しながら加工対象物Wに対して予め定められた経路を通過するように運動する。工具23が加工対象物Wを切削している間、工具23と加工対象物Wとの間で発生する切削力Fcが構造物を通じて外乱力Fdとして送り駆動系22に伝達され、外乱トルクTdとして主軸駆動系21に伝達される。送り駆動系22に外乱力Fdが加わるため、送り駆動系22の位置は、工具23が加工対象物Wを切削していない場合の位置を基準としたときに、外乱力Fdの振幅および周波数に応じて変動する。同様に、主軸駆動系21に外乱トルクTdが加わると、主軸駆動系21の回転角度は、工具23が加工対象物Wを切削していない場合の回転角度に対して変動する。
 上記の関係について図を用いて説明する。図7は、図1に示す主軸駆動系21と機械ダイナミクスと加工プロセスMとの関係を示す図である。図8は、図7に示す物理量を工作機械2の物理構成と共に示す図である。数値制御装置3が運転指令を主軸駆動系21に与えると、主軸モータ211が主軸駆動機構212を駆動して、工具23を含めた工作機械2の構造物が回転し、加工対象物Wを加工する。ここで、主軸駆動系21が運転指令に基づいて主軸駆動系角度θ1に制御されると、実際の工具23の角度は、工具側機械ダイナミクスMD1の影響を受けて、工具角度θ2となる。工具23が加工対象物Wに侵入し、切りくずを生成しながら加工面を形成するという一連の加工プロセスMが実行される。このとき生じる切削トルクTcは、構造物を通じて工具側機械ダイナミクスMD1の影響を受けて外乱トルクTdとして主軸駆動系21に帰還する。工作機械2は、フィードバック信号を数値制御装置3に出力する。外乱トルクTdを受けた主軸駆動系21の状態が運転指令と異なる場合、数値制御装置3は、主軸駆動系21から伝達されるフィードバック信号に基づいて、運転指令を変化させる。
 図9は、図1に示す送り駆動系22-2と機械ダイナミクスと加工プロセスMとの関係を示す図である。図10は、図9に示す物理量を工作機械2の物理構成と共に示す図である。数値制御装置3が運転指令を送り駆動系22-2に与えると、工具23と加工対象物Wの相対運動によって加工対象物Wが加工される。このとき、送り駆動系22-2のサーボモータ221-2が運転指令に基づいて送り駆動機構222-2を駆動した結果、テーブル24に駆動系変位r1が生じる。加工対象物Wにおいて発生する実際の変位は、駆動系変位r1が生じたときの加工対象物側機械ダイナミクスMD2の影響を受けて、構造物変位r2となる。このとき生じる切削力Fcは、構造物を通じて外乱力Fdとして送り駆動系22-2に帰還する。外乱力Fdを受けた送り駆動系22-2の状態が運転指令と異なる場合、数値制御装置3は、送り駆動系22-2から伝達されるフィードバック信号に基づいて運転指令を変化させる。
 なお、上記では説明のため図7から図10を用いて、主軸駆動系21および送り駆動系22のそれぞれを分けて説明したが、加工中における変位と力の伝搬とは主軸駆動系21および送り駆動系22で同時になされる。
 このように、切削加工では、加工プロセスMと機械ダイナミクスと駆動系20とが連成した系を成し、数値制御装置3は、駆動系20および機械ダイナミクスを介して加工プロセスMに関与する。また、工具23と加工対象物Wとの間の切削プロセスにおいて、切削力Fcが発生している加工点は、切りくずの生成と共に消失するため、センサを設置して切削力Fcを直接的に検出することはできない。したがって、工具23および加工対象物Wの運動を含めた切削加工を正確に評価するには、加工プロセスMおよび機械ダイナミクスに加えて、主軸駆動系21および送り駆動系22の動作を含めたシミュレーションを行う必要がある。
 続いて、記憶部32が記憶する加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323および送り駆動制御モデル324の具体例について説明する。これらのモデルは、後述の連成シミュレーション部33がシミュレーションを行う際に使用される。
 加工プロセスモデル321は、工具23と加工対象物Wとの間の加工特性を表す。より具体的には、加工プロセスモデル321は、工具23および加工対象物Wの位置関係に応じて発生する切削力Fcを表現する数理モデルである。以下に示す数式(1)は、工具23の刃先が加工対象物Wに接触している間の切削力Fcを表現する数式の一例である。数式(1)は、比切削抵抗Kc、エッジフォース係数Ke、工具23の断面の微小厚さΔa、加工対象物Wの切り取り厚さh、工具23の回転角度φおよび時刻tを用いて工具23の断面あたりの微小切削力ΔFcを表している。工具23の切り込みによって発生する合計の切削力Fcは、数式(1)に示される微小切削力ΔFcを工具23の軸方向に足し合わせることで算出することができる。加工対象物Wの切り取り厚さhは、工具23の半径方向における前加工面と今回加工面との間の距離である。数式(1)は、切り取り厚さhに比例する力と、エッジフォースと呼ばれる一定量の力との和によって切削力Fcを算出することができることを表している。
Figure JPOXMLDOC01-appb-M000001
 切り取り厚さhは、以下の数式(2)によって表現することができる。切り取り厚さhは、1刃あたりの工具23の送り量cによって決定されるノミナルな切り取り厚さを表す成分と、工具23および加工対象物Wの相対的な振動を表す成分と、工具23が複数の刃先を備える場合に各刃先の回転半径の差異による切り取り厚さの増減を表す成分との和で表される。工具23および加工対象物Wの相対的な振動を表す成分は、今回加工面を切り取る瞬間の工具23および加工対象物Wの間の相対変位の工具23の半径方向成分urと、前加工面に転写された工具23および加工対象物Wの間の相対変位の工具半径方向成分wrとの差異で表される。各刃先の回転半径の差異による切り取り厚さの増減を表す成分は、工具23の刃先の回転半径補正量Δeで表される。
Figure JPOXMLDOC01-appb-M000002
 数式(1)は加工プロセスモデル321の一例であり、加工プロセスモデル321は、上記のものに限定されない。例えば、工具23の形状と加工対象物Wの形状とを表現したボクセルを用いて切削力Fcを算出するモデルであってもよい。
 ダイナミクスモデル322は、工作機械2の動作中に振動を生じる構造物の動特性を表す。具体的には、ダイナミクスモデル322は、構造物に動的な力が加わったときにその構造物が動的に変位することを表す数理モデルである。例えば、駆動系20に接続された加工対象物Wに対して切削力Fcがかかったときの加工対象物Wの挙動は、以下に示す数式(3)で表すことができる。
Figure JPOXMLDOC01-appb-M000003
 数式(3)は、加工対象物Wの振動を表現する数式の一例である。工具23および加工対象物Wの間で発生した切削力Fcは、工具23および加工対象物Wの間の相対変位uと、駆動系20の相対変位vと、加工対象物Wの等価質量mと、加工対象物Wの等価粘性係数Cと、加工対象物Wの等価ばね定数Kとを用いて表される。数式(3)は、切削力Fcが加工対象物Wを通じて駆動系20に外乱力Fdとして伝達する機械ダイナミクスを表す。
 なお、ダイナミクスモデル322は、数式(3)に限定されない。例えば、加工対象物Wの形状をボクセルで表現し、FEM(Finite Element Method)解析を用いて構造物が加振されたときの変位を算出するモデルであってもよい。なお、ここで説明したダイナミクスモデル322は加工対象物Wの振動のみを表現しているが、ダイナミクスモデル322は、加工対象物Wの代わりに工具23、またはその他の構造物の振動を表現してもよい。或いは、ダイナミクスモデル322は、工具23および加工対象物Wの両方の振動を表現してもよい。
 主軸駆動制御モデル323は、工作機械2が有する主軸駆動系21と、数値制御装置3の駆動制御部35内に存在し、主軸駆動系21を制御する主軸駆動制御器とを表す数理モデルである。図11は、図1の主軸駆動制御モデル323の一例を説明するための図である。主軸駆動制御モデル323は、主軸回転角度指令が与えられたときに、切削トルクTcに起因する外乱トルクTdが主軸駆動系21に伝達される状況下において、主軸駆動制御器が有する位置制御器および速度制御器によって、主軸駆動系21の位置および速度が制御される場合の数理モデルである。この数理モデルは、制御器に主軸回転角度指令θrを入力すると、主軸実回転角度θを出力する。ここで、Kpp1,Kvp1,Kvi1は制御ゲインであり、それぞれ位置制御のための比例ゲインKpp1、速度制御のための比例ゲインKvp1、速度制御のための積分ゲインKvi1である。P1(s)は主軸駆動系21全体のトルクから位置の伝達関数であり、sは複素数である。P1(s)は既知のシステム同定手法によって主軸駆動系21の実際の応答から同定することができる。なお、ここでは主軸駆動系21を1慣性系としてモデル化しているが、主軸駆動系21は多慣性系としてモデル化してもよい。また、主軸駆動制御器にフィードフォワード制御器を追加してもよい。
 送り駆動制御モデル324は、工作機械2が有する送り駆動系22と、数値制御装置3の駆動制御部35内に存在する送り駆動制御器とを表す数理モデルである。図12は、図1の送り駆動制御モデル324の一例を説明するための図である。送り駆動制御モデル324は、送り駆動系位置指令が与えられたときに、切削力Fcに起因する外乱力Fが主軸駆動系21に伝達される状況下において、送り駆動制御器が有する位置制御器および速度制御器によって、送り駆動系22の位置および速度が制御される場合の数理モデルである。この数理モデルは、送り駆動系位置指令xrを入力すると、送り駆動系実位置xを出力する。ここで、Kpp2,Kvp2,Kvi2は制御ゲインであり、それぞれ位置制御のための比例ゲインKpp2、速度制御のための比例ゲインKvp2、速度制御のための積分ゲインKvi2である。P2(s)は送り駆動系22全体の力から位置の伝達関数であり、sは複素数である。P2(s)は既知のシステム同定手法によって送り駆動系22の実際の応答から同定することができる。なお、ここでは送り駆動系22を1慣性系としてモデル化しているが、送り駆動系22は多慣性系としてモデル化してもよい。また、送り駆動制御器にフィードフォワード制御器を追加してもよい。
 連成シミュレーション部33は、指令生成部31が出力した複数の運転指令のそれぞれを工作機械2に与えた場合の加工をシミュレーションし、シミュレーション結果を示すプロセス情報を算出する。プロセス情報は、加工誤差を比較可能なパラメータを含み、例えば、加工対象物Wの切り取り厚さ、切削力Fc、外乱力Fdなどを含む。ここで加工対象物Wの切り取り厚さは、例えば、工具23の1刃当たりの加工対象物Wの切り取り厚さである。連成シミュレーション部33は、主軸駆動系21および送り駆動系22を含む駆動系20の動作と、工作機械2の動作中に振動を生じる構造物のダイナミクスとが加工プロセスMに与える影響を含めて、工作機械2が行う加工をシミュレーションすることができる。連成シミュレーション部33は、指令生成部31が生成した運転指令の数だけシミュレーションを行い、シミュレーション結果を示すプロセス情報を運転指令の数だけ生成する。連成シミュレーション部33は、生成した複数のプロセス情報をプロセス評価部34に出力する。
 連成シミュレーション部33は、加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323、および、送り駆動制御モデル324に対して、指定された加工条件で指令生成部31が出力した運転指令を与えることで、工作機械2が行う加工をシミュレーションして、シミュレーション結果を示すプロセス情報を算出する。このとき連成シミュレーション部33は、記憶部32に記憶された加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323、送り駆動制御モデル324、および、加工条件情報325を用いることができる。記憶部32に記憶された加工条件情報325を用いる場合、指定された加工条件は、加工条件情報325が示す加工条件となる。
 連成シミュレーション部33は、工具23および加工対象物Wの間の加工プロセスMと、工作機械2の構造物の機械ダイナミクスと、主軸駆動系21の動作と、送り駆動系22の動作とが連成されたシミュレーションを実行する。連成シミュレーション部33では、図7から図10に示した関係に基づいて、加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323および送り駆動制御モデル324の各モデルを組み合わせた連成モデルに対して、加工条件情報325に記述された加工条件の下、基本運転指令および修正運転指令のそれぞれを与えたときの駆動信号と主軸駆動系角度θ1と駆動系変位r1と工具角度θ2と送り系の構造物変位r2と加工対象物の切り取り厚さhと切削トルクTcと切削力Fcと外乱トルクTdと外乱力Fdとフィードバック信号とをシミュレーションし、それらの時系列情報および周波数成分情報を演算する連成シミュレーションを行う。
 プロセス評価部34は、連成シミュレーション部33が出力する複数のプロセス情報に基づいて、複数の運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、指令生成部31が生成した基本運転指令および修正運転指令の中から、工作機械2に与える運転指令を選択する。プロセス評価部34は、選択した運転指令を示す指令選択信号を駆動制御部35に出力する。
 以下、プロセス評価部34における評価方法の一例を説明する。プロセス評価部34は、加工対象物Wの切り取り厚さhの時間変化に基づいて、加工誤差の大きさを評価することができる。プロセス評価部34は、加工対象物Wの切り取り厚さhの増大が小さいほど加工誤差の大きさが小さいと評価する。プロセス評価部34は、切り取り厚さhの増大が最小となる運転指令を、工作機械2に与える運転指令として選択することができる。切り取り厚さhは、工具23および加工対象物Wの間の振動を表す。工具23および加工対象物Wの間で、びびり振動と呼ばれる振動が発生すると、時間経過とともに振幅が増大して加工誤差の悪化を招く。このため、切り取り厚さhの経時変化を評価することで、プロセス評価部34は、工具23および加工対象物Wの間の振動が最小となる運転指令を選択することができる。工具23および加工対象物Wの間の振動が最小となる運転指令は、工具23および加工対象物Wの間の振動に起因する加工誤差を最小化することができる。
 また、プロセス評価部34は、それぞれの運転指令を実行したときの外乱力Fdまたは外乱トルクTdの最大振幅に基づいて、加工誤差の大きさを評価することができる。プロセス評価部34は、外乱力Fdまたは外乱トルクTdの最大振幅が小さいほど加工誤差の大きさが小さいと評価する。プロセス評価部34は、最大振幅が最小となる運転指令を、工作機械2に与える運転指令として選択することができる。外乱力Fdまたは外乱トルクTdの最大振幅が小さいほど、外乱力Fdまたは外乱トルクTdに起因する駆動系20の振動が小さくなる。このため、外乱力Fdまたは外乱トルクTdの最大振幅が最小となる運転指令を選択することで、駆動系20の振動に起因する加工誤差を最小化することができる。
 また、プロセス評価部34は、連成シミュレーション部33が算出したプロセス情報の時間波形を、予め設定された目標プロファイルと比較して、目標プロファイルとの乖離に基づいて、加工誤差の大きさを評価することができる。目標プロファイルは、加工誤差が許容値以下となるプロファイルであり、例えば、プロセス評価部34の内部に予め設定される。プロセス評価部34は、目標プロファイルとの乖離が小さいほど加工誤差の大きさが小さいと評価する。プロセス評価部34は、2乗和誤差などの損失関数に基づいて、目標プロファイルとの乖離を評価してもよいし、パターンマッチングなどの機械学習手法に基づいて、目標プロファイルとの乖離を評価してもよい。プロセス評価部34は、目標プロファイルとの乖離が最小となる運転指令を選択することで、加工誤差を最小化することができる。
 プロセス評価部34は、上記の複数の評価方法のいずれか1つを用いて加工誤差の大きさを評価してもよいし、上記の複数の評価方法を組み合わせて用いてもよい。
 駆動制御部35は、指令生成部31が生成した複数の運転指令のうち、プロセス評価部34が出力する指令選択信号が示す運転指令に基づいて、工作機械2の駆動系20を制御する。駆動制御部35は、主軸駆動系21を制御するための主軸駆動制御器と、送り駆動系22を制御するための送り駆動制御器とを内部に有する。主軸駆動制御器は、主軸駆動系21に備わるエンコーダの信号を監視しながら、主軸駆動系21の位置および速度が運転指令で指定された量になるように、主軸モータ211に対して指令を出力する。送り駆動制御器は、送り駆動系22に備わるエンコーダの信号を監視しながら、送り駆動系22の位置および速度が運転指令で指定された量になるように、サーボモータ221に対して指令を出力する。
 図13は、図1に示す数値制御装置3の動作を説明するためのフローチャートである。加工システム1が運転を開始すると、数値制御装置3の指令生成部31は、数値制御プログラム4を読み込んで、読み込んだ数値制御プログラム4を解析し、数値制御プログラム4に記述された指令を工作機械2に実行させるための基本運転指令と、基本運転指令を修正した修正運転指令とを生成する(ステップS101)。指令生成部31は、1つの基本運転指令と、1パターン以上の修正運転指令とを生成すると、生成した運転指令を連成シミュレーション部33に出力する。
 連成シミュレーション部33は、指令生成部31が出力した運転指令毎に連成シミュレーションを実行して複数のプロセス情報を算出する(ステップS102)。連成シミュレーション部33は、算出したプロセス情報をプロセス評価部34に出力する。
 プロセス評価部34は、複数のプロセス情報を比較評価して、各運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、基本運転指令および修正運転指令の中から工作機械2に与える運転指令を選択する(ステップS103)。プロセス評価部34は、選択した運転指令を示す指令選択信号を駆動制御部35に出力する。
 駆動制御部35は、プロセス評価部34が出力した指令選択信号に基づいて、選択された運転指令を用いて工作機械2の運転を制御する(ステップS104)。指令生成部31は、数値制御プログラム4に記述された全ての指令の読み取りが完了したか否かを判断する(ステップS105)。読み取りが完了していない場合(ステップS105:No)、指令生成部31は、ステップS101から処理を繰り返す。読み取りが完了した場合(ステップS105:Yes)、加工システム1は運転を終了する。
 以上説明したように、実施の形態1の加工システム1において、数値制御装置3は、数値制御プログラムに基づいて生成した基本運転指令と、基本運転指令を修正した修正運転指令とを工作機械2に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、駆動系20の動作と、工作機械2の動作中に振動を生じる構造物のダイナミクスとが、工具23による加工対象物Wの加工プロセスに与える影響を含めて算出し、プロセス情報の評価結果に基づいて工作機械2に与える運転指令を選択する。したがって、数値制御装置3は、加工プロセスと、駆動系20の動作と、工作機械2の動作中に振動を生じる構造物の機械ダイナミクスとが相互に影響し合って加工誤差が生じる場合においても、加工誤差を低減することが可能になる。
 連成シミュレーション部33は、工具23と加工対象物Wとの間の加工特性を表す加工プロセスモデル321と、工作機械2の動作中に振動を生じる構造物の動特性を表すダイナミクスモデル322と、主軸駆動系21と主軸駆動系21を制御する主軸駆動制御器とを表す主軸駆動制御モデル323と、送り駆動系22と送り駆動系22を制御する送り駆動制御器とを表す送り駆動制御モデル324と、に対して、指定された加工条件で運転指令を与えたときのプロセス情報を算出する。数理モデルを用いて連成シミュレーションを行うことで、運転指令が駆動系20および機械ダイナミクスを介して加工プロセスMに与える影響を正確に評価することが可能になる。
 実施の形態1では、加工プロセスモデル321と、ダイナミクスモデル322と、主軸駆動制御モデル323と、送り駆動制御モデル324と、加工条件を示す加工条件情報325とを記憶する記憶部32は、数値制御装置3に備わることとしたが、記憶部32は、数値制御装置3の外部に備わっていてもよい。
 指令生成部31は、加工対象物Wに対して工具23の移動する相対的な経路が基本運転指令と同一であり1刃当たりの送り量または加工対象物Wの切り取り厚さhが変更された指令を修正運転指令として生成することができる。例えば、指令生成部31は、基本運転指令の主軸回転速度および送り速度の少なくとも一方を、1刃当たりの送り量または加工対象物Wの切り取り厚さhに対して変更した指令を修正運転指令とすることができる。具体的には、指令生成部31は、基本運転指令の主軸回転速度および送り速度の少なくとも一方に、予め定められたプロファイルの変動を重畳することによって修正運転指令を生成することができる。このように修正運転指令を生成することで、加工対象物Wの形状を変化させずに加工誤差を低減する運転指令を生成することが可能になる。
 なお、記憶部32は、数値制御プログラム4に記述された加工工程に応じて異なるモデルおよび加工条件を記憶してもよい。連成シミュレーション部33は、加工工程に応じて異なるモデルおよび加工条件を用いて、シミュレーションを行うことが可能になる。また、実施の形態1では、工作機械2が1つの主軸駆動系21と、1または複数の送り駆動系22とを備えることとしたが、工作機械2は複数の主軸駆動系21を有してもよい。工作機械2が複数の主軸駆動系21を有する場合であっても、図13に示した動作を同様に行えばよい。
 また、実施の形態1では、例えばマシニングセンタのように、主軸駆動系21に工具23が接続されており、工具23が回転する工作機械2について説明したが、工作機械2は、例えばNC(Numerically Control)旋盤のように主軸駆動系21に加工対象物Wが接続され、加工対象物Wが回転する構成であってもよい。この場合、1刃当たりの送り量を主軸1回転あたりの送り量と読み替えることで、指令生成部31は、数値制御プログラム4で指定された経路を変更せずに、複数の運転指令から加工誤差を低減する運転指令を選択することが可能になる。
実施の形態2.
 図14は、実施の形態2にかかる加工システム1aの機能構成を示す図である。実施の形態1と同様の機能を有する機能構成は実施の形態1と同一の符号を付して、重複する説明を省略する。以下、実施の形態1と異なる点について主に説明する。加工システム1aは、シミュレーション結果に基づいて運転指令を生成する点が、加工システム1と異なる。
 加工システム1aは、工作機械2と、数値制御装置3aとを有する。数値制御装置3aは、数値制御装置3と同様に、数値制御プログラム4に記述された指令に基づいて工作機械2を制御する。数値制御装置3aは、指令生成部31aと、記憶部32aと、連成シミュレーション部33aと、プロセス評価部34と、駆動制御部35とを有する。
 指令生成部31aは、修正運転指令を生成する際に、連成シミュレーション部33aが出力するプロセス情報を用いることができる。指令生成部31aは、基本運転指令をプロセス情報に基づいて修正した運転指令を修正運転指令とすることができる。このとき、指令生成部31aは、記憶部32aに記憶された加工プロセスモデル321、ダイナミクスモデル322、主軸駆動制御モデル323、送り駆動制御モデル324および加工条件情報325を用いることができる。具合的には、指令生成部31aは、プロセス情報に含まれる加工対象物Wの切り取り厚さに重畳されている動的な振動成分の振幅または位相を補償する変動を基本運転指令に加えることで、修正運転指令を生成する。動的な振動成分は、上記の数式(2)の右辺の第2項に相当する。指令生成部31aは、加工対象物Wの切り取り厚さに重畳されている動的な振動成分の振幅を減衰させるバンドストップフィルタを用いたり、工具23の刃先が切削するタイミングを基準とした当該振動成分の位相遅れを補償する位相補償フィルタを用いたりして、振動成分の振幅または位相を補償する変動を基本運転指令に加えることができる。
 記憶部32aは、記憶部32と同様に、加工プロセスモデル321と、ダイナミクスモデル322と、主軸駆動制御モデル323と、送り駆動制御モデル324と、加工条件情報325とを記憶し、記憶した情報を連成シミュレーション部33aに出力する。記憶部32aは、さらに、指令生成部31aにも記憶した情報を出力することができる。
 連成シミュレーション部33aは、連成シミュレーション部33と同様に、基本運転指令および修正運転指令のそれぞれを工作機械2に与えた場合の加工をシミュレーションした結果を示すプロセス情報を算出する。連成シミュレーション部33aは、算出したプロセス情報をプロセス評価部34に出力すると共に、指令生成部31aにも出力する。
 図15は、図14に示す数値制御装置3aの動作を説明するためのフローチャートである。加工システム1aが運転を開始すると、数値制御装置3aの指令生成部31aは、数値制御プログラム4を読み込んで、読み込んだ数値制御プログラム4を解析し、数値制御プログラム4に記述された指令を工作機械2に実行させるための基本運転指令を生成する(ステップS201)。指令生成部31aは、生成した基本運転指令を連成シミュレーション部33aに出力する。
 連成シミュレーション部33aは、指令生成部31aが出力した基本運転指令を工作機械2が実行するときの連成シミュレーションを実行してプロセス情報を生成する(ステップS202)。連成シミュレーション部33aは、生成したプロセス情報をプロセス評価部34および指令生成部31aのそれぞれに出力する。
 指令生成部31aは、ステップS202を実行した結果出力されるプロセス情報に基づいて基本運転指令を修正して、修正運転指令を生成する(ステップS203)。指令生成部31aは、生成した修正運転指令を連成シミュレーション部33aに出力する。
 連成シミュレーション部33aは、指令生成部31aが出力した修正運転指令を工作機械2が実行するときの連成シミュレーションを実行してプロセス情報を生成する(ステップS204)。連成シミュレーション部33aは、生成したプロセス情報をプロセス評価部34および指令生成部31aのそれぞれに出力する。
 プロセス評価部34は、複数のプロセス情報を比較評価して、各運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、基本運転指令および修正運転指令の中から工作機械2に与える運転指令を選択する(ステップS205)。プロセス評価部34は、選択した運転指令を示す指令選択信号を駆動制御部35に出力する。
 駆動制御部35は、プロセス評価部34が出力した指令選択信号に基づいて、選択された運転指令を用いて工作機械2の運転を制御する(ステップS206)。指令生成部31aは、数値制御プログラム4に記述された全ての指令の読み取りが完了したか否かを判断する(ステップS207)。読み取りが完了していない場合(ステップS207:No)、指令生成部31aは、ステップS201から処理を繰り返す。読み取りが完了した場合(ステップS207:Yes)、加工システム1aは運転を終了する。
 なお、上記の例では、指令生成部31aは、基本運転指令を工作機械2に与えた場合のシミュレーション結果を示すプロセス情報に基づいて修正運転指令を生成することとしたが、修正運転指令を工作機械2に与えた場合のシミュレーション結果を示すプロセス情報に基づいてさらに修正運転指令を生成してもよい。この場合、加工対象物Wの切り取り厚さの振動成分の振幅または位相を評価値として機械学習手法を用いて、加工対象物Wの切り取り厚さの振動を低減することが可能な修正運転指令を探索する手法を採用することができる。
 図16は、図14に示す数値制御装置3aに関する学習装置50の構成の一例を示す図である。学習装置50は、例えば、図14に示す数値制御装置3aが備えてもよいし、数値制御装置3aと異なる情報処理装置であってもよい。学習装置50は、学習用データ取得部51とモデル生成部52とを有する。
 学習用データ取得部51は、指令生成部31aが生成した運転指令と、運転指令に対応するプロセス情報、つまり、運転指令を工作機械2に与えた場合のシミュレーション結果を示すプロセス情報とを学習用データとして取得する。学習用データ取得部51は、取得した学習用データをモデル生成部52に出力することができる。なお、学習用データ取得部51は、プロセス情報の全てを取得してもよいし、プロセス情報の一部を取得してもよい。例えば、学習用データ取得部51は、プロセス情報のうち、加工誤差の大きさを示すパラメータを学習用データとして取得することができる。例えば学習用データ取得部51は、加工対象物Wの切り取り厚さ、或いは、加工対象物Wの切り取り厚さの振動成分の振幅または位相を学習用データとして取得することができる。
 モデル生成部52は、運転指令と、運転指令を工作機械2に与えた場合のシミュレーション結果を示すプロセス情報とを含む学習用データに基づいて、新たな修正運転指令を学習する。すなわち、モデル生成部52は、数値制御装置3aのプロセス情報から新たな修正運転指令を推論するための学習済モデルを生成する。モデル生成部52は、生成した学習済モデルを学習済モデル記憶部53に出力する。
 モデル生成部52が用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習(Reinforcement Learning)等の公知のアルゴリズムを用いることができる。一例として、強化学習を適用した場合について説明する。強化学習では、ある環境内における行動主体であるエージェントが、現在の状態を示す環境のパラメータを観測し、取るべき行動を決定する。エージェントの行動により環境が動的に変化し、エージェントには環境の変化に応じて報酬が与えられる。エージェントはこれを繰り返し、一連の行動を通じて報酬が最も多く得られる行動方針を学習する。強化学習の代表的な手法として、Q学習(Q-Learning)やTD学習(TD-Learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は以下の数式(4)で表される。
Figure JPOXMLDOC01-appb-M000004
 数式(4)において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1、αは0<α≦1の範囲の値をとる。修正運転指令が行動atとなり、プロセス情報が状態stとなり、学習装置50は、時刻tの状態における最良の行動atを学習する。
 数式(4)で表される更新式は、時刻t+1における最もQ値の高い行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(S,a)を更新する。それにより、ある環境における最良の行動価値Qが、それ以前の環境における行動価値Qに順次伝搬していくようになる。
 上記のように、強化学習によって学習済モデルを生成する場合、モデル生成部52は、報酬計算部54と、関数更新部55とを備えている。
 報酬計算部54は、運転指令と、プロセス情報とに基づいて報酬を計算する。報酬計算部54は、報酬増大基準D1および報酬減少基準D2を含む報酬基準Dに基づいて、報酬rを計算する。例えば、報酬基準Dは、プロセス情報が示す、加工誤差の大きさに基づいて定められる。加工誤差の大きさを示すパラメータとしては、例えば、加工対象物Wの切り取り厚さの振動成分の振幅が用いられる。例えば、報酬増大基準D1は、加工対象物Wの切り取り厚さの振動成分の振幅が閾値未満であることとし、報酬減少基準D2は、加工対象物Wの切り取り厚さの振動成分の振幅が閾値以上であることとすることができる。報酬計算部54は、報酬増大基準D1を満たす場合、例えば「+1」の報酬を与えることで、報酬rを増大させ、報酬減少基準D2を満たす場合、例えば「-1」の報酬を与えることで、報酬rを減少させる。報酬計算部54は、計算した報酬rを関数更新部55に出力する。また、別の例として、加工誤差の大きさを示すパラメータとしては、切りくず厚さの振動成分の振幅の他に、加工対象物Wの切り取り厚さの振動成分の位相を用いることもできる。ここで切り取り厚さの振動成分の位相とは、工具23の刃先が加工対象物Wを切り取り始める瞬間に切りくず形状に重畳する振動の位相である。この場合、報酬増大基準D1は加工対象物Wの切り取り厚さの振動成分の位相が予め定められた範囲内の値であることとし、報酬減少基準D2は加工対象物Wの切り取り厚さの振動成分の位相が上記の範囲外の値であることとすることができる。
 関数更新部55は、報酬計算部54によって計算される報酬rに従って、修正運転指令を決定するための関数を更新し、学習済モデル記憶部53に出力する。例えばQ学習の場合、数式(4)で表される行動価値関数Q(st,at)を、修正運転指令を算出するための関数として用いる。
 以上のような学習を繰り返し実行する。学習済モデル記憶部53は、関数更新部55によって更新された行動価値関数Q(st,at)、すなわち、学習済モデルを記憶する。
 次に、図17を用いて、学習装置50が学習する処理について説明する。図17は、図16に示す学習装置50の学習処理を説明するためのフローチャートである。
 学習用データ取得部51は、指令生成部31aが生成した運転指令と、運転指令を工作機械2に与えた場合のシミュレーション結果を示すプロセス情報とを学習用データとして取得する(ステップS301)。
 モデル生成部52は、学習用データ取得部51が取得した学習用データに含まれる運転指令と、プロセス情報とに基づいて、報酬rを計算する(ステップS302)。具体的には、報酬計算部54は、運転指令およびプロセス情報を取得し、予め定められた報酬基準Dに基づいて報酬rを増加させるかまたは報酬rを減少させるかを判断する(ステップS303)。
 報酬計算部54は、報酬rを増大させると判断した場合(ステップS303:増大)、報酬rを増大させる(ステップS304)。報酬計算部54は、報酬rを減少させると判断した場合(ステップS303:減少)、報酬rを減少させる(ステップS305)。
 関数更新部55は、報酬計算部54によって計算された報酬rに基づいて、学習済モデル記憶部53が記憶する行動価値関数Q(st,at)を更新する(ステップS306)。
 学習装置50は、以上のステップS301からステップS306までの処理を繰り返し実行し、生成された行動価値関数Q(st,at)を学習済モデルとして記憶する。
 なお、図16では学習済モデル記憶部53は、学習装置50の外部に備わることとしたが、学習装置50が学習済モデル記憶部53を内部に備えていてもよい。なお、学習装置50が数値制御装置3aに備わっている場合、学習済モデル記憶部53は、記憶部32aと同一の記憶装置に備わっていてもよいし、別の記憶装置に備わっていてもよい。
 図18は、図14に示す数値制御装置3aに関する推論装置60の構成の一例を示す図である。推論装置60は、データ取得部61と、推論部62とを有する。推論装置60は、数値制御装置3aに備わっていてもよいし、数値制御装置3aと異なる情報処理装置であってもよい。推論装置60は、例えば数値制御装置3aの指令生成部31aに備わる。
 データ取得部61は、連成シミュレーション部33aが出力するプロセス情報を取得する。データ取得部61は、取得したデータを推論部62に出力する。
 推論部62は、学習済モデル記憶部53に記憶された学習済モデルを利用して、データ取得部61が取得したプロセス情報から新たな修正運転指令を推論する。すなわち、推論部62は、学習済モデルにデータ取得部61が出力するプロセス情報を入力することで、プロセス情報に適した修正運転指令を推論することができる。
 なお、上記では、推論装置60は、数値制御装置3aから取得したデータを用いて機械学習を行った結果の学習済モデルを用いて修正運転指令を出力することとしたが、他の数値制御装置3aから学習済モデルを取得して、この学習済モデルに基づいて修正運転指令を出力するようにしてもよい。
 図19は、図18に示す推論装置60の動作を説明するためのフローチャートである。推論装置60のデータ取得部61は、プロセス情報を推論用のデータとして取得し(ステップS401)、取得したプロセス情報を推論部62に出力する。
 推論部62は、学習済モデル記憶部53に記憶された学習済モデルに、ステップS401で取得された推論用のデータであるプロセス情報を入力する(ステップS402)。推論部62は、学習済モデルにプロセス情報を入力した結果である修正運転指令を出力する(ステップS403)。なお、数値制御装置3aの指令生成部31aは、推論部62が出力する修正運転指令を取得して、取得した修正運転指令を、連成シミュレーション部33aに出力する。
 なお、上記では、推論部62は学習アルゴリズムとして強化学習を用いることとしたが、推論部62が用いる学習アルゴリズムは強化学習に限られない。推論部62は、強化学習以外にも、教師あり学習、教師なし学習、または半教師あり学習等を学習アルゴリズムとして使用することもできる。
 また、モデル生成部52が用いる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能推理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
 なお、学習装置50および推論装置60のそれぞれは、例えば、ネットワークを介して数値制御装置3aに接続され、この数値制御装置3aとは別個の装置であってもよい。また、学習装置50および推論装置60のそれぞれは、数値制御装置3aに内蔵されていてもよい。さらに、学習装置50および推論装置60のそれぞれは、クラウドサーバ上に存在していてもよい。
 また、モデル生成部52は、複数の数値制御装置3aから取得される学習用データを用いて、修正運転指令を学習するようにしてもよい。なお、モデル生成部52は、同一のエリアで使用される複数の数値制御装置3aから学習用データを取得してもよいし、異なるエリアで独立して動作する複数の数値制御装置3aから収集される学習用データを利用して修正運転指令を学習してもよい。また、学習用データを収集する数値制御装置3aを途中で対象に追加したり、対象から除外することも可能である。さらに、ある数値制御装置3aに関して修正運転指令を学習した学習装置50を、これとは別の数値制御装置3aに適用し、当該別の数値制御装置3aに関して修正運転指令を再学習して更新するようにしてもよい。
 以上説明したように、実施の形態2にかかる数値制御装置3aは、数値制御プログラム4から生成した基本運転指令と、プロセス情報を用いて基本運転指令を修正した修正運転指令とを生成し、それぞれの運転指令の評価結果に基づいて工作機械2に与える運転指令が選択される。指令生成部31aは、連成シミュレーション部33aで実行したシミュレーション結果に基づいて新たに修正運転指令を生成するため、駆動系20と機械ダイナミクスと加工プロセスMの特性に基づいた修正運転指令を生成することができる。したがって、数値制御装置3aは、効率的に加工誤差を低減することが可能になる。
 また、数値制御装置3aは、修正運転指令からさらに別の修正運転指令を生成してもよい。この場合、学習装置50を用いて、機械学習により、修正運転指令およびプロセス情報を含む学習用データに基づいて、修正運転指令が学習される。数値制御装置3aは、学習装置50の学習結果である学習済モデルを用いて修正運転指令を推論する推論装置60が出力する修正運転指令を利用することができる。機械学習を用いることで、数値制御装置3aは、探索的に修正運転指令を生成することができるため、加工システム1aは、事前に運転指令を修正する規則を準備することなく、加工誤差を低減することができる修正運転指令を生成することが可能になる。
実施の形態3.
 図20は、実施の形態3にかかる加工システム1bの構成を示す図である。なお、実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して重複する説明を省略する。以下、実施の形態1,2と異なる部分について主に説明する。
 加工システム1bは、工作機械2bと、数値制御装置3bとを有する。工作機械2bは、主軸駆動系21と、送り駆動系22と、工具23と、テーブル24と、センサ25とを有する。
 センサ25は、工作機械2bの動作中に振動を生じる構造物の振動を検知する。センサ25は、例えば、加速度センサ、力センサである。或いは、センサ25は、駆動系20のフィードバック制御のために予め駆動系20の内部に備わっているエンコーダであってもよい。センサ25は、数値制御装置3bに接続されており、センサ25が取得した信号であるセンサ信号は、数値制御装置3bに出力される。
 数値制御装置3bは、指令生成部31bと、記憶部32と、連成シミュレーション部33と、プロセス評価部34と、駆動制御部35とを有する。数値制御装置3bは、センサ25の出力するセンサ信号に基づいて運転指令を生成する点が実施の形態1,2と異なる。
 指令生成部31bは、実施の形態1の指令生成部31と同様に基本運転指令を生成する。さらに指令生成部31bは、センサ25が出力するセンサ信号に基づいて、基本運転指令を修正することで修正運転指令を生成することができる。具体的には、指令生成部31bは、修正運転指令を生成する際の1刃あたりの送り量または加工対象物Wの切り取り厚さをセンサ信号に基づいて決定する。例えば、センサ信号の時間波形または周波数スペクトルに対応した1刃あたりの送り量または加工対象物Wの切り取り厚さを予め学習しておき、指令生成部31bは、センサ信号が入力されたときにパターンマッチング等の機械学習手法を用いて1刃あたりの送り量または加工対象物Wの切り取り厚さを決定する。或いは、センサ信号の振幅と1刃あたりの送り量または加工対象物Wの切り取り厚さとの対応表を予め内部に記録しておき、指令生成部31bは、その対応表に基づいて1刃あたりの送り量または加工対象物Wの切り取り厚さを決定してもよい。
 数値制御装置3bの動作は、修正運転指令を生成する際にセンサ信号を用いる点以外は図13に示した数値制御装置3の動作と同様であるため、ここでは詳細な説明を省略する。
 なお、上記では、指令生成部31bは、センサ信号を用いて基本運転指令を修正することで修正運転指令を生成することとしたが、運転指令の修正は逐次的に行うこととしてもよい。すなわち、指令生成部31bは、センサ信号を用いて生成した修正運転指令を工作機械2bに与えたときに検出したセンサ信号を用いて、さらに修正運転指令を生成してもよい。この場合、センサ信号の振動成分の振幅または位相を評価値として強化学習などの機械学習手法を用いて、センサ信号の振動を低減する修正運転指令を探索する手法を用いることができる。
 機械学習を用いる場合、例えば、図16に示した学習装置50を用いて学習済モデルを取得し、図18に示す推論装置60を用いて、学習済モデルから修正運転指令を得ることができる。この場合、上記の実施の形態2で行った説明のうち、学習用データ取得部51およびデータ取得部61が取得する「プロセス情報」を「センサ信号」と読み替えることにより、実施の形態3にかかる数値制御装置3bが用いる修正運転指令を生成する方法の説明を省略する。この場合、学習用データ取得部51が取得する運転指令は、センサ信号に対応する運転指令、具体的には、センサ信号を取得したときに工作機械2bに与えられている運転指令となる。
 以上説明したように、実施の形態3にかかる数値制御装置3bは、工作機械2bがセンサ25を備え、数値制御装置3bの指令生成部31bは、センサ信号に基づいて修正運転指令を生成することができる。このため、指令生成部31bは、工作機械2bにおいて実際に発生する振動の状態に応じて運転指令を修正することが可能であり、効率的に加工誤差を低減する運転指令を生成することができる。
 また、機械学習を用いて探索的に修正運転指令を生成することで、加工システム1bは、事前に運転指令の修正則を準備することなく、加工誤差を低減する修正運転指令を生成することが可能になる。
 続いて、実施の形態1~3にかかる数値制御装置3,3a,3b、学習装置50、および、推論装置60のハードウェア構成について説明する。数値制御装置3,3a,3bの指令生成部31,31a,31b、連成シミュレーション部33,33a、プロセス評価部34、および、駆動制御部35と、学習装置50の学習用データ取得部51およびモデル生成部52と、推論装置60のデータ取得部61および推論部62とは、処理回路により実現される。これらの処理回路は、専用のハードウェアにより実現されてもよいし、CPU(Central Processing Unit)を用いた制御回路であってもよい。
 上記の処理回路が、専用のハードウェアにより実現される場合、これらは、図21に示す処理回路90により実現される。図21は、実施の形態1~3にかかる数値制御装置3,3a,3b、学習装置50、および、推論装置60の機能を実現するための専用のハードウェアを示す図である。処理回路90は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものである。
 上記の処理回路が、CPUを用いた制御回路で実現される場合、この制御回路は例えば図22に示す構成の制御回路91である。図22は、実施の形態1~3にかかる数値制御装置3,3a,3b、学習装置50、および、推論装置60の機能を実現するための制御回路91の構成を示す図である。図22に示すように、制御回路91は、プロセッサ92と、メモリ93とを備える。プロセッサ92は、CPUであり、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などとも呼ばれる。メモリ93は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)などである。
 上記の処理回路が制御回路91により実現される場合、プロセッサ92がメモリ93に記憶された、各構成要素の処理に対応するプログラムを読み出して実行することにより実現される。また、メモリ93は、プロセッサ92が実行する各処理における一時メモリとしても使用される。
 なお、プロセッサ92が実行するプログラムは、記憶媒体に記憶されて提供されてもよいし、通信路を介して提供されてもよい。また、実施の形態1~3にかかる数値制御装置3,3a,3b、学習装置50、および、推論装置60の機能は、図21に示す処理回路90または図22に示す制御回路91のいずれか一方を用いて実現されてもよいし、処理回路90と制御回路91とが組み合わせて用いられてもよい。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1,1a,1b 加工システム、2,2b 工作機械、3,3a,3b 数値制御装置、4 数値制御プログラム、20 駆動系、21 主軸駆動系、22,22-1,22-2 送り駆動系、23 工具、24 テーブル、25 センサ、31,31a,31b 指令生成部、32,32a 記憶部、33,33a 連成シミュレーション部、34 プロセス評価部、35 駆動制御部、50 学習装置、51 学習用データ取得部、52 モデル生成部、53 学習済モデル記憶部、54 報酬計算部、55 関数更新部、60 推論装置、61 データ取得部、62 推論部、90 処理回路、91 制御回路、92 プロセッサ、93 メモリ、211 主軸モータ、212 主軸駆動機構、221,221-1,221-2 サーボモータ、222,222-1,222-2 送り駆動機構、321 加工プロセスモデル、322 ダイナミクスモデル、323 主軸駆動制御モデル、324 送り駆動制御モデル、325 加工条件情報、A1 1刃当たりの切削領域、c 送り量、Fc 切削力、Fd 外乱力、M 加工プロセス、MD1 工具側機械ダイナミクス、MD2 加工対象物側機械ダイナミクス、P1,P2 位置、R1 回転方向、r1 駆動系変位、r2 構造物変位、Tc 切削トルク、Td 外乱トルク、W 加工対象物、θ1 主軸駆動系角度、θ2 工具角度。

Claims (20)

  1.  加工対象物を加工するための工具または前記加工対象物を回転させる主軸を駆動する主軸駆動系と、前記工具および前記加工対象物の相対位置を変化させる送り軸を駆動する送り駆動系と、を含む駆動系を有する工作機械に運転指令を与えることによって、前記工作機械を制御する数値制御装置であって、
     数値制御プログラムに基づいて前記運転指令である基本運転指令を生成するとともに、前記基本運転指令を修正した前記運転指令である修正運転指令を生成する指令生成部と、
     前記基本運転指令および前記修正運転指令のそれぞれを前記工作機械に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、前記駆動系の動作と、前記工作機械の動作中に振動を生じる構造物のダイナミクスとが、前記工具による前記加工対象物の加工プロセスに与える影響を含めて算出する連成シミュレーション部と、
     複数の前記プロセス情報に基づいて、複数の前記運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、前記基本運転指令および前記修正運転指令の中から前記工作機械に与える前記運転指令を選択するプロセス評価部と、
     を備えることを特徴とする数値制御装置。
  2.  前記連成シミュレーション部は、前記工具と前記加工対象物との間の加工特性を表す数理モデルである加工プロセスモデル、前記構造物の動特性を表す数理モデルであるダイナミクスモデル、前記主軸駆動系と前記主軸駆動系を制御する主軸駆動制御器とを表す数理モデルである主軸駆動制御モデル、および、前記送り駆動系と前記送り駆動系を制御する送り駆動制御器とを表す数理モデルである送り駆動制御モデルに対して、指定された加工条件で前記運転指令を与えたときの前記プロセス情報を算出することを特徴とする請求項1に記載の数値制御装置。
  3.  前記加工プロセスモデルと、前記ダイナミクスモデルと、前記主軸駆動制御モデルと、前記送り駆動制御モデルと、前記加工条件を表す加工条件情報と、を記憶する記憶部、
     をさらに備え、
     前記連成シミュレーション部は、前記記憶部に記憶された前記加工プロセスモデル、前記ダイナミクスモデル、前記主軸駆動制御モデル、前記送り駆動制御モデル、および、前記加工条件情報を用いて、前記プロセス情報を算出することを特徴とする請求項2に記載の数値制御装置。
  4.  前記指令生成部は、前記加工対象物に対して前記工具の移動する相対的な経路が前記基本運転指令と同一であり前記送り軸の送り量および前記加工対象物の切り取り厚さの少なくとも一方が変更された指令を前記修正運転指令として生成することを特徴とする請求項1から3のいずれか1項に記載の数値制御装置。
  5.  前記指令生成部は、前記送り量または前記加工対象物の切り取り厚さに対応して、前記基本運転指令の主軸回転速度および送り速度の少なくとも一方を変更した運転指令を前記修正運転指令とすることを特徴とする請求項4に記載の数値制御装置。
  6.  前記指令生成部は、前記基本運転指令の主軸回転速度および送り速度の少なくとも一方に、予め定められたプロファイルの変動を重畳することによって前記修正運転指令を生成することを特徴とする請求項1から5のいずれか1項に記載の数値制御装置。
  7.  前記指令生成部は、前記プロセス情報に基づいて、前記修正運転指令を生成することを特徴とする請求項1から6のいずれか1項に記載の数値制御装置。
  8.  前記指令生成部は、前記修正運転指令を前記工作機械に与えた場合の前記プロセス情報に基づいて、さらに修正運転指令を生成することを特徴とする請求項7に記載の数値制御装置。
  9.  前記プロセス情報と、前記プロセス情報に対応する前記運転指令とを含む学習用データを取得する学習用データ取得部と、
     前記学習用データを用いて、前記プロセス情報から新たな修正運転指令を推論するための学習済モデルを生成するモデル生成部と、
     をさらに有することを特徴とする請求項7または8に記載の数値制御装置。
  10.  前記プロセス情報を取得するデータ取得部と、
     前記プロセス情報から新たな修正運転指令を推論するための学習済モデルを用いて、前記データ取得部で取得した前記プロセス情報から新たな修正運転指令を出力する推論部と、
     をさらに有することを特徴とする請求項7から9のいずれか1項に記載の数値制御装置。
  11.  前記工作機械は、動作中の前記構造物の振動を検出してセンサ信号を出力するセンサ、
     をさらに備え、
     前記指令生成部は、前記センサ信号に基づいて前記修正運転指令を生成することを特徴とする請求項1から6のいずれか1項に記載の数値制御装置。
  12.  前記センサ信号と、前記センサ信号に対応する前記運転指令とを含む学習用データを取得する学習用データ取得部と、
     前記学習用データを用いて、前記センサ信号から新たな修正運転指令を推論するための学習済モデルを生成するモデル生成部と、
     をさらに有することを特徴とする請求項11に記載の数値制御装置。
  13.  前記センサ信号を取得するデータ取得部と、
     前記センサ信号から新たな前記修正運転指令を推論するための学習済モデルを用いて、前記データ取得部で取得した前記センサ信号から新たな修正運転指令を出力する推論部と、
     をさらに有することを特徴とする請求項11または12に記載の数値制御装置。
  14.  加工対象物を加工するための工具または前記加工対象物を回転させる主軸を駆動する主軸駆動系と、前記工具および前記加工対象物の相対位置を変化させる送り軸を駆動する送り駆動系とを含む駆動系を有し、数値制御プログラムに基づいて生成された運転指令に基づいて加工対象物を加工する工作機械と、
     前記工作機械に前記運転指令を与えることで前記工作機械を制御する数値制御装置と、
     を備え、
     前記数値制御装置は、
     前記数値制御プログラムに基づいて前記運転指令である基本運転指令を生成するとともに、前記基本運転指令を修正した前記運転指令である修正運転指令を生成する指令生成部と、
     前記基本運転指令および前記修正運転指令のそれぞれを前記工作機械に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、前記駆動系の動作と、前記工作機械の動作中に振動を生じる構造物のダイナミクスとが、前記工具による前記加工対象物の加工プロセスに与える影響を含めて算出する連成シミュレーション部と、
     複数の前記プロセス情報に基づいて、複数の前記運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、前記基本運転指令および前記修正運転指令の中から前記工作機械に与える前記運転指令を選択するプロセス評価部と、
     を有することを特徴とする加工システム。
  15.  前記数値制御装置が生成した前記運転指令と、前記運転指令を前記工作機械に与えた場合のシミュレーション結果を示す前記プロセス情報とを含む学習用データを取得する学習用データ取得部と、
     前記学習用データを用いて、前記数値制御装置の前記プロセス情報から新たな修正運転指令を推論するための学習済モデルを生成するモデル生成部と、
     を有する学習装置をさらに備えることを特徴とする請求項14に記載の加工システム。
  16.  前記数値制御装置が生成した前記プロセス情報を取得するデータ取得部と、
     前記プロセス情報から新たな修正運転指令を推論するための学習済モデルを用いて、前記データ取得部で取得した前記プロセス情報から新たな修正運転指令を出力する推論部と、
     を有する推論装置をさらに備えることを特徴とする請求項14または15に記載の加工システム。
  17.  前記工作機械は、動作中の前記構造物の振動を検出してセンサ信号を出力するセンサをさらに有し、
     前記数値制御装置が前記工作機械を制御しているときの前記センサ信号と、前記センサ信号に対応する前記運転指令とを含む学習用データを取得する学習用データ取得部と、
     前記学習用データを用いて、前記センサ信号から新たな修正運転指令を推論するための学習済モデルを生成するモデル生成部と、
     を有する学習装置をさらに備えることを特徴とする請求項14に記載の加工システム。
  18.  前記工作機械は、動作中の前記構造物の振動を検出してセンサ信号を出力するセンサをさらに有し、
     前記数値制御装置が前記工作機械に前記運転指令を与えたときの前記センサ信号を取得するデータ取得部と、
     前記センサ信号から新たな前記修正運転指令を推論するための学習済モデルを用いて、前記データ取得部が取得する前記センサ信号から新たな修正運転指令を出力する推論部と、
     を有する推論装置をさらに備えることを特徴とする請求項14または17に記載の加工システム。
  19.  加工対象物を加工するための工具または前記加工対象物を回転させる主軸を駆動する主軸駆動系と、前記工具および前記加工対象物の相対位置を変化させる送り軸を駆動する送り駆動系と、を含む駆動系を有する工作機械に運転指令を与えることによって、前記工作機械を制御する数値制御装置が実行する数値制御方法であって、
     数値制御プログラムに基づいて前記運転指令である基本運転指令を生成するステップと、
     前記基本運転指令を修正した前記運転指令である修正運転指令を生成するステップと、
     前記基本運転指令および前記修正運転指令のそれぞれを前記工作機械に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、前記駆動系の動作と、前記工作機械の動作中に振動を生じる構造物のダイナミクスとが、前記工具による前記加工対象物の加工プロセスに与える影響を含めて算出するステップと、
     複数の前記プロセス情報に基づいて、複数の前記運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、前記基本運転指令および前記修正運転指令の中から前記工作機械に与える前記運転指令を選択するステップと、
     を含むことを特徴とする数値制御方法。
  20.  加工対象物を加工するための工具または前記加工対象物を回転させる主軸を駆動する主軸駆動系と、前記工具および前記加工対象物の相対位置を変化させる送り軸を駆動する送り駆動系と、を含む駆動系を有する工作機械に運転指令を与えることによって、前記加工対象物を加工する加工方法であって、
     数値制御プログラムに基づいて前記運転指令である基本運転指令を生成するステップと、
     前記基本運転指令を修正した前記運転指令である修正運転指令を生成するステップと、
     前記基本運転指令および前記修正運転指令のそれぞれを前記工作機械に与えた場合の加工をシミュレーションした結果を示すプロセス情報を、前記駆動系の動作と、前記工作機械の動作中に振動を生じる構造物のダイナミクスとが、前記工具による前記加工対象物の加工プロセスに与える影響を含めて算出するステップと、
     複数の前記プロセス情報に基づいて、複数の前記運転指令のそれぞれを用いたときの加工誤差の大きさを評価し、前記基本運転指令および前記修正運転指令の中から前記工作機械に与える前記運転指令を選択するステップと、
     選択された前記運転指令を前記工作機械に与えるステップと、
     前記運転指令に従って前記駆動系が動作することによって、前記工具を用いて前記加工対象物を加工するステップと、
     を含むことを特徴とする加工方法。
PCT/JP2021/036265 2021-09-30 2021-09-30 数値制御装置、加工システム、数値制御方法および加工方法 WO2023053399A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2021/036265 WO2023053399A1 (ja) 2021-09-30 2021-09-30 数値制御装置、加工システム、数値制御方法および加工方法
JP2022519584A JP7224541B1 (ja) 2021-09-30 2021-09-30 数値制御装置、加工システム、数値制御方法および加工方法
CN202180102184.0A CN117957088A (zh) 2021-09-30 2021-09-30 数控装置、加工系统、数控方法及加工方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036265 WO2023053399A1 (ja) 2021-09-30 2021-09-30 数値制御装置、加工システム、数値制御方法および加工方法

Publications (1)

Publication Number Publication Date
WO2023053399A1 true WO2023053399A1 (ja) 2023-04-06

Family

ID=85226236

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/036265 WO2023053399A1 (ja) 2021-09-30 2021-09-30 数値制御装置、加工システム、数値制御方法および加工方法

Country Status (3)

Country Link
JP (1) JP7224541B1 (ja)
CN (1) CN117957088A (ja)
WO (1) WO2023053399A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395605A (ja) * 1989-09-08 1991-04-22 Toshiba Mach Co Ltd Ncサーボシミュレータ
WO1998019822A1 (fr) * 1996-11-07 1998-05-14 Okuma Corporation Procede et appareil de simulation d'usinage par commande numerique
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
JP2009006447A (ja) * 2007-06-28 2009-01-15 Jtekt Corp 工作物の研削方法及び加工装置
WO2013038532A1 (ja) * 2011-09-14 2013-03-21 株式会社ジェイテクト 加工制御装置および加工制御方法
JP2016093882A (ja) * 2014-11-07 2016-05-26 株式会社ジェイテクト 歯車加工装置及び歯車加工方法
JP2018199189A (ja) * 2017-05-26 2018-12-20 ファナック株式会社 制御装置及び機械学習装置
WO2019043852A1 (ja) * 2017-08-30 2019-03-07 三菱電機株式会社 数値制御システムおよびモータ制御装置
JP2019101680A (ja) * 2017-11-30 2019-06-24 三菱重工工作機械株式会社 加工シミュレーションの条件の適正化方法、加工シミュレーション装置、加工シミュレーションシステム及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3399419B2 (ja) * 1999-10-28 2003-04-21 三菱電機株式会社 数値制御シミュレーション装置
JP6608879B2 (ja) * 2017-07-21 2019-11-20 ファナック株式会社 機械学習装置、数値制御装置、数値制御システム、及び機械学習方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395605A (ja) * 1989-09-08 1991-04-22 Toshiba Mach Co Ltd Ncサーボシミュレータ
WO1998019822A1 (fr) * 1996-11-07 1998-05-14 Okuma Corporation Procede et appareil de simulation d'usinage par commande numerique
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
JP2009006447A (ja) * 2007-06-28 2009-01-15 Jtekt Corp 工作物の研削方法及び加工装置
WO2013038532A1 (ja) * 2011-09-14 2013-03-21 株式会社ジェイテクト 加工制御装置および加工制御方法
JP2016093882A (ja) * 2014-11-07 2016-05-26 株式会社ジェイテクト 歯車加工装置及び歯車加工方法
JP2018199189A (ja) * 2017-05-26 2018-12-20 ファナック株式会社 制御装置及び機械学習装置
WO2019043852A1 (ja) * 2017-08-30 2019-03-07 三菱電機株式会社 数値制御システムおよびモータ制御装置
JP2019101680A (ja) * 2017-11-30 2019-06-24 三菱重工工作機械株式会社 加工シミュレーションの条件の適正化方法、加工シミュレーション装置、加工シミュレーションシステム及びプログラム

Also Published As

Publication number Publication date
JP7224541B1 (ja) 2023-02-17
CN117957088A (zh) 2024-04-30
JPWO2023053399A1 (ja) 2023-04-06

Similar Documents

Publication Publication Date Title
JP6169655B2 (ja) 工作機械、シミュレーション装置、及び機械学習器
JP6567205B1 (ja) 機械学習装置、補正パラメータ調整装置および機械学習方法
JP6077617B1 (ja) 最適な速度分布を生成する工作機械
JP7010877B2 (ja) 機械学習装置、数値制御システム及び機械学習方法
CN109274314A (zh) 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP2017068325A (ja) 最適な加減速を生成する工作機械
JP2020032481A (ja) ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
JP6740279B2 (ja) 調整装置及び調整方法
JP6811908B1 (ja) 数値制御装置、機械学習装置および数値制御方法
JP6577508B2 (ja) 制御装置
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
US11507885B2 (en) Machine learning device, control device, and machine learning search range setting method
US20230116059A1 (en) Digital twin
JP7166488B1 (ja) 数値制御装置、加工システム、数値制御方法および加工方法
JP7175403B2 (ja) 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法
JP6664561B1 (ja) 位置決め制御装置及び位置決め方法
WO2023053399A1 (ja) 数値制御装置、加工システム、数値制御方法および加工方法
JP7000371B2 (ja) 機械学習装置、制御システム及び機械学習方法
JP6949284B1 (ja) 数値制御装置
WO2022064666A1 (ja) 数値制御装置および学習装置
CN118019614A (en) Numerical control device, machining system, numerical control method and machining method
JP7313585B1 (ja) 駆動条件決定装置および駆動条件決定方法
WO2017195257A1 (ja) 電子制御装置、数式モデル構築方法
WO2023209754A1 (ja) サーボ調整システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022519584

Country of ref document: JP

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

Ref document number: 21959434

Country of ref document: EP

Kind code of ref document: A1