WO2022149569A1 - 工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法 - Google Patents

工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法 Download PDF

Info

Publication number
WO2022149569A1
WO2022149569A1 PCT/JP2022/000047 JP2022000047W WO2022149569A1 WO 2022149569 A1 WO2022149569 A1 WO 2022149569A1 JP 2022000047 W JP2022000047 W JP 2022000047W WO 2022149569 A1 WO2022149569 A1 WO 2022149569A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
tool
machine tool
abnormality
generation unit
Prior art date
Application number
PCT/JP2022/000047
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 US18/255,872 priority Critical patent/US20240036549A1/en
Priority to CN202280008873.XA priority patent/CN116745710A/zh
Priority to DE112022000217.4T priority patent/DE112022000217T5/de
Priority to JP2022574051A priority patent/JPWO2022149569A1/ja
Publication of WO2022149569A1 publication Critical patent/WO2022149569A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical 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/4103Digital interpolation
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/4065Monitoring tool breakage, life or condition
    • 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/4097Numerical 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 using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • G05B19/4166Controlling feed or in-feed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34465Safety, control of correct operation, abnormal states
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35167Automatic toolpath generation and tool selection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36043Correction or modification of program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36089Machining parameters, modification during operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43031Feed speed reduction dependent on tool surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design

