WO2022149278A1 - 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 - Google Patents
加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 Download PDFInfo
- Publication number
- WO2022149278A1 WO2022149278A1 PCT/JP2021/000554 JP2021000554W WO2022149278A1 WO 2022149278 A1 WO2022149278 A1 WO 2022149278A1 JP 2021000554 W JP2021000554 W JP 2021000554W WO 2022149278 A1 WO2022149278 A1 WO 2022149278A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tool
- boundary
- machining program
- point
- angle
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000010801 machine learning Methods 0.000 title claims description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 137
- 238000005520 cutting process Methods 0.000 claims abstract description 133
- 238000003754 machining Methods 0.000 claims abstract description 55
- 238000012937 correction Methods 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 35
- 230000009471 action Effects 0.000 description 27
- 238000013500 data storage Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 26
- 239000013256 coordination polymer Substances 0.000 description 23
- 238000011960 computer-aided design Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 9
- 230000002787 reinforcement Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34083—Interpolation general
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36043—Correction or modification of program
Definitions
- the present disclosure relates to a machining program correction device, a numerical control device, a machining program correction method, and a machine learning device for modifying a machining program for machining using a tool.
- Numerical control For machining by machine tools, a numerical control machining program that describes movement commands for moving the workpiece or tool in a preset path is used.
- the numerically controlled machine tool is simply referred to as a "machine tool”.
- Numerical control machining programs are simply referred to as "machining programs”.
- the machining program is created by, for example, a commercially available CAD (Computer Aided Design) / CAM (Computer Aided Manufacturing) device.
- the processing program is described in a file in a predetermined format by a character string such as a G code or a macro statement.
- the G code is a command code for performing positioning, linear interpolation, arc interpolation, plane designation, and the like by numerical control, for example.
- the CAD / CAM device When creating a machining program for cutting, the CAD / CAM device virtually moves the tool so that the tool touches the machining surface for machining the workpiece into the target shape, and the tool path.
- the CAD / CAM device describes a movement command for moving the tool along the tool path by a G code that can be interpreted by the numerical control device.
- the machining program is input to the numerical control device of the machine tool.
- the numerical control device creates interpolation data in which the tool path is interpolated for each interpolation cycle from the movement command by analyzing the machining program.
- the numerical control device controls each axis of the machine tool based on the interpolation data.
- Machine tools perform cutting by controlling the movement of tools by a numerical control device.
- Patent Document 1 describes a processing device that determines the attributes of an inflection point based on a target shape such as a contour, which is a workpiece, and determines the processing speed using parameters set in advance for each attribute of the inflection point. Is disclosed.
- the present disclosure has been made in view of the above, and an object of the present disclosure is to obtain a machining program modification device that enables a machine tool to efficiently obtain a high-quality machined product.
- the machining program modification device is a command for moving a tool for cutting a workpiece having a first machined surface and a second machined surface.
- the machining program analysis unit that finds the tool path that is the path to move the tool to the workpiece by the analysis of the machining program described in
- a cutting point calculation unit that calculates a cutting point on the machined surface of an object and corresponding to a tool for each of a plurality of command points on the tool path, and a first machined surface and a second machined surface. It includes an angle calculation unit that calculates the boundary portion angle, which is an angle formed by a surface, from a command point and a cutting point, and a machining program output unit that outputs a machining program that reflects information on the boundary portion angle.
- the machining program modification device has the effect of making it possible to efficiently obtain high-quality machined products by machine tools.
- the figure which shows an example of the tool defined by the tool data in Embodiment 1. A perspective view showing an example of a target shape defined by shape data in the first embodiment.
- FIG. 3 for explaining the cutting point calculated in the first embodiment.
- the second figure for demonstrating the extraction of the boundary command point in Embodiment 1. The first figure for demonstrating the calculation of the boundary part angle in Embodiment 1.
- the figure for demonstrating the modification of the boundary part angle calculation method shown in FIG. The second figure for demonstrating the calculation of the boundary part angle in Embodiment 1.
- the figure for demonstrating the modification of the method of calculating the boundary part angle shown in FIG. The figure which shows the structure of the machining program correction apparatus which concerns on the modification of Embodiment 1.
- FIG. 1 is a diagram showing a configuration of a machining program correction device 100 according to the first embodiment.
- the machining program correction device 100 modifies a machining program for machining using a tool.
- the machining program correction device 100 includes a machining program input unit 1, a machining program storage unit 2, a tool data input unit 3, a tool data storage unit 4, a shape data input unit 5, a shape data storage unit 6, and a machining unit.
- the machining program is input to the machining program input unit 1 from the outside of the machining program correction device 100.
- the machining program storage unit 2 stores the machining program input to the machining program input unit 1.
- the machining program describes a movement command for moving a tool for cutting a workpiece.
- the movement of the tool refers to the relative movement of the tool with respect to the workpiece.
- Tool data is input to the tool data input unit 3 from the outside of the machining program correction device 100.
- the tool data storage unit 4 stores the tool data input to the tool data input unit 3.
- Tool data is data that defines the tool used for machining.
- the tool data includes information indicating the type of the tool and information indicating the shape of the tool such as the tool diameter and the tool length.
- the tool data may include information representing the slope of the tool outer diameter bus with respect to the center axis of the tool.
- the tool data may include information representing an asymmetrical shape such as a turning tool.
- Shape data is input to the shape data input unit 5 from the outside of the machining program correction device 100.
- the shape data storage unit 6 stores the shape data input to the shape data input unit 5.
- the shape data is data that defines a target shape.
- the shape data also includes information on the surface of the workpiece that should be avoided from contact with the tool.
- the shape data is three-dimensional data, for example, CAD data.
- the machining program analysis unit 7 reads the machining program from the machining program storage unit 2 and performs analysis processing of the machining program.
- the machining program analysis unit 7 obtains a tool path by analyzing the machining program.
- the tool path is a path for moving the tool with respect to the workpiece.
- the machining program analysis unit 7 analyzes the movement command described in the machining program, and obtains a tool path and each command point which is a sequence of points on the tool path.
- the tool path storage unit 8 stores data of the tool path and the command point.
- the cutting point calculation unit 9 calculates the cutting point.
- the cutting point is a point on the machined surface of the workpiece and corresponds to the tool when the tool is placed at the command point on the tool path. The details of the cutting point will be described later.
- the cutting point calculation unit 9 calculates a cutting point for each of a plurality of command points on the tool path.
- the cutting point storage unit 10 stores the cutting point data.
- the boundary command point extraction unit 11 extracts the boundary command point from a plurality of command points.
- the boundary command point is a command point located at the boundary between two machined surfaces in contact with each other in the work piece.
- the boundary command point storage unit 12 stores the data of the boundary command point.
- the angle calculation unit 13 calculates the boundary portion angle from the command point and the cutting point.
- the boundary portion angle is an angle formed by the first machined surface and the second machined surface of the workpiece at the boundary command point.
- the angle storage unit 14 stores the boundary portion angle data. The details of the boundary command point and the boundary angle will be described later.
- the correction unit 15 corrects the machining program by reflecting the information of the boundary portion angle in the machining program.
- the correction unit 15 modifies the machining program by adding information on the boundary portion angle to the machining program.
- the machining program output unit 16 outputs a machining program reflecting the information of the boundary portion angle to the outside of the machining program correction device 100.
- FIG. 2 is a flowchart showing an operation procedure of the machining program correction device 100 according to the first embodiment.
- step S1 the machining program correction device 100 receives the machining program, tool data, and shape data.
- a machining program which is a file in a predetermined format, is input from the CAD / CAM device or the CAD / CAM system to the machining program input unit 1.
- the machining program is input to the machining program input unit 1 by the operator operating an input device such as a keyboard.
- the machining program input unit 1 outputs the input machining program to the machining program storage unit 2.
- the tool data is input to the tool data input unit 3 by the operator operating the input device.
- Tool data obtained by data conversion from CAD data may be input to the tool data input unit 3.
- the tool data input unit 3 outputs the input tool data to the tool data storage unit 4.
- FIG. 3 is a diagram showing an example of a tool defined by tool data in the first embodiment.
- the tool T1 shown in FIG. 3 is a ball end mill.
- the tool T1 has a shape in which a hemisphere is attached to the bottom of the cylinder.
- the central axis of the tool T1 is the central axis of the cylinder.
- the central axis is the rotation axis of the tool T1.
- the tool diameter is the diameter of the cylinder.
- the tool length is the length of the tool T1 in the direction of the central axis.
- the shape data is data in a predetermined format and is created by a CAD / CAM device or a CAD / CAM system.
- the shape data is input to the shape data input unit 5 from the CAD / CAM device or the CAD / CAM system.
- the shape data may be input to the shape data input unit 5 by the operator operating the input device.
- FIG. 4 is a perspective view showing an example of a target shape defined by shape data in the first embodiment.
- the target shape M1 shown in FIG. 4 is a three-dimensional shape having three machined surfaces S0, S1 and S2.
- Each of the machined surfaces S0, S1 and S2 is a curved surface or a flat surface.
- the X-axis, Y-axis, and Z-axis are three axes perpendicular to each other.
- the X-axis direction may be referred to as a machining direction
- the Y-axis direction may be referred to as a lateral direction
- the Z-axis direction may be referred to as a vertical direction.
- the machining program correction device 100 advances the procedure to step S2.
- step S2 the machining program correction device 100 obtains a tool path by analyzing the machining program.
- the machining program analysis unit 7 reads the machining program from the machining program storage unit 2 and analyzes the machining program.
- the machining program analysis unit 7 obtains a tool path and a command point by analyzing the machining program.
- the machining program analysis unit 7 outputs the data of the tool path and the command point to the tool path storage unit 8.
- FIG. 5 is a diagram showing an example of a tool path and a command point obtained by analysis of a machining program in the first embodiment.
- the tool path TP1 shown in FIG. 5 is a path for sequentially moving the tool T1 at 10 command points P0-P9.
- FIG. 6 is a first diagram for explaining how the tool T1 moves in the tool path TP1 shown in FIG.
- FIG. 7 is a second diagram for explaining how the tool T1 moves in the tool path TP1 shown in FIG.
- the tool T1 and the tool path TP1 are shown in accordance with the target shape M1 when viewed from an obliquely upper position with respect to the target shape M1.
- the tool T1 and the tool path TP1 are shown in accordance with the target shape M1 when viewed from a position in the lateral direction with respect to the target shape M1.
- the tool T1 is arranged so that the reference point of the tool T1 coincides with the command point P at each command point P0-P9.
- the reference point is the position on the central axis of the tool T1.
- the command point P shall be referred to without distinguishing each of the command points P0-P9.
- the machining program correction device 100 advances the procedure to step S3.
- step S3 the machining program correction device 100 obtains a cutting point for each of the plurality of command points on the tool path.
- the cutting point calculation unit 9 reads tool data from the tool data storage unit 4.
- the cutting point calculation unit 9 reads out the shape data from the shape data storage unit 6.
- the cutting point calculation unit 9 reads the data of the tool path and the command point from the tool path storage unit 8.
- the cutting point calculation unit 9 calculates the cutting point for each command point on the tool path based on the tool data, the shape data, and the data of the tool path and the command point.
- the cutting point calculation unit 9 outputs the cutting point data associated with the command point to the cutting point storage unit 10.
- the cutting point calculation unit 9 determines the positional relationship between the machined surface S and the tool T1 by performing an operation of quasi-arranging the target shape M1 represented by the shape data and the tool T1 represented by the tool data in a virtual space. Ask. The cutting point calculation unit 9 obtains the positional relationship when the tool T1 is arranged at the command point P for each of the command points P0 to P9.
- the machined surface S refers to each of the machined surfaces S0, S1 and S2 without distinction.
- the arrangement of the tool T1 includes the first aspect in which the tool T1 is separated from the machined surface S and the tool T1 is in contact with the machined surface S. There is a second aspect and a third aspect in which a part of the tool T1 overlaps a part of the target shape M1.
- FIG. 8 is a first diagram for explaining the cutting point calculated in the first embodiment.
- FIG. 9 is a second diagram for explaining the cutting point calculated in the first embodiment.
- FIG. 10 is a third diagram for explaining the cutting point calculated in the first embodiment.
- FIG. 8 shows an example of the cutting point CP in the case where the arrangement mode of the tool T1 is the first aspect.
- the cutting point calculation unit 9 calculates the point of the machined surface S where the distance from the tool T1 is the shortest as the cutting point CP.
- FIG. 9 shows an example of the cutting point CP in the case where the arrangement mode of the tool T1 is the second aspect. In the second aspect, the cutting point calculation unit 9 calculates the point of the machined surface S where the tool T1 is in contact as the cutting point CP.
- FIG. 10 shows an example of the cutting point CP when the arrangement mode of the tool T1 is the third aspect.
- the cutting point calculation unit 9 virtually reduces the tool T1 around the reference point of the tool T1.
- the cutting point calculation unit 9 calculates the point of the machined surface S where the reduced tool T1o comes into contact as the cutting point CP in a state where the tool T1 is reduced until the tool T1 touches the machined surface S.
- the cutting point CP is a point on the machined surface S of the workpiece and corresponds to the tool T1 when the tool T1 is arranged at the command point P on the tool path TP1. It is a point to do.
- FIG. 11 is a diagram showing each command point P on the tool path TP1 shown in FIG. 7 and a cutting point CP corresponding to each command point P.
- the cutting points CP0-CP3 are the cutting points CP corresponding to the command points P0-P3, respectively.
- the cutting point CP6 is a cutting point CP corresponding to the command point P5.
- the cutting point CP8 is a cutting point CP corresponding to the command point P9.
- one cutting point CP corresponds to each command point P0-P3, P5, P9.
- the command point P4 is a command point P near the boundary between the two machined surfaces S0 and S1.
- the cutting point CP4 is a cutting point CP on the machining surface S0 when the tool T1 is arranged at the command point P4.
- the cutting point CP5 is a cutting point CP on the machining surface S1 when the tool T1 is arranged at the command point P4.
- two cutting points CP4 and CP5 correspond to the command point P4.
- the cutting point CP7 is at the boundary between the two machined surfaces S1 and S2.
- the cutting point CP7 is a cutting point CP when the tool T1 is arranged at each of the command points P6, P7, and P8.
- one cutting point CP7 corresponds to the three command points P6, P7, and P8.
- the boundary command point is a command point when the command point P and the cutting point CP do not have a one-to-one correspondence.
- step S4 the machining program correction device 100 extracts a boundary command point from a plurality of command points on the tool path.
- the boundary command point extraction unit 11 reads shape data from the shape data storage unit 6.
- the boundary command point extraction unit 11 reads the cutting point data associated with the command point from the cutting point storage unit 10.
- the boundary command point extraction unit 11 extracts a boundary command point from a plurality of command points based on the shape data and the cutting point data.
- the boundary command point extraction unit 11 outputs the data of the boundary command point associated with the cutting point to the boundary command point storage unit 12.
- FIG. 12 is a first diagram for explaining the extraction of the boundary command point in the first embodiment.
- FIG. 13 is a second diagram for explaining the extraction of the boundary command point in the first embodiment. 12 and 13 show boundary command points extracted from the plurality of command points P0-P9 shown in FIG. The boundary command point is a command point P located at the boundary between two machined surfaces S in contact with each other.
- the command point P4 is associated with the two cutting points CP4 and CP5, and is the command point P located at the boundary between the two machining surfaces S0 and S1.
- the two machined surfaces S0 and S1 form a concave boundary portion.
- the boundary command point extraction unit 11 extracts the command point P4 as the boundary command point.
- the boundary command point extraction unit 11 outputs the data of the command point P4 associated with the two cutting points CP4 and CP5 as the data of the boundary command point.
- the three command points P6, P7, and P8 are associated with one cutting point CP7, and are command points P located at the boundary between the two machining surfaces S1 and S2.
- the two machined surfaces S1 and S2 form a convex boundary portion.
- the boundary command point extraction unit 11 extracts three command points P6, P7, and P8 as boundary command points.
- the boundary command point extraction unit 11 outputs the data of the three command points P6, P7, and P8 associated with one cutting point CP7 as the data of the boundary command point.
- the machining program correction device 100 advances the procedure to step S5.
- step S5 the machining program correction device 100 calculates the boundary portion angle at each boundary command point on the tool path.
- the angle calculation unit 13 reads out the shape data from the shape data storage unit 6.
- the angle calculation unit 13 reads the data of the boundary command point associated with the cutting point from the boundary command point storage unit 12.
- the angle calculation unit 13 calculates the boundary portion angle based on the shape data and the boundary command point data.
- the angle calculation unit 13 outputs the data of the boundary portion angle associated with the boundary command point to the angle storage unit 14.
- FIG. 14 is a first diagram for explaining the calculation of the boundary portion angle in the first embodiment.
- the angle calculation unit 13 calculates the boundary portion angle AN0 with respect to the command point P4 which is the boundary command point.
- the boundary portion angle AN0 is an angle formed by the machined surface S0 and the machined surface S1 at the boundary B1 between the machined surface S0 and the machined surface S1.
- the machined surface S0 is the first machined surface
- the machined surface S1 is the second machined surface.
- the boundary portion angle AN0 at the boundary portion of the concave shape is an angle formed by the machined surface S0 and the machined surface S1 outside the target shape M1.
- the angle calculation unit 13 may calculate an approximate angle, which is an approximation result of the angle formed by the machined surface S0 and the machined surface S1, as the boundary portion angle AN0. In the modification described below, the angle calculation unit 13 calculates the approximate angle based on the cutting point associated with the boundary command point.
- FIG. 15 is a diagram for explaining a modified example of the method of calculating the boundary portion angle shown in FIG.
- the angle calculation unit 13 obtains the normal vector NV4 of the machined surface S0 at the cutting point CP4 and the normal vector NV5 of the machined surface S1 at the cutting point CP5.
- the angle calculation unit 13 obtains the outer angle of the angle AN0'formed by the normal vector NV4 and the normal vector NV5 as an approximate angle between the machined surface S0 and the machined surface S1. In this way, the angle calculation unit 13 can calculate the approximate angle with the boundary portion angle AN0.
- FIG. 16 is a second diagram for explaining the calculation of the boundary portion angle in the first embodiment.
- the angle calculation unit 13 calculates the boundary portion angle AN1 for the command points P6, P7, and P8, which are the boundary command points.
- the boundary portion angle AN1 is an angle formed by the machined surface S1 and the machined surface S2 at the boundary between the machined surface S1 and the machined surface S2.
- the machined surface S1 is the first machined surface
- the machined surface S2 is the second machined surface.
- the cutting point CP7 is located on the boundary between the machined surface S1 and the machined surface S2.
- the boundary portion angle AN1 at the boundary portion of the convex shape is an angle formed by the machined surface S1 and the machined surface S2 inside the target shape M1.
- the workpiece may have at least a first machined surface and a second machined surface. Needless to say, the workpiece may have first, second and third processed surfaces, and may further have other processed surfaces.
- the angle calculation unit 13 may calculate an approximate angle, which is an approximation result of the angle formed by the machined surface S1 and the machined surface S2, as the boundary portion angle AN1. In the modification described below, the angle calculation unit 13 calculates the approximate angle based on the cutting point associated with the boundary command point.
- FIG. 17 is a diagram for explaining a modified example of the method of calculating the boundary portion angle shown in FIG.
- the angle calculation unit 13 obtains the normal vector NV7a of the machined surface S1 at the cutting point CP7 and the normal vector NV7b of the machined surface S2 at the cutting point CP7.
- the angle calculation unit 13 obtains the outer angle of the angle AN1'formed by the normal vector NV7a and the normal vector NV7b as an approximate angle between the machined surface S1 and the machined surface S2. In this way, the angle calculation unit 13 can calculate the approximate angle as the boundary portion angle AN1.
- the angle calculation unit 13 may associate the boundary portion angle data with information indicating whether the boundary portion has a concave shape or a convex shape, and output the data to the angle storage unit 14. After finishing step S5, the machining program correction device 100 advances the procedure to step S6.
- step S6 the machining program correction device 100 modifies the machining program by describing the boundary portion angle information in the machining program.
- the correction unit 15 reads the data of the tool path and the command point from the tool path storage unit 8.
- the correction unit 15 reads the data of the boundary portion angle associated with the boundary command point from the angle storage unit 14.
- the correction unit 15 describes information on the boundary portion angle associated with the command point, which is the boundary command point, in a machining program consisting of movement commands based on the tool path.
- the correction unit 15 modifies the machining program by describing the boundary portion angle information in the machining program.
- the correction unit 15 outputs the modified machining program to the machining program output unit 16.
- the correction unit 15 may describe in the machining program information indicating whether the boundary portion has a concave shape or a convex shape, as well as information on the boundary portion angle. After finishing step S6, the machining program correction device 100 advances the procedure to step S7.
- step S7 the machining program correction device 100 outputs the modified machining program to the outside of the machining program correction device 100 by the machining program output unit 16.
- the machining program output unit 16 outputs a machining program in which information on the boundary portion angle is described.
- the machining program output unit 16 may output a machining program in which information indicating whether the boundary portion composed of two machining surfaces of the workpiece is a convex shape or a concave shape is described.
- the machining program correction device 100 ends the operation according to the procedure shown in FIG.
- the machining program modified by the machining program modification device 100 is input to the numerical control device of the machine tool.
- the numerical control device calculates the permissible speed when the tool passes through the command point for each command point to which the boundary angle is associated, based on the data of the boundary angle associated with the boundary command point. ..
- the permissible speed is the highest speed at which the machined surface can be machined with the desired quality.
- the numerical control device creates interpolation data based on the tool path and command point data and the permissible speed.
- the machining program correction device 100 extracts the boundary command point based on the tool path, the shape data, and the tool data, and obtains the boundary degree angle at the extracted boundary command point.
- the machining program correction device 100 can recognize a curved portion in which the direction of the tool path changes significantly and a corner portion in the target shape, and can output a machining program reflecting information on the boundary portion angle in the curved portion and the corner portion. This makes it possible to improve the quality of the processed product.
- the machining program correction device 100 obtains the boundary portion angle formed by the machined surface at the boundary.
- the machining program correction device 100 does not require contour data for each tool path even when the machining target shape is a contour shape that is not uniform in the depth direction and the adjacent tool paths change. Therefore, the machining program correction device 100 can avoid a decrease in work efficiency.
- the numerical control device can set the permissible speed and improve the quality of the machined surface even when the tool path is not a path traveling along a plane having a tool path other than the scanning line machining. ..
- the machining program correction device 100 since the machining program correction device 100 describes and outputs the information of the boundary portion angle associated with the command point of the tool path in the machining program, it is not necessary to classify the attribute of the inflection point by the angle or the like. ..
- the numerical control device can decelerate the tool at each command point position according to the permissible speed calculated based on the boundary angle.
- the numerical control device smoothly changes the speed between the tool paths even when the angle of the machined surface changes continuously in the direction in which the tool paths are adjacent to each other when a plurality of tool paths are adjacent to each other. be able to.
- the numerical control device can improve the quality of the machined surface by smoothly changing the speed between the tool paths.
- the machining program correction device 100 has an effect that it is possible to efficiently obtain a high quality machined product by a machine tool.
- FIG. 18 is a diagram showing a configuration of a machining program correction device 101 according to a modification of the first embodiment.
- the machining program correction device 101 has a speed calculation unit 17 in addition to the configuration shown in FIG.
- the speed calculation unit 17 calculates the speed of the tool at the boundary command point based on the boundary portion angle.
- the speed calculation unit 17 reads the data of the tool path and the command point from the tool path storage unit 8.
- the speed calculation unit 17 reads data of the boundary portion angle associated with the boundary command point from the angle storage unit 14.
- the speed calculation unit 17 calculates an allowable speed, which is the speed when the tool passes the command point.
- the speed calculation unit 17 calculates the speed for each command point to which the boundary angle is associated.
- An example of the speed calculation method is a method of multiplying the feed rate described in the machining program by a coefficient.
- the coefficient a value obtained by dividing the boundary angle at each command point by 180 degrees can be used.
- the speed calculation unit 17 calculates a speed closer to the feed speed described in the machining program as the boundary portion angle is closer to 180 degrees.
- the speed calculation unit 17 may switch the speed calculation method depending on whether the boundary portion has a concave shape or a convex shape.
- the speed calculation unit 17 outputs the speed data associated with the boundary command point to the correction unit 15.
- the correction unit 15 describes speed information in a machining program consisting of movement commands based on the tool path.
- the correction unit 15 modifies the machining program by describing the speed information in the machining program.
- the machining program output unit 16 outputs a machining program in which speed information is described. Since the speed information is information calculated based on the boundary portion angle, the machining program output unit 16 outputs a machining program in which the boundary portion angle information is reflected by the description of the speed information.
- the machining program correction device 101 can efficiently obtain a high quality machined product by a machine tool, similarly to the above-mentioned machining program correction device 100. Further, according to the modification of the first embodiment, the numerical control device does not require a process of calculating the speed of the tool based on the information of the boundary portion angle.
- the machining program modification devices 100 and 101 according to the first embodiment also have the following effects as compared with, for example, the machining device of Patent Document 1.
- the processing apparatus according to Patent Document 1 reads numerical control data which is a processing program in order to recognize the target shape, subdivides the data point group described in the numerical control data, and determines the attribute of the inflection point.
- the processing apparatus recognizes the target shape based on the contour along the tool path.
- the machining apparatus captures a data point cloud for each of the tool paths arranged in the depth direction in order to recognize the target shape. There is a need.
- the machining program correction device 100 according to the second embodiment corrects the information of the boundary portion angle to be reflected in the machining program based on the angle formed by the traveling direction of the tool at the command point and the boundary line.
- the machining program correction device 100 according to the second embodiment has the same configuration as the machining program correction device 100 according to the first embodiment.
- the operation procedure of the machining program correction device 100 according to the second embodiment is the same as the operation procedure shown in FIG.
- the same components as those in the first embodiment are designated by the same reference numerals, and processing different from that of the first embodiment will be described.
- FIG. 19 is a diagram for explaining how the tool T1 moves in the tool path TP2 obtained by the analysis of the machining program in the second embodiment.
- the tool path TP2 shown in FIG. 19 is a path for sequentially moving the tool T1 at the ten command points P10-P19.
- the tool path TP1 shown in FIG. 6 has a constant position in the Y-axis direction, while the tool path TP2 shown in FIG. 19 changes its position in the Y-axis direction.
- FIG. 20 is a diagram showing each command point P on the tool path TP2 shown in FIG. 19 and a cutting point CP corresponding to each command point P.
- the cutting point calculation unit 9 calculates the cutting points CP10-CP20 for each command point P10-P19 on the tool path TP2.
- the cutting points CP10-CP13 are the cutting points CP corresponding to the command points P10-P13, respectively.
- the cutting point CP16 is a cutting point CP corresponding to the command point P15.
- the cutting point CP20 is a cutting point CP corresponding to the command point P19.
- one cutting point CP corresponds to each command point P10-P13, P15, P19.
- Two cutting points CP14 and CP15 correspond to the command point P14.
- Cutting points CP17, CP18, and CP19 correspond to the three command points P16, P17, and P18, respectively.
- the boundary command point extraction unit 11 extracts command points P14, P16, P17, and P18, which are boundary command points.
- FIG. 21 is a first diagram for explaining the calculation of the boundary portion angle in the second embodiment. Similar to the case of the first embodiment, the angle calculation unit 13 calculates the boundary portion angle AN2 with respect to the command point P14 which is the boundary command point.
- the boundary portion angle AN2 is an angle formed by the machined surface S0 and the machined surface S1 at the boundary B2 between the machined surface S0 and the machined surface S1.
- FIG. 22 is a first diagram for explaining the correction of the boundary portion angle information in the second embodiment.
- the angle calculation unit 13 obtains the moving direction PV14 of the tool T1 at the command point P14 and the boundary direction EV0 which is the direction of the straight line which is the boundary B2, and compares the moving direction PV14 and the boundary direction EV0.
- the angle calculation unit 13 corrects the information of the boundary portion angle AN2 to be closer to 180 degrees as the moving direction PV14 and the boundary direction EV0 are closer to parallel.
- the angle calculation unit 13 does not correct the information of the boundary portion angle AN2 so that the moving direction PV14 and the boundary direction EV0 are closer to vertical.
- the angle calculation unit 13 inputs the information of the boundary portion angle AN2 to the boundary portion angle AN2 when the angle formed by the moving direction PV14 and the boundary direction EV0 is included in 90 degrees to 180 degrees. Linear interpolation between the original value and 180 degrees.
- FIG. 23 is a second diagram for explaining the calculation of the boundary portion angle in the second embodiment.
- Each command point P16, P17, P18 is a point on the boundary B3 between the machined surface S1 and the machined surface S2. Similar to the case of the first embodiment, the angle calculation unit 13 calculates the boundary portion angle AN3 for the command points P16-P18 which are the boundary command points.
- the boundary portion angle AN3 is an angle formed by the machined surface S1 and the machined surface S2 at the boundary B3.
- FIG. 24 is a second diagram for explaining the correction of the boundary portion angle information in the second embodiment.
- the angle calculation unit 13 obtains the moving direction PV16 of the tool T1 at the command point P16 and the boundary direction EV1 which is the direction of the straight line which is the boundary B3, and compares the moving direction PV16 with the boundary direction EV1.
- the angle calculation unit 13 corrects the information of the boundary portion angle AN3 to be closer to 180 degrees as the moving direction PV16 and the boundary direction EV1 are closer to parallel.
- the angle calculation unit 13 does not correct the information of the boundary portion angle AN3 so that the moving direction PV16 and the boundary direction EV1 are closer to vertical.
- the angle calculation unit 13 inputs the information of the boundary portion angle AN3 to the boundary portion angle AN3 when the angle formed by the moving direction PV16 and the boundary direction EV1 is included in 90 degrees to 180 degrees. Linear interpolation between the original value and 180 degrees.
- the angle calculation unit 13 also corrects the information of the boundary portion angle AN3 for the command points P17 and P18, as in the case of the command point P16.
- the angle calculation unit 13 may obtain the direction of a straight line connecting the command points adjacent to each other on the tool path as the traveling direction of the tool at the boundary command point.
- the angle calculation unit 13 may obtain the traveling direction of the tool at the boundary command point by another method. It is desirable to obtain the direction of the boundary between the two machined surfaces directly from the target shape.
- the angle calculation unit 13 may approximately obtain the direction of the boundary based on the cutting point associated with the boundary command point.
- the angle calculation unit 13 may obtain the normal vector of the machined surface at the cutting point for each of the two machined surfaces, and approximately obtain the direction of the boundary from the outer product direction of each normal vector.
- the machining program correction device 100 can modify the machining program so that the deceleration of the tool is reduced in the portion of the target shape in which the moving direction of the tool and the boundary direction are close to parallel. Further, the machining program correction device 100 can modify the machining program so that the tool is decelerated according to the calculated boundary portion angle in the portion of the target shape in which the moving direction of the tool and the boundary direction are close to vertical. ..
- the machining program correction device 100 has the effect that it is possible to efficiently obtain a high-quality machined product by the machine tool.
- the machining program correction device 101 according to the modification of the first embodiment may correct the information of the boundary portion angle as in the second embodiment.
- FIG. 25 is a diagram showing a hardware configuration example of the machining program correction devices 100 and 101 according to the first or second embodiment.
- FIG. 25 shows the hardware configuration when the functions of the machining program correction devices 100 and 101 are realized by using the hardware for executing the program.
- the machining program correction devices 100 and 101 store information in an input unit 50 for inputting information to the machining program correction devices 100 and 101, a processor 51 for executing various processes, a memory 52 as a built-in memory, and information. It has a storage device 53 and an output unit 54 for outputting information from the machining program correction devices 100 and 101.
- the input unit 50 is a circuit that receives data input to the machining program correction devices 100 and 101 from the outside. Each function of the machining program input unit 1, the tool data input unit 3, and the shape data input unit 5 is realized by using the input unit 50.
- the processor 51 is a CPU (Central Processing Unit).
- the processor 51 may be a processing device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
- the memory 52 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory) or an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory).
- the storage device 53 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
- the program that causes the computer to function as the machining program correction devices 100 and 101 is stored in the storage device 53.
- the processor 51 reads the program stored in the storage device 53 into the memory 52 and executes it.
- the program may be stored in a storage medium that can be read by a computer system.
- the machining program correction devices 100 and 101 may store the program recorded in the storage medium in the memory 52.
- the storage medium may be a portable storage medium that is a flexible disk, or a flash memory that is a semiconductor memory.
- the program may be installed in a computer system from another computer or server device via a communication network.
- Each function of the machining program analysis unit 7, the cutting point calculation unit 9, the boundary command point extraction unit 11, the angle calculation unit 13, the correction unit 15, and the speed calculation unit 17 depends on the combination of the processor 51 and software. It will be realized. Each of the functions may be realized by a combination of the processor 51 and the firmware, or may be realized by a combination of the processor 51, the software and the firmware.
- the software or firmware is written as a program and stored in the storage device 53.
- the storage device 53 stores various data used in the machining program correction devices 100 and 101. Each of the machining program storage unit 2, the tool data storage unit 4, the shape data storage unit 6, the tool path storage unit 8, the cutting point storage unit 10, the boundary command point storage unit 12, and the angle storage unit 14. The function is realized using the storage device 53.
- the output unit 54 is a circuit that outputs the machining program corrected by the machining program correction devices 100 and 101 to the outside.
- the function of the machining program output unit 16 is realized by using the output unit 54.
- the functions of the machining program correction devices 100 and 101 may be realized by a processing circuit which is dedicated hardware for modifying the machining program.
- the processing circuit 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.
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- FIG. 26 is a diagram showing the configuration of the numerical control device 200 according to the third embodiment.
- the same components as those in the first or second embodiment are designated by the same reference numerals, and a configuration different from the first or second embodiment will be described.
- the numerical control device 200 includes a machining program input unit 1, a machining program storage unit 2, a tool data input unit 3, a tool data storage unit 4, a shape data input unit 5, a shape data storage unit 6, and a machining program.
- the interpolation acceleration / deceleration unit 20 has a function as an interpolation unit for obtaining an interpolation point representing a position on the tool path in each unit time, and a function for performing acceleration / deceleration processing of the interpolation point.
- the interpolation acceleration / deceleration unit 20 obtains an interpolation point based on the speed calculated by the speed calculation unit 17.
- the interpolation acceleration / deceleration unit 20 outputs the interpolation data, which is the data of the interpolation points that have undergone the acceleration / deceleration process, to the interpolation data output unit 21.
- the interpolation data output unit 21 outputs the interpolation data to the motor drive unit 22 of the machine tool.
- FIG. 27 is a flowchart showing the operation procedure of the numerical control device 200 according to the third embodiment.
- step S11 the numerical control device 200 receives the machining program, tool data, and shape data.
- step S12 the numerical control device 200 obtains a tool path by analyzing a machining program.
- step S13 the numerical control device 200 obtains a cutting point for each of the plurality of command points on the tool path.
- step S14 the numerical control device 200 extracts a boundary command point from a plurality of command points on the tool path.
- step S15 the numerical control device 200 calculates the boundary portion angle at each boundary command point on the tool path.
- the details of steps S11 to S15 are the same as in the case of steps S1 to S5 shown in FIG. Note that the angle calculation unit 13 may correct the information on the boundary portion angle based on the angle formed by the traveling direction of the tool at the command point and the boundary line, as in the case of the second embodiment.
- step S16 the numerical control device 200 calculates the speed of the tool at the boundary command point based on the boundary angle.
- the speed calculation unit 17 reads the data of the tool path and the command point from the tool path storage unit 8.
- the speed calculation unit 17 reads data of the boundary portion angle associated with the boundary command point from the angle storage unit 14.
- the speed calculation unit 17 calculates the speed at which the tool passes through each command point to which the boundary angle is associated.
- the speed calculation method by the speed calculation unit 17 is the same as that of the modified example of the first embodiment.
- the speed calculation unit 17 calculates the speed by calculation using the corrected boundary portion angle information.
- the speed calculation unit 17 outputs the speed data associated with the boundary command point to the interpolation acceleration / deceleration unit 20.
- step S17 the numerical control device 200 performs interpolation processing of the tool path and acceleration / deceleration processing of the interpolation result.
- the interpolation acceleration / deceleration unit 20 creates an interpolation point in which the tool path is interpolated for each interpolation cycle, that is, for each unit time, based on the movement command based on the tool path and the speed data.
- the interpolation acceleration / deceleration unit 20 performs acceleration / deceleration processing of the interpolation point.
- the interpolation acceleration / deceleration unit 20 outputs the interpolation data to the interpolation data output unit 21.
- step S18 the numerical control device 200 outputs the interpolation data to the motor drive unit 22 by the interpolation data output unit 21. As a result, the numerical control device 200 ends the operation according to the procedure shown in FIG. 27.
- the numerical control device 200 extracts the boundary command point based on the tool path, the shape data, and the tool data, and from the boundary degree angle at the extracted boundary command point, the tool at the boundary portion. Find the speed.
- the numerical control device 200 can control the movement of the tool at a speed at which machining with a desired quality is possible at a curved portion where the direction of the tool path changes significantly and a corner portion in the target shape. This makes it possible to improve the quality of the processed product.
- the numerical control device 200 has an effect that it is possible to efficiently obtain a high quality processed product by the machine tool as in the case of the first or second embodiment.
- FIG. 28 is a diagram showing the configuration of the numerical control device 201 according to the fourth embodiment.
- the same components as those in the first to third embodiments are designated by the same reference numerals, and a configuration different from the first to third embodiments will be described.
- the numerical control device 201 has an interpolation data storage unit 23 and a machine learning device 30 in addition to the configuration shown in FIG.
- the interpolation acceleration / deceleration unit 20 outputs the interpolation data to the interpolation data output unit 21 and the interpolation data storage unit 23.
- the interpolation data storage unit 23 stores the interpolation data created by the interpolation acceleration / deceleration unit 20.
- the machine learning device 30 learns a method of correcting the boundary portion angle that enables machining with desired accuracy while minimizing the delay in machining time.
- the machine learning device 30 includes a state observation unit 31 and a learning unit 32.
- the state observation unit 31 reads the interpolation data from the interpolation data storage unit 23.
- the state observation unit 31 observes the interpolated data as a state variable.
- the learning unit 32 learns how to correct the boundary angle information according to the data set created based on the state variables.
- the angle calculation unit 13 corrects the boundary portion angle information based on the angle formed by the traveling direction of the tool at the command point and the line that is the boundary between the two machined surfaces. do.
- the angle calculation unit 13 obtains information on the boundary portion angle by 180 degrees from the original value of the boundary portion angle. Interpolate between.
- the machine learning device 30 learns a function representing such interpolation.
- the state variables include the amount of error representing the distance between the tool and the cutting point at the interpolation point, the difference between the tool path and the locus of the tip position of the tool, the speed or acceleration of the tool at the interpolation point, and the tool path. Machining data, which is at least one with the machining time, may be included.
- the state observation unit 31 observes the processing data calculated based on the interpolation data as a state variable.
- the machining data observed as a state variable is not limited to the data calculated based on the interpolation data, but may be the data actually measured by the machine tool. That is, the state observing unit 31 has an error amount representing the difference between the distance between the tool and the cutting point at the interpolation point, the locus of the tool path and the tip position of the tool, the speed or acceleration of the tool at the interpolation point, and the tool path. At least one actually measured value with the processing time in the above may be observed as a state variable. In this case, the state observation unit 31 acquires machining data from an external measuring device of the numerical control device 201. As a result, the state observing unit 31 can observe the machining data including vibration in the machine tool as a state variable.
- the learning unit 32 creates a data set that summarizes the state variables input from the state observation unit 31.
- the learning unit 32 learns how to correct the boundary portion angle information according to the data set. Any learning algorithm may be used as the learning algorithm used by the learning unit 32. As an example, the case where reinforcement learning (Reinforcement Learning) is applied will be described.
- Reinforcement learning is that the action subject who is an agent in a certain environment observes the current state and decides the action to be taken. Agents get rewards from the environment by choosing actions and learn how to get the most rewards through a series of actions.
- Q-learning and TD-Learning are known as typical methods of reinforcement learning.
- the behavioral value table which is a general update equation of the behavioral value function Q (s, a)
- the action value function Q (s, a) represents the action value Q, which is the value of the action of selecting the action “a” under the environment “s”.
- the learning unit 32 has a reward calculation unit 33 and a function update unit 34.
- the reward calculation unit 33 calculates the reward based on the state variable.
- the function update unit 34 updates the function representing the correction method according to the reward calculated by the reward calculation unit 33.
- the reward calculation unit 33 calculates the reward "r" based on the difference between the surface accuracy obtained by processing and the ideal surface accuracy and the processing time. For example, when the difference in surface accuracy becomes equal to or less than the threshold value as a result of changing the correction method, or when the processing time is shortened, the reward calculation unit 33 increases the reward "r". The reward calculation unit 33 increases the reward "r” by giving the reward value "1". The reward value is not limited to "1". Further, when the difference in surface accuracy exceeds the threshold value or the processing time becomes long as a result of changing the correction method, the reward calculation unit 33 reduces the reward "r". The reward calculation unit 33 reduces the reward "r” by giving the reward value "-1". The reward value is not limited to "-1".
- FIG. 29 is a flowchart showing the operation procedure of the learning unit 32 included in the numerical control device 201 according to the fourth embodiment.
- a reinforcement learning method for updating the action value function Q (s, a) will be described with reference to the flowchart of FIG. 29.
- step S21 the learning unit 32 acquires the data set.
- step S22 the learning unit 32 calculates the reward based on the difference from the surface accuracy and the processing time.
- step S23 the learning unit 32 updates the action value function Q (s, a) based on the reward.
- step S24 the learning unit 32 determines whether or not the action value function Q (s, a) has converged. The learning unit 32 determines that the action value function Q (s, a) has converged because the action value function Q (s, a) in step S23 is not updated.
- step S24, No When it is determined that the action value function Q (s, a) has not converged (step S24, No), the learning unit 32 returns the procedure to step S21. When it is determined that the action value function Q (s, a) has converged (steps S24, Yes), the learning unit 32 ends the learning according to the procedure shown in FIG. 29. The learning unit 32 may continue learning by returning the procedure from step S23 to step S21 without making a determination in step S24.
- the machine learning device 30 outputs the trained model, which is the generated action value function Q (s, a), to the angle calculation unit 13.
- the angle calculation unit 13 corrects the boundary portion angle information according to the correction method shown in the trained model.
- the numerical control device 201 corrects the boundary angle information according to the correction method shown in the trained model, so that the machine tool can be machined with desired accuracy while minimizing the delay in machining time. Can be controlled.
- the speed calculation unit 17 calculates the speed of the tool based on the information of the boundary portion angle. Instead of the method of correcting the information of the boundary portion angle, the method of calculating the speed may be learned.
- FIG. 30 is a diagram showing the configuration of the numerical control device 202 according to the modified example of the fourth embodiment.
- the numerical control device 202 has an interpolation data storage unit 23 and a machine learning device 40 in addition to the configuration shown in FIG.
- the machine learning device 40 learns a method of calculating a speed that enables machining with a desired accuracy while minimizing a delay in machining time.
- the machine learning device 40 includes a state observation unit 41 and a learning unit 42.
- the state observation unit 41 reads the interpolation data from the interpolation data storage unit 23.
- the state observation unit 41 observes the interpolated data as a state variable.
- the learning unit 42 learns how to calculate the speed according to the data set created based on the state variables.
- the learning unit 42 has a reward calculation unit 43 and a function update unit 44.
- the state variables include the amount of error representing the difference between the distance between the tool and the cutting point at the interpolation point, the locus of the tool path and the locus of the tip position of the tool, and the speed or acceleration of the tool at the interpolation point.
- Machining data which is at least one of the machining times in the tool path, may be included.
- the state observation unit 41 observes the processing data calculated based on the interpolation data as a state variable.
- the machining data observed as a state variable is not limited to the data calculated based on the interpolation data, but may be the data actually measured by the machine tool.
- the details of the state observation unit 41 and the learning unit 42 are the same as those of the state observation unit 31 and the learning unit 32 described above.
- the machine learning device 40 outputs the trained model, which is the generated action value function Q (s, a), to the speed calculation unit 17.
- the numerical control device 202 can control the machine tool so that machining can be performed with desired accuracy while minimizing the delay in machining time by calculating the speed according to the calculation method shown in the trained model. can.
- the data of the interpolation points observed as the state variables is not limited to the data of all the interpolation points on the tool path.
- the state observing units 31 and 41 may observe only the data of the interpolation points at the boundary as a state variable, excluding the interpolation points other than the boundary between the machined surfaces from the plurality of interpolation points in the tool path.
- the interpolation data storage unit 23 stores the data of the interpolation point in association with the boundary command point, so that the state observation units 31 and 41 acquire only the data of the interpolation point associated with the boundary command point. You may.
- the machine learning devices 30 and 40 can improve the efficiency of learning by observing only the data of the interpolation points at the boundary as a state variable.
- the learning units 32 and 42 execute machine learning using known learning algorithms other than reinforcement learning, for example, learning algorithms such as deep learning, neural networks, genetic programming, recursive logic programming, or support vector machines. May be.
- the machine learning devices 30 and 40 are not limited to those built in the numerical control devices 201 and 202.
- the machine learning devices 30 and 40 may be built in the machining program correction devices 100 and 101 according to the first or second embodiment.
- the machine learning devices 30 and 40 acquire interpolation data and machining data from the numerical control device.
- the machine learning devices 30 and 40 may acquire the machining data actually measured in the machine tool from the measuring device.
- the machine learning devices 30 and 40 may be devices that can be connected to the numerical control devices 201 and 202 via a network.
- the machine learning devices 30 and 40 may be devices existing on the cloud server.
- the learning units 32 and 42 may learn the correction method or the calculation method according to the data sets created for the plurality of numerical control devices 201 and 202.
- the learning units 32 and 42 may create a data set based on data obtained from a plurality of numerical control devices 201 and 202 used in the same site, or may create a data set based on data obtained from a plurality of numerical control devices 201 and 202, or may use a plurality of numerical values used in different sites.
- a data set may be created based on the data obtained from the control devices 201 and 202.
- the data set may be collected from a plurality of numerical control devices 201, 202 that operate independently of each other at a plurality of sites.
- new numerical control devices 201 and 202 may be added to the target for which the data sets are collected. Further, after starting the collection of the data set from the plurality of numerical control devices 201 and 202, a part of the plurality of numerical control devices 201 and 202 may be excluded from the target for which the data set is collected.
- the learning units 32 and 42 that have learned about one numerical control device 201 and 202 may learn about other numerical control devices 201 and 202 other than the numerical control devices 201 and 202.
- the learning units 32 and 42 that perform learning about the other numerical control devices 201 and 202 can update the trained model by re-learning in the other numerical control devices 201 and 202.
- the hardware configuration of the numerical control devices 200, 201, 202 is the same as the hardware configuration shown in FIG. 25.
- the hardware configurations of the numerical control devices 200, 201, and 202 will be described with reference to FIG. 25.
- Each function of the machining program input unit 1, the tool data input unit 3, and the shape data input unit 5 is realized by using the input unit 50. Machining program analysis unit 7, cutting point calculation unit 9, boundary command point extraction unit 11, angle calculation unit 13, correction unit 15, speed calculation unit 17, interpolation acceleration / deceleration unit 20, and machine learning device 30.
- Each function of, 40 is realized by the combination of the processor 51 and the software.
- Each of the functions may be realized by a combination of the processor 51 and the firmware, or may be realized by a combination of the processor 51, the software and the firmware.
- Machining program storage unit 2 tool data storage unit 4, shape data storage unit 6, tool path storage unit 8, cutting point storage unit 10, boundary command point storage unit 12, angle storage unit 14, and interpolation.
- Each function with the data storage unit 23 is realized by using the storage device 53.
- the function of the interpolated data output unit 21 is realized by using the output unit 54.
- the functions of the numerical control devices 200, 201, 202 may be realized by a processing circuit which is dedicated hardware for numerical control.
- the machine learning devices 30 and 40 are external devices of the numerical control devices 200, 201 and 202
- the machine learning devices 30 and 40 are realized by a computer system such as a personal computer or a general-purpose computer.
- a program describing the processing for operating as the machine learning devices 30 and 40 is installed in the computer system.
- the hardware configuration of the machine learning devices 30 and 40 in this case is the same as the hardware configuration shown in FIG. 25.
- each of the above embodiments shows an example of the contents of the present disclosure.
- the configurations of each embodiment can be combined with other known techniques.
- the configurations of the respective embodiments may be appropriately combined. It is possible to omit or change a part of the configuration of each embodiment without departing from the gist of the present disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Numerical Control (AREA)
Abstract
Description
図1は、実施の形態1にかかる加工プログラム修正装置100の構成を示す図である。加工プログラム修正装置100は、工具を用いた加工のための加工プログラムを修正する。
実施の形態2にかかる加工プログラム修正装置100は、加工プログラムへ反映させる境界部角度の情報を、指令点における工具の進行方向と境界である線とがなす角度に基づいて補正する。実施の形態2にかかる加工プログラム修正装置100は、実施の形態1にかかる加工プログラム修正装置100と同様の構成を有する。実施の形態2にかかる加工プログラム修正装置100の動作手順は、図2に示す動作手順と同様である。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる処理について説明する。
実施の形態3では、数値制御装置において加工プログラムを修正する例について説明する。図26は、実施の形態3にかかる数値制御装置200の構成を示す図である。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる構成について説明する。
実施の形態2では、角度算出部13における境界部角度の情報の補正について説明した。実施の形態4では、機械学習の手法によって、境界部角度の情報の補正方法を学習する例について説明する。図28は、実施の形態4にかかる数値制御装置201の構成を示す図である。実施の形態4では、上記の実施の形態1から3と同一の構成要素には同一の符号を付し、実施の形態1から3とは異なる構成について説明する。
Claims (21)
- 第1の加工面および第2の加工面を有する被加工物を切削する工具を移動させるための指令が記述された加工プログラムの解析によって、前記被加工物に対して前記工具を移動させる経路である工具経路を求める加工プログラム解析部と、
前記工具経路上の指令点に前記工具が配置された場合に、前記被加工物の加工面上の点であって前記工具に対応する点である切削点を、前記工具経路上の複数の前記指令点の各々について算出する切削点算出部と、
前記第1の加工面および前記第2の加工面がなす角度である境界部角度を前記指令点および前記切削点から算出する角度算出部と、
前記境界部角度の情報が反映された前記加工プログラムを出力する加工プログラム出力部と、
を備えることを特徴とする加工プログラム修正装置。 - 前記第1の加工面および前記第2の加工面の境界に対応する前記指令点である境界指令点を複数の前記指令点の中から抽出する境界指令点抽出部をさらに備え、
前記境界部角度は、前記境界指令点における角度であることを特徴とする請求項1に記載の加工プログラム修正装置。 - 前記境界指令点抽出部は、前記第1の加工面および前記第2の加工面の各々にある前記切削点に対応付けられた前記指令点と、前記境界にある前記切削点に対応付けられた前記指令点との少なくとも一方を、前記境界指令点として抽出することを特徴とする請求項2に記載の加工プログラム修正装置。
- 前記境界指令点における前記工具の速度を前記境界部角度に基づいて算出する速度算出部をさらに備え、
前記加工プログラム出力部は、前記工具の速度の情報が記述された前記加工プログラムを出力することを特徴とする請求項2または3に記載の加工プログラム修正装置。 - 前記切削点算出部は、前記工具経路と、前記工具の形状を表す工具データと、前記被加工物の加工における目標形状を表す形状データとに基づいて前記切削点を求めることを特徴とする請求項1から4のいずれか1つに記載の加工プログラム修正装置。
- 前記角度算出部は、前記第1の加工面の前記切削点における法線ベクトルと前記第2の加工面の前記切削点における法線ベクトルとに基づいて前記境界部角度を算出することを特徴とする請求項1から5のいずれか1つに記載の加工プログラム修正装置。
- 前記角度算出部は、前記加工プログラムへ反映させる前記境界部角度の情報を、前記指令点における前記工具の進行方向と前記第1の加工面および前記第2の加工面の境界である線とがなす角度に基づいて補正することを特徴とする請求項1から6のいずれか1つに記載の加工プログラム修正装置。
- 前記加工プログラム出力部は、前記境界部角度の情報が記述された前記加工プログラムを出力することを特徴とする請求項1から7のいずれか1つに記載の加工プログラム修正装置。
- 前記加工プログラム出力部は、前記被加工物のうち前記第1の加工面および前記第2の加工面で構成される境界部が凸形状および凹形状のいずれであるかを表す情報が記述された前記加工プログラムを出力することを特徴とする請求項1から8のいずれか1つに記載の加工プログラム修正装置。
- 第1の加工面および第2の加工面を有する被加工物を切削する工具を移動させるための指令が記述された加工プログラムの解析によって、前記被加工物に対して前記工具を移動させる経路である工具経路を求める加工プログラム解析部と、
前記工具経路上の指令点に前記工具が配置された場合に、前記被加工物の加工面上の点であって前記工具に対応する点である切削点を、前記工具経路上の複数の前記指令点の各々について求める切削点算出部と、
前記第1の加工面および前記第2の加工面がなす角度である境界部角度を前記指令点および前記切削点から算出する角度算出部と、
前記工具の速度を前記境界部角度に基づいて算出する速度算出部と、
単位時間ごとにおける前記工具経路上の位置を表す補間点を前記工具の速度に基づいて求める補間部と、
を備えることを特徴とする数値制御装置。 - 前記第1の加工面および前記第2の加工面の境界に対応する前記指令点である境界指令点を複数の前記指令点の中から抽出する境界指令点抽出部をさらに備え、
前記境界部角度は、前記境界指令点における角度であって、
前記速度算出部は、前記境界指令点における前記工具の速度を前記境界部角度に基づいて算出することを特徴とする請求項10に記載の数値制御装置。 - 前記角度算出部は、前記境界部角度の情報を、前記指令点における前記工具の進行方向と前記第1の加工面および前記第2の加工面の境界の線とがなす角度に基づいて補正し、
前記速度算出部は、補正された前記境界部角度の情報を用いた演算によって前記工具の速度を算出することを特徴とする請求項10または11に記載の数値制御装置。 - 前記補間点のデータを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記境界部角度の情報の補正方法を学習する学習部と、
を備え、
前記角度算出部は、学習された前記補正方法に従って前記境界部角度の情報を補正することを特徴とする請求項12に記載の数値制御装置。 - 前記補間点のデータを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記境界指令点における前記工具の速度の算出方法を学習する学習部と、
を備え、
前記速度算出部は、学習された前記算出方法に従って前記工具の速度を算出することを特徴とする請求項11に記載の数値制御装置。 - 前記状態変数は、前記補間点における前記工具と前記切削点との距離と、前記工具経路と前記工具の先端位置の軌跡との差を表す誤差量と、前記補間点における前記工具の速度または加速度と、前記工具経路における加工時間との少なくとも1つを含むことを特徴とする請求項13または14に記載の数値制御装置。
- 前記状態観測部は、前記距離と、前記誤差量と、前記工具の速度または加速度と、前記加工時間との少なくとも1つの実測値を前記状態変数として観測することを特徴とする請求項15に記載の数値制御装置。
- 前記状態観測部は、前記工具経路における複数の前記補間点の中から前記境界以外における前記補間点を除いて、前記境界における前記補間点のデータを前記状態変数として観測することを特徴とする請求項13から16のいずれか1つに記載の数値制御装置。
- 第1の加工面および第2の加工面を有する被加工物を切削する工具を移動させるための指令が記述された加工プログラムを加工プログラム修正装置が修正する加工プログラム修正方法であって、
前記加工プログラムの解析によって、前記被加工物に対して前記工具を移動させる経路である工具経路を求めるステップと、
前記工具経路上の指令点に前記工具が配置された場合に、前記被加工物の加工面上の点であって前記工具に対応する点である切削点を、前記工具経路における複数の前記指令点の各々について算出するステップと、
前記第1の加工面および前記第2の加工面がなす角度である境界部角度を前記指令点および前記切削点から算出するステップと、
前記境界部角度の情報が反映された前記加工プログラムを出力するステップと、
を含むことを特徴とする加工プログラム修正方法。 - 前記第1の加工面および前記第2の加工面の境界に対応する前記指令点である境界指令点を複数の前記指令点の中から抽出するステップをさらに含み、
前記境界部角度は、前記境界指令点における角度であることを特徴とする請求項18に記載の加工プログラム修正方法。 - 請求項4に記載の加工プログラム修正装置または請求項10に記載の数値制御装置において境界指令点における工具の速度を算出するための算出方法を学習する機械学習装置であって、
単位時間ごとにおける工具経路上の位置を表す補間点のデータを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って前記工具の速度の前記算出方法を学習する学習部と、
を備えることを特徴とする機械学習装置。 - 請求項7に記載の加工プログラム修正装置または請求項12に記載の数値制御装置において加工プログラムへ反映させる境界部角度の情報を、指令点における工具の進行方向と第1の加工面および第2の加工面の境界である線とがなす角度に基づいて補正するための補正方法を学習する機械学習装置であって、
単位時間ごとにおける工具経路上の位置を表す補間点のデータを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って前記境界部角度の情報の前記補正方法を学習する学習部と、
を備えることを特徴とする機械学習装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/000554 WO2022149278A1 (ja) | 2021-01-08 | 2021-01-08 | 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 |
JP2021518208A JP6903255B1 (ja) | 2021-01-08 | 2021-01-08 | 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 |
DE112021005768.5T DE112021005768T5 (de) | 2021-01-08 | 2021-01-08 | Maschinenbearbeitungsprogramm-Modifikationsgerät, numerisches Steuerungsgerät, Maschinenbearbeitungsprogramm-Modifikationsverfahren und Maschinenlerngerät |
CN202180084187.6A CN116583794B (zh) | 2021-01-08 | 2021-01-08 | 加工程序修正装置、数控装置、加工程序修正方法及机器学习装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/000554 WO2022149278A1 (ja) | 2021-01-08 | 2021-01-08 | 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022149278A1 true WO2022149278A1 (ja) | 2022-07-14 |
Family
ID=76753187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/000554 WO2022149278A1 (ja) | 2021-01-08 | 2021-01-08 | 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6903255B1 (ja) |
CN (1) | CN116583794B (ja) |
DE (1) | DE112021005768T5 (ja) |
WO (1) | WO2022149278A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7274649B1 (ja) | 2022-06-15 | 2023-05-16 | Dmg森精機株式会社 | 情報処理装置および情報処理プログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05146946A (ja) * | 1991-11-28 | 1993-06-15 | Mitsubishi Heavy Ind Ltd | デジタイズデータに基づく工具経路計算装置 |
JPH08249036A (ja) * | 1995-03-14 | 1996-09-27 | Honda Motor Co Ltd | Ncデータの作成方法 |
JP2001255920A (ja) * | 2000-03-09 | 2001-09-21 | Mitsubishi Electric Corp | 数値制御装置及び数値制御方法 |
JP2003108210A (ja) * | 2001-09-27 | 2003-04-11 | Toyoda Mach Works Ltd | 加工装置の加工速度設定方法及び加工装置 |
JP6157781B1 (ja) * | 2015-12-24 | 2017-07-05 | 三菱電機株式会社 | 工具経路修正装置および工具経路修正方法 |
JP6289765B1 (ja) * | 2016-12-27 | 2018-03-07 | 三菱電機株式会社 | 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6312725B2 (ja) * | 2016-02-23 | 2018-04-18 | ファナック株式会社 | スカイビング加工におけるテーパ加工でのテーパ角補正機能を有する数値制御装置 |
JP6426662B2 (ja) * | 2016-06-30 | 2018-11-21 | ファナック株式会社 | スカイビング加工制御を行う数値制御装置 |
JP7010877B2 (ja) * | 2019-04-25 | 2022-01-26 | ファナック株式会社 | 機械学習装置、数値制御システム及び機械学習方法 |
-
2021
- 2021-01-08 JP JP2021518208A patent/JP6903255B1/ja active Active
- 2021-01-08 WO PCT/JP2021/000554 patent/WO2022149278A1/ja active Application Filing
- 2021-01-08 CN CN202180084187.6A patent/CN116583794B/zh active Active
- 2021-01-08 DE DE112021005768.5T patent/DE112021005768T5/de active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05146946A (ja) * | 1991-11-28 | 1993-06-15 | Mitsubishi Heavy Ind Ltd | デジタイズデータに基づく工具経路計算装置 |
JPH08249036A (ja) * | 1995-03-14 | 1996-09-27 | Honda Motor Co Ltd | Ncデータの作成方法 |
JP2001255920A (ja) * | 2000-03-09 | 2001-09-21 | Mitsubishi Electric Corp | 数値制御装置及び数値制御方法 |
JP2003108210A (ja) * | 2001-09-27 | 2003-04-11 | Toyoda Mach Works Ltd | 加工装置の加工速度設定方法及び加工装置 |
JP6157781B1 (ja) * | 2015-12-24 | 2017-07-05 | 三菱電機株式会社 | 工具経路修正装置および工具経路修正方法 |
JP6289765B1 (ja) * | 2016-12-27 | 2018-03-07 | 三菱電機株式会社 | 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116583794B (zh) | 2024-04-05 |
CN116583794A (zh) | 2023-08-11 |
JPWO2022149278A1 (ja) | 2022-07-14 |
DE112021005768T5 (de) | 2023-08-17 |
JP6903255B1 (ja) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6157781B1 (ja) | 工具経路修正装置および工具経路修正方法 | |
CN110874082B (zh) | 工件拐角的切割路径确定方法、设备和存储介质 | |
EP2495628A1 (en) | Tool path generation method and device | |
JP6289765B1 (ja) | 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 | |
JP6450732B2 (ja) | 数値制御装置 | |
CN109877836A (zh) | 路径规划方法、装置、机械臂控制器和可读存储介质 | |
JP4800873B2 (ja) | 近似点群データからの近似曲線生成プログラム及び方法 | |
WO2012056554A1 (ja) | 工具経路の生成方法および生成装置 | |
JP6811908B1 (ja) | 数値制御装置、機械学習装置および数値制御方法 | |
JP2008107960A (ja) | 解析用メッシュ生成装置 | |
JP6808106B1 (ja) | 加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置 | |
JP6740483B1 (ja) | 数値制御装置および数値制御方法 | |
WO2022149278A1 (ja) | 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置 | |
CN113084792A (zh) | 关节奇异区域的确定方法、机器人及存储装置 | |
JP7175403B2 (ja) | 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法 | |
JP2009125920A (ja) | ロボットの作業動作最適化装置 | |
JP4969484B2 (ja) | 数値制御装置 | |
CN113946136B (zh) | 数控系统的控制方法、数控系统及具有存储功能的装置 | |
JP7351672B2 (ja) | 移動経路生成装置 | |
CN117601136B (zh) | 一种自动焊接机器人路径规划方法及系统 | |
JP7415100B1 (ja) | パラメータ調整装置およびパラメータ調整方法 | |
JP7399357B1 (ja) | 軌道生成装置 | |
JP6398777B2 (ja) | ロボット制御装置、制御方法、及び制御プログラム | |
Li et al. | An Agent-Based Method for Feature Recognition and Path Optimization of CNC Machining Trajectories | |
Dolgui et al. | Manufacturing process planning for laser cutting robotic systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2021518208 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21917504 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180084187.6 Country of ref document: CN |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21917504 Country of ref document: EP Kind code of ref document: A1 |