Definitions

  • the present invention relates to a machining system including a machine tool, a parameter modification method for modifying parameters in a machining system, a program modification system for modifying a machining program, and a program modification method.
  • the machine tool can machine the work while changing the relative position of the tool with respect to the work.
  • the machine tool has at least one of a device for moving a table supporting a work and a device for moving a spindle head supporting a tool.
  • the machine tool controller can change the relative position of the tool to the workpiece by automatically moving the table or spindle head based on the machining program.
  • Such a machine tool is referred to as a numerically controlled type (see, for example, Non-Patent Document 1).
  • the target shape when machining a work with a machine tool can be generated by a CAD (Computer Aided Design) device.
  • the operator can generate three-dimensional shape data of the work by operating the CAD device.
  • a CAM (Computer Aided Manufacturing) device that generates a machine tool machining program based on three-dimensional shape data formed by a CAD device is known.
  • the numerical control device of the machine tool can machine the work based on the machining program generated by the CAM device.
  • a machining system including such a CAD device, a CAM device, and a machine tool is known. In this processing system, when a worker generates a target shape of a work with a CAD device, the machine tool can process the work into a desired shape.
  • a device for detecting an abnormality that occurs during a period in which a machine tool is machining a workpiece is known.
  • the worker can know that an abnormality has occurred during the period of processing the work.
  • the control for suppressing the recurrence of the abnormality has not been sufficiently studied.
  • the first machining system for machining a work with the machine tool of the present disclosure generates a movement locus in which the tool moves with respect to the work based on the three-dimensional shape data of the work generated in advance and the drive conditions of the machine tool. It is provided with a locus generation unit.
  • the machining system is a program generator that generates a machining program including an operation code in which the position of a point for generating a tool path and the feed rate of the tool are defined based on the movement locus generated by the locus generator. To prepare for.
  • the machining system includes a path generation unit that generates a tool path in a machine tool based on an operation code, an operation command generation unit that generates an operation command of an electric motor based on a tool path generated by the path generation unit, and an electric motor. It is provided with an operation control unit including a feedback control unit that performs feedback control so that the drive state corresponds to an operation command.
  • the machining system has an operation information acquisition unit that acquires the drive state of the motor from the operation control unit, and an abnormality detection unit that detects an abnormality of the machine tool based on the drive state of the motor acquired by the operation information acquisition unit. Be prepared.
  • the machining system includes a correction command generation unit that generates a correction command for modifying parameters when the program generation unit generates a machining program.
  • the correction command generation unit sends a correction command to correct the parameters so as to correct at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool.
  • the second machining system for machining a work with the machine tool of the present disclosure includes a path generation unit for generating a tool path in the machine tool and a path generation unit based on an operation code included in a machining program generated in advance. It is provided with an operation control unit including an operation command generation unit that generates an operation command of the electric motor based on the tool path generated by the machine tool, and a feedback control unit that performs feedback control so that the drive state of the electric motor corresponds to the operation command.
  • the machining system has an operation information acquisition unit that acquires the drive state of the motor from the operation control unit, and an abnormality detection unit that detects an abnormality of the machine tool based on the drive state of the motor acquired by the operation information acquisition unit. Be prepared.
  • the machining system includes a correction command generation unit that generates a correction command for modifying parameters when the motion control unit controls the position of the tool and the feed rate of the tool.
  • the correction command generation unit transmits a correction command for correcting parameters so as to correct at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool.
  • the third machining system for machining a work with the machine tool of the present disclosure includes a shape data generation unit that generates three-dimensional shape data including a free curved surface of the work.
  • the machining system includes a locus generator that generates a locus of movement of the tool with respect to the work based on the three-dimensional shape data of the work and the driving conditions of the machine tool.
  • the machining system is a program generator that generates a machining program including an operation code in which the position of a point for generating a tool path and the feed rate of the tool are defined based on the movement locus generated by the locus generator. To prepare for.
  • the machining system includes a path generation unit that generates a tool path in a machine tool based on an operation code, an operation command generation unit that generates an operation command of an electric motor based on a tool path generated by the path generation unit, and an electric motor. It is provided with an operation control unit including a feedback control unit that performs feedback control so that the drive state corresponds to an operation command.
  • the machining system has an operation information acquisition unit that acquires the drive state of the motor from the operation control unit, and an abnormality detection unit that detects an abnormality of the machine tool based on the drive state of the motor acquired by the operation information acquisition unit. Be prepared.
  • the machining system includes a correction command generation unit that generates a correction command that corrects parameters when the shape data generation unit generates three-dimensional shape data.
  • the correction command generation unit transmits a correction command for correcting the parameters so as to correct the curvature of the portion of the free curved surface of the three-dimensional shape data in which the machine tool abnormality has occurred.
  • the first parameter modification method of the present disclosure is a method of modifying a parameter for machining a workpiece in a machining system including a machine tool.
  • the correction method includes a step in which the locus generation unit generates a movement locus in which the tool moves with respect to the work based on the three-dimensional shape data of the work generated in advance and the driving conditions of the machine tool.
  • the program generation unit generates a machining program including an operation code in which the position of a point for generating a tool path and the feed speed of the tool are defined based on the movement trajectory generated by the trajectory generation unit.
  • the modification method includes a step in which the motion control unit controls the motor based on the motion code included in the machining program.
  • the correction method is to detect an abnormality in the machine tool based on the process in which the operation information acquisition unit acquires the drive state of the motor from the operation control unit and the abnormality detection unit based on the drive state of the motor acquired by the operation information acquisition unit. It is provided with a process to be performed.
  • the correction method is to set the parameters when the program generation unit generates the machining program so that the correction command generation unit corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool. It includes a step of generating a correction command to be corrected and a step of transmitting a correction command to correct a parameter to a program generation unit.
  • the second parameter modification method of the present disclosure is a method of modifying a parameter for machining a workpiece in a machining system including a machine tool.
  • the modification method includes a step in which the motion control unit controls the motor based on the motion code included in the machining program generated in advance.
  • the correction method includes a step in which the operation information acquisition unit acquires the drive state of the motor from the operation control unit.
  • the correction method includes a step in which the abnormality detection unit detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit.
  • the correction method is such that the motion control unit corrects the position of the tool and the feed rate of the tool so that the correction command generator corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool. It includes a step of generating a correction command for correcting a parameter at the time of control and a step of transmitting a correction command for correcting the parameter to an operation control unit.
  • the third parameter modification method of the present disclosure is a method of modifying a parameter for machining a workpiece in a machining system including a machine tool.
  • the correction method includes a step in which the shape data generation unit generates three-dimensional shape data including a free curved surface of the work.
  • the correction method includes a step in which the locus generation unit generates a movement locus in which the tool moves with respect to the work based on the three-dimensional shape data of the work and the driving conditions of the machine tool.
  • the program generation unit generates a machining program including an operation code in which the position of a point for generating a tool path and the feed speed of the tool are defined based on the movement trajectory generated by the trajectory generation unit. Provide a process to do.
  • the modification method includes a step in which the motion control unit controls the motor based on the motion code included in the machining program.
  • the correction method is to detect an abnormality in the machine tool based on the process in which the operation information acquisition unit acquires the drive state of the motor from the operation control unit and the abnormality detection unit based on the drive state of the motor acquired by the operation information acquisition unit. It is provided with a process to be performed.
  • the correction method modifies the parameters when the shape data generation unit generates 3D shape data so that the correction command generation unit corrects the curvature of the part of the free curved surface of the 3D shape where the machine tool abnormality has occurred. It includes a step of generating a correction command to correct and a step of transmitting a correction command to correct a parameter to a shape data generation unit.
  • the program modification system of the present disclosure modifies the machining program.
  • the program modification system includes a simulation unit that performs a simulation when a machine tool is driven based on a machining program, and a determination unit that determines the result of the simulation performed by the simulation unit.
  • the program modification system includes a modification unit that modifies the machining program based on the result of the simulation.
  • the simulation unit includes a command generation simulation unit that generates an operation command of the motor based on a machining program, and a servo control simulation unit that follows the drive state of the motor that drives the object to be controlled according to the operation command.
  • the determination unit identifies the operation code of the machining program corresponding to the operation in which the abnormality is expected to occur when the abnormality in the machine tool is expected to occur based on the result of the simulation.
  • the correction unit corrects the operation code corresponding to the operation in which the abnormality is expected to occur.
  • the modification method of the program of the present disclosure is a method of modifying the machining program.
  • the program modification method includes a step of performing a simulation when the simulation unit drives the machine tool based on the machining program, and a step of determining the result of the simulation carried out by the determination unit in the simulation unit.
  • the program modification method includes a step in which the modification unit modifies the machining program based on the simulation result.
  • the step of performing the simulation includes a step of generating an operation command of the electric motor based on the machining program and a step of making the driving state of the electric motor driving the object to be controlled follow the operation command.
  • the determination step includes the step of specifying the operation code of the machining program corresponding to the operation in which the abnormality is expected to occur when the abnormality of the machine tool is expected to occur based on the result of the simulation.
  • the correction step includes a step of correcting an operation code corresponding to an operation in which an abnormality is expected to occur.
  • a machining system for suppressing the occurrence of an abnormality in a machine tool a method for modifying parameters for modifying parameters in the machining system, and a program for modifying a machining program so as to suppress the occurrence of an abnormality in the machine tool. It is possible to provide a modification system and a modification method for a program.
  • the machining system in this embodiment processes a workpiece with a machine tool.
  • the machine tool in the present embodiment is a numerically controlled machine tool.
  • the machine tool can cut the work while automatically changing the relative position of the tool with respect to the work based on the machining program.
  • FIG. 1 shows a block diagram of a machining system according to the present embodiment.
  • the processing system 10 includes a CAD (Computer Aided Design) device 1 that generates a target shape (design shape) of the work.
  • the CAD device 1 outputs three-dimensional shape data corresponding to the target shape of the work.
  • the machining system 10 includes a CAM (Computer Aided Manufacturing) device 2 that generates a machining program for the machine tool 3 based on the three-dimensional shape data of the work.
  • the machining system 10 includes a machine tool 3 that is driven according to a machining program to machine a workpiece.
  • the machine tool 3 includes a machine tool main body 5 including a spindle head and a table, and a numerical control device 4 for controlling an electric motor of the machine tool main body 5 based on a machining program.
  • the machining system 10 includes a monitoring device 7 that acquires the drive state of the machine tool 3 and detects an abnormality in the machine tool 3. Further, the machining system 10 includes a correction device 8 that generates a parameter correction command so as to suppress an abnormality detected by the monitoring device 7. The correction command generated by the correction device 8 is transmitted to any of the CAD device 1, the CAM device 2, or the numerical control device 4.
  • the machining system 10 includes a simulation device 9 that performs a simulation when the machine tool 3 is driven based on the machining program.
  • the simulation device 9 carries out the simulation with the modified machining program generated based on the modification command.
  • the simulation device 9 determines whether or not the occurrence of an abnormality is eliminated when the machine tool 3 is driven by the modified machining program.
  • Each of the CAD device 1, the CAM device 2, the numerical control device 4, the monitoring device 7, the correction device 8, and the simulation device 9 of the present embodiment is an arithmetic processing unit having a CPU (Central Processing Unit) as a processor. Including (computer).
  • the arithmetic processing unit has a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), and the like connected to the CPU via a bus.
  • the CAD device 1, the CAM device 2, the numerical control device 4, the monitoring device 7, the correction device 8, and the simulation device 9 two or more devices may be integrally formed.
  • the CAD device and the CAM device may be integrally formed. That is, one arithmetic processing device having the function of the CAD device and the function of the CAM device may be arranged.
  • FIG. 2 shows a block diagram of the CAD device according to the present embodiment.
  • the CAD device 1 includes an input unit 11 operated by an operator and a display unit 12 for displaying arbitrary information regarding the design of the work.
  • the input unit 11 is composed of a device operated by an operator such as a keyboard and a mouse.
  • the display unit 12 is composed of an arbitrary display panel such as a liquid crystal display panel.
  • the CAD device 1 includes a storage unit 15 that stores arbitrary information regarding the generation of the target shape of the work.
  • the storage unit 15 can be configured with a non-temporary storage medium capable of storing information.
  • the storage unit 15 is composed of a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium.
  • the CAD device also includes the storage unit 21 of the CAM device 2, the storage unit 41 of the numerical control device 4, the storage unit 73 of the monitoring device 7, the storage unit 83 of the correction device 8, and the storage unit 95 of the simulation device 9, which will be described later. It has the same configuration as the storage unit 15 of 1.
  • the CAD device 1 includes a shape data generation unit 13 that generates three-dimensional shape data 102, which is data of the target shape of the work.
  • the shape data generation unit 13 generates a target shape of the work according to the operation of the input unit 11 of the operator.
  • the operator creates a target shape of the work by combining a solid model in which the inside of the material is filled, a surface model represented by a plane or a curved surface, a wire model for defining a line such as a three-dimensional ridgeline, and the like. Can be done.
  • the shape data generation unit 13 includes a free shape generation unit 14.
  • a shape including at least one of a free curve and a free curved surface is referred to as a free shape.
  • a free shape is an irregularly curved shape that is difficult to express with a single shape such as a sphere.
  • Free curves can be generated based on predetermined control points.
  • Free-form surfaces can be generated based on predetermined curves or predetermined control points.
  • the free shape generation unit 14 generates the three-dimensional shape data 102 of the work including the free shape.
  • the shape data generation unit 13 corresponds to the processor of the arithmetic processing unit. Further, the free shape generation unit 14 corresponds to the processor of the arithmetic processing unit. By driving the processor according to a predetermined program, it functions as each unit.
  • FIG. 3 shows a graph explaining a spline curve for generating a free curve.
  • the free shape generation unit 14 can generate a free curve using a spline curve.
  • the spline curve is generated based on the position of the control point.
  • Various degree functions can be adopted to generate the spline curve.
  • the operator can set the control point at a desired position.
  • the free shape generation unit 14 can use a cubic function as a function for interpolating between control points.
  • the free shape generation unit 14 generates a smooth curve according to the arrangement of the control points.
  • the entire curve is always configured so as to pass through all the control points.
  • the spline curve obtained in the free curve shown in the present disclosure does not necessarily have to pass through all the control points.
  • the shape of the curve can be changed, for example, by changing the position of the control point.
  • the curvature of the curve can be changed.
  • the free shape generation unit 14 can generate a three-dimensional shape surface by moving or rotating the cross-sectional shape. Alternatively, the operator sets a plurality of control points in a predetermined three-dimensional coordinate system. The free shape generation unit 14 can generate a free curved surface so as to pass through a plurality of control points.
  • the free shape generation unit 14 is not limited to the above-mentioned form, and can generate a free shape by arbitrary control. For example, as will be described later, NURBS can be used to generate a three-dimensional shape including a free curve or a free curved surface.
  • the CAD device 1 outputs the design data 101.
  • the design data 101 includes three-dimensional shape data 102, which is data on the target shape of the work.
  • the three-dimensional shape data 102 includes information on the free curved surface of the work.
  • the three-dimensional shape data 102 is composed of, for example, information on the positions of a large number of points corresponding to the surface of the work.
  • the operator can input information other than the target shape of the work from the input unit 11. For example, the operator inputs information about the finish of the surface of the work, information about the painting of the surface, information about the squareness, and the like.
  • the design data 101 includes non-shape data 103 as data other than the target shape of the work, such as data regarding the finishing of the surface of the work.
  • FIG. 4 shows a block diagram of the CAM device according to the present embodiment.
  • the three-dimensional shape data 102 generated by the CAD device 1 is input to the CAM device 2.
  • Tool information 105 and machining condition information 106 are input to the CAM device 2.
  • the tool information 105 includes information on the types of tools that can be used in the machine tool and information on the size of the tools.
  • the processing condition information 106 is information regarding processing of the work when the movement locus is generated by the CAM device 2.
  • the processing condition information 106 includes, for example, a condition that the cutting volume is constant or a condition that the cutting speed is constant when the work is machined.
  • the drive condition information 107 includes information on the kinematic constraints of the machine tool. That is, the drive condition information 107 includes information in a range in which the machine tool 3 can be driven. For example, it contains information such as the maximum feed rate, maximum acceleration, and maximum jerk of the tool in the normal or tangential direction of the locus of movement.
  • information 108 of the material to be machined by the machine tool is input to the CAM device 2.
  • the material information 108 includes, for example, information on the shape of the material.
  • the three-dimensional shape data 102, the tool information 105, the machining condition information 106, the drive condition information 107, and the material information 108 are stored in the storage unit 21 of the CAM device 2.
  • the CAM device 2 generates a path for the tool to move with respect to the work.
  • the path through which the tool generated by the CAM device 2 moves is referred to as a movement locus.
  • the CAM device 2 includes a locus generation unit 22 that generates a movement locus based on information such as three-dimensional shape data 102 and machine tool drive condition information 107.
  • the locus generation unit 22 includes a feature detection unit 23 that calculates a portion to be cut of the work based on the three-dimensional shape data 102 and the material information 108.
  • the locus generation unit 22 includes a processing method setting unit 24 for setting a tool used for processing and a processing method.
  • the machining method setting unit 24 selects a tool to be used based on the cutting portion of the work from the usable tools included in the tool information 105.
  • the machining method setting unit 24 sets the portion of the tool for cutting the work such as the bottom surface of the tool based on the information 106 of the machining conditions.
  • the selection of tools may be decided by the operator in consideration of the inventory or delivery date of the tools.
  • the locus generation unit 22 includes a locus calculation unit 25 that generates a movement locus of a tool for machining a work.
  • the locus calculation unit 25 calculates a movement locus based on the machining condition information 106, the drive condition information 107, the cutting portion calculated by the feature detection unit 23, and the tool selected by the machining method setting unit 24. Generate. Further, the locus calculation unit 25 generates the feed rate of the tool based on the constraint condition such that the cutting speed included in the information 106 of the machining condition is constant.
  • the CAM device 2 includes a program generation unit 26 that generates a machining program 111 based on the movement locus generated by the locus generation unit 22.
  • the program generation unit 26 converts the coordinate system used in the CAD device 1 into the coordinate system defined in the machine tool.
  • the CAM device 2 outputs the machining program 111 configured by the operation code.
  • the machining program 111 includes an operation code as a command statement that defines the operation of the machine tool.
  • the operation code includes a G code in which a command related to the feeding operation of the tool with respect to the work is defined.
  • the operation code for changing the position of the tool with respect to the work such as G01 defines the position of a point for generating a tool path in a predetermined coordinate system.
  • the points for generating the tool path include a target movement point when moving from the current position, or a control point on a spline curve or the like.
  • the coordinate value of the moving point of the target is defined in the operation code. That is, the operation code defines the section of the tool path from the current position to the position of the target moving point.
  • the feed rate of the tool is defined in the operation code for changing the position of the tool with respect to the work.
  • the operation code includes an M code that controls an auxiliary device for exchanging tools, supplying lubricating oil, and the like. In the machining program, such an operation code may be described with a line number.
  • FIG. 5 shows a schematic perspective view of the machine tool according to the present embodiment.
  • FIG. 6 shows a block diagram of the machine tool according to the present embodiment.
  • the machine tool 3 includes a machine tool main body 5 and a numerical control device 4.
  • the machine tool main body 5 includes a table 61 to which the work 69 is fixed, a base 62 for supporting the spindle head 65, and a support column 63 fixed to the base 62.
  • the machine tool main body 5 includes a movable slide member 64 supported by the support column 63, and a spindle head 65 supported by the slide member 64.
  • the tool 66 is supported by the spindle head 65 via the spindle.
  • a work support member 67 is fixed to the table 61 as a jig for fixing the work 69.
  • the machine tool main body 5 includes a drive device that changes the relative position of the tool 66 with respect to the work 69.
  • the numerical control device 4 controls the drive device.
  • the machine tool main body 5 of the present embodiment is set with a machine coordinate system that is immovable even when the machine tool 3 is driven.
  • the drive device moves the base 62 in the direction of the X-axis of the machine coordinate system, as shown by arrow 157.
  • the drive device moves the table 61 in the direction of the Y-axis of the machine coordinate system, as shown by arrow 158.
  • the drive device moves the slide member 64 in the direction of the Z axis of the machine coordinate system, as shown by arrow 159.
  • the drive device in the present embodiment controls the relative position of the tool 66 with respect to the work 69 by the drive axis composed of three linear motion axes (X-axis, Y-axis, and Z-axis).
  • the machine tool shown in FIG. 5 is a so-called vertical milling machine, but the drive device is not limited to this form.
  • any device and structure capable of changing the relative position of the tool with respect to the work such as a device or structure having a rotating shaft as the drive shaft, can be adopted.
  • the drive device of the machine tool main body 5 includes a feed shaft motor 51 as an electric motor arranged so as to correspond to each drive shaft.
  • the feed shaft motor 51 is arranged for each drive shaft.
  • Each feed shaft motor 51 is connected to a feed shaft mechanism 52 for moving a constituent member of the machine tool main body 5 such as a table 61 or a spindle head 65.
  • a feed shaft mechanism 52 for moving a constituent member of the machine tool main body 5 such as a table 61 or a spindle head 65.
  • a spindle motor 54 as an electric motor for rotating the spindle is arranged.
  • the tool 66 is connected to the spindle motor 54 via the spindle mechanism 55.
  • the spindle mechanism 55 includes, for example, a chuck for holding and releasing the tool 66.
  • the numerical control device 4 controls the operation of the feed shaft motor 51 and the spindle motor 54.
  • the numerical control device 4 includes a storage unit 41 that stores information related to the control of the machine tool 3.
  • the machining program 111 is stored in the storage unit 41.
  • the numerical control device 4 includes an operation control unit 42 that controls the feed shaft motor 51 and the spindle motor 54 based on the operation code included in the machining program 111.
  • the numerical control device 4 includes a power supply unit 43 that supplies electricity to each electric motor based on a current command formed by the operation control unit 42.
  • the power supply 43 includes an electric circuit for supplying electricity to the electric motor.
  • FIG. 7 shows a block diagram of the operation control unit of the numerical control device.
  • the operation control unit 42 acquires the machining program 111 from the storage unit 41.
  • the motion control unit 42 includes a path generation unit 44 that generates a tool path, which is a tool path to the work, based on the motion code included in the machining program 111.
  • the route generation unit 44 generates an interpolation point between the movement points defined in the operation code.
  • the path generation unit 44 generates a tool path in a minute section between interpolation points.
  • the route generation unit 44 may have a function of, for example, spline interpolation. In this case, the path generation unit 44 can automatically generate a tool path with a spline curve that smoothly moves between the movement points specified by the operation code.
  • the operation control unit 42 includes an operation command generation unit 45 that generates an operation command of the electric motor for controlling the position of the tool with respect to the work and the feed rate of the tool with respect to the work.
  • the operation command generation unit 45 generates an operation command for the electric motor based on the minute path generated by the path generation unit 44 and the drive conditions of the machine tool.
  • the operation command generation unit 45 includes a speed determination unit 46 that determines the feed rate of the tool with respect to the work in a minute section.
  • the speed determination unit 46 calculates the speed for accelerating or decelerating so that the tool moves at the feed speed specified by the operation code. In this way, the path generation unit 44 determines the position of the tool with respect to the work, and the speed determination unit 46 determines the feed speed of the tool with respect to the work.
  • the operation command generation unit 45 includes a command distribution unit 47 that distributes a command for moving a tool to a work to an operation command on each drive shaft.
  • the command distribution unit 47 generates an operation command of the X-axis feed shaft motor 51, an operation command of the Y-axis feed shaft motor 51, and an operation command of the Z-axis feed shaft motor 51.
  • the operation control unit 42 includes a feedback control unit that performs feedback control so that the drive state of the electric motor of each drive shaft corresponds to the operation command generated by the operation command generation unit 45.
  • the feedback control unit is formed for each drive shaft.
  • the X-axis feedback control unit 48a, the Y-axis feedback control unit 48b, and the Z-axis feedback control unit 48c are formed.
  • the command distribution unit 47 sends an operation command corresponding to the feed shaft motor 51 of each drive shaft to each feedback control unit.
  • the path generation unit 44, the operation command generation unit 45, the speed determination unit 46, the command distribution unit 47, and the feedback control unit corresponding to each drive axis correspond to a processor driven according to a predetermined program.
  • the processor of the arithmetic processing unit performs the control specified in the program to make each unit.
  • FIG. 8 shows a block diagram of the X-axis feedback control unit according to the embodiment.
  • the Y-axis feedback control unit 48b and the Z-axis feedback control unit 48c have the same configuration as the X-axis feedback control unit 48a. Further, although the feedback control unit of the feed shaft motor is described in FIGS. 7 and 8, a similar feedback control unit is formed for the spindle motor.
  • the X-axis feedback control unit 48a includes a speed command generation unit 49 that generates a speed command based on the position command.
  • the speed command generation unit 49 receives a position command as an operation command from the command distribution unit 47.
  • the X-axis feedback control unit 48a includes a current command generation unit 50 that generates a current command (or torque command) based on a speed command.
  • the power supply device 43 supplies a current for generating the torque of the feed shaft motor 51 based on the current command generated by the current command generation unit 50.
  • the speed command generation unit 49 and the current command generation unit 50 correspond to a processor driven according to a predetermined program.
  • the encoder 56 is attached to the feed shaft motor 51 as a rotation position detector in order to detect the driving state of the electric motor.
  • the output of the encoder 56 is input to the position detector 57 that detects the rotation position and the speed detector 58 that detects the rotation speed.
  • the rotation position output from the position detector 57 is input to the position command via the position control loop.
  • the rotation speed output from the speed detector 58 is input to the speed command via the speed control loop.
  • the feedback control unit 48a of the present embodiment has a current control loop. In the current control loop, the current value output by the power supply unit 43 is detected and input to the current command.
  • feedback control is performed so that the drive state of the motor corresponds to the operation command by the position control loop, the speed control loop, and the current control loop. That is, the current supplied to the motor is controlled so that the drive state such as the rotation position of the motor follows the operation command such as the position command.
  • FIG. 9 shows an example of a tool path when machining a workpiece.
  • the tool path is, for example, a path through which the tool tip point passes with respect to the work.
  • the tool path 121 has a three-dimensional shape. As shown by arrow 160, the tool travels from the starting point 121a along the tool path 121, through the points 121b and 121c, to the ending point 121d. In the example here, the tool moves along a linear tool path in the section from the point 121b to the point 121c. In the section from the point 121a to the point 121b and the section from the point 121c to the point 121d, the tool moves along the curved tool path.
  • the feed rate of the tool decreases in the part where the tool moves in a curved line, but the feed rate of the tool increases in the part where the tool moves in a straight line.
  • the feed rate of the tool changes and the curvature of the tool path changes significantly.
  • the tool may be damaged.
  • the monitoring device 7 detects an abnormality in the machine tool based on the driving state of the electric motor.
  • Machine tool abnormalities include damage to the components of the machine tool, damage to the jig that grips the work, abnormal conditions of the components such as loosening of the chuck that fixes the tool, and abnormal processing conditions such as chatter vibration. Is included.
  • the correction device 8 generates a correction command for changing the target shape of the work, changing the tool path, changing the drive state of the machine tool such as the feed rate, etc. so as to suppress the occurrence of the abnormality. do.
  • FIG. 10 shows a block diagram of the monitoring device according to the present embodiment.
  • the monitoring device 7 includes an operation information acquisition unit 71 that acquires the drive state of the motor from the operation control unit 42 of the numerical control device 4.
  • the monitoring device 7 includes an abnormality detection unit 72 that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit 71.
  • the monitoring device 7 includes a storage unit 73 that stores arbitrary information regarding monitoring of the drive state of the machine tool.
  • the operation information acquisition unit 71 and the abnormality detection unit 72 correspond to the processor of the arithmetic processing unit. When the processor is driven according to the program, it functions as an operation information acquisition unit 71 and an abnormality detection unit 72.
  • the operation information acquisition unit 71 acquires the machining program 111 from the operation control unit 42.
  • the operation information acquisition unit 71 acquires the time corresponding to the drive state of the machine tool when the machine tool 3 is being driven.
  • the time for example, the elapsed time from the time when the machine tool starts operation by the machining program 111 can be adopted.
  • the elapsed time from the start of one operation defined in the machining program 111 may be adopted.
  • the operation information acquisition unit 71 acquires the operation code of the machining program 111 being executed at each time. For example, the operation information acquisition unit 71 acquires the line number of the machining program 111 together with the time in order to acquire the operation code. In addition to the G code, the operation information acquisition unit 71 may acquire a code such as an M code for controlling the auxiliary machine or a T code for exchanging tools. Further, when a plurality of machining programs are used, the operation information acquisition unit 71 acquires a program number in order to specify the machining program.
  • the operation information acquisition unit 71 acquires a variable indicating the driving state of the motor together with the time. For example, the operation information acquisition unit 71 acquires the torque output by the electric motor, the rotation position of the electric motor, and the rotation speed of the electric motor. The operation information acquisition unit 71 acquires the torque, the rotation position, and the rotation speed in time series together with each time. The storage unit 73 stores the drive state of the electric motor acquired by the operation information acquisition unit 71.
  • the operation information acquisition unit 71 can acquire the current command input to the power supply 43 as the torque output by the electric motor, and can calculate the torque of the electric motor.
  • the operation information acquisition unit 71 may acquire the value of the current supplied from the power supply unit 43 in the current control loop and calculate the torque of the motor from the current value.
  • the operation information acquisition unit 71 can acquire a position command input to the speed command generation unit 49 as the rotation position of the electric motor.
  • the operation information acquisition unit 71 may acquire the rotation position output from the position detector 57.
  • the operation information acquisition unit 71 can acquire a speed command input to the current command generation unit 50 as the rotation speed of the electric motor.
  • the operation information acquisition unit 71 may acquire the rotation speed output from the speed detector 58.
  • FIG. 11 shows a first time chart of the spindle motor rotation speed and spindle torque acquired by the operation information acquisition unit.
  • the spindle torque is the torque generated by the spindle motor 54.
  • the spindle torque corresponds to the load when cutting the workpiece.
  • the torque and rotation speed of the motor are acquired with time.
  • FIG. 11 is a graph when machining is normally performed by a machine tool. The rotation speed and spindle torque are kept almost constant.
  • FIG. 12 shows a second time chart of the rotational speed and spindle torque of the spindle motor acquired by the operation information acquisition unit.
  • the tool In the drive state shown in FIG. 12, the tool is damaged at time tx. If the tool is damaged, the cutting load will increase. As a result, the spindle torque tends to increase in order to keep the rotational speed of the spindle motor constant. When the tool is damaged, the spindle torque increases intermittently. In FIG. 11, the spindle torque was almost constant at time t1, t2, t3, and t4, whereas in FIG. 12, the spindle torque temporarily increased at time tx. Further, at time t1, t2, t3, and t4, the spindle torque is temporarily increased.
  • the abnormality detection unit 72 of the monitoring device 7 detects the occurrence of an abnormality in the machine tool based on the driving state of such an electric motor.
  • the abnormality detection unit 72 can acquire or calculate an arbitrary variable for determining an abnormality of the machine tool. For example, the abnormality detection unit 72 can calculate the position of the tool based on the position command. Further, the abnormality detection unit 72 detects the time when the abnormality occurs. Further, the abnormality detection unit 72 detects the operation code of the machining program that was executed at the time when the abnormality occurred.
  • the abnormality detection unit 72 can detect an abnormality in the machine tool by arbitrary control. For example, in the example of FIG. 12, a determination range of the spindle torque can be provided in advance for each predetermined section. The abnormality detection unit 72 can determine that an abnormality has occurred in the machine tool when the spindle torque deviates from a predetermined determination range. For example, when the spindle torque exceeds a predetermined determination value, it can be determined that an abnormality has occurred in the machine tool.
  • the abnormality detection unit 72 can detect the occurrence of an abnormality by a method of learning the change of the variable indicating the driving state of the electric motor by machine learning. For example, as shown in FIGS. 11 and 12, when the tool is not damaged, the spindle torque does not increase, but when the tool is damaged, the spindle torque increases a plurality of times. The tendency of such fluctuations in the spindle torque can be learned by machine learning. Then, the abnormality of the machine tool can be detected based on the learned result. As machine learning, VAE (Variational AutoEncoder), GMM (Gaussian Mixture Model), or the like can be adopted.
  • VAE is a technology derived from the autoencoder (AE). It has a configuration in which an encoder that compresses the number of dimensions of input data (extraction of the feature amount) and a decoder that restores the number of dimensions (restores the original input data from the extracted feature amount) are connected. The output of the decoder can generate similar data with the characteristics of the input data. In learning, learning data is input to the encoder. The learning process is performed so that the decoder outputs data that matches the original learning data.
  • VAE and GMM can perform clustering of input data, they can be used for anomaly detection. For example, a machine tool is driven many times to accumulate changes in the torque of the motor over time. The tendency of torque change is clustered (classified) by VAE or BMM to determine a normal operation pattern and an abnormal operation pattern. When determining the occurrence of an abnormality in a machine tool, it is possible to determine which cluster the tendency of the torque change corresponds to.
  • VAE learning can be performed by unsupervised learning that does not include label data (correct answer data), and clustering can be performed. Then, it is possible to detect an abnormality by classifying it into a cluster when an abnormality has occurred and a cluster when an abnormality has occurred.
  • GMM unsupervised learning and supervised learning including label data can be performed.
  • GMM it is preferable to detect anomalies by hard clustering that selects whether or not the output data belongs to one cluster. Therefore, it is preferable to learn the information when an abnormality occurs as label data.
  • the method of machine learning and the method of giving a label is not limited to these forms, and any algorithm can be adopted.
  • the abnormality detection unit 72 can determine the continuity of the tool path or the rate of change of the curvature of the tool path when detecting the abnormality of the machine tool.
  • the abnormality detection unit 72 detects the position of the tool and the position of the work corresponding to the time based on the rotation position of the electric motor acquired by the operation information acquisition unit 71.
  • the abnormality detection unit 72 detects the position of the tool and the position of the work in chronological order.
  • the abnormality detection unit 72 can calculate the tool path based on the position of the tool and the position of the work at each time.
  • the abnormality detection unit 72 can make a determination based on the G3 continuity at the point of the curved tool path. For example, the abnormality detection unit 72 can determine G1 continuity as the continuity of the tool path. G1 continuity indicates that the tangent at that point is continuous. The continuity of the tool path can be expressed as a vector using the coefficient of Lagrange interpolation in the vicinity of the judgment point.
  • the abnormality detection unit 72 can determine the G2 continuity of the curve of the tool path. G2 continuity indicates that the curvature is continuous.
  • the abnormality detection unit 72 can determine the change in curvature over time.
  • the change in curvature over time is the change in curvature per unit time at a given time.
  • the temporal curvature change can be calculated, for example, by calculating the curvature of the tool path with respect to time and differentiating the curvature with respect to time.
  • the curvature can be obtained as a scalar value by acquiring the tool path as time series data, performing a differential calculation, and performing a cross product calculation.
  • the abnormality detection unit 72 can determine that an abnormality has occurred in the machining of the machine tool when it is not continuous with G1 and when it is not continuous with G2. Further, the abnormality detection unit 72 may determine whether or not G3 is continuous at a point on the tool path. G3 continuity indicates that the twist (rate of change in curvature) is also continuous at the connection point of the two curves.
  • the abnormality detection unit 72 can detect an abnormality by adopting a spatial curvature change as the curvature change.
  • Spatial curvature change is the difference in curvature at points corresponding to each other in a plurality of similar tool paths. It is common in machining to create a shape by repeating almost the same tool path. Focusing on this point, it is possible to define a variable called spatial curvature change by comparing the curvature changes between tool paths that are repeatedly machined. For example, when there are two curved tool paths parallel to each other, a designated point corresponding to the first tool path and the second tool path is specified. The curvature at the designated point of the first tool path and the curvature at the designated point of the second tool path are substantially the same.
  • the curvature varies slightly for each tool path.
  • the difference in curvature at the points corresponding to each other is relatively large and deviates from the determination range in the plurality of tool paths, it can be determined that the machine tool has an abnormality.
  • the abnormality detection unit 72 may calculate the direction in which the tool advances, the cutting force, and the work of the cutting force, and determine whether or not an abnormality has occurred in the machine tool.
  • the information on the driving state of the motor acquired by the operation information acquisition unit 71, variables such as the curvature of the tool path calculated by the abnormality detection unit 72, and the determination result of the abnormality detected by the abnormality detection unit 72 are , Can be stored in the storage unit 73.
  • FIG. 13 shows a block diagram of the correction device.
  • the correction device 8 of the present embodiment has a function of estimating the cause of the abnormality of the machine tool 3 detected by the monitoring device 7. Further, the correction device 8 generates a correction command for suppressing the occurrence of an abnormality in the machine tool 3.
  • the correction device 8 includes a cause estimation unit 81 that estimates the cause of the abnormality.
  • the correction device 8 includes a correction command generation unit 82 that generates a correction command for correcting parameters so as to suppress the occurrence of an abnormality.
  • the correction device 8 includes a correction unit 85 that corrects the machining program based on the correction command generated by the correction command generation unit 82 when the corrected machining program is transmitted to the simulation device 9.
  • the cause estimation unit 81, the correction command generation unit 82, and the correction unit 85 correspond to the processor of the arithmetic processing unit.
  • the processor functions as each unit by driving according to a predetermined program.
  • the correction device 8 includes a storage unit 83 for storing information regarding parameter correction, and a display unit 84 for displaying information regarding parameter correction.
  • the display unit 84 is composed of an arbitrary display panel such as a liquid crystal display panel.
  • FIG. 14 shows a time chart showing the curvature of the tool path when the machine tool machined the work and the feed rate of the tool with respect to the work.
  • the magnitude of the curvature is displayed on a logarithmic scale.
  • the magnitude of the feed rate of the tool is displayed on a scale at regular intervals.
  • the abnormality detection unit 72 calculates the curvature in the tool path and the feed rate of the tool.
  • the abnormality detection unit 72 determines that an abnormality has occurred in the machine tool at time t6.
  • the tool is moving from a gently bending part to a sharply bending part.
  • the curvature changes significantly in a short time, and the change in curvature over time becomes large.
  • the feed rate of the tool is rapidly decreasing.
  • the cause estimation unit 81 acquires the drive state of the motor and the time when the abnormality occurs from the monitoring device 7. Further, the cause estimation unit 81 acquires the variables calculated by the abnormality detection unit 72. In the example here, the cause estimation unit 81 acquires the temporal curvature change and the tool feed rate in the vicinity of the time t6. The cause estimation unit 81 can determine that the feed rate of the tool changes abruptly and the cutting load increases instantaneously.
  • the cause estimation unit 81 can estimate the cause of the abnormality based on the driving states of various motors. For example, as an abnormality of a machine tool, there is chatter vibration generated at the time of cutting. If chatter vibration occurs while cutting a work, vibration occurs in the tool and the processing quality deteriorates. Chatter vibration basically occurs or does not occur depending on the rotational speed of the spindle. Therefore, the cause estimation unit 81 can determine whether or not the cause of the abnormality of the machine tool is chatter vibration based on the rotation speed of the electric motor.
  • the cause estimation unit 81 may estimate the cause of the abnormality caused by machine learning.
  • the cause estimation unit can estimate the cause of the abnormality by using the above-mentioned VAE and GMM. For example, in the case where the tool is damaged, the tool is damaged when the change in the curvature of the tool path is large or when the feed rate of the tool is large. In addition, the tool may be damaged when the amount of protrusion of the tool in the spindle head is large. If the amount of protrusion of the tool in the spindle head is large, the vibration of the tool becomes large and the tool may be damaged.
  • the tool is damaged when a component of the machine tool such as a chuck for holding the tool arranged on the spindle head or a work support member for fixing the work to the table is out of order.
  • the cause estimation unit 81 can estimate the cause of the abnormality by determining which cluster it corresponds to.
  • the cause estimated by the cause estimation unit 81 can be displayed on the display unit 84.
  • the display unit 84 can display information that the amount of protrusion of the tool is defective. Further, the display unit 84 can display an image that proposes to carry out the inspection. The operator can check and correct the amount of protrusion of the tool by looking at the display on the display unit 84. Alternatively, when a machine tool component such as a chuck of the spindle head and a work support member for fixing the work is damaged, the operator can replace the damaged component.
  • the correction command generation unit 82 generates a correction command for correcting the parameters in the CAD device 1, the CAM device 2, or the numerical control device 4 so as to suppress the occurrence of an abnormality.
  • the correction command generation unit 82 generates a correction command based on the driving state of the electric motor acquired by the operation information acquisition unit 71.
  • the correction command generation unit 82 can generate a correction command based on the cause estimated by the cause estimation unit 81. For example, in the example shown in FIG. 14, it can be presumed that the tool is damaged due to abrupt changes in curvature and tool feed rate. In this case, control can be performed to reduce the feed rate of the tool at the portion where the abnormality of the tool path occurs.
  • control for suppressing the occurrence of the abnormality carried out by the correction command generation unit 82 the control for changing the target shape of the work so that the curvature of the tool path is small and the curvature of the tool path are reduced for the portion where the abnormality has occurred.
  • Controls, or controls that reduce the feed rate of the tool can be exemplified.
  • the worker may not want to change the target shape of the work.
  • the tool path can be significantly changed.
  • the tool when the tool is moved only in the X-axis direction of the machine coordinate system, it can be changed to a tool path for cutting diagonally so as to include the movement in the X-axis direction and the movement in the Y-axis direction. ..
  • the correction command generation unit 82 can set an evaluation function for the plurality of conditions.
  • the evaluation function can, for example, integrate a value obtained by multiplying the magnitude of deviation from each condition by a weight. Multiple conditions can be set so that the evaluation function becomes smaller.
  • the correction command generation unit 82 can generate a correction command for changing the target shape, a correction command for changing the curvature of the tool path, and a correction command for changing the feed rate. Then, based on the evaluation function, the correction command generation unit 82 has at least one of the correction command for changing the target shape, the correction command for changing the curvature, and the correction command for changing the feed rate so as to satisfy a plurality of conditions as much as possible.
  • One amendment command can be selected.
  • the correction device 8 can select the control for suppressing the occurrence of the abnormality by the following control.
  • FIG. 15 is a control flowchart for selecting a method in which the correction device suppresses an abnormality in the machine tool.
  • the correction command generation unit 82 determines whether or not an abnormal increase in the torque of the electric motor is detected. If no abnormal increase in the torque of the motor is detected in step 131, this control is terminated. If an abnormal increase in the torque of the motor is detected in step 131, control shifts to step 132.
  • the correction command generation unit 82 determines whether or not there is a strong temporal correlation between the abnormal increase in torque and the change in curvature of the tool path. For example, the correction command generation unit 82 determines whether or not the change in curvature is large when an abnormal increase in torque occurs. The correction command generation unit 82 temporally determines when a temporal curvature change or a spatial curvature change deviates from the determination range within a predetermined time range from the time when the abnormal increase in torque occurs. It is judged that the correlation is strong.
  • step 132 when the temporal correlation between the abnormal increase in torque and the change in curvature of the tool path is weak, the correction command generation unit 82 can determine that there is no problem with the tool path and the feed speed. For example, when a face mill is used for the tool to form a linear groove in the work, the control shifts to step 133.
  • step 133 the correction command generation unit 82 determines that there is a problem in the state of holding the work or the state of holding the tool. For example, it is conceivable that the amount of protrusion of the tool is inappropriate or the jig that holds the work is out of order.
  • the correction command generation unit 82 displays an image on the display unit 84 that proposes an inspection of the member that holds the work or the member that holds the tool. Alternatively, the correction command generation unit 82 may propose a change in the cutting depth of the work, a change in the rotation speed of the spindle, or the like.
  • control shifts to step 134 when there is a strong temporal correlation between the abnormal increase in torque and the change in curvature of the tool path.
  • step 134 it is determined whether or not there is a restriction in changing the tool path. As mentioned above, you may not want to change the tool path in relation to the life of the tool. Alternatively, if the machining time becomes long, it may be desired to avoid changing the tool path. If such a condition cannot be satisfied due to the change of the tool path, the correction command generation unit 82 determines that the change of the tool path is restricted. In this case, control shifts to step 135.
  • step 135 the correction command generation unit 82 selects a control that locally changes the feed rate of the tool.
  • the correction command generation unit 82 selects to change the feed rate at the portion where the abnormality has occurred. If there are no restrictions on changing the tool path in step 134, control shifts to step 136.
  • step 136 the correction command generation unit 82 determines whether or not there is a restriction in changing the target shape of the work. For example, when it is prohibited to change the target shape of the work, it is determined that there is a restriction in changing the target shape of the work. In this case, control proceeds to step 137. In step 137, the correction command generation unit 82 selects to change the tool path (movement locus). If there are no restrictions on the change of the target shape in step 136, the control shifts to step 138. In step 138, the correction command generation unit 82 can select to change the target shape.
  • the correction command generation unit 82 can select a countermeasure when an abnormality occurs in the machine tool.
  • an abnormal increase in torque is detected in step 131, it is preferable to change the target shape of the work generated by the CAD device 1.
  • the correction device 8 includes the cause estimation unit 81, but the present invention is not limited to this embodiment.
  • the correction device may generate a correction command in the correction command generation unit without estimating the cause of the abnormality. For example, it may be predetermined that a correction command for reducing the rotational speed of the spindle motor is generated when the spindle torque exceeds the determination value.
  • a correction command for reducing the rotational speed of the spindle motor is generated when the spindle torque exceeds the determination value.
  • the G3 continuity is determined, if the temporal curvature change or the spatial curvature change deviates from the predetermined determination range, the curvature of the abnormal portion can be reduced. It may be predetermined.
  • the correction command generation unit 82 of the correction device 8 transmits the correction command to the CAD device 1 as shown by the arrow 153.
  • the correction command generation unit 82 can transmit the correction command to the CAM device as shown by the arrow 151.
  • the correction command generation unit 82 can transmit the correction command to the numerical control device 4 of the machine tool 3 as shown by the arrow 152.
  • the correction command generation unit 82 acquires the position of the tool corresponding to the time when the abnormality occurs from the abnormality detection unit 72.
  • the correction command generation unit 82 acquires parameters such as the position of the control point used when generating the three-dimensional shape data and the three-dimensional shape data from the CAD device 1.
  • the correction command generation unit 82 detects the position where the abnormality has occurred in the target shape of the work based on the position of the tool when the abnormality has occurred.
  • the shape data generation unit 13 sets the coordinate system of the three-dimensional three-dimensional space. For example, the shape data generation unit 13 sets a three-dimensional coordinate system with an arbitrary point of the work as the origin.
  • the coordinate system used in the CAD device 1 is converted into the coordinate system of the machine tool main body 5. For example, it is converted to the machine coordinate system set in the machine tool main body 5.
  • the correction command generation unit 82 performs a conversion opposite to the conversion of this coordinate system.
  • the correction command generation unit 82 can convert the position where the abnormality specified in the machine coordinate system occurs to the position in the coordinate system of the CAD device 1.
  • the coordinate system of the machine tool main body 5 can be set in advance in the CAD device 1. That is, the correspondence between the three-dimensional coordinate system in the CAD device 1 and the coordinate system in the machine tool main body 5 can be determined in advance.
  • the correction command generation unit 82 calculates the position of the tool at the time when the abnormality occurs in the machine coordinate system.
  • the correction command generation unit 82 can calculate the position of the target shape generated by the shape data generation unit 13 of the CAD device 1 based on the position in the machine coordinate system where the abnormality has occurred.
  • the correction command generation unit 82 transmits a correction command for correcting the parameters when the shape data generation unit 13 generates the three-dimensional shape data.
  • the correction command generation unit 82 transmits a correction command to the shape data generation unit 13 so as to correct the curvature of the portion of the free shape in which the abnormality has occurred.
  • the correction command generation unit 82 can generate a correction command that reduces the curvature of the shape of the work in the portion where the abnormality has occurred.
  • the correction command generation unit 82 determines the positions of the points corresponding to the surface in the portion where the abnormality occurs. Generate a correction command to correct. For example, the correction command generation unit 82 can correct the position of the point corresponding to the surface so that the curvature of the shape of the work becomes smaller by the amount of change in the curvature determined in advance.
  • the correction command generation unit 82 moves the position of the control point so that the curvature of the portion where the abnormality of the target shape occurs becomes small. Can generate a command to do.
  • the correction command generation unit 82 generates a command to move the position of the control point so as to reduce the curvature by a predetermined amount of change in curvature.
  • the shape data generation unit 13 changes the shape of the portion where the abnormality has occurred based on the correction command.
  • the CAD device 1 generates three-dimensional shape data 102 including data of the target shape in which the curvature of the portion where the abnormality of the target shape before correction has occurred becomes small. Then, a machining program is generated by the CAM device 2 based on the three-dimensional shape data 102, and the work is machined by the machine tool 3.
  • the correction method for correcting the parameters includes a step in which the shape data generation unit 13 generates three-dimensional shape data including a free curved surface of the work.
  • the correction method includes a step in which the locus generation unit 22 generates a movement locus in which the tool moves with respect to the work based on the three-dimensional shape data 102 of the work and the drive conditions of the machine tool.
  • the modification method is a machining program including an operation code in which the position of a point for generating a tool path and the feed speed of the tool are determined based on the movement locus generated by the program generation unit 26 in the locus generation unit 22. Includes a step of producing 111.
  • the modification method includes a step in which the motion control unit 42 controls the motor based on the motion code included in the machining program 111.
  • the correction method is based on the process in which the operation information acquisition unit 71 acquires the drive state of the motor from the operation control unit 42, and the abnormality detection unit 72 based on the drive state of the motor acquired by the operation information acquisition unit. Includes a step of detecting anomalies.
  • the correction method is when the shape data generation unit 13 generates the three-dimensional shape data 102 so that the correction command generation unit 82 corrects the curvature of the portion of the free curved surface of the three-dimensional shape in which the machine tool abnormality has occurred. It includes a step of generating a correction command for modifying a parameter and a step of transmitting a modification command for modifying the parameter to the shape data generation unit 13.
  • the target shape of the work part corresponding to the position where the machine tool abnormality occurred has been changed so that the curvature becomes smaller.
  • the acceleration and jerk are reduced with the movement locus having a small curvature in the portion where the abnormality has occurred. Therefore, the sharp fluctuation of the feed rate of the tool is suppressed and the tool moves smoothly. Therefore, it is possible to suppress the occurrence of an abnormality in the machine tool 3.
  • the correction command generation unit 82 transmits a correction command to the CAM device 2
  • the correction command generation unit 82 generates a command for modifying the parameters when the program generation unit 26 generates a machining program.
  • the correction command generation unit 82 transmits to the program generation unit 26 a command to correct a parameter so as to correct at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs.
  • the correction command generation unit 82 acquires a machining program from the monitoring device 7.
  • the correction command generation unit 82 acquires the time when the abnormality occurs from the abnormality detection unit 72. Further, the correction command generation unit 82 acquires the operation code of the machining program that was executed at the time when the abnormality occurred from the abnormality detection unit 72. Next, the correction command generation unit 82 generates a command to correct the operation code executed when an abnormality occurs so that at least one of the curvature of the tool path to which the tool moves and the feed rate of the tool becomes smaller. do.
  • the correction command generation unit 82 When reducing the curvature of the tool path, the correction command generation unit 82 generates a correction command for correcting the position of the moving point defined in the operation code of the machining program so that the curvature becomes small. For example, the correction command generation unit 82 generates a correction command for changing the X-axis coordinate value, the Y-axis coordinate value, and the Z-axis coordinate value defined in the operation code.
  • the correction command generation unit 82 When reducing the feed rate of the tool, the correction command generation unit 82 generates a correction command for reducing the feed rate (F value) of the tool defined in the operation code executed when the abnormality occurs. ..
  • the feed rate can be reduced by a predetermined amount.
  • a binary search or the like may be performed.
  • the correction method for correcting the parameters is based on the three-dimensional shape data 102 of the work generated in advance by the locus generation unit 22 and the drive conditions of the machine tool. It includes a step of generating a movement locus in which the tool moves.
  • the modification method includes a step in which the program generation unit 26 generates a machining program including an operation code.
  • the correction method includes a step of detecting an abnormality in the machine tool by the abnormality detection unit 72 based on the driving state of the electric motor acquired by the operation information acquisition unit 71.
  • the correction method is when the program generation unit 26 generates a machining program so that the correction command generation unit 82 corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool. It includes a step of generating a correction command for modifying a parameter and a step of transmitting a modification command for modifying the parameter to the program generation unit 26.
  • the program generation unit 26 of the CAM device 2 generates a modified machining program based on the modification command.
  • the operation code corresponding to the time when the machine tool abnormality occurs has at least one of a correction for reducing the feed rate and a correction for the position of the moving point where the curvature is small. For this reason, it is possible to suppress the occurrence of abnormalities in the machine tool by performing machining with the modified machining program.
  • the correction command generation unit 82 acquires a machining program from the monitoring device 7.
  • the correction command generation unit 82 acquires the time when the abnormality occurs from the abnormality detection unit 72. Further, the correction command generation unit 82 acquires the operation code of the machining program that was executed at the time when the abnormality occurred from the abnormality detection unit 72. Next, the correction command generation unit 82 generates a command to correct the operation code executed when an abnormality occurs so that at least one of the curvature of the tool path to which the tool moves and the feed rate of the tool becomes smaller. do.
  • the correction command generation unit 82 issues a command to correct the position of the movement point defined in the operation code so that the curvature of the tool path when an abnormality occurs becomes small.
  • the route generation unit 44 corrects the position of the moving point defined in the operation code when an abnormality occurs.
  • the path generation unit 44 generates a tool path based on the position of the corrected moving point.
  • the correction command generation unit 82 transmits a command for reducing the feed rate (F value) of the operation code that was executed when the abnormality occurred to the operation command generation unit 45.
  • the speed determination unit 46 reduces the feed rate (F value) of the tool defined in the operation code of the machining program.
  • the speed determination unit 46 calculates the speed at which acceleration or deceleration is performed based on the corrected feed speed.
  • the correction command generation unit 82 may generate a correction command for modifying the parameters for driving the operation command generation unit 45 and transmit it to the operation command generation unit 45.
  • the speed determination unit 46 of the operation command generation unit 45 can reduce the feed rate by modifying the parameters when performing contour control and interpolation control.
  • the correction method of correcting the parameters is a step of controlling the electric motor based on the operation code included in the machining program generated in advance by the operation control unit 42.
  • the correction method includes a step of detecting an abnormality in the machine tool by the abnormality detection unit 72 based on the driving state of the electric motor acquired by the operation information acquisition unit 71.
  • the motion control unit 42 corrects the position of the tool and the feed of the tool so that the correction command generation unit 82 corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool. It includes a step of generating a correction command for modifying a parameter when controlling the speed, and a step of transmitting a correction command for modifying the parameter to the operation control unit 42.
  • the curvature of the tool path becomes smaller and the feed rate is reduced when machining the part of the workpiece where the machine tool has an abnormality. Therefore, it is possible to suppress the occurrence of abnormalities in the machine tool.
  • the correction device 8 can transmit a correction command to the CAM device 2 or the numerical control device 4 when controlling to reduce the curvature of the tool path or controlling to reduce the feeding speed of the tool.
  • the operator can determine in advance whether to send the correction command to the CAM device 2 or the numerical control device 4.
  • control for reducing the curvature of the target shape or the tool path and the control for reducing the feed rate are described as an example, but the present invention is not limited to this embodiment. Controls to increase the curvature or control to increase the feed rate may be included. It is also possible to more rationally improve the tool path and feed rate with the aim of reducing machining cycle times for machine tools and workpieces that are expected to be free of tool anomalies. For example, control may be performed to reduce the curvature of the target shape or the tool path and increase the feed rate.
  • FIG. 16 shows a block diagram of the simulation device according to the present embodiment.
  • the simulation device 9 includes a simulation unit 91 that performs a simulation when the machine tool 3 is driven based on the machining program 111.
  • the simulation device 9 includes a determination unit 94 for determining the result of the simulation performed by the simulation unit 91.
  • the simulation unit 91 includes a command generation simulation unit 92 and a servo control simulation unit 93. Further, the simulation device 9 includes a storage unit 95 for storing arbitrary information regarding the simulation.
  • the simulation unit 91, the command generation simulation unit 92, the servo control simulation unit 93, and the determination unit 94 correspond to the processor of the arithmetic processing unit.
  • the processor functions as each unit by performing the control specified in the program.
  • a set value set in the control device of the machine tool is input to the simulation device 9 so that the operation of the machine tool is accurately simulated.
  • the simulation device 9 is input with the parameters of the control device for calculating the values of the operation commands such as the position and the speed based on the machining problem.
  • the command generation simulation unit 92 of the simulation unit 91 simulates the generation of the operation command of the electric motor.
  • the command generation simulation unit 92 has the same functions as the route generation unit 44 and the operation command generation unit 45 shown in FIG. 7. That is, the command generation simulation unit 92 calculates the tool path and the feed rate based on the machining program and generates an operation command.
  • the servo control simulation unit 93 of the simulation unit 91 carries out a simulation when controlling the electric motor based on the operation command.
  • the servo control simulation unit 93 simulates control that causes the drive state of the electric motor that drives the object to be controlled to follow the operation command output from the command generation simulation unit. That is, the servo control simulation unit 93 simulates feedback control.
  • the servo control simulation unit 93 carries out a simulation using a model that expresses the behavior of the machine tool.
  • a model in which resonance and antiresonance of a mechanism such as a feed shaft mechanism occurs is generated.
  • the servo control simulation unit 93 virtually calculates the response (plant transfer function) of the encoder attached to the motor or the vibration response of the tool and the workpiece with a mathematical model including the differential equation.
  • a mathematical model including the differential equation.
  • the differential equation in addition to the linear differential equation, a Duffing equation, a Mathieu equation, a Meissner equation, or the like can also be adopted.
  • the functions shown as inputs and outputs to the differential equation correspond to the transfer function, and the behavior of the machine tool can be expressed based on the transfer function.
  • Machine tool drive train and tool vibration behavior can be modeled using differential equations or transfer functions of appropriate order.
  • the servo control simulation unit 93 calculates the dynamic characteristics of the machine tool, the workpiece, and the tool
  • the determination unit 94 evaluates the drive state of the machine tool that has been simulated based on the input machining program. In the present embodiment, the determination unit 94 determines whether or not an abnormality occurs in the machine tool based on the result of the simulation by the servo control simulation unit 93. Alternatively, the determination unit 94 can determine whether or not an abnormality in the machine tool is expected to occur based on the result of the simulation.
  • the continuity of the tool path or the rate of change in curvature can be determined for the simulation result, as in the case of the abnormality detection in the abnormality detection unit 72 of the monitoring device 7.
  • the determination unit 94 determines whether or not an abnormality occurs based on the temporal curvature change or the spatial curvature change of the tool path generated by the machining program.
  • the determination unit 94 can make a determination using the driving state of the electric motor estimated by the simulation unit 91.
  • the determination unit 94 can estimate whether or not an abnormality occurs based on an estimated value of torque output by the electric motor.
  • the shape data generation unit 13 of the CAD device 1 when the correction device 8 transmits a correction command to the CAD device 1, the shape data generation unit 13 of the CAD device 1 generates the corrected three-dimensional shape data 102 based on the correction command. Then, it is transmitted to the CAM device 2.
  • the locus generation unit 22 and the program generation unit 26 of the CAM device 2 generate the modified machining program 111 based on the modified three-dimensional shape data 102.
  • the CAM device 2 transmits the modified machining program 111 to the simulation unit 91 of the simulation device 9.
  • the simulation unit 91 of the simulation device 9 carries out a simulation when the machine tool is driven using the modified machining program.
  • the determination unit 94 determines whether or not an abnormality occurs in the machine tool based on the result of the simulation. As shown by the arrow 155, the determination unit 94 transmits the determination result to the correction command generation unit 82 of the correction device 8.
  • the correction device 8 can determine the three-dimensional shape data at that time as the final three-dimensional shape data. Alternatively, the correction device 8 can adopt the machining program at that time as the final machining program.
  • the correction command generation unit 82 of the correction device 8 further generates a correction command for changing the target shape of the work. For example, the correction command generation unit 82 generates a correction command to further reduce the curvature of the portion where the abnormality of the target shape has occurred. Then, a further correction command can be transmitted to the CAD device 1.
  • the control to correct the shape of the part where the abnormality of the target shape has occurred the control to generate the corrected machining program based on the corrected target shape, and the evaluation of the corrected machining program by the simulation device. It is possible to carry out the control to be performed repeatedly. It is possible to repeat the correction of the target shape and the evaluation by simulation until the occurrence of the abnormality of the machine tool is eliminated.
  • the correction command generation unit 82 transmits the correction command to the program generation unit 26 of the CAM device 2.
  • the program generation unit 26 generates the modified machining program 111 based on the modification command.
  • the program generation unit 26 transmits the modified machining program 111 to the simulation unit 91 of the simulation device 9.
  • the simulation unit 91 carries out a simulation when the machine tool is driven by using the modified machining program.
  • the determination unit 94 determines whether or not the occurrence of the abnormality of the machine tool can be eliminated based on the result of the simulation.
  • the determination unit 94 transmits the determination result to the correction command generation unit 82 of the correction device 8 as shown by the arrow 155.
  • the correction device 8 transmits a further correction command to the CAM device 2.
  • the correction command generation unit 82 can transmit a command to correct the parameter of the operation code so that the curvature of the tool path or the feed rate of the tool in the portion where the abnormality has occurred is further reduced.
  • the simulation device 9 carries out the simulation using the machining program modified by the CAM device 2. In this way, the modification of the machining program and the evaluation by simulation can be repeated until the occurrence of the abnormality can be suppressed. In this control, for example, when the feed rate is slowed down, control for changing the feed rate by a binary search can be performed.
  • the correction device 8 generates a correction processing program according to the correction command before transmitting the correction command to the numerical control device 4 as shown by the arrow 152.
  • the correction unit 85 of the correction device 8 generates the correction processing program based on the correction command of the operation code of the processing program.
  • the correction device 8 transmits the corrected machining program to the simulation device 9 as shown by the arrow 156.
  • the simulation unit 91 of the simulation device 9 carries out a simulation when the machine tool is driven by using the modified machining program.
  • the determination unit 94 determines whether or not the occurrence of the abnormality of the machine tool is eliminated based on the result of the simulation. As shown by the arrow 155, the determination unit 94 transmits the determination result to the correction command generation unit 82 of the correction device 8.
  • the correction device 8 transmits a machining program with further corrections to the simulation device 9.
  • the correction command generation unit 82 further corrects the position of the movement point of the operation code so that the curvature of the tool path in the portion where the abnormality has occurred becomes small.
  • the correction command generation unit 82 further reduces the feed rate of the tool at the portion where the abnormality has occurred.
  • the simulation device 9 carries out a simulation using the machining program modified by the modification device 8. In this way, the modification of the machining program and the evaluation by simulation can be repeated until the occurrence of the abnormality of the machine tool is eliminated.
  • each device can be set so that the occurrence of an abnormality can be eliminated without machining the work with an actual machine tool.
  • the simulation device 9 of the present embodiment can generate a determination range used by the abnormality detection unit 72 of the monitoring device 7.
  • the driving state of the electric motor when the machine tool is normal for example, the driving state of the electric motor when the machine tool is new can be adopted.
  • the monitoring device 7 and the correction device 8 in the present embodiment are applied to a machine tool that has already started to be used, it is difficult to determine the determination range used for determining the abnormality of the machine tool. There is.
  • the simulation device 9 can perform a simulation of the driving state of the electric motor when the machine tool is driven in a new state.
  • the simulation unit 91 can perform a simulation using a differential equation corresponding to a new machine tool.
  • the simulation unit 91 can perform the simulation by the differential equation corresponding to the tool having no decrease in sharpness or wear.
  • the differential equations of a model used in a normal simulation assume resonance and antiresonance.
  • simulations can assume an ideal transfer function with no resonance or antiresonance. By simulating such an ideal system, ideal values such as torque and jerk of the motor can be estimated.
  • the Duffing equation as a differential equation has a cubic spring term
  • the Meissner equation has an infinite series friction term
  • the Mathieu equation has a trigonometric friction term.
  • an equation close to the waveform of the operation pattern when the abnormality occurs is selected. Then, based on the driving state when the machine tool is actually driven, it is possible to perform fitting such as a coefficient in the differential equation. By this method, it is possible to mathematically obtain a model of the machine tool when an abnormality occurs.
  • the simulation device 9 generates a driving state when the machine tool is normal and a driving state when an abnormality occurs in the machine tool by simulation.
  • the simulation device 9 can generate a determination range for determining an abnormality of the machine tool based on the result of such a simulation. For example, it is possible to calculate the determination value of the torque for determining the breakage of the tool based on the simulation when the tool is broken.
  • the simulation device can simulate changes in the driving state such as changes in torque with the passage of time when an abnormality occurs. Then, machine learning may be performed by using the change in the driving state of the electric motor. For example, a change in the driving state of an electric motor can be adopted as teacher data when performing machine learning.
  • the machining system 10 includes a program modification system 31.
  • the simulation device 9 and the correction device 8 function as the program correction system 31.
  • the program modification system 31 determines the result of the simulation unit 91 that performs the simulation when the machine tool 3 is driven based on the machining program and the simulation unit 91 that performs the simulation. Includes a determination unit 94.
  • the program modification system 31 includes a modification unit 85 that modifies the machining program based on the result of the simulation.
  • a modified machining program is input to reduce the occurrence of machine tool abnormalities.
  • the machining program before modification may be input to the simulation unit 91.
  • the program modification system 31 can perform the simulation without connecting to the CAD device 1, the CAM device 2, and the machine tool 3. That is, the program modification system 31 may perform the simulation offline. Any machining program can be input to the simulation unit 91.
  • the determination unit 94 can determine whether or not an abnormality in the machine tool 3 is expected to occur based on the result of the simulation by the simulation unit 91. As described above, the determination unit 94 can determine whether or not an abnormality is expected to occur in the simulation result based on the driving state of the motor, the continuity of the tool path, the rate of change in curvature, and the like. can.
  • the determination unit 94 identifies the operation code of the machining program in which the abnormality is expected to occur when the abnormality in the machine tool is expected to occur. For example, in a machining program, a line number of an operation code corresponding to an operation expected to cause an abnormality is specified. The determination unit 94 transmits an operation code corresponding to an operation expected to cause an abnormality to the correction device 8.
  • the correction command generation unit 82 of the correction device 8 generates a correction command for correcting an operation code in which an abnormality is expected to occur. For example, as described above, the correction command generation unit 82 generates a correction command for correcting an operation code expected to cause an abnormality so that at least one of the curvature of the tool path and the feed rate of the tool becomes smaller. .. Then, the correction unit 85 can correct the operation code based on the correction command.
  • the correction unit 85 may have the function of the correction command generation unit 82. In this case, the determination unit 94 can transmit the operation code corresponding to the operation expected to cause an abnormality to the correction unit 85, and the correction unit 85 can correct the operation code of the machining program.
  • the correction device 8 can transmit the modified machining program to the simulation device 9 and carry out a simulation of the machine tool using the modified machining program. Then, it is the same as the above-mentioned robot system that the correction of the operation code based on the determination result of the simulation device 9 may be repeated until it is expected that the abnormality of the machine tool does not occur.
  • the program modification system 31 may be provided with the monitoring device 7. That is, the program correction system has an operation information acquisition unit that acquires the drive state of the motor from the operation control unit and an abnormality detection unit that detects an abnormality of the machine tool based on the drive state of the motor acquired by the operation information acquisition unit. It does not matter if it is equipped with. With this configuration, as described above, it is possible to detect an abnormality in the machine tool and correct the machining program based on the driving state of the machine tool to be carried out.
  • the method of modifying the program for modifying the machining program includes a step of performing a simulation when the simulation unit 91 of the simulation apparatus 9 drives the machine tool 3 based on the machining program.
  • the method of modifying the program includes a step of determining the result of the simulation carried out by the determination unit 94 of the simulation apparatus 9 in the simulation unit 91.
  • the method of modifying the program includes a step in which the modifying unit 85 of the modifying device 8 modifies the machining program based on the result of the simulation.
  • the step of performing the simulation includes a step of generating an operation command of the electric motor based on the machining program and a step of making the driving state of the electric motor driving the object to be controlled follow the operation command.
  • the determination step includes a step of specifying the operation code of the machining program corresponding to the operation in which the abnormality is expected to occur when the abnormality of the machine tool 3 is expected to occur based on the result of the simulation.
  • the step of correcting can include a step of correcting an operation code corresponding to an operation in which an abnormality is expected to occur.
  • the program modification system simulates the operation of the machine tool and modifies the machining program based on the simulation results to generate a machining program that suppresses the occurrence of abnormalities when the workpiece is machined by the machine tool. Can be done.
  • the free shape generation unit 14 of the CAD device 1 can generate a free shape of the work by any method.
  • a method of generating a free shape a method of using a NURBS (Non-Uniform Rational B-Spline) curve in addition to the method of using the spline curve described above will be described.
  • NURBS Non-Uniform Rational B-Spline
  • the NUBS curve is a generalized curve of the irrational B-spline curve.
  • the B-spline curve is a generalized curve of the Bezier curve.
  • NURBS curves are generated by four parameters: control points, knot vectors, basis functions, and weights. NURBS curves generated based on such parameters can accurately represent complex curves or curved surfaces. Here, each parameter will be described qualitatively.
  • the control point is a point for determining the shape of the curve.
  • the plurality of control points determine the approximate shape of the curve.
  • the shape of the curve changes depending on the position of the control point. If the positions of some of the control points among the plurality of control points are slightly changed, the shape of the curve in the vicinity of the control points whose positions have been changed changes, and the shape of the entire curve is not significantly affected. Since the shape of a part of the curve can be changed by moving a part of the control points, a complicated shape can be easily generated in the CAD device.
  • the knot vector will be explained in the physical analogy.
  • both ends of a rope of an appropriate length are fixed and bent.
  • the shape of the bent rope corresponds to the curve.
  • tie a knot at the appropriate place on the rope For example, tie three knots.
  • the method of bending the rope differs between a rope having 0 knots and a rope having 3 knots.
  • the way the rope bends depends on where the knot is formed.
  • the shape of the rope changes because the hardness of the rope between the knots changes.
  • the knot vector on a NURBS curve corresponds to the position at which the knot is formed and the number of knots.
  • the knot vector determines a section that bends greatly and a section that does not bend very much.
  • Such a knot vector can be generated by a predetermined generation algorithm.
  • the basis function expresses the strength of the influence of the control points on each point of the curve with respect to the set of control points given discretely.
  • Basis functions represent the strength of the influence of control points on points on a curve.
  • the basis function continuously changes the ratio of the compounding (blending) between the control points. The result of that formulation is a seamless, smooth curve.
  • the basis function is uniquely defined with almost no changes other than the spline order.
  • the weight is a parameter for locally changing the shape of the curve.
  • the weight corresponds to hanging a weight in each section in the above analogy rope example. Alternatively, the weight corresponds to pulling each knot by hand.
  • the weight is determined depending on the software of the CAM device or the skill of the designer. In other words, by adjusting the weight, the shape of the curve can be finely adjusted.
  • FIG. 17 shows an example of a curve generated by a NURBS curve.
  • FIG. 18 shows another example of a curve generated by a NURBS curve. 17 and 18 show control points and curves.
  • the three-dimensional shape data 102 when the free shape generation unit 14 of the CAD device 1 generates a free shape on a NURBS curve or a NURBS curved surface, the three-dimensional shape data 102 also includes a NURBS parameter.
  • the 3D shape data 102 includes information on control point positions, weights, knot vectors, and basis functions with respect to NURBS.
  • the CAM device 2 When the CAM device 2 has a function of generating a movement locus using NURBS, the CAM device 2 performs an operation of performing NURBS interpolation in a machining program using NURBS parameters included in the three-dimensional shape data 102. You can generate code.
  • a tool path can be generated by a NURBS curve based on an operation code including a NURBS parameter.
  • NURBS can be used to completely compress and restore curved or curved surface information.
  • the feed rate is set based on the curvature of the NURBS curve and the drive condition of the machine tool. With this control, it is possible to avoid a loss in the operating efficiency of the machine tool.
  • the CAM device 2 may not have a function of generating a movement locus using NURBS parameters.
  • the operator may not use the function of generating the movement locus by NURBS in the CAM device 2.
  • the CAM device 2 divides the free curve into a large number of minute line segments. Then, the operation code is generated using the positions of the discrete moving points.
  • the numerical control device 4 generates a tool path by, for example, spline interpolation. In this way, when the information of the free curved surface by NURBS is lost, the curved surface can be generated by spline interpolation.
  • due to incomplete restoration machine tool abnormalities such as tool breakage may occur.
  • the CAD device 1 when the CAD device 1 generates 3D shape data using NURBS, it is preferable that the CAM device 2 generates a movement locus by NURBS. Further, in the numerical control device 4, it is preferable to generate a tool path by NURBS interpolation.
  • a curved groove can be formed on the surface of a flat plate.
  • the curvature is small over the entire curve, and the machining can be performed while maintaining the state where the feed rate of the tool is high. Since the load on the tool is small, damage to the tool is unlikely to occur.
  • the feed rate of the tool is high in the portion where the curvature is small, while the feed rate of the tool is low in the portion where the curvature is large as shown in the portion B.
  • the feed rate of the tool changes abruptly and the tool is liable to be damaged.
  • the correction device 8 creates a correction command, and the CAD device 1, the CAM device 2, or the numerical value is used.
  • a correction command can be transmitted to the control device 4.
  • the correction command generation unit 82 of the correction device 8 generates a command to correct at least one of the parameters of the control point, the knot vector, the basis function, and the weight as the parameters for changing the curvature. Can be done.
  • the knot vector is often automatically generated according to the position of the control point. Therefore, it is preferable to change the value of the weight determined corresponding to the control point in order to reduce the curvature locally.
  • the shape data generation unit 13 transmits a command to change the NURBS parameter when generating the three-dimensional shape data 102. be able to.
  • the correction device 8 can transmit a correction command for correcting the parameters of the NURBS in order to change the shape of the portion of the work in which the abnormality of the machine tool has occurred. For example, you can send a command to change the NURBS weights to generate a free shape.
  • the correction device 8 transmits a correction command to the CAM device 2 or the numerical control device 4, it is possible to transmit a command for correcting the operation code of the NURBS interpolation corresponding to the time when the abnormality occurs. For example, a command to change the weight described in the operation code can be transmitted.
  • the machining system of the present embodiment at least one of the target shape, the tool path, and the tool feed speed is automatically corrected so as to automatically detect the abnormality of the machine tool and suppress the occurrence of the abnormality. can do. It is difficult for the operator to accurately identify the position of the target shape when an abnormality occurs. Further, since the machining program is composed of many operation codes, it is difficult for the operator to specify the operation code when an abnormality occurs. Furthermore, it is difficult for the operator to change the parameters in order to suppress the occurrence of abnormalities. However, the machining system of the present embodiment can automatically carry out control for suppressing the occurrence of such an abnormality.
  • a machine tool having three drive shafts is taken as an example, but the present invention is not limited to this embodiment, and a machine tool having an arbitrary number of drive shafts can be applied. ..
  • a machine tool having five drive shafts in which the orientation of the work or the orientation of the tool can be changed can be adopted.
  • a coordinate conversion method for reducing the operation of the 5-axis machine tool to the operation of the 3-axis machine tool can be predetermined. Then, by performing coordinate conversion, the operation of the 5-axis machine tool can be reduced to the operation of the 3-axis machine tool and the relative posture of the tool, and the above control can be performed.
  • the machining system 10 in the above embodiment includes a CAD device 1, a CAM device 2, and a machine tool 3 so as to be able to perform from the design of the shape of the work to the machining of the work, but the present invention is not limited to this form.
  • the machining system may not be equipped with a CAD device.
  • the three-dimensional shape data generated in advance is input to the CAM device 2.
  • the correction command from the correction device is transmitted to the CAM device or the numerical control device.
  • the machining system may not be equipped with a CAD device and a CAM device.
  • a machining program generated in advance is input to the numerical control device of the machine tool.
  • the correction command from the correction device is transmitted to the numerical control device.

Abstract

加工システムは、3次元形状データに基づいて動作コードを含む加工プログラムを生成するCAM装置と、工作機械の電動機を制御する数値制御装置とを備える。加工システムは、電動機の駆動状態に基づいて、工作機械の異常を検出する監視装置を備える。加工システムは、CAM装置が加工プログラムを生成する時のパラメータを修正する修正指令を生成する修正装置を備える。修正装置は、異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように修正指令をCAM装置に送信する。

Description

工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法
 本発明は、工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法に関する。
 工作機械は、ワークに対する工具の相対位置を変更しながらワークを加工することができる。工作機械は、ワークを支持するテーブルを移動する装置および工具を支持する主軸ヘッドを移動する装置のうち少なくとも一方を有する。工作機械の制御装置は、加工プログラムに基づいて自動的にテーブルまたは主軸ヘッドを移動することにより、ワークに対する工具の相対位置を変更することができる。このような工作機械は、数値制御式と称されている(例えば、非特許文献1を参照)。
 工作機械にてワークを加工する時の目標形状は、CAD(Computer Aided Design)装置にて生成することができる。作業者は、CAD装置を操作することにより、ワークの3次元形状データを生成することができる。さらに、CAD装置にて形成された3次元形状データに基づいて、工作機械の加工プログラムを生成するCAM(Computer Aided Manufacturing)装置が知られている。工作機械の数値制御装置は、CAM装置にて生成された加工プログラムに基づいてワークを加工することができる。従来の技術においては、このようなCAD装置、CAM装置、および工作機械を備える加工システムが知られている。この加工システムでは、作業者がCAD装置にてワークの目標形状を生成すると、工作機械にて所望の形状にワークを加工することができる。
M.-Y. Cheng, et al., "Real-time NURBS Command generators for CNC servo controllers", International Journal of Machine Tools & Manufacture 42 (2002), p.801-813
 工作機械にてワークを加工している期間中に工作機械に異常が生じる場合がある。例えば、加工している期間中に工具の一部が破損する場合が有る。工具が破損すると、所望の品質にてワークを加工することができなくなる。すなわち、加工の不良が生じる。
 従来の技術においては、工作機械がワークを加工している期間中に生じる異常を検出する装置が知られている。作業者は、ワークを加工している期間中に異常が生じたことを知ることができる。しかしながら、工作機械の異常を検出することができても、異常の再発を抑制するための制御については、十分な検討がされていなかった。特に、工作機械において加工の不良が発生した場合に加工の不良の発生率を下げるための制御については、十分な検討がされていないという問題があった。
 本開示の工作機械にてワークを加工する第1の加工システムは、予め生成されたワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する軌跡生成部を備える。加工システムは、軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成するプログラム生成部を備える。加工システムは、動作コードに基づいて工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部を備える。加工システムは、動作制御部から電動機の駆動状態を取得する動作情報取得部と、動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部とを備える。加工システムは、プログラム生成部が加工プログラムを生成する時のパラメータを修正する修正指令を生成する修正指令生成部を備える。修正指令生成部は、工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するようにパラメータを修正する修正指令をプログラム生成部に送信する。
 本開示の工作機械にてワークを加工する第2の加工システムは、予め生成された加工プログラムに含まれる動作コードに基づいて、工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部を備える。加工システムは、動作制御部から電動機の駆動状態を取得する動作情報取得部と、動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部とを備える。加工システムは、動作制御部が工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する修正指令生成部を備える。修正指令生成部は、工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するようにパラメータを修正する修正指令を動作制御部に送信する。
 本開示の工作機械にてワークを加工する第3の加工システムは、ワークの自由曲面を含む3次元形状データを生成する形状データ生成部を備える。加工システムは、ワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する軌跡生成部を備える。加工システムは、軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成するプログラム生成部を備える。加工システムは、動作コードに基づいて工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部を備える。加工システムは、動作制御部から電動機の駆動状態を取得する動作情報取得部と、動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部とを備える。加工システムは、形状データ生成部が3次元形状データを生成する時のパラメータを修正する修正指令を生成する修正指令生成部を備える。修正指令生成部は、3次元形状データの自由曲面のうち工作機械の異常が生じた部分の曲率を修正するようにパラメータを修正する修正指令を形状データ生成部に送信する。
 本開示の第1のパラメータの修正方法は、工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する方法である。修正方法は、軌跡生成部が予め生成されたワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程を備える。修正方法は、プログラム生成部が軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成する工程を備える。修正方法は、動作制御部が加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程を備える。修正方法は、動作情報取得部が動作制御部から電動機の駆動状態を取得する工程と、異常検出部が動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程とを備える。修正方法は、修正指令生成部が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、プログラム生成部が加工プログラムを生成する時のパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令をプログラム生成部に送信する工程とを備える。
 本開示の第2のパラメータの修正方法は、工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する方法である。修正方法は、動作制御部が予め生成された加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程を備える。修正方法は、動作情報取得部が動作制御部から電動機の駆動状態を取得する工程を備える。修正方法は、異常検出部が動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程を備える。修正方法は、修正指令生成部が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、動作制御部が工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令を動作制御部に送信する工程とを備える。
 本開示の第3のパラメータの修正方法は、工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する方法である。修正方法は、形状データ生成部がワークの自由曲面を含む3次元形状データを生成する工程を備える。修正方法は、軌跡生成部がワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程を備える。修正方法は、プログラム生成部が軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成する工程を備える。修正方法は、動作制御部が加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程を備える。修正方法は、動作情報取得部が動作制御部から電動機の駆動状態を取得する工程と、異常検出部が動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程とを備える。修正方法は、修正指令生成部が3次元形状の自由曲面のうち工作機械の異常が生じた部分の曲率を修正するように、形状データ生成部が3次元形状データを生成する時のパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令を形状データ生成部に送信する工程とを備える。
 本開示のプログラム修正システムは、加工プログラムを修正する。プログラム修正システムは、加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行うシミュレーション部と、シミュレーション部にて実施したシミュレーションの結果を判定する判定部とを備える。プログラム修正システムは、シミュレーションの結果に基づいて加工プログラムを修正する修正部を備える。シミュレーション部は、加工プログラムに基づいて電動機の動作指令を生成する指令生成シミュレーション部と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させるサーボ制御シミュレーション部とを含む。判定部は、シミュレーションの結果に基づいて工作機械の異常が生じると予想される場合に、異常が生じると予想される動作に対応する加工プログラムの動作コードを特定する。修正部は、異常が生じると予想される動作に対応する動作コードを修正する。
 本開示のプログラムの修正方法は、加工プログラムを修正する方法である。プログラムの修正方法は、シミュレーション部が加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行う工程と、判定部がシミュレーション部にて実施したシミュレーションの結果を判定する工程とを備える。プログラムの修正方法は、修正部がシミュレーションの結果に基づいて加工プログラムを修正する工程を備える。シミュレーションを行う工程は、加工プログラムに基づいて電動機の動作指令を生成する工程と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させる工程とを含む。判定する工程は、シミュレーションの結果に基づいて工作機械の異常が生じると予想される場合に、異常が生じると予想される動作に対応する加工プログラムの動作コードを特定する工程を含む。修正する工程は、異常が生じると予想される動作に対応する動作コードを修正する工程を含む。
 本開示の態様によれば、工作機械の異常の発生を抑制する加工システムおよび加工システムにおけるパラメータを修正するパラメータの修正方法、ならびに工作機械の異常の発生を抑制するように加工プログラムを修正するプログラム修正システムおよびプログラムの修正方法を提供することができる。
実施の形態における加工システムのブロック図である。 実施の形態におけるCAD装置のブロック図である。 実施の形態におけるスプライン曲線を説明するグラフである。 実施の形態におけるCAM装置のブロック図である。 実施の形態における工作機械の概略斜視図である。 実施の形態における工作機械のブロック図である。 実施の形態における数値制御装置の動作制御部のブロック図である。 実施の形態における動作制御部のフィードバック制御部のブロック図である。 工作機械の工具経路の例を示す斜視図である。 実施の形態における監視装置のブロック図である。 工作機械が正常な時の主軸モータの回転速度および主軸トルクのタイムチャートである。 工作機械に異常が発生したときの主軸モータの回転速度および主軸トルクのタイムチャートである。 実施の形態における修正装置のブロック図である。 工作機械に異常が生じた時の工具経路の曲率および送り速度のタイムチャートである。 修正装置が工作機械の異常の発生を抑制する方法を選択する制御のフローチャートである。 実施の形態におけるシミュレーション装置のブロック図である。 NURBSにて生成した第1の自由曲線の図である。 NURBSにて生成した第2の自由曲線の図である。
 図1から図18を参照して、実施の形態における加工システムおよび加工システムにおけるパラメータの修正方法について説明する。本実施の形態における加工システムは、工作機械にてワークを加工する。本実施の形態における工作機械は、数値制御式の工作機械である。工作機械は、加工プログラムに基づいて自動的にワークに対する工具の相対位置を変更しながらワークを切削することができる。
 (加工システム)
 図1に、本実施の形態における加工システムのブロック図を示す。加工システム10は、ワークの目標形状(設計形状)を生成するCAD(Computer Aided Design)装置1を備える。CAD装置1からは、ワークの目標形状に対応する3次元形状データが出力される。加工システム10は、ワークの3次元形状データに基づいて、工作機械3の加工プログラムを生成するCAM(Computer Aided Manufacturing)装置2を備える。加工システム10は、加工プログラムに従って駆動してワークを加工する工作機械3を備える。工作機械3は、主軸ヘッドおよびテーブルを含む工作機械本体5と、加工プログラムに基づいて、工作機械本体5の電動機を制御する数値制御装置4とを含む。
 加工システム10は、工作機械3の駆動状態を取得して、工作機械3の異常を検出する監視装置7を備える。また、加工システム10は、監視装置7において検出された異常を抑制するようにパラメータの修正指令を生成する修正装置8を備える。修正装置8にて生成された修正指令は、CAD装置1、CAM装置2、または数値制御装置4のいずれかの装置に送信される。
 加工システム10は、加工プログラムに基づいて工作機械3を駆動した時のシミュレーションを実施するシミュレーション装置9を備える。シミュレーション装置9は、修正指令に基づいて生成された修正後の加工プログラムにてシミュレーションを実施する。シミュレーション装置9は、修正後の加工プログラムにて工作機械3を駆動した時に、異常の発生が解消されるか否かを判定する。
 本実施の形態のCAD装置1、CAM装置2、数値制御装置4、監視装置7、修正装置8、およびシミュレーション装置9のそれぞれの装置は、プロセッサとしてのCPU(Central Processing Unit)を有する演算処理装置(コンピュータ)を含む。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。なお、CAD装置1、CAM装置2、数値制御装置4、監視装置7、修正装置8、およびシミュレーション装置9の装置のうち、2つ以上の装置が一体的に形成されていても構わない。例えば、CAD装置とCAM装置とが一体的に形成されていても構わない。すなわち、CAD装置の機能およびCAM装置の機能を有する1個の演算処理装置が配置されていても構わない。次に、加工システム10に含まれるそれぞれの装置について詳細に説明する。
 (CAD装置)
 図2に、本実施の形態におけるCAD装置のブロック図を示す。CAD装置1は、作業者が操作を行う入力部11と、ワークの設計に関する任意の情報を表示する表示部12とを含む。入力部11は、キーボードおよびマウス等の作業者が操作する機器にて構成されている。表示部12は、例えば液晶表示パネル等の任意の表示パネルにて構成されている。
 CAD装置1は、ワークの目標形状の生成に関する任意の情報を記憶する記憶部15を含む。記憶部15は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。例えば、記憶部15は、揮発性メモリ、不揮発性メモリ、磁気記憶媒体、または光記憶媒体等の記憶媒体にて構成されている。なお、後述するCAM装置2の記憶部21、数値制御装置4の記憶部41、監視装置7の記憶部73、修正装置8の記憶部83、およびシミュレーション装置9の記憶部95についても、CAD装置1の記憶部15と同様の構成を有する。
 CAD装置1は、ワークの目標形状のデータである3次元形状データ102を生成する形状データ生成部13を含む。形状データ生成部13は、作業者の入力部11の操作に応じてワークの目標形状を生成する。作業者は、材料の内部が充填されたソリッドモデル、平面または曲面で表現されるサーフェスモデル、立体の稜線などの線を定めるためのワイヤーモデル等を組み合わせることにより、ワークの目標形状を生成することができる。
 形状データ生成部13は、自由形状生成部14を含む。本実施の形態では、自由曲線および自由曲面のうち少なくとも一方が含まれる形状を自由形状と称する。自由形状は、球体などの単一の形状では表現することが困難な不規則に曲がる形状である。自由曲線は、予め定められた制御点に基づいて生成することができる。自由曲面は、予め定められた曲線または予め定められた制御点に基づいて生成することができる。自由形状生成部14は、自由形状を含むワークの3次元形状データ102を生成する。
 形状データ生成部13は、演算処理装置のプロセッサに相当する。また、自由形状生成部14は、演算処理装置のプロセッサに相当する。プロセッサが予め定められたプログラムに従って駆動することにより、それぞれのユニットとして機能する。
 図3に、自由曲線を生成するためのスプライン曲線を説明するグラフを示す。自由形状生成部14は、スプライン曲線を用いて自由曲線を生成することができる。スプライン曲線は、制御点の位置に基づいて生成される。スプライン曲線を生成するために、様々な次数の関数を採用することができる。作業者は、所望の位置に制御点を設定することができる。例えば、自由形状生成部14は、制御点同士の間を補間する関数として3次関数を用いることができる。そして、自由形状生成部14は、制御点の配置に応じて滑らかな曲線を生成する。周知のスプライン補間法では、制御点を区分的に選んで曲線を当てはめるため、必ず全ての制御点を通るように全体の曲線が構成される。しかしながら、本開示で示す自由曲線において得られるスプライン曲線は、全ての制御点を必ずしも通過しなくても構わない。スプライン曲線では、例えば、制御点の位置を変更することにより、曲線の形状を変えることができる。特に、曲線の曲率を変更することができる。
 自由曲面を生成する場合には、例えば、作業者が曲線を含むワークの断面形状を生成する。自由形状生成部14は、断面形状を移動または回転することにより3次元形状の表面を生成することができる。または、作業者が複数の制御点を予め定められた3次元の座標系に設定する。自由形状生成部14は、複数の制御点を通る様に自由曲面を生成することができる。自由形状生成部14は、上記の形態に限られず、任意の制御により自由形状を生成することができる。例えば、後述するようにNURBSを用いて自由曲線または自由曲面を含む3次元形状を生成することができる。
 CAD装置1は、設計データ101を出力する。設計データ101は、ワークの目標形状のデータである3次元形状データ102を含む。3次元形状データ102には、ワークの自由曲面の情報が含まれる。3次元形状データ102は、例えば、ワークの表面に対応する多数の点の位置の情報から構成されている。また、作業者は、入力部11からワークの目標形状以外の情報を入力することができる。例えば、作業者は、ワークの表面の仕上げに関する情報、表面の塗装に関する情報、および直角度に関する情報などを入力する。設計データ101には、ワークの表面の仕上げに関するデータ等のワークの目標形状以外のデータとしての非形状データ103が含まれる。
 (CAM装置)
 図4に、本実施の形態におけるCAM装置のブロック図を示す。CAM装置2には、CAD装置1にて生成された3次元形状データ102が入力される。CAM装置2には、工具情報105および加工条件の情報106が入力される。工具情報105としては、工作機械にて使用が可能な工具の種類の情報および工具の大きさの情報が含まれる。加工条件の情報106は、CAM装置2にて移動軌跡を生成する場合のワークの加工に関する情報である。加工条件の情報106としては、例えば、ワークを加工する時に切削体積を一定にするという条件または切削速度を一定にするという条件等が含まれる。
 また、CAM装置2には、工作機械の駆動条件の情報107が入力される。駆動条件の情報107には、工作機械の運動学的制約の情報が含まれる。すなわち、駆動条件の情報107には、工作機械3が駆動可能な範囲の情報が含まれる。例えば、移動軌跡の法線方向または接線方向における工具の最大送り速度、最大加速度、および最大躍度などの情報が含まれる。また、CAM装置2には、工作機械にて加工する材料の情報108が入力される。材料の情報108には、例えば、材料の形状の情報が含まれる。3次元形状データ102、工具情報105、加工条件の情報106、駆動条件の情報107、および材料の情報108は、CAM装置2の記憶部21に記憶される。
 CAM装置2は、ワークに対して工具が移動する経路を生成する。本実施の形態では、CAM装置2にて生成される工具が移動する経路を移動軌跡と称する。CAM装置2は、3次元形状データ102および工作機械の駆動条件の情報107等の情報に基づいて、移動軌跡を生成する軌跡生成部22を含む。軌跡生成部22は、3次元形状データ102および材料の情報108に基づいてワークの切削する部分を算出する特徴検出部23を含む。
 軌跡生成部22は、加工に使用する工具と加工方法とを設定する加工方法設定部24を含む。加工方法設定部24は、工具情報105に含まれる使用可能な工具から、ワークの切削する部分に基づいて使用する工具を選定する。加工方法設定部24は、加工条件の情報106に基づいて、工具の底面等のワークの切削を行う工具の部分を設定する。なお、工具の選定に関しては、工具の在庫または納期等を考慮して作業者が決定しても構わない。
 軌跡生成部22は、ワークを加工する為の工具の移動軌跡を生成する軌跡算出部25を含む。軌跡算出部25は、加工条件の情報106、駆動条件の情報107、特徴検出部23にて算出された切削を行う部分、および加工方法設定部24にて選定された工具に基づいて移動軌跡を生成する。また、軌跡算出部25は、加工条件の情報106に含まれる切削速度が一定等の制約条件に基づいて工具の送り速度を生成する。
 CAM装置2は、軌跡生成部22にて生成された移動軌跡に基づいて加工プログラム111を生成するプログラム生成部26を含む。プログラム生成部26は、CAD装置1にて使用された座標系を工作機械に定められた座標系に変換する。CAM装置2は、動作コードにて構成された加工プログラム111を出力する。
 加工プログラム111には、工作機械の動作が定められる指令文としての動作コードが含まれている。動作コードには、ワークに対する工具の送り動作に関連する指令が定められたGコードが含まれる。G01等のワークに対する工具の位置を変更する動作コードには、予め定められた座標系にて工具経路を生成するための点の位置が定められている。工具経路を生成するための点としては、現在の位置から移動する時の目標の移動点、またはスプライン曲線等における制御点が含まれる。ここでは、動作コードには、目標の移動点の座標値が定められている。すなわち、動作コードには、現在の位置から目標の移動点の位置までの工具経路の区間が定められている。ワークに対する工具の位置を変更する動作コードには、工具の送り速度が定められている。また、動作コードには、工具の交換また潤滑油の供給などを行うための補助装置を制御するMコードが含まれる。加工プログラムには、このような動作コードが行番号を付して記載されている場合が有る。
 (工作機械)
 図5に、本実施の形態における工作機械の概略斜視図を示す。図6に、本実施の形態における工作機械のブロック図を示す。図5および図6を参照して、本実施の形態では、3個の駆動軸を有する数値制御式の工作機械3を例示する。工作機械3は、工作機械本体5および数値制御装置4を備える。工作機械本体5は、ワーク69が固定されるテーブル61と、主軸ヘッド65を支持する基台62と、基台62に固定された支柱63とを含む。工作機械本体5は、支柱63に支持された移動可能なスライド部材64と、スライド部材64に支持された主軸ヘッド65とを含む。工具66は、主軸を介して主軸ヘッド65に支持されている。テーブル61には、ワーク69を固定するための治具としてワーク支持部材67が固定されている。
 工作機械本体5は、ワーク69に対する工具66の相対位置を変化させる駆動装置を含む。数値制御装置4は、駆動装置を制御する。本実施の形態の工作機械本体5には、工作機械3が駆動しても不動の機械座標系が設定されている。駆動装置は、矢印157に示すように、機械座標系のX軸の方向に基台62を移動する。駆動装置は、矢印158に示すように、機械座標系のY軸の方向にテーブル61を移動する。駆動装置は、矢印159に示すように、機械座標系のZ軸の方向にスライド部材64を移動する。
 このように、本実施の形態における駆動装置は、3つの直動軸(X軸、Y軸、およびZ軸)から構成される駆動軸によってワーク69に対する工具66の相対位置を制御する。図5に示す工作機械はいわゆる立形ミーリング加工機であるが、駆動装置は、この形態に限られない。例えば、駆動軸として回転軸を有する装置または構造等、ワークに対する工具の相対位置を変更可能な任意の装置および構造を採用することができる。
 工作機械本体5の駆動装置は、それぞれの駆動軸に対応するように配置された電動機としての送り軸モータ51を含む。本実施の形態においては、それぞれの駆動軸ごとに送り軸モータ51が配置されている。それぞれの送り軸モータ51には、テーブル61または主軸ヘッド65等の工作機械本体5の構成部材を移動するための送り軸機構52が連結されている。例えば、送り軸機構52としては、ボールねじ機構を採用することができる。また、主軸ヘッド65の内部には、主軸を回転する電動機としての主軸モータ54が配置されている。工具66は、主軸機構55を介して主軸モータ54に連結されている。主軸機構55としては、例えば、工具66を保持したり解放したりする為のチャック等が含まれる。
 数値制御装置4は、送り軸モータ51および主軸モータ54の動作を制御する。数値制御装置4は、工作機械3の制御に関する情報を記憶する記憶部41を含む。加工プログラム111は、記憶部41に記憶される。数値制御装置4は、加工プログラム111に含まれる動作コードに基づいて送り軸モータ51および主軸モータ54を制御する動作制御部42を含む。または、数値制御装置4は、動作制御部42にて形成された電流指令に基づいてそれぞれの電動機に電気を供給する電力供給器43を含む。電力供給器43は、電動機に電気を供給するための電気回路を含む。
 図7に、数値制御装置の動作制御部のブロック図を示す。動作制御部42は、記憶部41から加工プログラム111を取得する。動作制御部42は、加工プログラム111に含まれる動作コードに基づいて、ワークに対する工具の経路である工具経路を生成する経路生成部44を含む。経路生成部44は、動作コードに定められる移動点同士の間に補間点を生成する。経路生成部44は、補間点同士の微小区間における工具経路を生成する。ここで、経路生成部44が、例えばスプライン補間の機能を有する場合がある。この場合に、経路生成部44は、動作コードにて指定された移動点同士の間を滑らかに移動するスプライン曲線にて工具経路を自動的に生成することができる。
 動作制御部42は、ワークに対する工具の位置およびワークに対する工具の送り速度を制御するための電動機の動作指令を生成する動作指令生成部45を含む。動作指令生成部45は、経路生成部44にて生成された微小の経路と工作機械の駆動条件とに基づいて、電動機の動作指令を生成する。
 動作指令生成部45は、微小区間におけるワークに対する工具の送り速度を決定する速度決定部46を含む。速度決定部46は、動作コードにて指定される送り速度にて工具を移動するように、加速または減速を行うための速度を算出する。このように、経路生成部44にてワークに対する工具の位置が定められ、速度決定部46にてワークに対する工具の送り速度が定められる。
 動作指令生成部45は、ワークに対する工具の移動の指令をそれぞれの駆動軸における動作指令に分配する指令分配部47を含む。指令分配部47は、X軸の送り軸モータ51の動作指令、Y軸の送り軸モータ51の動作指令、およびZ軸の送り軸モータ51の動作指令を生成する。
 動作制御部42は、それぞれの駆動軸の電動機の駆動状態が、動作指令生成部45にて生成される動作指令に対応するように、フィードバック制御を行うフィードバック制御部を含む。フィードバック制御部は、それぞれの駆動軸ごとに形成されている。本実施の形態では、X軸フィードバック制御部48a、Y軸フィードバック制御部48b、およびZ軸フィードバック制御部48cが形成されている。指令分配部47は、それぞれのフィードバック制御部に、それぞれの駆動軸の送り軸モータ51に対応する動作指令を送出する。
 上記の経路生成部44、動作指令生成部45、速度決定部46、指令分配部47、およびそれぞれの駆動軸に対応するフィードバック制御部は、予め定められたプログラムに従って駆動するプロセッサに相当する。演算処理装置のプロセッサがプログラムに定められた制御を実施することにより、それぞれのユニットとしてする。
 図8に、実施の形態におけるX軸フィードバック制御部のブロック図を示す。Y軸フィードバック制御部48bおよびZ軸フィードバック制御部48cは、X軸フィードバック制御部48aと同様の構成を有する。また、図7および図8には、送り軸モータのフィードバック制御部が記載されているが、主軸モータについても、同様のフィードバック制御部が形成されている。
 X軸フィードバック制御部48aは、位置指令に基づいて速度指令を生成する速度指令生成部49を含む。速度指令生成部49は、指令分配部47から動作指令として位置指令を受信する。X軸フィードバック制御部48aは、速度指令に基づいて電流指令(またはトルク指令)を生成する電流指令生成部50を含む。電力供給器43は、電流指令生成部50にて生成された電流指令に基づいて、送り軸モータ51のトルクを生じるための電流を供給する。速度指令生成部49および電流指令生成部50は、予め定められたプログラムに従って駆動するプロセッサに相当する。
 ここでの例では、電動機の駆動状態を検出するために回転位置検出器としてエンコーダ56が送り軸モータ51に取りけられている。エンコーダ56の出力は、回転位置を検出する位置検出器57および回転速度を検出する速度検出器58に入力される。位置検出器57から出力された回転位置は、位置制御ループを介して位置指令に入力される。また、速度検出器58から出力された回転速度は、速度制御ループを介して速度指令に入力される。更に、本実施の形態のフィードバック制御部48aは、電流制御ループを有する。電流制御ループでは、電力供給器43が出力した電流値を検出して電流指令に入力する。
 このように、位置制御ループ、速度制御ループ、および電流制御ループにより、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行う。すなわち、電動機の回転位置等の駆動状態が位置指令等の動作指令に追従するように電動機に供給する電流を制御する。
 図9に、ワークを加工している時の工具経路の例を示す。工具経路は、例えば、ワークに対して工具先端点が通る経路である。工具経路121は、3次元的な形状を有している。矢印160に示すように、工具は、始点である点121aから工具経路121に沿って進行し、点121bおよび点121cを通って、終点である点121dまで移動する。ここでの例では、点121bから点121cまでの区間では、工具が直線状の工具経路に沿って移動する。点121aから点121bまでの区間および点121cから点121dまでの区間では、工具は曲線状の工具経路に沿って移動する。
 工具が曲線状に移動する部分では工具の送り速度が小さくなるが、工具が直線状に移動する部分では工具の送り速度が大きくなる。特に、点121cにおいては、工具の送り速度が変化すると共に、工具経路の曲率が大きく変化している。このような点121cにおいては、工具が破損する場合が有る。
 (監視装置)
 本実施の形態において、監視装置7は、電動機の駆動状態に基づいて工作機械の異常を検出する。工作機械の異常としては、工作機械の構成部材の破損、ワークを把持する治具の破損、工具を固定するチャックの緩みなどの構成部材の状態の異常、および、びびり振動等の加工状態の異常が含まれる。そして、修正装置8は、異常の発生を抑制するように、ワークの目標形状を変更したり、工具経路を変更したり、送り速度等の工作機械の駆動状態を変更したりする修正指令を生成する。
 図10に、本実施の形態における監視装置のブロック図を示す。監視装置7は、数値制御装置4の動作制御部42から電動機の駆動状態を取得する動作情報取得部71を含む。監視装置7は、動作情報取得部71にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部72を含む。また、監視装置7は、工作機械の駆動状態の監視に関する任意の情報を記憶する記憶部73を含む。動作情報取得部71および異常検出部72は、演算処理装置のプロセッサに相当する。プロセッサがプログラムに従って駆動することにより、動作情報取得部71および異常検出部72として機能する。
 動作情報取得部71は、動作制御部42から加工プログラム111を取得する。動作情報取得部71は、工作機械3が駆動している時に工作機械の駆動状態に対応する時刻を取得する。時刻としては、例えば、加工プログラム111により工作機械が動作を開始した時からの経過時間を採用することができる。または、加工プログラム111に定められた一つの動作を開始する時からの経過時間を採用しても構わない。
 動作情報取得部71は、それぞれの時刻において実施している加工プログラム111の動作コードを取得する。例えば、動作情報取得部71は、動作コードを取得するために、時刻と共に加工プログラム111の行番号を取得する。動作情報取得部71は、Gコードの他に、補助機械の制御に関するMコードまたは工具の交換に関するTコードなどのコードを取得しても構わない。また、動作情報取得部71は、複数の加工プログラムが使用される場合には、加工プログラムを特定するためにプログラム番号を取得する。
 動作情報取得部71は、電動機の駆動状態を示す変数を時刻と共に取得する。例えば、動作情報取得部71は、電動機が出力するトルク、電動機の回転位置、および電動機の回転速度を取得する。動作情報取得部71は、それぞれの時刻と共に、時系列にてトルク、回転位置、および回転速度を取得する。記憶部73は、動作情報取得部71にて取得した電動機の駆動状態を記憶する。
 図8を参照して、動作情報取得部71は、電動機が出力するトルクとして、電力供給器43に入力される電流指令を取得して、電動機のトルクを算出することができる。または、動作情報取得部71は、電流制御ループにおいて電力供給器43から供給された電流の値を取得して、電流値から電動機のトルクを算出しても構わない。また、動作情報取得部71は、電動機の回転位置として、速度指令生成部49に入力される位置指令を取得することができる。または、動作情報取得部71は、位置検出器57から出力される回転位置を取得しても構わない。また、動作情報取得部71は、電動機の回転速度として、電流指令生成部50に入力される速度指令を取得することができる。または、動作情報取得部71は、速度検出器58から出力される回転速度を取得しても構わない。
 図11に、動作情報取得部が取得した主軸モータの回転速度および主軸トルクの第1のタイムチャートを示す。主軸トルクは、主軸モータ54が発生するトルクである。主軸トルクは、ワークを切削する時の負荷に対応する。電動機のトルクおよび回転速度が時刻にと共に取得されている。図11は、工作機械にて正常に加工が行われている時のグラフである。回転速度および主軸トルクがほぼ一定に維持されている。
 図12に、動作情報取得部が取得した主軸モータの回転速度および主軸トルクの第2のタイムチャートを示す。図12に示す駆動状態では、時刻txにおいて、工具が破損している。工具に欠損などが生じると切削負荷が大きくなる。この結果、主軸モータの回転速度を一定に維持するために、主軸トルクは増大する傾向を示す。工具が破損すると間欠的に主軸トルクが増大する。図11では、時刻t1,t2,t3,t4において主軸トルクがほぼ一定であったのに対して、図12では、時刻txにおいて主軸トルクが一時的に増加している。また、時刻t1,t2,t3,t4においても、主軸トルクが一時的に増加している。
 監視装置7の異常検出部72は、このような電動機の駆動状態に基づいて工作機械の異常の発生を検出する。異常検出部72は、工作機械の異常を判定するための任意の変数を取得したり算出したりすることができる。例えば、異常検出部72は、位置指令に基づいて工具の位置を算出することができる。また、異常検出部72は、異常が発生した時刻を検出する。更に、異常検出部72は、異常が発生した時刻に実行していた加工プログラムの動作コードを検出する。
 異常検出部72は、任意の制御にて工作機械の異常を検出することができる。例えば、図12の例においては、予め定められた区間ごとに主軸トルクの判定範囲を予め設けておくことができる。異常検出部72は、主軸トルクが予め定められた判定範囲を逸脱した時に工作機械に異常が生じていると判定することができる。例えば、主軸トルクが予め定められた判定値を超えたときに、工作機械に異常が生じていると判定することができる。
 または、異常検出部72は、電動機の駆動状態を示す変数の変化を機械学習にて学習する方法により、異常の発生を検出することができる。例えば、図11および図12に示すように、工具が破損していない場合には主軸トルクの増大は見られないが、工具が破損した場合には、複数回にわたって主軸トルクが増大する。このような主軸トルクの変動の傾向を、機械学習にて学習することができる。そして、学習した結果に基づいて工作機械の異常を検出することができる。機械学習としては、VAE(Variational AutoEncoder)またはGMM(Gaussian Mixture Model)等を採用することができる。
 VAEは、オートエンコーダ(AE)から派生した技術である。入力データの次元数の圧縮処理(特徴量の抽出)を行うエンコーダと、次元数の復元処理を行うデコーダ(抽出した特徴量から元の入力データを復元する)とが接続された構成を有する。デコーダの出力によって、入力データの特徴を有する類似データを生成することができる。学習では、エンコーダには、学習データが入力される。デコーダが元の学習データに一致するデータを出力するように学習処理を行う。
 GMMでは、十分な数のガウス分布の線形結合をつくることで、具体的な式の分からない関数をフィッティングする。結合の重みの係数と、各ガウス分布の平均および共分散を調節することにより、任意の精度で入力データの分布を式として近似できる。
 VAEおよびGMMでは、入力されるデータのクラスタリングを行うことができるために、異常の検出に利用することができる。例えば、工作機械を多くの回数にて駆動して、電動機のトルクの時間経過に伴う変化を蓄積する。トルクの変化の傾向をVAEまたはBMMによりクラスタ化(分類化)して、正常な動作パターンと異常の動作パターンとを決定する。工作機械の異常の発生を判定する場合には、トルクの変化の傾向が、どちらのクラスタに相当するかを判定することができる。
 VAEでは、ラベルデータ(正解のデータ)を含まない教師なし学習にて学習を行って、クラスタリングを行うことができる。そして、異常が生じている時のクラスタおよび正常な時のクラスタに分類して、異常を検出することができる。GMMでは、教師なし学習およびラベルデータを含む教師あり学習を行うことができる。GMMでは、出力されるデータが1つのクラスタに属しているか否かを選択するハードクラスタリングにて異常を検出することが好ましい。このため、異常が生じている時の情報をラベルデータとして学習させることが好ましい。ただし、機械学習およびラベルの与え方の手法としては、これらの形態に限られず、任意のアルゴリズムを採用することができる。
 ところで、異常検出部72は、工作機械の異常を検出する場合に、工具経路の連続性または工具経路の曲率の変化率を判定することができる。異常検出部72は、動作情報取得部71にて取得された電動機の回転位置に基づいて、時刻に対応する工具の位置およびワークの位置を検出する。異常検出部72は、時系列にて工具の位置およびワークの位置を検出する。異常検出部72は、それぞれの時刻における工具の位置およびワークの位置に基づいて工具経路を算出することができる。
 異常検出部72は、曲線状の工具経路の点におけるG3連続性に基づいて判定することができる。例えば、異常検出部72は、工具経路の連続性としてG1連続性を判定することができる。G1連続は、その点における接線が連続であることを示す。工具経路の連続性は、判定する点の近傍におけるラグランジュ補間の係数を用いて、ベクトルにて表現することができる。
 また、異常検出部72は、工具経路の曲線のG2連続性を判定することができる。G2連続は曲率が連続であることを示す。異常検出部72は、時間的な曲率変化を判定することができる。時間的な曲率変化は、所定の時刻における単位時間当たりの曲率の変化である。時間的な曲率変化は、例えば、時刻に対する工具経路の曲率を算出し、曲率を時間にて微分することにより算出することができる。または、曲率は、時系列データとして工具経路を取得して微分計算を実施して、外積計算を行うとスカラー値として得ることができる。
 異常検出部72は、G1連続でない場合およびG2連続でない場合に、工作機械の加工に異常が生じていると判定することができる。更に、異常検出部72は、工具経路上の点においてG3連続であるか否かを判定しても構わない。G3連続は、2つの曲線の接続点において、ねじれ(曲率の変化率)も連続していることを示す。
 または、異常検出部72は、曲率変化として、空間的な曲率変化を採用して異常の検出を行うことができる。空間的な曲率変化とは、互いに類似する複数の工具経路おいて、互いに対応する点における曲率の差である。ほぼ同一の工具経路を繰り返して形状創生をするというのは機械加工で一般的である。この点に着目して、繰り返して加工が行われる工具経路同士の間で曲率変化を比較することで、空間的な曲率変化という変数を定義することができる。例えば、互いに平行な曲線状の2本の工具経路がある場合に、1本目の工具経路および2本目の工具経路に対応する指定点を指定する。1本目の工具経路の指定点における曲率と、2本目の工具経路の指定点における曲率とはほぼ同一になる。しかしながら、実際には、それぞれの工具経路ごとに曲率が僅かにばらついている。複数の工具経路において、互いに対応する点における曲率の差が比較的大きて判定範囲を逸脱する場合に、工作機械に異常が生じていると判定することができる。さらに、異常検出部72は、工具が進行する方向、切削力、および切削力の仕事を算出して、工作機械に異常が生じているか否かを判定しても構わない。
 動作情報取得部71にて取得された電動機の駆動状態の情報、異常検出部72にて算出された工具経路の曲率などの変数、および、異常検出部72にて検出された異常の判定結果は、記憶部73に記憶しておくことができる。
 (修正装置)
 図13に、修正装置のブロック図を示す。本実施の形態の修正装置8は、監視装置7において検出した工作機械3の異常について原因を推定する機能を有する。また、修正装置8は、工作機械3における異常の発生を抑制する修正指令を生成する。
 修正装置8は、異常が生じた原因を推定する原因推定部81を含む。修正装置8は、異常の発生を抑制するようにパラメータを修正する修正指令を生成する修正指令生成部82を含む。更に、修正装置8は、シミュレーション装置9に修正後の加工プログラムを送信する場合に、修正指令生成部82にて生成される修正指令に基づいて加工プログラムを修正する修正部85を含む。原因推定部81、修正指令生成部82、および修正部85は、演算処理装置のプロセッサに相当する。プロセッサが、予め定められたプログラムに従って駆動することにより、それぞれのユニットとして機能する。修正装置8は、パラメータの修正に関する情報を記憶する記憶部83と、パラメータの修正に関する情報を表示する表示部84とを含む。表示部84は、例えば液晶表示パネル等の任意の表示パネルにて構成されている。
 図14に、工作機械がワークを加工したときの工具経路の曲率と、ワークに対する工具の送り速度とを示すタイムチャートを示す。図14において、曲率の大きさは対数目盛にて表示されている。工具の送り速度の大きさは、一定間隔の目盛にて表示されている。
 ここでの例では、異常検出部72は、工具経路における曲率および工具の送り速度を算出している。異常検出部72は、時刻t6において工作機械の異常が生じたと判定している。時刻t6において、工具が緩やかに曲がる部分から急激に曲がる部分に移動している。このときに、A部に示すように、曲率が短時間に大きく変化し、時間的な曲率変化が大きくなっている。また、工具の送り速度が急激に減少している。
 原因推定部81は、監視装置7から電動機の駆動状態および異常が生じた時刻を取得する。また、原因推定部81は、異常検出部72が算出した変数を取得する。ここでの例では、原因推定部81は、時刻t6の近傍における時間的な曲率変化と工具の送り速度とを取得する。原因推定部81は、工具の送り速度が急激に変化して、切削の負荷が瞬間的に増大したと判定することができる。
 原因推定部81は、様々な電動機の駆動状態に基づいて、異常の原因を推定することができる。例えば、工作機械の異常としては、切削を行う時に生じるびびり振動が有る。ワークを切削しているときにびびり振動が生じると、工具に振動が生じて加工の品質が悪化する。びびり振動は、基本的には主軸の回転速度に依存して、発生したり発生しなかったりする。このために、原因推定部81は、電動機の回転速度に基づいて、工作機械の異常の原因がびびり振動であるか否かを判定することができる。
 また、原因推定部81は、機械学習により異常が生じた原因を推定しても構わない。原因推定部は、前述のVAEおよびGMMを用いて、異常の原因を推定することができる。例えば、工具が破損する例では、工具経路の曲率の変化が大きい場合、または工具の送り速度が大きい場合に工具が破損する。また、主軸ヘッドにおける工具の突出し量が多い場合にも工具が破損することがある。主軸ヘッドにおける工具の突出し量が多くなると、工具の振動が大きくなって工具が破損する場合がある。または、主軸ヘッドに配置されている工具を保持するチャックまたはワークをテーブルに固定するワーク支持部材等の工作機械の構成部材が故障している場合に工具が破損する。それぞれの場合について、原因推定部81が学習を行うことにより、異常の原因ごとに電動機の駆動状態に関するクラスタを生成することができる。そして、原因推定部81は、どのクラスタに相当するかを判定することにより、異常の原因を推定することができる。
 原因推定部81にて推定された原因は、表示部84に表示することができる。例えば、主軸ヘッドにおける工具の突出し量が異常の発生の原因と推定される場合に、表示部84には工具の突出し量が不良であるという情報を表示することができる。また、表示部84には、点検の実施を提案する画像を表示することができる。作業者は、表示部84の表示を見て、工具の突出し量を点検して修正することができる。または、主軸ヘッドのチャックおよびワークを固定するワーク支持部材等の工作機械の構成部材が破損している場合に、作業者は、破損している構成部材を取り換えることができる。
 一方で、修正指令生成部82は、異常の発生を抑制するように、CAD装置1、CAM装置2、または数値制御装置4におけるパラメータを修正する修正指令を生成する。修正指令生成部82は、動作情報取得部71にて取得された電動機の駆動状態に基づいて修正指令を生成する。この時に、修正指令生成部82は、原因推定部81にて推定された原因に基づいて修正指令を生成することができる。例えば、図14に示す例では、曲率および工具の送り速度が急激に変化したために工具が損傷したと推定することができる。この場合には、工具経路の異常が生じた部分において工具の送り速度を低下させる制御を実施することができる。
 修正指令生成部82が実施する異常の発生を抑制する制御としては、異常が発生した部分について、工具経路の曲率が小さくなるようにワークの目標形状を変更する制御、工具経路の曲率を小さくする制御、または工具の送り速度を減少する制御を例示することができる。
 ここで、作業者がワークの目標形状を変更したくない場合がある。この場合には、ワークの目標形状を変更せずに、工具経路の異常が生じた部分の曲率を小さくする制御を実施することができる。または、工具経路を大きく変更することができる。例えば、機械座標系のX軸方向のみに工具を移動していた場合に、X軸方向の移動およびY軸方向の移動を含むように、斜め方向に切削を行う工具経路に変更することができる。
 その他に、工具の寿命の問題で工具経路を大きく変更したくない場合が有る。または、工作機械における加工時間(サイクルタイム)を短くしたい場合が有る。または、切削体積を所定の範囲内で行いたい場合がある。このような複数の条件が存在する場合に、修正指令生成部82は、複数の条件についての評価関数を設定することができる。評価関数は、例えば、それぞれの条件からのずれの大きさに重みを乗じた値を積算することができる。評価関数が小さくなるように複数の条件を設定することができる。
 修正指令生成部82は、目標形状の変更を行うための修正指令、工具経路の曲率の変更を行うための修正指令、および送り速度の変更を行うための修正指令を生成することができる。そして、修正指令生成部82は、評価関数に基づいて、複数の条件をなるべく満たすように、目標形状の変更の修正指令、曲率の変更の修正指令、および送り速度の変更の修正指令のうち少なくとも一つの修正指令を選定することができる。
 または、修正装置8は、評価関数を算出して、工作機械における異常の発生を抑制する制御を選定する他に、次の制御により、異常の発生を抑制する制御を選定することができる。
 図15は、修正装置が工作機械の異常を抑制する方法を選択する制御のフローチャートである。ステップ131において、修正指令生成部82は、電動機のトルクの異常な増加を検出したか否かを判定する。ステップ131において、電動機のトルクの異常な増加が検出されていない場合には、この制御を終了する。ステップ131において、電動機のトルクの異常な増加が検出されている場合には、制御はステップ132に移行する。
 ステップ132において、修正指令生成部82は、トルクの異常な増加と工具経路の曲率変化とに時間的な相関が強いか否かを判定する。例えば、修正指令生成部82は、トルクの異常な増加が生じた時に曲率の変化が大きくなっているか否かを判定する。修正指令生成部82は、トルクの異常な増加が生じた時刻から予め定められた時間の範囲内に、時間的な曲率変化または空間的な曲率変化が判定範囲を逸脱している時に、時間的な相関が強いと判定する。
 ステップ132において、トルクの異常な増加と工具経路の曲率変化との時間的な相関が弱い場合に、修正指令生成部82は、工具経路および送り速度に問題はないと判定することができる。例えば、工具にフェイスミルを用いてワークに直線状の溝を形成する場合に、制御は、ステップ133に移行する。
 ステップ133において、修正指令生成部82は、ワークを保持する状態または工具を保持する状態に問題があると判定する。例えば、工具の突出し量が不適切であったり、ワークを保持する治具が故障していたりすることが考えられる。修正指令生成部82は、表示部84にワークを保持する部材または工具を保持する部材の点検を提案する画像を表示する。または、修正指令生成部82は、ワークの切込み深さの変更、または主軸の回転速度の変更等を提案しても構わない。ステップ132において、トルクの異常な増加と工具経路の曲率変化との時間的な相関が強い場合に、制御はステップ134に移行する。
 ステップ134においては、工具経路の変更に制約が有るか否かを判定する。前述の通りに、工具の寿命に関連して工具経路を変更したくない場合が有る。または、加工時間が長くなる場合には工具経路の変更を避けたい場合が有る。工具経路の変更により、このような条件を満たすことができない場合には、修正指令生成部82は、工具経路の変更に制約が有ると判定する。この場合に、制御はステップ135に移行する。
 ステップ135において、修正指令生成部82は、工具の送り速度を局所的に変更する制御を選定する。修正指令生成部82は、異常が生じた部分における送り速度の変更を選択する。ステップ134において、工具経路の変更に制約がない場合には、制御はステップ136に移行する。
 ステップ136においては、修正指令生成部82は、ワークの目標形状の変更に制約があるか否かを判定する。例えば、ワークの目標形状を変更することが禁止されている場合には、ワークの目標形状の変更に制約が有ると判定する。この場合には、制御は、ステップ137に移行する。ステップ137において、修正指令生成部82は、工具経路(移動軌跡)の変更を選択する。ステップ136において、目標形状の変更に制約がない場合には、制御は、ステップ138に移行する。ステップ138において、修正指令生成部82は、目標形状の変更を選択することができる。
 図15に示す制御では、修正指令生成部82は、工作機械に異常が生じた時の対応策を選択することができる。ステップ131において、トルクの異常な増加を検出した場合には、CAD装置1にて生成されるワークの目標形状を変更することが好ましい。しかしながら、実際には、加工システム10における科学的特性の変動または工学的特性の変動、および運用条件の制約を考慮する必要が有る。このために、ワークの目標形状の変更は、制約が全くない場合に実施することが好ましい。
 なお、本実施の形態においては、修正装置8は、原因推定部81を含んでいるが、この形態に限られない。修正装置は、異常が生じた原因を推定せずに、修正指令生成部にて修正指令を生成しても構わない。例えば、主軸トルクが判定値を超えた場合に、主軸モータの回転速度を低下させる修正指令を生成することが予め定められていても構わない。または、G3連続性の判定を行った場合に、時間的な曲率変化または空間的な曲率変化が予め定められた判定範囲を逸脱していれば、異常が生じた部分の曲率を小さくすることが予め定められていても構わない。
 図1を参照して、ワークの目標形状を変更する場合に、修正装置8の修正指令生成部82は、矢印153に示すように、修正指令をCAD装置1に送信する。工具経路の曲率または工具の送り速度のうち少なくとも一方を変更する場合に、修正指令生成部82は、矢印151に示すように、CAM装置に修正指令を送信することができる。または、修正指令生成部82は、矢印152に示すように、工作機械3の数値制御装置4に修正指令を送信することができる。
 (CAD装置に修正指令を送信する制御)
 次に、修正装置8の修正指令生成部82がCAD装置1に修正指令を送信する制御について説明する。図2を参照して、CAD装置1に修正指令を送信する場合には、3次元形状データ102におけるワークの目標形状が変更されるように修正指令を送信する。
 修正指令生成部82は、異常検出部72から異常が生じた時刻に対応する工具の位置を取得する。修正指令生成部82は、CAD装置1から3次元形状データおよび3次元形状データを生成する際に使用した制御点の位置等のパラメータを取得する。
 次に、修正指令生成部82は、異常が生じた時の工具の位置に基づいて、ワークの目標形状において異常が生じた位置を検出する。CAD装置1にてワークの3次元形状データ102を生成するときに、形状データ生成部13は、3次元の立体空間の座標系を設定する。例えば、形状データ生成部13は、ワークの任意の点を原点にして3次元の座標系を設定する。そして、CAM装置2において、CAD装置1にて使用された座標系を工作機械本体5の座標系に変換する。例えば、工作機械本体5に設定された機械座標系に変換する。修正指令生成部82は、この座標系の変換と反対の変換を行う。修正指令生成部82は、機械座標系にて特定された異常の生じた位置を、CAD装置1の座標系における位置に変換することができる。
 または、CAD装置1において、予め工作機械本体5の座標系を設定することができる。すなわち、CAD装置1における3次元の座標系と、工作機械本体5における座標系との対応関係を予め定めておくことができる。例えば、修正指令生成部82は、異常が生じた時刻の工具の位置を機械座標系にて算出する。修正指令生成部82は、異常が生じた機械座標系における位置に基づいて、CAD装置1の形状データ生成部13にて生成される目標形状の位置を算出することができる。
 修正指令生成部82は、形状データ生成部13が3次元形状データを生成するときのパラメータを修正する修正指令を送信する。修正指令生成部82は、自由形状のうち異常が生じた部分の曲率を修正するように、修正指令を形状データ生成部13に送信する。特に、修正指令生成部82は、異常が生じた部分におけるワークの形状の曲率を小さくする修正指令を生成することができる。
 例えば、3次元形状データ102がワークの表面に対応する多数の点の位置の情報から構成されている場合に、修正指令生成部82は、異常が生じた部分において、表面に対応する点の位置を修正する修正指令を生成する。例えば、修正指令生成部82は、予め定められた曲率の変化量にてワークの形状の曲率が小さくなるように、表面に対応する点の位置を修正することができる。
 または、自由形状生成部14がスプライン曲線によりワークの曲面を生成している場合に、修正指令生成部82は、目標形状の異常が生じた部分の曲率が小さくなるように制御点の位置を移動する指令を生成することができる。例えば、修正指令生成部82は、予め定められた曲率の変化量にて曲率を小さくするように制御点の位置を移動する指令を生成する。形状データ生成部13は、修正指令に基づいて異常が生じた部分の形状を変更する。
 CAD装置1は、修正前の目標形状の異常が生じた部分の曲率が小さくなった目標形状のデータを含む3次元形状データ102を生成する。そして、3次元形状データ102に基づいて、CAM装置2にて加工プログラムが生成され、工作機械3にてワークが加工される。
 修正指令をCAD装置に送信する場合に、パラメータを修正する修正方法は、形状データ生成部13がワークの自由曲面を含む3次元形状データを生成する工程を含む。修正方法は、軌跡生成部22がワークの3次元形状データ102および工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程を含む。修正方法は、プログラム生成部26が軌跡生成部22にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラム111を生成する工程を含む。修正方法は、動作制御部42が加工プログラム111に含まれる動作コードに基づいて電動機を制御する工程を含む。修正方法は、動作情報取得部71が動作制御部42から電動機の駆動状態を取得する工程と、異常検出部72が動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程とを含む。修正方法は、修正指令生成部82が3次元形状の自由曲面のうち工作機械の異常が生じた部分の曲率を修正するように、形状データ生成部13が3次元形状データ102を生成する時のパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令を形状データ生成部13に送信する工程とを含む。
 工作機械の異常が生じた位置に対応するワークの部分は、曲率が小さくなるように目標形状が変更されている。CAM装置2にて生成される移動軌跡および数値制御装置4にて生成される工具経路において、異常が生じた部分における曲率が小さな移動軌跡に伴って加速度および躍度が低減される。このため、工具の送り速度の急峻な変動が抑制されて工具が滑らかに移動する。このために、工作機械3において異常の発生を抑制することができる。
 (CAM装置に修正指令を送信する制御)
 次に、修正指令生成部82がCAM装置2に修正指令を送信する例を説明する。図4を参照して、修正指令生成部82は、プログラム生成部26が加工プログラムを生成するときのパラメータを修正する指令を生成する。修正指令生成部82は、異常が生じたときの工具経路の曲率および工具の送り速度のうち、少なくとも一方を修正するようにパラメータを修正する指令をプログラム生成部26に送信する。
 修正指令生成部82は、監視装置7から加工プログラムを取得する。修正指令生成部82は、異常検出部72から異常が生じた時刻を取得する。また、修正指令生成部82は、異常検出部72から異常が生じた時刻に実行していた加工プログラムの動作コードを取得する。次に、修正指令生成部82は、工具が移動する工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じた時に実行している動作コードを修正する指令を生成する。
 工具経路の曲率を小さくする場合に、修正指令生成部82は、加工プログラムの動作コードに定められる移動点の位置を、曲率が小さくなるように修正する修正指令を生成する。例えば、修正指令生成部82は、動作コードに定められているX軸の座標値、Y軸の座標値、およびZ軸の座標値を変更する修正指令を生成する。工具の送り速度を低減する場合には、修正指令生成部82は、異常が生じた時に実行していた動作コードに定められている工具の送り速度(F値)を小さくする修正指令を生成する。送り速度を減少する量としては、例えば予め定められた速度の量にて送り速度を減少することができる。または、後述するシミュレーション装置を用いる場合には、二分探索などを実施しても構わない。
 このように、修正指令をCAM装置に送信する場合に、パラメータを修正する修正方法は、軌跡生成部22が予め生成されたワークの3次元形状データ102および工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程を含む。修正方法は、プログラム生成部26が動作コードを含む加工プログラムを生成する工程を含む。修正方法は、異常検出部72が動作情報取得部71にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程を含む。修正方法は、修正指令生成部82が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、プログラム生成部26が加工プログラムを生成する時のパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令をプログラム生成部26に送信する工程とを備える。
 CAM装置2のプログラム生成部26は、修正指令に基づいて修正された加工プログラムを生成する。工作機械の異常が生じた時刻に対応する動作コードは、送り速度が小さくなる修正および曲率が小さくなる移動点の位置の修正のうち少なくとも一方が実施されている。このために、修正後の加工プログラムにて加工を行うことにより、工作機械の異常の発生を抑制することができる。
 (数値制御装置に修正指令を送信する制御)
 次に、修正指令生成部82が数値制御装置4に修正指令を送信する例を説明する。図7を参照して、修正指令生成部82は、工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する。修正指令生成部82は、修正指令を動作制御部42に送信する。
 修正指令生成部82は、監視装置7から加工プログラムを取得する。修正指令生成部82は、異常検出部72から異常が生じた時刻を取得する。また、修正指令生成部82は、異常検出部72から異常が生じた時刻に実行していた加工プログラムの動作コードを取得する。次に、修正指令生成部82は、工具が移動する工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じた時に実行している動作コードを修正する指令を生成する。
 工具経路の曲率を小さくする場合に、修正指令生成部82は、異常が生じた時の工具経路の曲率が小さくなるように、動作コードに定められる移動点の位置を修正する指令を経路生成部44に送信する。経路生成部44は、異常が生じた時の動作コードに定められる移動点の位置を修正する。そして、経路生成部44は、修正された移動点の位置に基づいて工具経路を生成する。
 工具の送り速度を低減する場合に、修正指令生成部82は、異常が生じた時に実行していた動作コードの送り速度(F値)を低減する指令を動作指令生成部45に送信する。速度決定部46は、加工プログラムの動作コードに定められた工具の送り速度(F値)を低減する。速度決定部46は、修正後の送り速度に基づいて加速または減速を行うときの速度を算出する。または、修正指令生成部82は、動作指令生成部45を駆動するためのパラメータを修正する修正指令を生成し、動作指令生成部45に送信しても構わない。動作指令生成部45の速度決定部46は、輪郭制御および補間制御を行うときのパラメータを修正することにより、送り速度を低下させることができる。
 このように、修正指令を数値制御装置に送信する場合に、パラメータを修正する修正方法は、動作制御部42が予め生成された加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程を含む。修正方法は、異常検出部72が動作情報取得部71にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程を含む。修正方法は、修正指令生成部82が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、動作制御部42が工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する工程と、パラメータを修正する修正指令を動作制御部42に送信する工程とを含む。
 パラメータの修正指令を数値制御装置に送信する制御を実施することにより、工作機械に異常が生じたワークの部分を加工する場合に、工具経路の曲率が小さくなったり送り速度が低減されたりする。このために、工作機械の異常の発生を抑制することができる。
 なお、工具経路の曲率を低下させる制御または工具の送り速度を低下させる制御を行う場合に、修正装置8は、CAM装置2または数値制御装置4に修正指令を送信することができる。CAM装置2または数値制御装置4のいずれの装置に修正指令を送信するかについては、予め作業者が定めておくことができる。
 また、上記の実施の形態において、目標形状または工具経路の曲率を低減する制御および送り速度を低減する制御を例に取り上げて説明しているが、この形態に限られない。曲率を大きくする制御または送り速度を大きくする制御が含まれていても構わない。工具の異常が起こらないと期待されている工作機械およびワークである場合の加工サイクルタイムを削減することを目的として、工具経路および送り速度をより合理的に改善することも可能である。例えば、目標形状または工具経路の曲率を小さくすると共に、送り速度を増加させる制御を行っても構わない。
 (シミュレーション装置)
 図16に、本実施の形態におけるシミュレーション装置のブロック図を示す。シミュレーション装置9は、工作機械3を駆動した時のシミュレーションを加工プログラム111に基づいて行うシミュレーション部91を備える。シミュレーション装置9は、シミュレーション部91にて実施したシミュレーションの結果を判定する判定部94を備える。シミュレーション部91は、指令生成シミュレーション部92とサーボ制御シミュレーション部93とを含む。更に、シミュレーション装置9は、シミュレーションに関する任意の情報を記憶する記憶部95を備える。
 シミュレーション部91、指令生成シミュレーション部92、サーボ制御シミュレーション部93、および判定部94は、演算処理装置のプロセッサに相当する。プロセッサがプログラムに定められた制御を実施することにより、それぞれのユニットとして機能する。シミュレーション装置9には、工作機械の動作が正確に模擬されるように、工作機械の制御装置に設定されている設定値が入力されている。例えば、シミュレーション装置9には、加工プロブラムに基づいて位置および速度等の動作指令の値を計算するための制御装置のパラメータが入力されている。
 シミュレーション部91の指令生成シミュレーション部92は、電動機の動作指令の生成をシミュレーションする。指令生成シミュレーション部92は、図7に示す経路生成部44および動作指令生成部45と同様の機能を有する。すなわち、指令生成シミュレーション部92は、加工プログラムに基づいて工具経路および送り速度を算出して動作指令を生成する。
 シミュレーション部91のサーボ制御シミュレーション部93は、動作指令に基づいて電動機を制御するときのシミュレーションを実施する。サーボ制御シミュレーション部93は、制御の対象となる対象物を駆動する電動機の駆動状態を指令生成シミュレーション部から出力される動作指令に追従させる制御を模擬する。すなわち、サーボ制御シミュレーション部93では、フィードバック制御を模擬する。
 サーボ制御シミュレーション部93は、工作機械の挙動を表現するモデルを用いてシミュレーションを実施する。本実施の形態では、送り軸機構等の機構の共振および反共振が生じるモデルが生成されている。サーボ制御シミュレーション部93は、微分方程式を含む数理モデルにて、電動機に取り付けられたエンコーダの応答(プラント伝達関数)または工具およびワークでの振動応答を仮想的に計算する。微分方程式としては、線形微分方程式の他に、ダフィング方程式、マシュー方程式、またはマイスナー方程式等を採用することもできる。微分方程式への入力と出力と示す関数が伝達関数に相当し、伝達関数に基づいて工作機械の挙動を表現することができる。工作機械の駆動系および工具振動の挙動は、適切な次数の微分方程式または伝達関数を用いてモデル化することができる。サーボ制御シミュレーション部93は、工作機械、ワーク、および工具の動特性を時系列にて算出する。
 判定部94は、入力された加工プログラムに基づいてシミュレーションを行った工作機械の駆動状態を評価する。本実施の形態では、判定部94は、サーボ制御シミュレーション部93によるシミュレーションの結果に基づいて、工作機械に異常が生じるか否かを判定する。または、判定部94は、シミュレーションの結果に基づいて、工作機械の異常が発生すると予想されるか否かを判定することができる。
 判定部94における判定方法としては、監視装置7の異常検出部72における異常の検出と同様に、シミュレーションの結果について工具経路の連続性または曲率の変化率を判定することができる。例えば、判定部94は、加工プログラムにて生成される工具経路の時間的な曲率変化または空間的な曲率変化に基づいて異常が発生するか否かを判定する。または、判定部94は、シミュレーション部91にて推定された電動機の駆動状態を用いて判定を行うことができる。例えば、判定部94は、電動機が出力するトルクの推定値などに基づいて、異常が発生するか否かを推定することができる。
 (シミュレーション装置の判定結果に基づくパラメータの反復修正)
 図1を参照して、本実施の形態のシミュレーション装置9は、修正装置8にて生成された修正指令にてパラメータの修正を行った場合に、工作機械の異常の発生を解消できるか否かを判定する。そして、シミュレーション装置9は、判定結果を修正装置8に送信する。工作機械の異常の発生を解消できない場合に、修正装置8は、更にパラメータを修正する修正指令を生成することができる。
 修正装置8が、矢印153に示すように、修正指令をCAD装置1に送信する場合に、CAD装置1の形状データ生成部13は、修正指令に基づいて修正後の3次元形状データ102を生成して、CAM装置2に送信する。CAM装置2の軌跡生成部22およびプログラム生成部26は、修正後の3次元形状データ102に基づいて、修正後の加工プログラム111を生成する。そして、CAM装置2は、矢印154に示すように、修正後の加工プログラム111をシミュレーション装置9のシミュレーション部91に送信する。
 シミュレーション装置9のシミュレーション部91は、修正後の加工プログラムを用いて工作機械を駆動したときのシミュレーションを実施する。判定部94は、シミュレーションの結果に基づいて、工作機械の異常が発生するか否かを判定する。判定部94は、矢印155に示すように、判定結果を修正装置8の修正指令生成部82に送信する。
 工作機械の異常の発生が解消される場合に、修正装置8は、その時の3次元形状データを最終的な3次元形状データに定めることができる。または、修正装置8は、その時の加工プログラムを最終的な加工プログラムに採用することができる。一方で、工作機械の異常の発生が解消できない場合に、修正装置8の修正指令生成部82は、更にワークの目標形状を変更する修正指令を生成する。例えば、修正指令生成部82は、目標形状の異常が生じた部分の曲率を更に小さくする修正指令を生成する。そして、更なる修正指令をCAD装置1に送信することができる。
 このように、目標形状の異常が生じた部分の形状を修正する制御と、修正後の目標形状に基づいて修正後の加工プログラムを生成する制御と、シミュレーション装置にて修正後の加工プログラムを評価する制御とを繰り返して実施することができる。工作機械の異常の発生が解消されるまで、目標形状の修正とシミュレーションによる評価とを繰り返すことができる。
 次に、修正装置8が、矢印151に示すように修正指令をCAM装置2に送信する場合に、修正指令生成部82は、修正指令をCAM装置2のプログラム生成部26に送信する。プログラム生成部26は、修正指令に基づいて修正後の加工プログラム111を生成する。プログラム生成部26は、矢印154に示すように、修正後の加工プログラム111をシミュレーション装置9のシミュレーション部91に送信する。シミュレーション部91は、修正後の加工プログラムを用いて工作機械を駆動した時のシミュレーションを実施する。そして判定部94は、シミュレーションの結果に基づいて、工作機械の異常の発生を解消できるか否かを判定する。判定部94は、矢印155に示すように判定結果を修正装置8の修正指令生成部82に送信する。
 工作機械の異常の発生が解消できない場合に、修正装置8は更なる修正指令をCAM装置2に送信する。例えば、修正指令生成部82は、異常が発生した部分の工具経路の曲率または工具の送り速度が更に小さくなるように動作コードのパラメータを修正する指令を送信することができる。シミュレーション装置9は、CAM装置2にて修正された加工プログラムを用いてシミュレーションを実施する。このように、異常の発生が抑制できるまで、加工プログラムの修正とシミュレーションによる評価を繰り返すことができる。この制御では、例えば、送り速度を遅くする場合には、二分探索により送り速度を変化させる制御を実施することができる。
 次に、修正装置8は、矢印152に示すように修正指令を数値制御装置4に送信する前に、修正指令に従って修正した加工プログラムを生成する。修正装置8の修正部85は、加工プログラムの動作コードの修正指令に基づいて、修正後の加工プログラムを生成する。次に、修正装置8は、矢印156に示すように修正後の加工プログラムをシミュレーション装置9に送信する。シミュレーション装置9のシミュレーション部91は、修正後の加工プログラムを用いて、工作機械を駆動した時のシミュレーションを実施する。判定部94は、シミュレーションの結果に基づいて、工作機械の異常の発生が解消されるか否かを判定する。判定部94は、矢印155に示すように、判定結果を修正装置8の修正指令生成部82に送信する。
 工作機械の異常の発生が解消できない場合には、修正装置8は更なる修正を行った加工プログラムをシミュレーション装置9に送信する。例えば、修正指令生成部82は、異常が発生した部分の工具経路の曲率が小さくなるように動作コードの移動点の位置を更に修正する。または、修正指令生成部82は、異常が発生した部分の工具の送り速度を更に小さくする。シミュレーション装置9は、修正装置8にて修正された加工プログラムを用いてシミュレーションを実施する。このように、工作機械の異常の発生が解消されるまで、加工プログラムの修正とシミュレーションによる評価とを繰り返すことができる。
 このように、シミュレーション装置にて評価を行うことにより、加工システムにて実際に加工を行う前に、異常の発生を解消できるか否かを判定することができる。実際の工作機械にてワークを加工しなくても、異常の発生を解消できるように、それぞれの装置のパラメータを設定することができる。
 (シミュレーション装置による判定範囲の設定)
 本実施の形態のシミュレーション装置9は、監視装置7の異常検出部72にて使用される判定範囲を生成することができる。工作機械が正常な時の電動機の駆動状態としては、例えば、工作機械が新品のときの電動機の駆動状態を採用することができる。しかしながら、既に使用を開始している工作機械に対して、本実施の形態における監視装置7および修正装置8を適用する場合に、工作機械の異常の判定に使用する判定範囲を定めることが難しい場合がある。
 図16を参照して、シミュレーション装置9は、工作機械が新品な状態にて工作機械を駆動した時の電動機の駆動状態のシミュレーションを実施することができる。例えば、シミュレーション部91は、新品の工作機械に対応する微分方程式を用いてシミュレーションを実施することができる。また、シミュレーション部91は、切れ味の低下または摩耗が無い工具に対応する微分方程式にてシミュレーションを実施することができる。例えば、通常のシミュレーションに使用するモデルの微分方程式では、共振および反共振が想定されている。しかしながら、シミュレーションでは共振または反共振が存在しない理想的な伝達関数を想定することができる。このような理想系のシミュレーションにより、電動機のトルクおよび躍度等の理想的な値を推定することができる。
 また、微分方程式における次数、方程式の型、およびその係数等を変更することで、工具に異常が生じた時の動作パターンを模擬することができる。例えば、微分方程式としてのダフィング方程式は三次のばね項を有し、マイスナー方程式は無限級数の摩擦項を有し、マシュー方程式は三角関数の摩擦項を有する。これらの微分方程式において、異常が生じたときの次数、型、および係数の算出方法としては、異常が生じた時の動作パターンの波形に近い方程式を選定する。そして、実際に工作機械を駆動したときの駆動状態に基づいて、微分方程式における係数等のフィッティングを行うことができる。この方法により、異常が生じた時の工作機械のモデルを数学的に得ることができる。
 シミュレーション装置9は、工作機械が正常な時の駆動状態および工作機械に異常が生じた時の駆動状態をシミュレーションにて生成する。シミュレーション装置9は、このようなシミュレーションの結果に基づいて、工作機械の異常を判定する判定範囲を生成することができる。例えば、工具が破損する時のシミュレーションに基づいて、工具の破損を判定するトルクの判定値を算出することができる。また、シミュレーション装置は、異常が生じた時の時間の経過に伴うトルクの変化等の駆動状態の変化のシミュレーションを実施することができる。そして、電動機の駆動状態の変化を用いて機械学習を行っても構わない。例えば、電動機の駆動状態の変化は、機械学習を行うときの教師データとして採用することができる。
 (プログラム修正システム)
 次に、加工プログラムを修正するプログラム修正システムについて説明する。図1を参照して、加工システム10は、プログラム修正システム31を備える。本実施の形態では、シミュレーション装置9および修正装置8がプログラム修正システム31として機能する。図13および図16を参照して、プログラム修正システム31は、加工プログラムに基づいて工作機械3を駆動した時のシミュレーションを行うシミュレーション部91と、シミュレーション部91にて実施したシミュレーションの結果を判定する判定部94とを含む。また、プログラム修正システム31は、シミュレーションの結果に基づいて加工プログラムを修正する修正部85を含む。
 前述のシミュレーション装置においては、工作機械の異常の発生を低減するために修正された加工プログラムが入力されている。しかしながら、シミュレーション部91には、修正する前の加工プログラムを入力しても構わない。プログラム修正システム31は、CAD装置1、CAM装置2、および工作機械3と接続せずにシミュレーションを実施することができる。すなわち、プログラム修正システム31は、オフラインにてシミュレーションを実施しても構わない。シミュレーション部91には、任意の加工プログラムを入力することができる。
 判定部94は、シミュレーション部91によるシミュレーションの結果に基づいて工作機械3の異常が生じると予想されるか否かを判定することができる。前述のように、判定部94は、シミュレーションの結果について、電動機の駆動状態、工具経路の連続性、または曲率の変化率等に基づいて異常の発生が予想されるか否かを判定することができる。
 判定部94は、工作機械の異常が生じると予想される場合に、異常が生じると予想される加工プログラムの動作コードを特定する。例えば、加工プログラムにおいて、異常が生じると予想される動作に対応する動作コードの行番号を特定する。判定部94は、異常が生じると予想される動作に対応する動作コードを修正装置8に送信する。
 修正装置8の修正指令生成部82は、異常が生じると予想される動作コードを修正する修正指令を生成する。例えば、修正指令生成部82は、前述のように、工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じると予想される動作コードを修正する修正指令を生成する。そして、修正部85は、修正指令に基づいて動作コードを修正することができる。なお、修正部85が、修正指令生成部82の機能を有していても構わない。この場合に、判定部94は異常が生じると予想される動作に対応する動作コードを修正部85に送信して、修正部85は加工プログラムの動作コードを修正することができる。
 次に、修正装置8は、修正後の加工プログラムをシミュレーション装置9に送信して、修正後の加工プログラムを用いて工作機械のシミュレーションを実施することができる。そして、工作機械の異常が発生しないと予想されるまで、シミュレーション装置9の判定結果に基づく動作コードの修正を繰り返しても構わないことは、前述のロボットシステムと同様である。
 なお、プログラム修正システム31は、監視装置7を備えていても構わない。すなわち、プログラム修正システムは、動作制御部から電動機の駆動状態を取得する動作情報取得部と、動作情報取得部にて取得された電動機の駆動状態に基づいて工作機械の異常を検出する異常検出部とを備えていても構わない。この構成により、前述のように、実施の工作機械の駆動状態に基づいて工作機械の異常の検出および加工プログラムの修正を実施することができる。
 このように、加工プログラムを修正するプログラムの修正方法は、シミュレーション装置9のシミュレーション部91が加工プログラムに基づいて工作機械3を駆動した時のシミュレーションを行う工程を含む。プログラムの修正方法は、シミュレーション装置9の判定部94がシミュレーション部91にて実施したシミュレーションの結果を判定する工程を含む。プログラムの修正方法は、修正装置8の修正部85がシミュレーションの結果に基づいて加工プログラムを修正する工程を含む。シミュレーションを行う工程は、加工プログラムに基づいて電動機の動作指令を生成する工程と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させる工程とを含む。判定する工程は、シミュレーションの結果に基づいて工作機械3の異常が生じると予想される場合に、異常が生じると予想される動作に対応する加工プログラムの動作コードを特定する工程を含む。そして、修正する工程は、異常が生じると予想される動作に対応する動作コードを修正する工程を含むことができる。
 プログラム修正システムにより、工作機械の動作のシミュレーションと、シミュレーションの結果に基づく加工プログラムの修正とを行うことにより、工作機械にてワークを加工した時に異常の発生が抑制される加工プログラムを生成することができる。
 (自由形状の生成方法)
 図2を参照して、CAD装置1の自由形状生成部14は、任意の方法によりワークの自由形状を生成することができる。ここでは、自由形状を生成する方法として、前述のスプライン曲線を用いる方法の他に、NURBS(Non-Uniform Rational B-Spline)曲線を用いる方法を説明する。
 NUBS曲線は、非有理Bスプライン曲線を一般化した曲線である。Bスプライン曲線は、ベジェ曲線を一般化した曲線である。NURBS曲線は、制御点、ノットベクトル、基底関数、および重みの4つのパラメータにより生成される。このようなパラメータに基づいて生成されるNURBS曲線は、複雑な曲線または曲面を正確に表現できる。ここでは、それぞれのパラメータについて定性的に説明する。
 制御点は、曲線の形状を定めるための点である。複数の制御点により、曲線の概略的な形状が定められる。制御点の位置により曲線の形状が変化する。複数の制御点のうち一部の制御点の位置を少し変更すると、位置を変更した制御点の近傍の曲線の形状が変化し、曲線全体の形状にはあまり影響しない。一部の制御点を移動することにより、曲線の一部の形状を変化させることができるために、CAD装置にておいて、複雑な形状も容易に生成することができる。
 ノットベクトルについては、物理的なアナロジーにて説明する。ここでは、適当な長さのロープの両端を固定して撓ませる状態を想定する。撓んだロープの形状は曲線に対応する。ここで、ロープの適当な箇所に結び目を生成する。たとえば3個の結び目を生成する。すると、ロープの撓み方は、結び目が0個のロープと、結び目が3個のロープとで異なる。ロープの撓み方は、結び目が生成された位置によって変化する。結び目同士の間のロープの硬さが変化するために、ロープの形状が変化する。このアナロジーと同様に、NURBS曲線におけるノットベクトルは、結び目を生成する位置と結び目の個数とに相当する。ノットベクトルは、大きく曲がる区間と余り曲がらない区間とを決定する。この様なノットベクトルは、所定の生成アルゴリズムにて生成されることができる。
 基底関数は、離散的に与えられる制御点の集合に対して、曲線の各点に対する制御点の影響の強さを表現する。基底関数は、曲線上の点に対する制御点の影響の強さを表現する。基底関数は制御点同士の配合(ブレンド)の割合を連続的に変更している。その配合の結果として、つなぎ目のない滑らかな曲線が生成される。基底関数は、スプライン次数以外の変更はほとんど無く、一意的に定められる。
 重みは、曲線の形状を局所的に変更するためのパラメータである。重みは、上記のアナロジーのロープの例では、各区間に錘をぶらさげることに相当する。または、重みは、それぞれの結び目を手で引っ張ることに相当する。重みは、CAM装置のソフトウェアまたは設計者の技量に依存して決定される。換言すれば、重みを調整することにより、曲線の形状の細かい調整を行うことができる。
 図17に、NURBS曲線にて生成された曲線の例を示す。図18に、NURBS曲線にて生成された曲線の他の例を示す。図17および図18には、制御点および曲線が示されている。NURBS曲線を使用することにより、図17に示される楕円形の簡易な形状の他に、図18に示されるような複雑な形状の曲線を生成することができる。
 図1を参照して、CAD装置1の自由形状生成部14が、NURBS曲線またはNURBS曲面にて自由形状を生成した場合に、3次元形状データ102にもNURBSのパラメータが含まれる。例えば、3次元形状データ102に、NURBSに関する制御点の位置、重み、ノットベクトル、および基底関数の情報が含まれる。CAM装置2が、NURBSを用いて移動軌跡を生成する機能を有する場合には、CAM装置2は、3次元形状データ102に含まれるNURBSのパラメータを用いて、加工プログラムにけるNURBS補間を行う動作コードを生成することができる。
 更に、工作機械3の数値制御装置4がNURBS補間の機能を有する場合には、NURBSのパラメータを含む動作コードに基づいて、NURBS曲線にて工具経路を生成することができる。この結果、CAD装置1にて生成した目標形状に対応するワークの加工を行うことができる。このように、NURBSを用いた曲線または曲面の情報の圧縮と復元とを完全に行うことができる。また、数値制御装置4が実施するNURBS補間では、NURBS曲線の曲率および工作機械の駆動条件に基づいて送り速度が設定される。この制御では、工作機械の動作効率の損失を回避することができる。
 ところが、CAM装置2がNURBSのパラメータを用いて移動軌跡を生成する機能を有していない場合がある。または、作業者が、CAM装置2においてNURBSによる移動軌跡を生成する機能を使用しない場合が有る。この場合に、CAM装置2は、自由曲線を大量の微小線分に分割してしまう。そして、離散的な移動点の位置を用いて動作コードが生成される。この場合に、数値制御装置4は、例えばスプライン補間により工具経路を生成する。このように、NURBSによる自由曲面の情報が失われた場合に、スプライン補間により曲面を生成することができる。しかしながら、復元が不完全であるために、工具の破損等の工作機械の異常が生じる場合がある。このために、CAD装置1において、NURBSを用いて3次元形状データを生成した場合には、CAM装置2においてNURBSにより移動軌跡を生成することが好ましい。また、数値制御装置4においては、NURBS補間により工具経路を生成することが好ましい。
 ここで、図17および図18に示される曲線に沿った溝を、平板のワークに形成する例を説明する。工作機械の工具としてフェイスミルを用いることにより、平板の表面に曲線状の溝を形成することができる。図17に示す楕円様の曲線に沿って、溝を形成する場合には曲線の全体に亘って曲率が小さく、工具の送り速度が大きい状態を維持して加工を行うことができる。工具への負荷が小さいために、工具の損傷は生じにくい。
 一方で、図18に示す複雑な形状では、B部に示すように曲率が大きな部分が存在する。C部に示すように曲率が小さな部分では工具の送り速度が大きくなる一方で、B部に示す曲率が大きな部分では工具の送り速度は小さくなる。B部のような曲率が小さくなる部分においては、工具の送り速度が急激に変化して工具の破損が生じ易くなる。
 本実施の形態の加工システムは、NURBSを用いて目標形状、移動軌跡、および工具経路を生成した場合にも、修正装置8が修正指令を作成して、CAD装置1、CAM装置2、または数値制御装置4に修正指令を送信することができる。
 この場合に、修正装置8の修正指令生成部82は、曲率を変更するパラメータとして、制御点、ノットベクトル、基底関数、および重みのパラメータのうち、少なくとも一つのパラメータを修正する指令を生成することができる。特に、ノットベクトルは、制御点の位置に応じて自動的に生成されることが多い。そこで、曲率を局所的に小さくするために制御点に対応して定められている重みの値を変更することが好ましい。
 図1を参照して、修正装置8が修正指令をCAD装置1に送信する場合には、形状データ生成部13が3次元形状データ102を生成するときのNURBSのパラメータを変更する指令を送信することができる。修正装置8は、工作機械の異常が生じたワークの部分の形状を変更するために、NURBSのパラメータを修正する修正指令を送信することができる。例えば、自由形状を生成するためのNURBSの重みを変更する指令を送信することができる。また、修正装置8が修正指令をCAM装置2または数値制御装置4に送信する場合には、異常が生じた時刻に対応するNURBS補間の動作コードを修正する指令を送信することができる。例えば、動作コードに記載されている重みを変更する指令を送信することができる。
 本実施の形態の加工システムでは、工作機械の異常を自動的に検出し、異常の発生を抑制するように、目標形状、工具経路、および工具の送り速度のうち少なくとも一つを自動的に修正することができる。作業者が、異常が生じた時の目標形状の位置を正確に特定することは難しい。また、加工プログラムは多くの動作コードにより構成されているために、異常が生じた時の動作コードを作業者が特定することは難しい。更に、異常の発生を抑制するために、作業者がパラメータを変更することは難しい。しかしながら、本実施の形態の加工システムは、このような異常の発生を抑制する制御を自動的に実施することができる。
 上記の実施の形態においては、3個の駆動軸を有する工作機械を例に取り上げて説明しているが、この形態に限られず、任意の個数の駆動軸を有する工作機械を適用することができる。例えば、ワークの向きまたは工具の向きが変更可能な5個の駆動軸を有する工作機械を採用することができる。5軸の工作機械の制御においては、5軸の工作機械の動作を3軸の工作機械の動作に縮約する座標変換方法を予め定めておくことができる。そして、座標変換を行うことにより、5軸の工作機械の動作を3軸の工作機械の動作および工具の相対姿勢に縮約して、上記の制御を実施することができる。
 上記の実施の形態における加工システム10は、ワークの形状の設計からワークの加工まで行えるように、CAD装置1、CAM装置2、および工作機械3を備えるが、この形態に限られない。例えば、加工システムは、CAD装置を備えてなくても構わない。この場合に、CAM装置2には、予め生成された3次元形状データが入力される。修正装置からの修正指令は、CAM装置または数値制御装置に送信される。または、加工システムは、CAD装置およびCAM装置を備えてなくても構わない。この場合には、工作機械の数値制御装置には予め生成された加工プログラムが入力される。修正装置からの修正指令は、数値制御装置に送信される。
 上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
 1 CAD装置
 2 CAM装置
 3 工作機械
 4 数値制御装置
 7 監視装置
 8 修正装置
 9 シミュレーション装置
 10 加工システム
 13 形状データ生成部
 22 軌跡生成部
 26 プログラム生成部
 31 プログラム修正システム
 42 動作制御部
 44 経路生成部
 45 動作指令生成部
 48a X軸フィードバック制御部
 48b Y軸フィードバック制御部
 48c Z軸フィードバック制御部
 51 送り軸モータ
 54 主軸モータ
 56 エンコーダ
 66 工具
 69 ワーク
 71 動作情報取得部
 72 異常検出部
 82 修正指令生成部
 85 修正部
 91 シミュレーション部
 102 3次元形状データ
 107 駆動条件の情報
 111 加工プログラム
 121 工具経路

Claims (17)

  1.  工作機械にてワークを加工する加工システムであって、
     予め生成されたワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する軌跡生成部と、
     前記軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成するプログラム生成部と、
     動作コードに基づいて工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部と、
     前記動作制御部から電動機の駆動状態を取得する動作情報取得部と、
     前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部と、
     前記プログラム生成部が加工プログラムを生成する時のパラメータを修正する修正指令を生成する修正指令生成部と、を備え、
     前記修正指令生成部は、工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するようにパラメータを修正する修正指令を前記プログラム生成部に送信する、加工システム。
  2.  前記動作情報取得部は、工作機械の駆動状態に対応する時刻と、前記動作制御部が実行している加工プログラムの動作コードとを取得し、
     前記異常検出部は、異常を検出した時刻に基づいて、異常が生じた時に実行している動作コードを検出し、
     前記修正指令生成部は、工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じた時に実行している動作コードを修正する修正指令を生成する、請求項1に記載の加工システム。
  3.  加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行うシミュレーション部と、
     前記シミュレーション部にて実施したシミュレーションの結果を判定する判定部と、を備え、
     前記シミュレーション部は、加工プログラムに基づいて電動機の動作指令を生成する指令生成シミュレーション部と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させるサーボ制御シミュレーション部とを含み、
     前記プログラム生成部は、前記修正指令生成部から受信した修正指令に基づいて生成した修正後の加工プログラムを前記シミュレーション部に送信し、
     前記シミュレーション部は、修正後の加工プログラムを用いて工作機械を駆動した時のシミュレーションを実施し、
     前記判定部は、シミュレーションの結果に基づいて工作機械の異常が発生するか否かを判定し、判定結果を前記修正指令生成部に送信する、請求項2に記載の加工システム。
  4.  工作機械にてワークを加工する加工システムであって、
     予め生成された加工プログラムに含まれる動作コードに基づいて、工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部と、
     前記動作制御部から電動機の駆動状態を取得する動作情報取得部と、
     前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部と、
     前記動作制御部が工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する修正指令生成部と、を備え、
     前記修正指令生成部は、工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するようにパラメータを修正する修正指令を前記動作制御部に送信する、加工システム。
  5.  前記動作情報取得部は、工作機械の駆動状態に対応する時刻と、前記動作制御部が実行している加工プログラムの動作コードとを取得し、
     前記異常検出部は、異常を検出した時刻に基づいて、異常が生じた時に実行している動作コードを検出し、
     前記修正指令生成部は、工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じた時に実行している動作コードを修正する修正指令を生成する、請求項4に記載の加工システム。
  6.  加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行うシミュレーション部と、
     前記シミュレーション部にて実施したシミュレーションの結果を判定する判定部と、を備え、
     前記シミュレーション部は、加工プログラムに基づいて電動機の動作指令を生成する指令生成シミュレーション部と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させるサーボ制御シミュレーション部とを含み、
     前記修正指令生成部は、加工プログラムの修正指令に基づいて生成した修正後の加工プログラムを前記シミュレーション部に送信し、
     前記シミュレーション部は、修正後の加工プログラムを用いて工作機械を駆動した時のシミュレーションを実施し、
     前記判定部は、シミュレーションの結果に基づいて工作機械の異常が発生するか否かを判定し、判定結果を前記修正指令生成部に送信する、請求項5に記載の加工システム。
  7.  工作機械にてワークを加工する加工システムであって、
     ワークの自由曲面を含む3次元形状データを生成する形状データ生成部と、
     ワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する軌跡生成部と、
     前記軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成するプログラム生成部と、
     動作コードに基づいて工作機械における工具経路を生成する経路生成部と、経路生成部にて生成された工具経路に基づいて電動機の動作指令を生成する動作指令生成部と、電動機の駆動状態が動作指令に対応するようにフィードバック制御を行うフィードバック制御部とを含む動作制御部と、
     前記動作制御部から電動機の駆動状態を取得する動作情報取得部と、
     前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する異常検出部と、
     前記形状データ生成部が3次元形状データを生成する時のパラメータを修正する修正指令を生成する修正指令生成部と、を備え、
     前記修正指令生成部は、3次元形状データの自由曲面のうち工作機械の異常が生じた部分の曲率を修正するようにパラメータを修正する修正指令を前記形状データ生成部に送信する、加工システム。
  8.  前記動作情報取得部は、工作機械の駆動状態に対応する時刻を取得し、
     前記異常検出部は、異常を検出した時刻における電動機の駆動状態を取得し、電動機の駆動状態に基づいて異常が生じた時の工具の位置を検出し、
     前記修正指令生成部は、異常が生じた時の工具の位置に対応する3次元形状の自由曲面における異常が生じた部分を特定し、異常が生じた部分の曲率が小さくなるように修正指令を生成する、請求項7に記載の加工システム。
  9.  加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行うシミュレーション部と、
     前記シミュレーション部にて実施したシミュレーションの結果を判定する判定部と、を備え、
     前記シミュレーション部は、加工プログラムに基づいて電動機の動作指令を生成する指令生成シミュレーション部と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させるサーボ制御シミュレーション部とを含み、
     前記形状データ生成部は、前記修正指令生成部から受信した修正指令に基づいて修正後の3次元形状データを生成し、
     前記軌跡生成部および前記プログラム生成部は、修正後の3次元形状データに基づいて修正後の加工プログラムを生成し、修正後の加工プログラムを前記シミュレーション部に送信し、
     前記シミュレーション部は、修正後の加工プログラムを用いて工作機械を駆動した時のシミュレーションを実施し、
     前記判定部は、シミュレーションの結果に基づいて工作機械の異常が発生するか否かを判定し、判定結果を前記修正指令生成部に送信する、請求項8に記載の加工システム。
  10.  前記動作情報取得部は、電動機の駆動状態に対応する時刻を取得し、
     前記異常検出部は、前記動作情報取得部にて取得された電動機の駆動状態に基づいて、時系列にて工具の位置を検出する、請求項1から9のいずれか一項に記載の加工システム。
  11.  前記異常検出部は、時刻に対応する工具の位置に基づいて、工具経路における空間的な曲率変化および時間的な曲率変化のうち少なくとも一方の曲率変化を算出し、曲率変化に基づいて異常が生じているか否かを判定する、請求項10に記載の加工システム。
  12.  工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する修正方法であって、
     軌跡生成部が予め生成されたワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程と、
     プログラム生成部が前記軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成する工程と、
     動作制御部が加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程と、
     動作情報取得部が前記動作制御部から電動機の駆動状態を取得する工程と、
     異常検出部が前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程と、
     修正指令生成部が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、前記プログラム生成部が加工プログラムを生成する時のパラメータを修正する修正指令を生成する工程と、
     パラメータを修正する修正指令を前記プログラム生成部に送信する工程と、を備える、パラメータの修正方法。
  13.  工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する修正方法であって、
     動作制御部が予め生成された加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程と、
     動作情報取得部が前記動作制御部から電動機の駆動状態を取得する工程と、
     異常検出部が前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程と、
     修正指令生成部が工作機械の異常が生じた時の工具経路の曲率および工具の送り速度のうち少なくとも一方を修正するように、前記動作制御部が工具の位置および工具の送り速度を制御するときのパラメータを修正する修正指令を生成する工程と、
     パラメータを修正する修正指令を前記動作制御部に送信する工程と、を備える、パラメータの修正方法。
  14.  工作機械を備える加工システムにおいて、ワークを加工するためのパラメータを修正する修正方法であって、
     形状データ生成部がワークの自由曲面を含む3次元形状データを生成する工程と、
     軌跡生成部がワークの3次元形状データおよび工作機械の駆動条件に基づいて、ワークに対して工具が移動する移動軌跡を生成する工程と、
     プログラム生成部が前記軌跡生成部にて生成された移動軌跡に基づいて、工具経路を生成するための点の位置および工具の送り速度が定められている動作コードを含む加工プログラムを生成する工程と、
     動作制御部が加工プログラムに含まれる動作コードに基づいて、電動機を制御する工程と、
     動作情報取得部が前記動作制御部から電動機の駆動状態を取得する工程と、
     異常検出部が前記動作情報取得部にて取得された電動機の駆動状態に基づいて、工作機械の異常を検出する工程と、
     修正指令生成部が3次元形状の自由曲面のうち工作機械の異常が生じた部分の曲率を修正するように、前記形状データ生成部が3次元形状データを生成する時のパラメータを修正する修正指令を生成する工程と、
     パラメータを修正する修正指令を前記形状データ生成部に送信する工程と、を備える、パラメータの修正方法。
  15.  加工プログラムを修正するプログラム修正システムであって、
     加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行うシミュレーション部と、
     前記シミュレーション部にて実施したシミュレーションの結果を判定する判定部と、
     シミュレーションの結果に基づいて加工プログラムを修正する修正部と、を備え、
     前記シミュレーション部は、加工プログラムに基づいて電動機の動作指令を生成する指令生成シミュレーション部と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させるサーボ制御シミュレーション部とを含み、
     前記判定部は、シミュレーションの結果に基づいて工作機械の異常が生じると予想される場合に、異常が生じると予想される動作に対応する加工プログラムの動作コードを特定し、
     修正部は、異常が生じると予想される動作に対応する動作コードを修正する、プログラム修正システム。
  16.  前記修正部は、工具経路の曲率および工具の送り速度のうち少なくとも一方が小さくなるように、異常が生じると予想される動作に対応する動作コードを修正する、請求項15に記載のプログラム修正システム。
  17.  加工プログラムを修正するプログラムの修正方法であって、
     シミュレーション部が加工プログラムに基づいて工作機械を駆動した時のシミュレーションを行う工程と、
     判定部が前記シミュレーション部にて実施したシミュレーションの結果を判定する工程と、
     修正部がシミュレーションの結果に基づいて加工プログラムを修正する工程と、を備え、
     前記シミュレーションを行う工程は、加工プログラムに基づいて電動機の動作指令を生成する工程と、制御の対象となる対象物を駆動する電動機の駆動状態を動作指令に追従させる工程とを含み、
     前記判定する工程は、シミュレーションの結果に基づいて工作機械の異常が生じると予想される場合に、異常が生じると予想される動作に対応する加工プログラムの動作コードを特定する工程を含み、
     修正する工程は、異常が生じると予想される動作に対応する動作コードを修正する工程を含む、プログラムの修正方法。
PCT/JP2022/000047 2021-01-08 2022-01-04 工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法 WO2022149569A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/255,872 US20240036549A1 (en) 2021-01-08 2022-01-04 Machining system provided with machine tool, method of revising parameter for revising parameter in machining system, program revision system for revising machining program, and method of revising program
CN202280008873.XA CN116745710A (zh) 2021-01-08 2022-01-04 具备机床的加工系统、修正加工系统中的参数的参数的修正方法、修正加工程序的程序修正系统以及程序的修正方法
DE112022000217.4T DE112022000217T5 (de) 2021-01-08 2022-01-04 Mit einer Werkzeugmaschine ausgestattetes Bearbeitungssystem, Verfahren zum Überarbeiten eines Parameters zum Überarbeiten eines Parameters in dem Bearbeitungssystem, Programmüberarbeitungssystem zum Überarbeiten eines Bearbeitungsprogramms und Verfahren zum Überarbeiten eines Programms
JP2022574051A JPWO2022149569A1 (ja) 2021-01-08 2022-01-04

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021002237 2021-01-08
JP2021-002237 2021-01-08

Publications (1)

Publication Number Publication Date
WO2022149569A1 true WO2022149569A1 (ja) 2022-07-14

Family

ID=82357996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/000047 WO2022149569A1 (ja) 2021-01-08 2022-01-04 工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法

Country Status (5)

Country Link
US (1) US20240036549A1 (ja)
JP (1) JPWO2022149569A1 (ja)
CN (1) CN116745710A (ja)
DE (1) DE112022000217T5 (ja)
WO (1) WO2022149569A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115647933A (zh) * 2022-11-02 2023-01-31 富联裕展科技(深圳)有限公司 主轴偏摆异常检测方法、装置以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222008A (ja) * 2001-01-26 2002-08-09 Hitachi Ltd 数値制御曲面加工装置
JP2003256010A (ja) * 2002-03-06 2003-09-10 Mazda Motor Corp 工作機械の制御方法及びその制御装置、並びに、その制御をコンピュータに実行させるプログラム及びそれを記録したコンピュータ読み取り可能な記録媒体
JP2003330512A (ja) * 2002-05-17 2003-11-21 Okuma Corp Ncデータの工具軌跡表示方法
JP2010003018A (ja) * 2008-06-18 2010-01-07 Fujitsu Ltd 工具経路算出装置、工具経路算出プログラムおよび工具経路算出方法
JP2010267169A (ja) * 2009-05-18 2010-11-25 Sodick Co Ltd 数値制御装置およびその制御プログラム
JP2015184687A (ja) * 2014-03-20 2015-10-22 三菱重工業株式会社 工作機械切削条件最適化装置及び方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222008A (ja) * 2001-01-26 2002-08-09 Hitachi Ltd 数値制御曲面加工装置
JP2003256010A (ja) * 2002-03-06 2003-09-10 Mazda Motor Corp 工作機械の制御方法及びその制御装置、並びに、その制御をコンピュータに実行させるプログラム及びそれを記録したコンピュータ読み取り可能な記録媒体
JP2003330512A (ja) * 2002-05-17 2003-11-21 Okuma Corp Ncデータの工具軌跡表示方法
JP2010003018A (ja) * 2008-06-18 2010-01-07 Fujitsu Ltd 工具経路算出装置、工具経路算出プログラムおよび工具経路算出方法
JP2010267169A (ja) * 2009-05-18 2010-11-25 Sodick Co Ltd 数値制御装置およびその制御プログラム
JP2015184687A (ja) * 2014-03-20 2015-10-22 三菱重工業株式会社 工作機械切削条件最適化装置及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115647933A (zh) * 2022-11-02 2023-01-31 富联裕展科技(深圳)有限公司 主轴偏摆异常检测方法、装置以及存储介质
CN115647933B (zh) * 2022-11-02 2023-10-27 富联裕展科技(深圳)有限公司 主轴偏摆异常检测方法、装置以及存储介质

Also Published As

Publication number Publication date
JPWO2022149569A1 (ja) 2022-07-14
DE112022000217T5 (de) 2023-08-17
US20240036549A1 (en) 2024-02-01
CN116745710A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
US9423788B2 (en) Automatic method for milling complex channel-shaped cavities
EP3213161B1 (en) Method for optimizing the productivity of a machining process of a cnc machine
Brell-Cokcan et al. A new parametric design tool for robot milling
JP4233147B2 (ja) 工作機械用に適応可能なフィードレートを決定する方法
Tunc et al. Process simulation integrated tool axis selection for 5-axis tool path generation
US10838403B2 (en) Simulation method for milling by use of dynamic position error
Zhang Process modeling and toolpath optimization for five-axis ball-end milling based on tool motion analysis
Coelho et al. Mechanistic approach to predict real machining time for milling free-form geometries applying high feed rate
Zhang et al. Feedrate scheduling strategy for free-form surface machining through an integrated geometric and mechanistic model
JP7348013B2 (ja) シミュレーション装置
WO2022149569A1 (ja) 工作機械を備える加工システム、加工システムにおけるパラメータを修正するパラメータの修正方法、加工プログラムを修正するプログラム修正システム、およびプログラムの修正方法
Matyska et al. Optimization of five-axis finish milling using a virtualmachine tool
US20220382265A1 (en) Online multi-force-adaption during machining
Schraeder et al. Experimental performance analysis of an inverse dynamics CNC compensation scheme for high-speed execution of curved toolpaths
Ozturk et al. Analytical methods for increased productivity in five-axis ball-end milling
Pan et al. Robotic machining from programming to process control
Moetakef Imani et al. Real-time PH-based interpolation algorithm for high speed CNC machining
KR20170033009A (ko) 정삭 가공 시뮬레이션 소재의 표면조도 가시화 방법 및 이에 대한 기록매체
Erwinski et al. Pso based feedrate optimization with contour error constraints for nurbs toolpaths
Monaro et al. Evaluation of Dynamic Behavior of Machine Tools for Sculptured Surface Manufacturing
Mantari-Ramos et al. CNC Control and Simulation System for the Artisanal Cutting of Leather Accessories from a Shoe Factory
Tulsyan Prediction and reduction of cycle time for five-axis CNC machine tools
Ratiu Short literature review on the optimization of the five-axis CNC machines
EP4083728A1 (en) Methods and systems for adapting a feed rate of a feed control on numerically controlled machine tools
WO2022138843A1 (ja) 数値制御装置

Legal Events

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

Ref document number: 22736737

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022574051

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18255872

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280008873.X

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 22736737

Country of ref document: EP

Kind code of ref document: A1