WO2021049028A1 - 数値制御装置、および機械学習装置 - Google Patents
数値制御装置、および機械学習装置 Download PDFInfo
- Publication number
- WO2021049028A1 WO2021049028A1 PCT/JP2019/036198 JP2019036198W WO2021049028A1 WO 2021049028 A1 WO2021049028 A1 WO 2021049028A1 JP 2019036198 W JP2019036198 W JP 2019036198W WO 2021049028 A1 WO2021049028 A1 WO 2021049028A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- unit
- interference
- machine tool
- machine
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4061—Avoiding collision or forbidden zones
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present invention relates to a numerical control device for controlling a robot and a machine tool, and a machine learning device.
- One of the numerical control devices is a control device that controls a machine tool that processes a work piece and a robot that conveys and processes the work piece in parallel.
- the numerical control device described in Patent Document 1 displays a three-dimensional model of the robot and the machine tool on the display device based on the operating position of the robot at the designated elapsed time and the operating position of the machine tool at the designated elapsed time. There is.
- Patent Document 1 Although the operation of the robot and the operation of the machine tool are displayed, there is a problem that it cannot be determined whether or not the machine tool and the robot collide with each other.
- the present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device capable of determining whether or not a machine tool and a robot collide with each other.
- the numerical control device of the present invention controls the position of the machine model which is the data for the motion simulation of the machine tool and the position of the first component included in the machine tool. It has a machine tool operation calculation unit that calculates the position of the first component at a specific timing by using the first position data used in the above. Further, the numerical control device of the present invention uses a robot model, which is data for robot motion simulation, and a second position data used when controlling the position of a second component included in the robot, to specify a specific timing. It has a robot motion calculation unit that calculates the position of the second component in the above. Further, the numerical control device of the present invention has a collision determination unit that determines whether or not the machine tool and the robot collide with each other based on the position of the first component and the position of the second component.
- the numerical control device has the effect of being able to determine whether or not a machine tool and a robot collide with each other.
- a flowchart showing a processing procedure of interference check by the numerical control device according to the first embodiment The figure which shows the structural example of the numerical control apparatus which concerns on Embodiment 2. The figure for demonstrating the 1st operation example of the interference avoidance executed by the numerical control apparatus which concerns on Embodiment 2. The figure for demonstrating the 2nd operation example of the interference avoidance executed by the numerical control apparatus which concerns on Embodiment 2.
- the figure which shows the example which enlarged-displayed the shape of the machined work at the chamfer position shown in FIG. Flow chart showing the processing procedure of the work simulation by the numerical control device according to the third embodiment.
- FIG. 1 is a diagram showing a configuration example of a numerical control device according to the first embodiment.
- the numerical control device 1X includes a control calculation unit 2X, an input operation unit 3, a display unit 4, and a PLC operation unit 5 such as a machine operation panel for operating a PLC (Programmable Logic Controller) 36.
- PLC Programmable Logic Controller
- FIG. 1 shows a machine tool 100, a robot controller 50, and a robot 60 together with a numerical control device 1X.
- a system composed of a numerical control device 1X, a machine tool 100, a robot controller 50, and a robot 60 is a control system.
- the numerical control device 1X executes communication with each servo control unit of the drive unit 90 and also executes communication with the robot controller 50.
- the numerical control device 1X is a computer that causes the machine tool 100 to execute machining of a machining work (workpiece) using a tool, and causes the robot 60 to execute the transfer of the machining work.
- the numerical control device 1X controls the machine tool 100 and the robot 60 by using an NC (Numerical Control) program such as a G code program.
- the NC program which is a machining program, includes a command to the machine tool 100 and a command to the robot 60.
- the numerical control device 1X controls the robot 60 by converting a command to the robot 60 in the NC program into a command of the robot program.
- the numerical control device 1X of the present embodiment determines whether or not the robot 60 and the machine tool 100 interfere with each other, and if they interfere with each other, an alarm is generated. Interference between the robot 60 and the machine tool 100 is synonymous with a collision between the machine tool 100 and the robot 60.
- the interference between the robot 60 and the machine tool 100 includes interference between the tool held by the robot 60 and the machine tool 100, interference between the tool held by the machine tool 100 and the robot 60, and the tool held by the robot 60 and the machine tool 100. Includes interference with the tool gripped by.
- the machine tool 100 includes a drive unit 90 that drives a tool and a machining work.
- An example of the drive unit 90 is a drive mechanism that drives a tool while rotating a workpiece.
- the driving direction of the tool is, for example, two directions, a direction parallel to the X-axis direction and a direction parallel to the Z-axis direction. Since the axial direction depends on the device configuration, the axial direction is not limited to the above direction.
- the drive unit 90 includes servomotors 901 and 902 that move the tool in each axial direction defined on the numerical control device 1X, and detectors 97 and 98 that detect the positions and speeds of the servomotors 901 and 902. There is. Further, the drive unit 90 includes a servo control unit in each axial direction that controls the servomotors 901 and 902 based on a command from the numerical control device 1X. The servo control unit in each axial direction performs feedback control to the servomotors 901 and 902 based on the position and speed from the detectors 97 and 98.
- the X-axis servo control unit 91 controls the operation of the tool in the X-axis direction by controlling the servomotor 901
- the Z-axis servo control unit 92 controls the servomotor 902. Controls the Z-axis movement of the tool.
- the machine tool 100 may be provided with two or more tool rests.
- the drive unit 90 includes a set of X-axis servo control units 91, a Z-axis servo control unit 92, servomotors 901 and 902, and detectors 97 and 98 for each tool post.
- the drive unit 90 includes a spindle motor 911 for rotating the spindle for rotating the workpiece, and a detector 211 for detecting the position and rotation speed of the spindle motor 911.
- the rotation speed detected by the detector 211 corresponds to the rotation speed of the spindle motor 911.
- the drive unit 90 includes a spindle servo control unit 200 that controls the spindle motor 911 based on a command from the numerical control device 1X.
- the spindle servo control unit 200 performs feedback control to the spindle motor 911 based on the position and the rotation speed from the detector 211.
- the drive unit 90 includes two sets of a spindle motor 911, a detector 211, and a spindle servo control unit 200.
- the machine tool 100 includes two or more tool rests.
- the input operation unit 3 is a means for inputting information to the control calculation unit 2X.
- the input operation unit 3 is composed of input means such as a keyboard, a button, or a mouse, and receives an input of a command or the like to the numerical control device 1X by the user, an NC program, a parameter, or the like and inputs it to the control calculation unit 2X.
- the display unit 4 is composed of display means such as a liquid crystal display device, and displays the information processed by the control calculation unit 2X on the display screen.
- An example of the display unit 4 is a liquid crystal touch panel. In this case, some functions of the input operation unit 3 are arranged in the display unit 4.
- the control calculation unit 2X controls the machine tool 100 and the robot 60 by using the NC program defined by the coordinate system of the machine tool 100.
- the control calculation unit 2X includes an input control unit 32, a data setting unit 33, a storage unit 34, a screen processing unit 31, an analysis processing unit 37, a control signal processing unit 35, a PLC 36, and an interpolation processing unit 38. It has an acceleration / deceleration processing unit 39, an axis data output unit 40, a robot control unit 41, and a simulation control unit 80X.
- the PLC 36 may be arranged outside the control calculation unit 2X.
- the storage unit 34 has a parameter storage area 341, an NC program storage area 343, a display data storage area 344, and a shared area 345. In addition, the storage unit 34 has a storage area for storing simulation data 346.
- the parameter storage area 341 stores parameters and the like used in the processing of the control calculation unit 2X. Specifically, the parameter storage area 341 stores control parameters, servo parameters, and tool data 815,814 for operating the numerical control device 1X.
- the tool data 813 is the data of the tool used in the machine tool 100
- the tool data 814 is the data of the tool used in the robot 60.
- the tool data 813 includes information on the shape of the tool used in the machine tool 100.
- the tool data 814 includes information on the shape of the tool used in the robot 60.
- the tool data 815 and 814 are read out from the storage unit 34 by the simulation control unit 80X. In the following description, it is assumed that the shape information includes information on the shape itself and information on dimensions.
- the NC program used for machining the machining work is stored in the NC program storage area 343.
- the NC program of the first embodiment includes a command for controlling the machine tool 100 and a command for controlling the robot 60.
- the screen display data displayed by the display unit 4 is stored in the display data storage area 344.
- the screen display data is data for displaying information on the display unit 4.
- the storage unit 34 is provided with a shared area 345 for storing data that is temporarily used.
- the simulation data 346 includes a machine model 811 which is data capable of drawing the machine tool 100 and a robot model 812 which is data capable of drawing the robot 60.
- the mechanical model 811 and the robot model 812 are read out from the storage unit 34 by the simulation control unit 80X.
- the machine model 811 is three-dimensional data showing the three-dimensional structure of the machine tool 100
- the robot model 812 is three-dimensional data showing the three-dimensional structure of the robot 60.
- the machine model 811 is data for motion simulation in the machining chamber (machining tank) actually provided in the machine tool 100.
- the machine model 811 is generated from CAD (Computer Aided Design) data.
- the robot model 812 is data for motion simulation of the robot 60.
- the robot model 812 is generated from CAD data.
- the machine model 811 is machine model data having an extension of ".mdl” or the like, and the robot model 812 is robot model data having an extension of ".mdl” or the like.
- the screen processing unit 31 controls the display unit 4 to display the screen display data stored in the display data storage area 344.
- the input control unit 32 receives the information input from the input operation unit 3.
- the data setting unit 33 stores the information received by the input control unit 32 in the storage unit 34. That is, the input information received by the input operation unit 3 is written to the storage unit 34 via the input control unit 32 and the data setting unit 33.
- the control signal processing unit 35 is connected to the PLC 36, and receives signal information from the PLC 36, such as a relay that operates the machine of the machine tool 100.
- the control signal processing unit 35 writes the received signal information in the shared area 345 of the storage unit 34. These signal information is referred to by the interpolation processing unit 38 during the processing operation.
- the analysis processing unit 37 outputs an auxiliary command to the shared area 345
- the control signal processing unit 35 reads the auxiliary command from the shared area 345 and sends it to the PLC 36.
- Auxiliary commands are commands other than commands that operate the drive shaft, which is a numerical control shaft.
- An example of an auxiliary command is an M code or a T code.
- the PLC 36 stores a ladder program in which the machine operation executed by the PLC 36 is described.
- the PLC 36 receives the T code or the M code which is the auxiliary command, the PLC 36 executes the process corresponding to the auxiliary command on the machine tool 100 according to the ladder program.
- the PLC 36 sends a completion signal indicating that the machine control is completed to the control signal processing unit 35 in order to execute the next block of the NC program.
- control signal processing unit 35 In the control calculation unit 2X, the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, and the simulation control unit 80X are connected via the storage unit 34, and the storage unit Information is written and read through 34. In the following description, it is stored when writing and reading information between the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, and the simulation control unit 80X. It may be omitted that the unit 34 is interposed.
- the NC program is selected by the user inputting the NC program number in the input operation unit 3.
- This NC program number is written in the shared area 345 via the input control unit 32 and the data setting unit 33.
- the analysis processing unit 37 reads the selected NC program number from the shared area 345, reads the selected NC program from the NC program storage area 343, and reads the selected NC program from the NC program storage area 343. Analysis processing is performed for each block (each line).
- the analysis processing unit 37 analyzes, for example, a G code (command related to shaft movement, etc.), a T code (tool change command, etc.), an S code (spindle motor rotation speed command), and an M code (machine operation command).
- the analysis processing unit 37 sends the analysis result to the PLC 36 via the shared area 345 and the control signal processing unit 35. If the analyzed line contains an M code, the analysis processing unit 37 sends the M code to the PLC 36 via the control signal processing unit 35.
- the PLC 36 executes the machine control corresponding to the M code. When the execution is completed, the result indicating the completion of the M code is written in the storage unit 34 via the control signal processing unit 35.
- the interpolation processing unit 38 refers to the execution result written in the storage unit 34.
- the analysis processing unit 37 sends the analysis result to the interpolation processing unit 38 via the shared area 345. Specifically, the analysis processing unit 37 generates a movement condition corresponding to the G code and sends it to the interpolation processing unit 38. Further, the analysis processing unit 37 sends the spindle rotation speed specified by the S code to the interpolation processing unit 38.
- the spindle speed is the number of revolutions of the spindle per unit time.
- the movement condition is a tool feed condition for moving the machining position, and is indicated by the speed at which the tool post is moved, the position at which the tool post is moved, and the like. For example, tool feed of a tool advances the tool in the X-axis direction (+ X direction) and the Z-axis direction (+ Z direction).
- the analysis processing unit 37 has a robot command analysis unit 371.
- the robot command analysis unit 371 is a means for analyzing the operation of the connected robot 60.
- the robot command analysis unit 371 analyzes the robot command included in the NC program and sends the analysis result to the robot control unit 41 via the shared area 345.
- the analysis result includes a robot coordinate system setting command which is a command for setting the coordinate system of the robot 60, a robot operation command which defines the operation of the robot 60, and the like.
- the interpolation processing unit 38 generates data for controlling the machine tool 100 by using a command to the machine tool 100 among the analysis results by the analysis processing unit 37, and sends the data to the acceleration / deceleration processing unit 39.
- the acceleration / deceleration processing unit 39 performs acceleration / deceleration processing for smoothly changing the acceleration with respect to the result of the interpolation processing supplied from the interpolation processing unit 38.
- the acceleration / deceleration processing unit 39 sends a speed command, which is a processing result of the acceleration / deceleration processing, to the axis data output unit 40.
- the axis data output unit 40 outputs a speed command to the drive unit 90. Specifically, the axis data output unit 40 outputs a speed command to the X-axis to the X-axis servo control unit 91, and outputs a speed command to the Z-axis to the Z-axis servo control unit 92. Further, the shaft data output unit 40 outputs a rotation speed command to the spindle to the spindle servo control unit 200.
- the robot control unit 41 converts a command to the robot 60 into a robot program based on the result of analysis by the robot command analysis unit 371. That is, the robot control unit 41 generates a robot command that can be interpreted by the robot controller 50 based on the analysis result of the robot command sent from the robot command analysis unit 371. The robot control unit 41 sends the generated robot command to the robot controller 50.
- the robot controller 50 generates position data for each axis of the robot 60 based on a robot command sent from the robot control unit 41, and controls the robot 60 using the position data.
- the commands set in the NC program are executed in order. Therefore, the order in which the interpolation processing unit 38 generates data for controlling the machine tool 100 and sends it to the acceleration / deceleration processing unit 39 and the order in which the robot control unit 41 generates position data and sends it to the robot controller 50 are different. It corresponds to the order of commands set in the NC program.
- the simulation control unit 80X is connected to a storage unit 34, an interpolation processing unit 38, an acceleration / deceleration processing unit 39, a robot control unit 41, and a screen processing unit 31.
- the simulation control unit 80X is connected to the screen processing unit 31, the description of the connection line between the simulation control unit 80X and the screen processing unit 31 is omitted in FIG. In the following description, when writing information to the display unit 4 by the simulation control unit 80X, it may be omitted that the screen processing unit 31 is used.
- the simulation control unit 80X simulates the operation of the robot 60 and the operation of the machine tool 100 by calculation.
- the simulation control unit 80X includes a machine operation calculation unit 801, a robot operation calculation unit 802, and an interference check unit 803.
- the machine motion calculation unit 801 draws the movement of the components included in the machine tool 100
- the robot motion calculation unit 802 draws the movement of the components included in the robot 60.
- the simulation control unit 80X causes the display unit 4 to display the drawing result.
- the machine operation calculation unit 801 reads the machine model 811 and the tool data 813 from the storage unit 34, and simulates the operation of the machine tool 100 using the machine model 811 and the tool data 813.
- the machine operation calculation unit 801 acquires the position data of each axis of the machine tool 100 from the interpolation processing unit 38.
- the machine operation calculation unit 801 corrects the positions of the components of the machine tool 100 drawn from the machine model 811 based on the position data fetched from the interpolation processing unit 38.
- the machine motion calculation unit 801 draws the first component included in the machine tool 100 based on the machine model 811 which is the data for the motion simulation of the machine tool 100. Further, the machine operation calculation unit 801 redraws the first component using the first position data used when controlling the position of the first component.
- the robot motion calculation unit 802 reads out the robot model 812 and the tool data 814 from the storage unit 34, and simulates the motion of the robot 60 using the robot model 812 and the tool data 814.
- the robot motion calculation unit 802 acquires the position data of each axis of the robot 60 from the robot control unit 41.
- the robot motion calculation unit 802 corrects the positions of the components of the robot 60 drawn from the robot model 812 based on the position data fetched from the robot control unit 41.
- the robot motion calculation unit 802 draws the second component included in the robot 60 based on the robot model 812, which is the data for the motion simulation of the robot 60, and controls the position of the second component.
- the second component is redrawn using the second position data used in the case.
- the collision check unit 803 which is a collision determination unit, checks the overlap of the drawing data of the operation units (components) drawn by the machine operation calculation unit 801 and the robot operation calculation unit 802. In other words, the interference check unit 803 determines whether or not the machine tool 100 and the robot 60 interfere with each other (collision).
- the interference check unit 803 determines whether or not the machine tool 100 and the robot 60 collide with each other at a specific timing based on the position of the first component at the specific timing and the position of the second component at the specific timing. to decide.
- the interference check unit 803 When the interference check unit 803 detects that the machine tool 100 and the robot 60 interfere with each other, the interference check unit 803 sends an operation stop signal to the interpolation processing unit 38 and the robot control unit 41, and alarm instruction information which is an alarm display instruction for interference. Is sent to the display unit 4 via the screen processing unit 31. As a result, the interference check unit 803 causes the display unit 4 to display an interference alarm indicating interference.
- the alarm instruction information may include information on the position where the machine tool 100 and the robot 60 interfere with each other. In this case, the display unit 4 displays an interference alarm including information on the position of interference.
- the machine tool 100 is an NC machine tool, and the machine tool is machined with the tool while the tool and the machine tool are relatively moved by the drive shaft.
- the coordinate system of the machine tool 100 and the coordinate system of the robot 60 are different.
- the machine tool 100 is controlled by a Cartesian coordinate system and moves a tool or a workpiece in, for example, three axes.
- the robot 60 includes a rotation axis, and drives, for example, in directions of four or more axes.
- the robot 60 includes a plurality of joints and a plurality of arms, and one joint moves one arm in a direction of one axis or more.
- the drawing data used when drawing the machine tool 100 is the machine model 811 which is the data for motion simulation will be described, but the machine motion calculation unit 801 is a machine.
- the machine tool 100 may be drawn using drawing data other than the model 811.
- the first embodiment describes a case where the drawing data used when drawing the robot 60 is the robot model 812, which is the data for motion simulation.
- the robot motion calculation unit 802 describes the robot model.
- the robot 60 may be drawn using drawing data other than 812.
- the machine operation calculation unit 801 may draw the machine tool 100 using, for example, coarse drawing data capable of drawing a ponchi-e or the like. Further, the robot motion calculation unit 802 may draw the robot 60 using coarse drawing data capable of drawing a ponchi-e or the like.
- the machine motion calculation unit 801 uses simulation data (for example, a machine) with high accuracy to the extent that accurate motion simulation can be performed.
- Model 811) is used.
- the robot motion calculation unit 802 uses simulation data (for example, a robot) with high accuracy to the extent that accurate motion simulation can be performed. Model 812) is used.
- FIG. 2 is a diagram showing an arrangement example of a machine tool and a robot controlled by the numerical control device according to the first embodiment.
- the machine tool 100 includes a housing 14, tool holders 11a and 11b, and chuck mechanisms 12a and 12b.
- the inside of the housing 14 is a processing chamber for processing the processing workpieces 5a and 5b.
- the chuck mechanism 12a holds the machining work 5a in the machining chamber, and the chuck mechanism 12b holds the machining work 5b in the machining chamber.
- the tool holder 11a holds the tool 6a, and the tool holder 11b holds the tool 6b.
- the tool 6a processes the machining work 5a held by the chuck mechanism 12a, and the tool 6b processes the machining work 5b held by the chuck mechanism 12b.
- the robot 60 is arranged in the vicinity of the machine tool 100, and carries in and out the machining workpieces 5a and 5b to the machine tool 100. Further, the robot 60 processes the machining work 5a held by the machine tool 100 with the tool 6c.
- the tools 6a and 6b used by the machine tool 100 are the first tools, and the tools 6c used by the robot 60 are the second tools.
- the robot 60 includes a robot arm 21, a robot hand 22, and a pedestal 23.
- the pedestal 23 holds the robot arm 21.
- the robot arm 21 is movable in one or more axial directions.
- the robot hand 22 is arranged at the tip of the robot arm 21 on the opposite side of the pedestal 23. The robot hand 22 grabs the tool 6c.
- the machine model 811 is data for motion simulation of the chuck mechanisms 12a and 12b, the machining workpieces 5a and 5b, the tool holders 11a and 11b, and the tools 6a and 6b in the machining chamber.
- the overall configuration of the machine tool 100 and the operation of the machine tool 100 in the machining chamber are simulated, and the state of the machine tool 100 in the machining chamber is drawn.
- the operations of the chuck mechanisms 12a and 12b, the machining workpieces 5a and 5b, the tool holders 11a and 11b, and the tools 6a and 6b are simulated in the machining chamber, and the chuck mechanisms 12a and 12b, the machining workpieces 5a and 5b and the tool holder are simulated.
- 11a, 11b, and tools 6a, 6b are drawn.
- the robot model 812 is data for motion simulation of the robot arm 21 and the robot hand 22.
- the movements of the robot 60 is simulated, the movements of the robot arm 21 and the robot hand 22 are simulated, and the states of the robot arm 21 and the robot hand 22 are drawn.
- FIG. 3 is a diagram showing a first example of a screen drawn by the numerical control device according to the first embodiment.
- FIG. 3 shows an example of screen display in the display unit 4.
- the screen 130 shown in FIG. 3 displays the state of the processing chamber.
- the images of the chuck mechanisms 12a and 12b are shown as images 12A and 12B
- the images of the machining workpieces 5a and 5b are shown as images 5A and 5B
- the images of the tool holders 11a and 11b are shown.
- the images of the tools 6a and 6b are shown as images 6A and 6B.
- the image of the robot arm 21 is shown as the image 21A
- the image of the robot hand 22 is shown as the image 22A
- the image of the tool 6c is shown as the image 6C.
- the machine operation calculation unit 801 captures the position data of each axis of the machine tool 100 from the interpolation processing unit 38.
- the machine operation calculation unit 801 redraws the operating unit (components included in the machine tool 100) included in the machine tool 100 based on the position data fetched from the interpolation processing unit 38. That is, the machine operation calculation unit 801 corrects the positions of the components of the machine tool 100 drawn from the machine model 811 based on the position data fetched from the interpolation processing unit 38.
- the moving parts included in the machine tool 100 are the chuck mechanisms 12a and 12b, the machining workpieces 5a and 5b, the tool holders 11a and 11b, and the tools 6a and 6b described above.
- the machine operation calculation unit 801 draws, for example, the movement of the tool holders 11a and 11b and the movement of the tools 6a and 6b.
- the robot motion calculation unit 802 captures position data of each axis of the robot 60 from the robot control unit 41.
- the robot motion calculation unit 802 redraws the moving unit (components included in the robot 60) included in the robot 60 based on the position data fetched from the robot control unit 41. That is, the robot motion calculation unit 802 corrects the positions of the components of the robot 60 drawn from the robot model 812 based on the position data fetched from the robot control unit 41.
- the moving unit included in the robot 60 is the robot arm 21, the robot hand 22, and the tool 6c described above.
- the robot motion calculation unit 802 draws, for example, the movement of the robot arm 21 and the movement of the robot hand 22 holding the tool 6c.
- the simulation control unit 80X causes the display unit 4 to display the drawing result by the machine operation calculation unit 801 and the drawing result by the robot operation calculation unit 802 via the screen processing unit 31.
- An example of the screen displayed by the display unit 4 is the screen 130 shown in FIG.
- the interference check unit 803 checks the overlap between the drawing data of the operation unit drawn by the machine operation calculation unit 801 and the robot operation calculation unit 802. Specifically, the interference check unit 803 determines whether or not the tool holders 11a, 11b or tools 6a, 6b of the machine tool 100 interfere with the robot hand 22 that holds the robot arm 21 or the tool 6c. .. Since the machine model 811 and the robot model 812 are three-dimensional data, the interference check unit 803 checks for interference with the three-dimensional shape of the machine tool 100 and the three-dimensional shape of the robot 60.
- FIG. 4 is a diagram showing a second example of the screen drawn by the numerical control device according to the first embodiment.
- FIG. 4 shows an example of screen display on the display unit 4 when a collision is detected.
- the interference check unit 803 detects the interference between the components in the processing chamber when the image 22A of the robot hand 22 moves in the direction of the arrow D1, the state in the processing chamber is displayed. doing.
- the interpolation processing unit 38 and the robot control unit 41 stop operating.
- the display unit 4 displays an interference alarm via the screen processing unit 31.
- the interference alarm screen displayed by the display unit 4 may be any screen as long as it is a screen that makes the user aware of the collision.
- the display of the interference alarm is displayed by the same screen as other alarms.
- the screen 131 shows the position where the robot 60 and the machine tool 100 collide.
- the simulation control unit 80X can stop the operation of the moving parts of the machine tool 100 and the robot 60 before the machine tool 100 and the robot 60 actually interfere with each other (collision).
- the storage unit 34 stores parameters that define the positional relationship between the coordinate system of the machine tool 100 and the coordinate system of the robot 60. There is. Therefore, the interference check unit 803 can check the interference between the operating unit of the machine tool 100 and the operating unit of the robot 60 based on the positional relationship stored in the storage unit 34.
- the machine model 811 and the robot model 812 which are data for motion simulation, may include parts that do not operate.
- the machine model 811 may include a housing 14 of the machine tool 100.
- the robot model 812 may include a pedestal 23.
- the robot model 812 includes a robot arm 21, a robot hand 22, a tool 6c, and a pedestal 23.
- the display unit 4 displays the entire machine tool 100.
- the display unit 4 displays the entire robot 60.
- FIG. 5 is a diagram showing a third example of a screen drawn by the numerical control device according to the first embodiment.
- FIG. 5 shows an example of screen display in the display unit 4.
- the screen 132 shown in FIG. 5 is a screen when the display unit 4 displays the entire machine tool 100 and the entire robot 60.
- the image of the machine tool 100 is shown as the image 100A
- the image of the housing 14 is shown as the image 14A
- the image of the robot 60 is shown as the image 60A
- the image of the pedestal 23 is shown as the image 23A.
- the interference check unit 803 can detect that the robot hand 22 interferes with the housing 14 of the machine tool 100.
- FIG. 6 is a diagram for explaining the interference between the robot hand and the housing of the machine tool detected by the numerical control device according to the first embodiment.
- a first example of interference detected by the interference check unit 803 when the machine model 811 includes the entire machine tool 100 will be described.
- FIG. 6 shows a state in which the robot hand 22 and the housing 14 of the machine tool 100 interfere with each other when the robot hand 22 moves in the direction of the arrow D2.
- the interference check unit 803 can detect that the robot arm 21 interferes with a mechanism arranged outside the machine tool 100.
- FIG. 7 is a diagram for explaining the interference between the robot arm and the mechanism arranged outside the machine tool, which is detected by the numerical control device according to the first embodiment.
- a second example of interference detected by the interference check unit 803 when the machine model 811 includes the entire machine tool 100 will be described.
- the loader 30 is a device that conveys the conveyed object 7 outside the machine tool 100. Since the robot hand 22 and the robot arm 21 also operate outside the machine tool 100, the robot hand 22 and the robot arm 21 may collide with the loader 30 or the conveyed object 7.
- FIG. 7 shows a state in which the robot arm 21 and the loader 30 interfere with each other when the tool 6c moves in the direction of the arrow D3.
- FIG. 8 is a flowchart showing a processing procedure of interference check by the numerical control device according to the first embodiment.
- the analysis processing unit 37 analyzes the NC program (step S10). That is, the analysis processing unit 37 analyzes the NC program including the command for operating the machine tool 100 (command to the drive unit 90) and the command for operating the robot 60 (command to the robot 60). Specifically, the analysis processing unit 37 analyzes the machine drive command which is a command to the drive unit 90 of the machine tool 100, and the robot command analysis unit 371 analyzes the robot command which is a command to the robot 60.
- the analysis processing unit 37 determines whether the analyzed command is a machine drive command or a robot command. When the analyzed command is a machine drive command (step S15, Yes), the analysis processing unit 37 sends the analysis result of the machine drive command to the interpolation processing unit 38. On the other hand, when the analyzed command is a robot command (step S15, No), the analysis processing unit 37 sends the analysis result of the robot command to the robot control unit 41.
- the interpolation processing unit 38 performs interpolation processing of the machine drive command using the analysis result of the machine drive command (step S20). Then, the interpolation processing unit 38 executes arithmetic processing of the machine tool operation, which is the operation of the machine tool 100, based on the machine drive command that has been interpolated (step S30). That is, the interpolation processing unit 38 calculates each axis position of the drive unit 90 included in the machine tool 100 from the machine drive command that has been interpolated.
- the robot control unit 41 converts the NC program into a robot program using the analysis result of the robot command (step S40). Further, the robot control unit 41 executes arithmetic processing of the robot operation, which is the operation of the robot 60, based on the robot program (step S50). That is, the robot control unit 41 calculates each axis position of the robot 60 from the robot program. Specifically, the robot control unit 41 calculates the position of the robot arm 21, the position of the robot hand 22, and the like.
- the position data indicating each axis position of the drive unit 90 calculated by the interpolation processing unit 38 is sent to the machine operation calculation unit 801. Further, the position data indicating each axis position of the robot 60 calculated by the robot control unit 41 is sent to the robot motion calculation unit 802.
- the simulation control unit 80X executes the drawing process (step S60). Specifically, the machine motion calculation unit 801 draws the machine configuration of the machine tool 100 based on the machine model 811 and draws the tools 6a and 6b used by the machine tool 100 based on the tool data 813. Further, the robot motion calculation unit 802 draws the robot 60 based on the robot model 812, and draws the tool 6c used by the robot 60 based on the tool data 814.
- the machine operation calculation unit 801 captures position data indicating each axis position of the drive unit 90 from the interpolation processing unit 38.
- the machine operation calculation unit 801 redraws the operation unit of the mechanism included in the machine tool 100 based on the captured position data.
- the machine operation calculation unit 801 draws, for example, the movement of the tool holders 11a and 11b of the machine tool 100 and the movement of the tools 6a and 6b.
- the robot motion calculation unit 802 acquires position data indicating each axis position of the robot 60 from the robot control unit 41.
- the robot motion calculation unit 802 redraws the moving unit of the mechanism included in the robot 60 based on the captured position data.
- the robot motion calculation unit 802 draws, for example, the movement of the robot arm 21 and the movement of the robot hand 22 including the tool 6c.
- the simulation control unit 80X displays the drawing result (drawing data) by the machine operation calculation unit 801 and the robot operation calculation unit 802 on the display unit 4 via the screen processing unit 31.
- the interference check unit 803 executes an interference check process between the robot 60 and the machine tool 100 (step S70). That is, the interference check unit 803 checks the overlap between the drawing data of the moving unit drawn by the machine operation calculation unit 801 and the drawing data of the moving unit drawn by the robot operation calculation unit 802. Specifically, the interference check unit 803 causes interference between the components shown in the following (1) to (4) based on each axis position of the machine tool 100 and each axis position of the robot 60. Judge whether or not. (1) Machine configuration of machine tool 100 based on machine model 811 (2) Tools 6a, 6b based on tool data 813 (3) Configuration of robot 60 based on robot model 812 (4) Tool 6c based on tool data 814
- the interference check unit 803 determines whether or not interference occurs between, for example, the tool holders 11a, 11b or tools 6a, 6b of the machine tool 100 and the robot arm 21, the robot hand 22, or the tool 6c of the robot 60. Check (step S80).
- the interference check unit 803 executes alarm processing (step S90). That is, the interference check unit 803 sends an operation stop signal to the interpolation processing unit 38 and the robot control unit 41, and at the same time, causes the display unit 4 to display an interference alarm via the screen processing unit 31.
- the interpolation processing unit 38 and the robot control unit 41 receive the operation stop signal from the interference check unit 803, the calculation processing is stopped.
- step S80, No the simulation control unit 80X ends the simulation process.
- the numerical control device 1X performs simulation drawing and interference check according to the actual operations of the machine tool 100 and the robot 60.
- the numerical control device 1X may perform simulation drawing and interference check without operating the machine tool 100 and the robot 60.
- the numerical control device 1X uses the machine lock function possessed by the numerical control device 1X.
- the machine lock function is a function that calculates position data but does not issue a command to the drive unit 90 and the robot controller 50. By using the machine lock function, the numerical control device 1X can perform simulation drawing and interference check without actually operating the machine tool 100 and the robot 60.
- the numerical control device 1X when the numerical control device 1X draws the machine tool 100 based on the position data used when controlling the machine model 811 and the machine tool 100, and controls the robot model 812 and the robot 60.
- the robot 60 is drawn based on the position data used in the above, and it is determined whether or not the robot 60 and the machine tool 100 collide with each other based on the drawn machine tool 100 and the machine tool 60.
- the numerical control device 1X can determine whether or not the robot 60 and the machine tool 100 collide with each other.
- Embodiment 2 Next, a second embodiment of the present invention will be described with reference to FIGS. 9 to 12.
- the machine tool 100 and the robot 60 are controlled so that the interference can be avoided, and the operation of the machine tool 100 and the robot 60 is continued.
- FIG. 9 is a diagram showing a configuration example of the numerical control device according to the second embodiment.
- components that achieve the same functions as the numerical control device 1X of the first embodiment shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
- the numerical control device 1Y includes a control calculation unit 2Y instead of the control calculation unit 2X.
- the simulation data 346 stored in the storage unit 34 of the control calculation unit 2Y includes the machine model 811, the robot model 812, the robot transit point, and the waiting time upper limit value. The robot transit point and the upper limit of the waiting time will be described later.
- the control calculation unit 2Y includes a simulation control unit 80Y instead of the simulation control unit 80X as compared with the control calculation unit 2X.
- the simulation control unit 80Y simulates the operation of the robot 60 and the operation of the machine tool 100 by calculation.
- the simulation control unit 80Y includes a machine operation calculation unit 801, a robot operation calculation unit 802, an interference check unit 803, and an interference avoidance processing unit 804. Note that in FIG. 9, the mechanical model 811, the robot model 812, and the tool data 833 and 814 that the simulation control unit 80Y acquires and stores from the storage unit 34 are not shown.
- the interference avoidance processing unit 804 changes a command to the robot 60 or the like in order to avoid interference between the machine tool 100 and the robot 60.
- the interference avoidance processing unit 804 determines whether or not the interference can be avoided by changing the posture of the robot 60.
- the interference avoidance processing unit 804 replaces the robot movement command, which is a movement command to the robot 60, with a robot movement command in which the posture of the robot 60 is changed. As a result, the interference avoidance processing unit 804 avoids the interference between the robot 60 and the machine tool 100.
- the interference avoidance processing unit 804 determines whether or not the interference can be avoided by inserting the robot movement command with the robot transit point as the target position.
- the robot transit point indicates a position where the robot 60 can pass through.
- the interference avoidance processing unit 804 When interference can be avoided by using the robot waypoint, the interference avoidance processing unit 804 generates interference with the machine tool 100 immediately before the robot movement command (command) that causes the machine tool 100 and the robot 60 to interfere with each other. By inserting a robot movement command that does not allow the robot 60 to move, the movement path of the robot 60 is changed. As a result, the interference avoidance processing unit 804 avoids the interference between the robot 60 and the machine tool 100.
- a command for avoiding interference is inserted immediately before a robot movement command that causes interference
- a command for avoiding interference causes interference. It may be inserted before the robot movement command to be stored.
- the interference avoidance processing unit 804 moves the robot 60 if the interfering component (interference target) is a moving part of the machine tool 100 such as tools 6a and 6b. Judge whether interference can be avoided by temporarily stopping. Specifically, the interference avoidance processing unit 804 acquires the waiting time upper limit value from the storage unit 34.
- the standby time upper limit value is an upper limit value of the time during which the robot 60 can be stopped. That is, the robot 60 can stand by if the time is equal to or less than the upper limit of the waiting time.
- the interference avoidance processing unit 804 determines whether or not interference can be avoided by stopping the robot 60 for a specific time equal to or less than the upper limit value of the standby time.
- the interference avoidance processing unit 804 waits immediately before the robot movement command that causes the robot 60 and the machine tool 100 to interfere with each other (dwell). Insert the command. As a result, the interference avoidance processing unit 804 avoids the interference between the robot 60 and the machine tool 100.
- the interference avoidance processing unit 804 causes interference between the robot 60 and the machine tool 100 by executing at least one of changing the posture of the robot 60, changing the path of the robot 60, and inserting a standby command. Avoid it. That is, the interference avoidance processing unit 804 combines the posture of the robot 60, the path of the robot 60, and the insertion of the standby command to avoid interference between the robot 60 and the machine tool 100. May be good.
- FIG. 10 is a diagram for explaining a first operation example of interference avoidance executed by the numerical control device according to the second embodiment.
- the interference avoidance processing unit 804 detects the interference
- the robot 60 is changed in posture to avoid the interference.
- FIG. 10 shows an operation of avoiding interference when the interference shown in FIG. 7 occurs.
- FIG. 10 shows a case where the posture of the robot 60 is changed while moving the tool 6c in the direction of the arrow D3.
- the interference avoidance processing unit 804 replaces the robot movement command so that the tip position and posture of the tool 6c held by the robot 60 do not change before and after the posture change.
- the interference avoidance processing unit 804 determines whether or not it is possible to avoid interference by replacing the robot movement command. If it can be avoided, the interference avoidance processing unit 804 operates the robot 60 according to the robot movement command capable of avoiding the interference.
- the interference avoidance processing unit 804 does not change the tip position and posture of the tool 6c before and after the change of the posture, and commands the robot movement so that the posture of the specific robot arm 21 changes.
- the first robot arm joined to the pedestal 23 is moved in the direction of the arrow D4a, and the second robot arm joined to the first robot arm is moved by the arrow D4b.
- the case where the posture of the robot 60 is changed by moving the robot 60 in the direction is shown.
- FIG. 11 is a diagram for explaining a second operation example of interference avoidance executed by the numerical control device according to the second embodiment.
- the interference avoidance processing unit 804 detects the interference
- the interference avoidance processing unit 804 avoids the interference by changing the movement path of the robot 60.
- FIG. 11 shows an operation of avoiding interference when the interference shown in FIG. 6 occurs.
- FIG. 11 shows a case where the movement path of the robot 60 is changed so that the tool 6c is moved in the direction of the arrow D5 and then the tool 6c is moved in the direction of the arrow D6.
- the interference avoidance processing unit 804 acquires the robot transit point P1 from the storage unit 34.
- the interference avoidance processing unit 804 inserts a robot movement command in which the robot passage point P1 is set as the target position (via position) of the interference target (tool 6c in FIG. 6) immediately before the robot movement command in which interference occurs. To determine if interference can be avoided.
- the interference avoidance processing unit 804 inserts the robot movement command via the robot transit point P1 immediately before the robot movement command that causes interference between the robot 60 and the machine tool 100, so that the robot 60 Change the movement route of the components provided by. As a result, the interference avoidance processing unit 804 avoids the interference between the robot 60 and the machine tool 100.
- the storage unit 34 may store a plurality of robot transit points P1. In this case, the interference avoidance processing unit 804 may apply a plurality of avoidance routes by using the plurality of robot passage points P1.
- FIG. 12 is a flowchart showing a processing procedure of interference check by the numerical control device according to the second embodiment.
- the description of the same processing as that described in the flowchart of FIG. 8 will be omitted.
- the numerical control device 1Y executes the same processing as the numerical control device 1X from steps S10 to S80. If no interference has occurred as a result of the interference check process (steps S80, No), the simulation control unit 80Y ends the simulation process.
- the interference avoidance processing unit 804 determines whether or not the interference can be avoided by changing the posture of the robot 60 (step S100). ).
- the interference avoidance processing unit 804 configures each axis position (robot 60) of the robot 60 so that the tip position and posture of the tool 6c in the command for avoiding interference are the same as the command in which interference occurs. Calculate the pattern of each axis position).
- the interference avoidance processing unit 804 determines whether or not the pattern of the shaft position that can avoid the interference can be calculated without changing the tip position and the posture of the tool 6c before and after the conversion of the robot movement command. That is, the interference avoidance processing unit 804 determines whether or not interference can be avoided when each axis position of the derived robot 60 is applied.
- the interference avoidance processing unit 804 determines that interference can be avoided by changing the posture of the robot 60 (step S100, Yes)
- the interference avoidance processing unit 804 changes the posture of the robot 60 (step S110). Specifically, the interference avoidance processing unit 804 replaces the robot movement command that causes interference with the robot movement command that changes the posture of the robot 60. As a result, the interference avoidance processing unit 804 changes the robot command that causes interference to the robot command in a posture that does not cause interference.
- the interference avoidance processing unit 804 executes the posture change processing of the robot 60 when the interference can be avoided by changing the posture of the robot 60 in the robot movement command for generating the interference.
- the interference avoidance processing unit 804 replaces the robot movement command that causes interference with a robot movement command that can avoid interference, and operates the robot 60.
- the interference avoidance processing unit 804 determines whether or not the interference can be avoided by changing the route of the robot 60. (Step S120). That is, the interference avoidance processing unit 804 determines whether or not the interference can be avoided by inserting the route change command immediately before the robot movement command in which the interference occurs. Specifically, the interference avoidance processing unit 804 determines whether or not interference can be avoided when the robot 60 passes through a preset robot transit point. At this time, the interference avoidance processing unit 804 can set an arbitrary number (one or a plurality) of robot transit points, and if a robot movement command passing through each robot transit point is inserted, can interference be avoided? Judge whether or not.
- the interference avoidance processing unit 804 determines that interference can be avoided by changing the route of the robot 60 (step S120, Yes)
- the interference avoidance processing unit 804 changes the movement route of the robot 60 (step S130). Specifically, the interference avoidance processing unit 804 inserts a movement command that does not cause interference immediately before the robot movement command that causes interference. In other words, the interference avoidance processing unit 804 inserts a robot movement command (route change command) with the robot transit point at which interference can be avoided as a target position immediately before the robot movement command in which interference occurs.
- the interference avoidance processing unit 804 issues a robot movement command with the robot transit point having the shortest movement distance, that is, the robot transit point that can move in the shortest time, as a target position. Insert just before the robot movement command.
- the interference avoidance processing unit 804 determines whether or not the interference can be avoided by waiting for the robot 60 (step S140). ). Specifically, the interference avoidance processing unit 804 determines whether or not the interference can be avoided by stopping the robot 60 while the interference target that the robot 60 interferes with is a movable part and the robot 60 is within the upper limit of the standby time. To do. That is, the interference avoidance processing unit 804 determines whether or not the object with which the robot 60 interferes is a movable part such as the tools 6a and 6b of the machine tool 100.
- the interference avoidance processing unit 804 stops the robot 60 while within the standby upper limit value range, so that the movable parts such as tools 6a and 6b move and the interference can be avoided. Decide whether to migrate.
- the interference avoidance processing unit 804 executes the standby processing for the robot 60. Specifically, the interference avoidance processing unit 804 inserts a standby command for a time during which interference can be avoided, that is, a standby command for stopping the robot 60, immediately before the robot command in which interference occurs (step S150).
- the interference check unit 803 executes alarm processing (step S160). That is, the interference check unit 803 sends an operation stop signal to the interpolation processing unit 38 and the robot control unit 41, and causes the display unit 4 to display an interference alarm via the screen processing unit 31.
- the interpolation processing unit 38 and the robot control unit 41 receive the operation stop signal from the interference check unit 803, the calculation processing is stopped.
- the numerical control device 1Y executes the posture change of the robot 60, the movement path of the robot 60, or the insertion of the standby command of the robot 60. Therefore, the interference between the robot 60 and the machine tool 100 can be avoided.
- Embodiment 3 Next, a third embodiment of the present invention will be described with reference to FIGS. 13 to 17.
- the shapes of the machining workpieces 5a and 5b during machining are simulated (hereinafter referred to as work simulation).
- FIG. 13 is a diagram showing a configuration example of the numerical control device according to the third embodiment.
- components that achieve the same functions as the numerical control devices 1X and 1Y are designated by the same reference numerals, and duplicate description will be omitted.
- the numerical control device 1Z includes a control calculation unit 2Z instead of the control calculation unit 2Y.
- the simulation data 346 stored in the storage unit 34 of the control calculation unit 2Z includes the machine model 811, the robot model 812, the robot transit point, the waiting time upper limit value, and the work data 815.
- the work data 815 is information on the machining workpieces 5a and 5b, and includes information such as the shape and mounting position of the machining workpieces 5a and 5b at the start of machining.
- the control calculation unit 2Z includes a simulation control unit 80Z instead of the simulation control unit 80Y as compared with the control calculation unit 2Y.
- the simulation control unit 80Z simulates changes in the shapes of the machining workpieces 5a and 5b by calculation.
- the simulation control unit 80Z includes a machine operation calculation unit 801, a robot operation calculation unit 802, an interference check unit 803, and an interference avoidance processing unit 804. Further, the simulation control unit 80Z of the present embodiment includes a movement locus calculation unit 805, a work position calculation unit 806, and a work shape calculation unit 807. Note that in FIG. 13, the mechanical model 811, the robot model 812, and the tool data 833 and 814 acquired by the simulation control unit 80Z from the storage unit 34 are not shown.
- the movement locus calculation unit 805 acquires the movement data of each axis of the machine tool 100 from the machine movement calculation unit 801 and the movement data of each axis of the robot 60 from the robot movement calculation unit 802.
- the movement locus calculation unit 805 calculates the movement locus of the tools 6a to 6c based on the movement data of each axis of the machine tool 100 and the movement data of each axis of the robot 60.
- the movement locus of the tool 6a or the tool 6b is the first movement locus
- the movement locus of the tool 6c is the second movement locus.
- the work position calculation unit 806 acquires the work data 815 from the storage unit 34.
- the work position calculation unit 806 calculates the positions of the machining workpieces 5a and 5b on the coordinate systems of the tools 6a to 6c and the robot 60. Specifically, the work position calculation unit 806 calculates the work position, which is the position of the machining work 5a and 5b, based on the work data 815, the machine model 811 and the robot model 812.
- the work shape calculation unit 807 calculates the shape (temporal change of the shape) of the machining workpieces 5a and 5b based on the movement locus of the tools 6a to 6c and the positions of the machining workpieces 5a and 5b. .. Further, the work shape calculation unit 807 causes the display unit 4 to display the shapes of the machined works 5a and 5b being machined via the screen processing unit 31.
- FIG. 14 is a diagram for explaining the operation of the robot and the machine tool when the numerical control device according to the third embodiment performs a work simulation.
- FIG. 15 is a diagram showing an example of screen display when the work simulation shown in FIG. 14 is executed.
- FIG. 14 shows a state in which the machine tool 100 executes turning in the first system Q1 and the second system Q2, and then the robot 60 executes chamfering in the third system Q3 under robot control.
- the first system Q1 is a system including the tool 6a
- the second system Q2 is the system including the tool 6b
- the third system Q3 is the system including the tool 6c.
- the first system Q1 including the tool 6a processes the machining work 5a
- the second system Q2 including the tool 6b processes the machining work 5b
- the third system Q3 including the tool 6c processes the machining work 5a.
- the machining work 5a is machined to the chamfering position P2 by the first system Q1 including the tool 6a
- the machining work 5a is chamfered at the chamfering position P2 by the third system Q3 including the tool 6c while the machining by the first system Q1 is continued. Processing is done.
- the display unit 4 included in the numerical control device 1Z displays the machining workpieces 5a and 5b in the process of machining, and also displays the tools 6a to 6c of the machine tool 100 and the robot 60.
- the screen 133 shown in FIG. 15 shows a case where the machining work 5a in the middle of machining and the tool 6a of the machine tool 100 are displayed when the turning process is executed in the first system Q1.
- the case where the tool 6c of the robot 60 is displayed is shown. That is, on the screen 133, the simulation result of the turning process stage by the first system Q1 of the machine tool 100 is displayed, and on the screen 134, the simulation result of the chamfering process stage by the third system Q3 of the robot 60 is displayed.
- FIG. 16 is a diagram showing an example in which the shape of the machined work at the chamfered position shown in FIG. 15 is enlarged and displayed.
- the image of the chamfered position P2 of the machining work 5a is enlarged and displayed.
- hatching is attached to the portion of the machining work 5a.
- FIG. 17 is a flowchart showing a processing procedure of work simulation by the numerical control device according to the third embodiment.
- FIG. 17 describes a work simulation for the machining work 5a in the first system Q1 and the third system Q3.
- the description of the same processing as that described in the flowchart of FIG. 8 will be omitted.
- the numerical control device 1Z executes turning by the machine tool 100 in the first system Q1 and chamfering by the robot 60 in the third system Q3. It is assumed that the processing of the first system Q1 and the processing of the third system Q3 are performed in parallel.
- the analysis processing unit 37 analyzes the NC program (step S10A). That is, the analysis processing unit 37 analyzes the machine drive command, which is a command to the drive unit 90 of the machine tool 100.
- the interpolation processing unit 38 performs interpolation processing of the machine drive command using the analysis result of the machine drive command (step S20). Then, the interpolation processing unit 38 executes arithmetic processing of the machine tool operation, which is the operation of the machine tool 100, based on the machine drive command that has been interpolated (step S30).
- the machine operation obtained by the arithmetic processing by the interpolation processing unit 38 includes information on each axis position of the drive unit 90 included in the machine tool 100.
- the movement locus calculation unit 805 executes the calculation process of the first tool movement locus, which is the movement locus of the tool 6a (step S200). Specifically, the movement locus calculation unit 805 calculates the movement locus of the tool 6a based on each axis position of the drive unit 90 included in the machine tool 100, the machine model 811 and the tool data 813.
- the robot command analysis unit 371 of the analysis processing unit 37 analyzes the NC program (step S10B). That is, the robot command analysis unit 371 analyzes the robot command, which is a command to the robot 60.
- the robot control unit 41 converts the NC program to the robot 60 into a robot program by using the analysis result of the command to the robot 60 (step S40). Further, the robot control unit 41 executes arithmetic processing of the robot operation, which is the operation of the robot 60, based on the robot program (step S50).
- the robot operation obtained by the arithmetic processing by the robot control unit 41 includes information on each axis position of the robot 60.
- the movement locus calculation unit 805 executes the calculation processing of the second tool movement locus, which is the movement locus of the tool 6c (step S210). Specifically, the movement locus calculation unit 805 calculates the movement locus of the tool 6c based on each axis position of the robot 60, the robot model 812, and the tool data 814.
- the work position calculation unit 806 After the movement locus calculation unit 805 calculates the movement locus of the tools 6a and 6c, the work position calculation unit 806 performs the work position calculation unit 806 at the position of the machining work 5a based on the work data 815, the machine model 811 and the robot model 812. The arithmetic processing of a certain work position is executed (step S220). That is, the work position calculation unit 806 calculates the position of the machine tool 5a in the machine tool 100 by the work position calculation process.
- the work shape calculation unit 807 executes the work shape calculation process (step S230). Specifically, the work shape calculation unit 807 calculates the shape of the machining work 5a during machining based on the movement locus of the tools 6a to 6c and the position of the machining work 5a. That is, the work shape calculation unit 807 is the machined work 5a after being machined to a specific region based on the movement locus of the tools 6a and 6c calculated in steps S200 and S210 and the work position calculated in step S220. Calculate the shape of. In other words, the work shape calculation unit 807 calculates the time change of the work shape. At this time, the work shape calculation unit 807 calculates the shape of the machined work 5a excluding the portions where the tools 6a and 6c have passed.
- the simulation control unit 80Z executes the drawing process (step S240). Specifically, the work shape calculation unit 807 draws the calculated shape of the processing work 5a during processing, and sends the drawn data to the screen processing unit 31. As a result, the display unit 4 displays the shape of the machining work 5a during machining.
- the simulation control unit 80Z can calculate the shape of the machining work 5b during machining in the same manner as the machining work 5a.
- the simulation control unit 80Z may check the interference between the robot 60 and the machining workpieces 5a and 5b by using the calculated machining workpieces 5a and 5b, or may avoid the interference. Further, the simulation control unit 80Z may check the interference between the machine tool 100 and the machining workpieces 5a and 5b by using the calculated machining workpieces 5a and 5b, or may avoid the interference.
- the numerical control device 1Z calculates the movement locus of the tools 6a to 6c and calculates the shapes of the machining workpieces 5a and 5b based on the movement locus of the tools 6a to 6c.
- the shapes of the machining workpieces 5a and 5b being machined can be calculated.
- the numerical control device 1Z can calculate the shapes of the machining workpieces 5a and 5b being machined, it is possible to accurately check the interference between the machining workpieces 5a and 5b and the robot 60 and avoid the interference. Further, since the numerical control device 1Z can calculate the shapes of the machining workpieces 5a and 5b being machined, it is possible to accurately check the interference between the machining workpieces 5a and 5b and the machine tool 100 and avoid the interference.
- Embodiment 4 Next, a fourth embodiment of the present invention will be described with reference to FIGS. 18 to 22.
- the fourth embodiment it is determined whether or not interference occurs between the machine tool 100 and the robot 60 with respect to the manual operation of the machine tool 100 or the robot 60, and if it interferes, interference avoidance is avoided. Perform the action.
- FIG. 18 is a diagram showing a configuration example of the numerical control device according to the fourth embodiment.
- the components that achieve the same functions as the numerical control devices 1X, 1Y, and 1Z are designated by the same reference numerals, and redundant description will be omitted.
- the numerical control device 1L includes a control calculation unit 2L instead of the control calculation unit 2Y as compared with the numerical control device 1Y.
- the control calculation unit 2L includes an interference avoidance control unit 81 instead of the simulation control unit 80Y as compared with the control calculation unit 2Y.
- the control calculation unit 2L includes a robot control unit 41L instead of the robot control unit 41 as compared with the control calculation unit 2Y.
- the simulation data 346 stored in the storage unit 34 of the control calculation unit 2L includes the machine model 811 and the robot model 812.
- the interference avoidance control unit 81 has a function of executing a process for avoiding interference when manually operated, in addition to the function of the simulation control unit 80Y.
- the interference avoidance control unit 81 determines whether or not interference occurs between the machine tool 100 and the robot 60 in response to a manual operation on the machine tool 100 or the robot 60, and if it interferes, the machine tool 100 In order to avoid interference between the robot 60 and the robot 60, the command to the robot 60 and the like are changed.
- the interference avoidance control unit 81 includes a machine operation calculation unit 851, a robot operation calculation unit 852, an interference check unit 853, and an interference avoidance processing unit 854.
- the machine operation calculation unit 851 acquires the machine model 811 and the tool data 813 from the storage unit 34. Further, the robot motion calculation unit 852 acquires the robot model 812 and the tool data 814 from the storage unit 34. Note that in FIG. 18, the mechanical model 811, the robot model 812, and the tool data 833 and 814 that the interference avoidance control unit 81 acquires from the storage unit 34 and stores are omitted.
- the machine motion calculation unit 851 has a function of calculating the position and shape of the machine tool 100 when manually operated, in addition to the functions of the machine motion calculation unit 801.
- the machine operation calculation unit 851 determines the position of the machine tool 100 after the movement and the position of the machine tool 100 based on the movement target, the movement amount, the machine model 811 and the tool data 813. Calculate the shape.
- the machine operation calculation unit 851 transmits the calculated position and shape of the machine tool 100 after movement to the interference check unit 853.
- the robot motion calculation unit 852 has a function of calculating the position and shape of the robot 60 when manually operated, in addition to the functions of the robot motion calculation unit 802.
- the robot motion calculation unit 852 determines the position and shape of the robot 60 after the movement based on the movement target, the movement amount, the robot model 812, and the tool data 814. calculate.
- the robot motion calculation unit 852 transmits the calculated position and shape of the robot 60 after movement to the interference check unit 853.
- the interference check unit 853 determines whether or not the machine tool 100 and the robot 60 interfere with each other based on the position and shape of the moving object after movement by manual operation.
- the interference avoidance processing unit 854 generates movement data in which the posture of the robot 60 is changed and transmits the movement data to the robot control unit 41L.
- the input operation unit 3 of the numerical control device 1L includes a manual handle 55, a jog button 57, and an axis selection switch 59. Further, the robot control unit 41L of the numerical control device 1L includes a robot manual operation unit 415. Further, the interpolation processing unit 38 of the numerical control device 1L includes a manual availability determination unit 382M.
- the manual handle 55 is a handle for controlling the amount of movement of the robot 60 in the axial direction.
- the manual handle 55 is a manual pulse generator.
- the manual handle 55 sends a movement amount corresponding to the operation to the control calculation unit 2L. This movement amount is sent to the robot manual operation unit 415 via the storage unit 34.
- the manual handle 55 may be used when manipulating the amount of movement of the machine tool 100 in the axial direction. That is, the user may operate the robot 60 and the machine tool 100 with one manual handle 55.
- a changeover switch (changeover switch 15 described later) for switching the manual operation target by the manual handle 55 is arranged on the operation panel (operation panel 53 described later) that receives an operation from the user.
- the jog button 57 is a button for jogging the amount of movement of the robot 60 in the axial direction.
- the jog button 57 sends operation information corresponding to the operation to the control calculation unit 2L. This operation information is information corresponding to the movement amount, and is sent to the robot manual operation unit 415 via the storage unit 34.
- the axis selection switch 59 is a switch for selecting an axis to be manually operated with respect to the robot 60.
- An example of the axis selection switch 59 is a coordinate system in the machine tool 100, in which a switch that specifies the X axis, a switch that specifies the Y axis, a switch that specifies the Z axis, a switch that specifies the A axis, and a switch that specifies the B axis. , A switch that specifies the C-axis.
- the axis selection switch 59 sends axis information indicating which axis the pressed or touched axis is to the control calculation unit 2L. This axis information is sent to the robot manual operation unit 415 via the storage unit 34.
- FIG. 19 is a diagram showing a configuration example of an operation panel included in the numerical control device according to the fourth embodiment.
- the operation panel 53 is arranged on the front surface of the machine tool 100 or the like. Further, a display unit 4 and a manual handle 55 are arranged on the front surface of the machine tool 100. In FIG. 19, the jog button 57 and the axis selection switch 59 are not shown.
- a changeover switch 15 for switching a manual operation target by the manual handle 55 is arranged on the operation panel 53.
- the changeover switch 15 has a switch for switching the manual operation target to the robot 60 and a switch for switching the manual operation target to the machine tool 100.
- the changeover switch 15 sends the manual operation target corresponding to the operation to the analysis processing unit 37 of the control calculation unit 2L.
- the analysis processing unit 37 moves the movement target corresponding to the manual operation based on the information sent from the input operation unit 3. It is analyzed whether it is a component of the robot 60 or a component of the machine tool 100. In this case, the user executes an operation of designating the component of the robot 60 to be manually operated or an operation of designating the component of the machine tool 100 to be manually operated to the input operation unit 3.
- the robot manual operation unit 415 includes a manual availability determination unit 421R and a movement data transmission unit 422.
- the manual availability determination unit 421R determines whether or not the robot 60 can be manually operated based on the state of the control system (hereinafter referred to as the system state). That is, the manual operation availability determination unit 421R determines whether or not the robot 60 can be manually operated based on at least one state of the robot 60, the numerical control device 1L, and the machine tool 100. Various data possessed by the numerical control device 1L are referred to in determining whether or not it is possible.
- the manual enable / disable determination unit 421R is manually operated, for example, when the robot is in an emergency stop state, communication with the robot controller 50 is not connected, or a user has invaded the intrusion prohibited area around the robot 60. Judge as impossible.
- the movement data transmission unit 422 generates a movement command based on the axis information selected by the axis selection switch 59 and the movement amount analyzed by the analysis processing unit 37, and sends the movement command to the robot controller 50.
- the numerical control device 1L can operate the robot 60 via the robot controller 50.
- the movement amount analyzed by the analysis processing unit 37 corresponds to the information sent from the jog button 57 or the manual handle 55. That is, the movement amount analyzed by the analysis processing unit 37 corresponds to the manual operation of the jog button 57 or the manual handle 55.
- the manual availability determination unit 382M determines whether or not the machine tool 100 can be manually operated based on the system state. That is, the manual availability determination unit 382M determines whether or not the machine tool 100 can be manually operated based on at least one state of the robot 60, the numerical control device 1L, and the machine tool 100. Various data possessed by the numerical control device 1L are referred to in determining whether or not it is possible.
- the manual availability determination unit 382M determines that manual operation is not possible, for example, when the user is in an emergency stop state or when a user has invaded the intrusion prohibited area around the machine tool 100.
- the analysis processing unit 37 of the present embodiment receives the manual operation target (movement target) switched by the changeover switch 15 and the operation information corresponding to the operation to the jog button 57.
- the analysis processing unit 37 calculates the movement amount based on the received operation information and sends the movement amount to the robot manual operation unit 415.
- the analysis processing unit 37 calculates the movement amount based on the received operation information and sends the movement amount to the interpolation processing unit 38.
- the robot manual operation unit 415 When the robot manual operation unit 415 receives the movement amount, the robot manual operation unit 415 sends the movement amount to the robot motion calculation unit 852. Further, when the interpolation processing unit 38 receives the movement amount, the interpolation processing unit 38 sends the movement amount to the machine operation calculation unit 851.
- the robot motion calculation unit 852 receives the movement amount from the robot manual operation unit 415, it determines that the movement target is the robot 60, and calculates the position and shape of the robot 60 after the movement based on the movement amount.
- the robot motion calculation unit 852 transmits the calculated position and shape of the robot 60 after movement to the interference check unit 853.
- the machine operation calculation unit 851 receives the movement amount from the interpolation processing unit 38, it determines that the movement target is the machine tool 100, and calculates the position and shape of the machine tool 100 after the movement based on the movement amount.
- the machine operation calculation unit 851 transmits the calculated position and shape of the machine tool 100 after movement to the interference check unit 853.
- the interference check unit 853 When the interference check unit 853 receives the position and shape of the robot 60 after movement from the robot motion calculation unit 852, it causes interference based on the position and shape of the robot 60 after movement and the position and shape of the machine tool 100. To check. In this case, the interference check unit 853 sends the presence / absence of interference to the manual availability determination unit 421R.
- the interference check unit 853 When the interference check unit 853 receives the position and shape of the machine tool 100 after movement from the machine operation calculation unit 851, the interference check unit 853 interferes based on the position and shape of the machine tool 100 after movement and the position and shape of the robot 60. Check. In this case, the interference check unit 853 sends the presence / absence of interference to the manual availability determination unit 382M.
- the manual availability determination unit 421R determines that manual operation is not possible, and prohibits the movement data transmission unit 422 from transmitting data to the robot controller 50. If there is no interference, the manual availability determination unit 421R determines whether or not to allow the mobile data transmission unit 422 to transmit data to the robot controller 50 based on the system state.
- the manual availability determination unit 382M determines that manual operation is not possible, and prohibits the interpolation processing unit 38 from transmitting data to the acceleration / deceleration processing unit 39. If there is no interference, the manual availability determination unit 382M determines whether to allow the interpolation processing unit 38 to transmit data to the acceleration / deceleration processing unit 39 based on the system state. If there is interference, the interference check unit 853 may display an interference alarm on the display unit 4 via the screen processing unit 31.
- FIG. 20 is a diagram showing an example of an interference alarm displayed on a display unit included in the numerical control device according to the fourth embodiment.
- the display unit 4 displays a message such as "cannot move due to interference caused by manual operation" on the screen as an interference alarm.
- the interference avoidance processing unit 854 may be able to avoid the interference by changing the posture of the robot 60. For example, when the user specifies the linear axis of the robot 60 with the axis selection switch 59 and moves the linear axis, interference may be avoided depending on the posture of the robot 60. Therefore, when the interference check unit 853 determines that there is interference, the interference avoidance processing unit 854 determines whether or not interference avoidance is possible by changing the posture. When interference avoidance is possible, the interference avoidance processing unit 854 notifies the manual propriety determination unit 421R that the manual operation is possible, and transmits the movement data whose posture has been changed to the manual propriety determination unit 421R. The interference avoidance processing unit 854 calculates the movement data for changing the posture of the robot 60 by the same method as the interference avoidance processing unit 804.
- FIG. 21 is a diagram for explaining an operation example of interference avoidance executed by the numerical control device according to the fourth embodiment.
- the numerical control device 1L avoids interference by changing the posture of the robot 60, for example.
- the robot 60 shown on the left side of FIG. 21 shows a state in which the robot arm 21 collides with the conveyed object 7, and the robot 60 shown on the right side of FIG. 21 shows the axis of the robot 60 so that the robot arm 21 does not collide with the conveyed object 7. It shows the state where the angle is changed.
- the interference avoidance processing unit 854 will perform the interference avoidance processing unit 854. , Check if interference can be avoided by changing the posture. Specifically, the interference avoidance processing unit 854 calculates the angles of the axes A1, A2, and A3 of the robot 60 so that the tip position and posture of the robot hand 22 do not change before and after the posture change, and the posture of the calculated angles. Check if it interferes with.
- the axis of the first robot arm joined to the pedestal 23 is the axis A1
- the axis of the second robot arm joined to the first robot arm is the axis A2.
- the axis of the third robot arm joined to the second robot arm is the axis A3.
- FIG. 21 shows a case where the angles of the axes A1 and A2 are changed.
- the interference avoidance processing unit 854 calculates a posture that can avoid interference while keeping the tip position and posture of the robot hand 22 unchanged before and after the posture change by not changing the angle of the axis A3.
- the interference avoidance processing unit 854 repeats the process of recalculating the angles of the axes A1, A2 and A3 and the process of checking whether or not they interfere. Interference can be avoided only when the angles of the axes A1, A2, and A3 that do not interfere can be calculated.
- FIG. 22 is a flowchart showing a processing procedure of interference check and interference avoidance by the numerical control device according to the fourth embodiment.
- the numerical control device 1L determines the presence or absence of interference before performing the actual operation corresponding to the manual operation on the machine tool 100 or the robot 60, and when there is no interference. Causes the machine tool 100 or the robot 60 to perform an actual operation corresponding to a manual operation.
- the analysis processing unit 37 analyzes the manual operation (step S310). Specifically, the analysis processing unit 37 analyzes whether the moving target corresponding to the manual operation is the robot 60 or the machine tool 100 based on the information sent from the changeover switch 15. Further, the analysis processing unit 37 analyzes whether the moving target corresponding to the manual operation is a component of the robot 60 or a component of the machine tool 100 based on the information sent from the input operation unit 3. .. Further, the analysis processing unit 37 analyzes the operation information sent from the jog button 57 or the manual handle 55.
- the analysis processing unit 37 determines whether or not the moving target is the machine tool 100. That is, the analysis processing unit 37 determines whether or not the manual operation corresponds to the movement of the components of the machine tool 100 (step S320). When the movement target is a component of the machine tool 100 (step S320, Yes), the analysis processing unit 37 transfers the movement target and the movement amount to the machine operation calculation unit 851 via the storage unit 34 and the interpolation processing unit 38. send.
- the machine motion calculation unit 851 calculates the position and shape of the machine tool 100 after movement according to the manual operation, based on the movement target, the movement amount, the machine model 811 and the tool data 813.
- the interference check unit 853 checks for interference with the robot 60 (step S330). That is, the interference check unit 853 determines whether or not the machine tool 100 when moved by manual operation interferes with the robot 60. Specifically, the interference check unit 853 determines whether or not the machine tool 100 interferes with the robot 60 based on the position and shape of the machine tool 100 after movement and the position and shape of the robot 60. At this time, the interference check unit 853 calculates the position and shape of the robot 60 based on the robot model 812 and the tool data 814. Further, the interference check unit 853 calculates the position and shape of the machine tool 100 after movement based on the machine model 811, the tool data 813, the movement target, and the movement amount.
- the interference check unit 853 determines that it interferes (step S340, Yes)
- the interference check unit 853 determines that there is no interference (step S340, No)
- the interference check unit 853 notifies the manual availability determination unit 382M that the machine tool 100 can be moved (step S350).
- the interpolation processing unit 38 generates data for controlling the machine tool 100 based on the movement target and the movement amount, and sends the data to the acceleration / deceleration processing unit 39. As a result, the machine tool 100 is controlled according to a manual operation.
- the analysis processing unit 37 transmits the movement target and the movement amount to the robot motion calculation unit 852 via the storage unit 34 and the robot manual operation unit 415. send.
- the robot motion calculation unit 852 calculates the position and shape of the robot 60 after movement based on the movement target, the movement amount, the robot model 812, and the tool data 814.
- the interference check unit 853 checks for interference with the machine tool 100 (step S370). That is, the interference check unit 853 determines whether or not the robot 60, which is moved by manual operation, interferes with the machine tool 100. Specifically, the interference check unit 853 determines whether or not the robot 60 interferes with the machine tool 100 based on the position and shape of the robot 60 after movement and the position and shape of the machine tool 100.
- the interference check unit 853 determines that it interferes (step S380, Yes)
- the interference avoidance processing unit 854 calculates the interference avoidance operation by changing the posture of the robot 60 (step S390).
- the interference check unit 853 determines whether or not interference can be avoided (step S400).
- the interference check unit 853 determines that it is impossible to avoid the interference (step S400, No)
- the interference check unit 853 notifies the manual propriety determination unit 421R that the robot 60 cannot be moved (step S410). Further, the interference check unit 853 stops the axis included in the robot 60 and causes the display unit 4 to display the interference alarm.
- step S400 when the interference check unit 853 determines that the interference can be avoided (step S400, Yes), the interference check unit 853 notifies the manual propriety determination unit 421R that the robot 60 can be moved (step S400, Yes). Step S420). Further, the interference check unit 853 sends an operation command for avoiding interference to the moving data transmission unit 422 (step S430).
- the interference avoidance operation command includes movement data to the robot 60 that can avoid interference.
- the movement data transmission unit 422 sends movement data to the robot 60 based on the operation command for avoiding interference. As a result, the robot 60 is controlled according to the manual operation.
- step S380 when it is determined that the robot does not interfere (step S380, No), the interference check unit 853 notifies the manual availability determination unit 421R that the robot 60 can be moved (step S440).
- the robot control unit 41 generates data for controlling the robot 60 using the movement target and the movement amount, and sends the data to the robot controller 50. As a result, the robot 60 is controlled by the numerical control device 1L.
- the fourth embodiment it is determined whether or not interference occurs between the machine tool 100 and the robot 60 with respect to the manual operation of the machine tool 100 or the robot 60, and when the interference occurs. Performs an interference avoidance operation, so that interference during manual operation can be avoided.
- Embodiment 5 Next, a fifth embodiment of the present invention will be described with reference to FIG. 23.
- the machine learning device learns the presence or absence of interference.
- FIG. 23 is a diagram showing a configuration example of the numerical control device according to the fifth embodiment.
- the components that achieve the same function as the numerical control device 1Y are designated by the same reference numerals, and duplicate description will be omitted.
- the numerical control device 1M includes a control calculation unit 2M instead of the control calculation unit 2Y.
- the control calculation unit 2M includes a machine learning device 70 in addition to the components included in the control calculation unit 2Y.
- the machine learning device 70 is connected to the simulation control unit 80Y and the analysis processing unit 37.
- the machine learning device 70 learns the presence or absence of interference between the machine tool 100 and the robot 60 by using the simulation position information (r), the NC program information (r), and the interference information (r). That is, the machine learning device 70 learns the estimation process of the presence or absence of interference.
- the simulation position information (r) is position data obtained by the simulation control unit 80Y calculating the positions of the machine tool 100 and the robot 60 using the simulation data 346 when determining the presence or absence of interference.
- the simulation control unit 80Y sends the simulation position information (r) to the screen processing unit 31 when determining the presence / absence of interference, and sends the simulation position information (r) to the machine learning device when learning the presence / absence of interference. Send to 70.
- the NC program information (r) is the NC program information used by the analysis processing unit 37 when determining the presence or absence of interference.
- the interference information (r) is collision information indicating whether the machine tool 100 collides with the robot 60.
- the interference information (r) includes information indicating the presence or absence of interference (collision), information indicating the position of interference, and information indicating an interfering component (interference target).
- the machine learning device 70 includes a state observation unit 71, a data acquisition unit 72, and a learning unit 73.
- the state observation unit 71 acquires the simulation position information (r) from the simulation control unit 80Y and the NC program information (r) from the analysis processing unit 37.
- the state observation unit 71 observes the simulation position information (r) and the NC program information (r) as the state information (i).
- the state observation unit 71 outputs the state information (i), which is the result of data observation, to the learning unit 73.
- the data acquisition unit 72 acquires the interference information (r) from the interference check unit 803.
- the data acquisition unit 72 outputs the interference information (r) to the learning unit 73.
- the learning unit 73 learns the interference estimation information (n), which is information that estimates the presence or absence of interference, based on the data set created based on the combination of the state information (i) and the interference information (r).
- the state information (i) which is a state variable, is data in which the simulation position information (r) and the NC program information (r) are associated with each other.
- the machine learning device 70 is not limited to the one provided in the numerical control device 1M.
- the machine learning device 70 may be provided outside the numerical control device 1M.
- the machine learning device 70 may be provided in a device that can be connected to the numerical control device 1M via a network. That is, the machine learning device 70 may be a separate component connected to the numerical control device 1M via a network. Further, the machine learning device 70 may exist on the cloud server.
- the learning unit 73 uses, for example, according to a neural network model, by so-called supervised learning, state information (i) including simulation position information (r) and NC program information (r), and interference information (r) which is supervised data.
- state information (i) including simulation position information (r) and NC program information (r) including simulation position information (r) and NC program information (r)
- interference information (r) which is supervised data.
- the interference estimation information (n) is learned from and.
- supervised learning refers to a model in which a large number of sets of data of a certain input and a result are given to a learning device, features in those data sets are learned, and the result is estimated from the input.
- a neural network is composed of an input layer composed of a plurality of neurons, an intermediate layer (hidden layer) composed of a plurality of neurons, and an output layer composed of a plurality of neurons.
- the intermediate layer may be one layer or two or more layers.
- the values are weighted and input to the intermediate layer, and the result is further weighted and output from the output layer. .. This output result depends on the value of each weight.
- the neural network of the present embodiment learns the interference estimation information (n) by so-called supervised learning according to the data set created based on the combination of the state information (i) and the interference information (r) (estimated value). ) Is output.
- the neural network inputs the state information (i) including the simulation position information (r) and the NC program information (r) into the input layer, and the result output from the output layer becomes the interference information (r).
- the interference estimation information (n) is learned by adjusting the weights so as to approach each other.
- the neural network can also learn the interference estimation information (n) by so-called unsupervised learning.
- Unsupervised learning is to give a large amount of input data to the machine learning device 70 to learn how the input data is distributed and input it without giving the corresponding teacher data (output data). It is a method of learning by compressing, classifying, and shaping data.
- unsupervised learning features in a dataset can be clustered into similar ones.
- unsupervised learning the result of this clustering can be used to set some criteria and assign outputs that optimize these criteria to achieve output prediction.
- the machine learning device 70 may output the interference estimation information (n) as a learning result (estimated value) according to the data sets created for the plurality of numerical control devices.
- the machine learning device 70 may acquire a data set from a plurality of numerical control devices used at the same site, or may be collected from a plurality of numerical control devices operating independently at different sites. Interference estimation information (n) may be learned using a data set. Further, the machine learning device 70 can add a numerical control device for collecting a data set to the target on the way, or conversely, separate it from the target. Further, the machine learning device 70 that has learned the interference estimation information (n) for a certain numerical control device is attached to another numerical control device, and the interference estimation information (n) is relearned for the other numerical control device. You may update it.
- the learning unit 73 may execute machine learning according to other known methods such as genetic programming, functional logic programming, and support vector machines.
- the machine learning device 70 outputs the estimated interference estimation information (n) to the simulation control unit 80Y.
- the simulation control unit 80Y stops the machine tool 100 at the block end before the block of the NC program in which the interference is presumed to occur, not immediately before the interference occurs. This is because if the machine tool 100 or the robot 60 is stopped immediately before the interference occurs, it may take a long time to stop and the interference may occur depending on the moving speed of the machine tool 100 or the robot 60.
- the simulation control unit 80Y stops the machine tool 100 at the block end before the block of the NC program in which the occurrence of interference is presumed, so that the interference can be prevented.
- the machine learning device 70 uses the interference estimation information based on the data set in which the interference information (r), the simulation position information (r), and the NC program information (r) are associated with each other. (N) is being learned. Therefore, the machine learning device 70 can calculate the interference estimation information (n) based on the state information (i).
- Embodiment 6 Next, a sixth embodiment of the present invention will be described with reference to FIG. 23.
- the machine learning device 70 is applied to the operation of the control calculation unit 2L described in the fourth embodiment.
- the interference information (r) is added to the state information (i), and the interference avoidance program information (r) is used for the teacher data instead of the interference information (r).
- the machine learning device 70 learns the interference avoidance estimation information (n) instead of the interference estimation information (n).
- the interference avoidance program information (r) is the information of the NC program used by the interference avoidance processing unit 804 when avoiding the interference.
- the interference avoidance estimation information (n) is information in which a command for avoiding interference is inferred.
- the machine learning device 70 learns the interference avoidance estimation information (n) by using the simulation position information (r), the NC program information (r), and the interference information (r), that is, the machine learning device 70 , Guess the NC program command used to avoid interference.
- the state observation unit 71 of the present embodiment observes the simulation position information (r), the NC program information (r), and the interference information (r) as the state information (i).
- the state observation unit 71 outputs the state information (i), which is the result of data observation, to the learning unit 73.
- the data acquisition unit 72 acquires the interference avoidance program information (r) from the interference avoidance processing unit 804.
- the data acquisition unit 72 outputs the interference avoidance program information (r) to the learning unit 73.
- the interference avoidance processing unit 804 sends interference avoidance program information (r) to the robot control unit 41 when avoiding interference, and machine learns interference avoidance program information (r) when learning to avoid interference. Send to device 70.
- the state observation unit 71 observes the simulation position information (r), the NC program information (r), and the interference information (r) as the state information (i).
- the learning unit 73 of the present embodiment has interference avoidance estimation information (n) based on a data set created based on a combination of state information (i) and interference avoidance program information (r) which is teacher data.
- the data set is data in which the state information (i) and the interference avoidance program information (r), which are state variables, are associated with each other.
- the learning unit 73 uses, for example, according to a neural network model, by so-called supervised learning, the interference avoidance estimation information (n) from a data set in which the state information (i) and the interference avoidance program information (r) are associated with each other. To learn.
- the state information (i) including the simulation position information (r), the NC program information (r), and the interference information (r) is input to the input layer, and the result output from the output layer interferes.
- the interference avoidance estimation information (n) is learned by adjusting the weight so as to approach the avoidance program information (r).
- the neural network of the present embodiment outputs interference avoidance guess information (n) as a learning result (guessed command) by so-called supervised learning.
- the neural network of the present embodiment can also learn the interference avoidance guessing information (n) by so-called unsupervised learning.
- the machine learning device 70 may output the interference avoidance estimation information (n) as a learning result (estimated value) according to the data sets created for the plurality of numerical control devices. Further, the machine learning device 70 that has learned the interference avoidance estimation information (n) for a certain numerical control device is attached to another numerical control device, and the interference avoidance estimation information (n) is regenerated for the other numerical control device. You may learn and update.
- the interference avoidance control unit 81 inserts a command corresponding to the interference avoidance estimation information in the block before the block of the NC program in which the interference is estimated to occur, not immediately before the interference occurs.
- the command corresponding to the interference avoidance guess information is an NC program command capable of avoiding interference.
- the machine learning device 70 associates the interference information (r), the simulation position information (r), the NC program information (r), and the interference avoidance program information (r) with each other.
- the interference avoidance estimation information (n) is learned based on the data set. Therefore, the machine learning device 70 can calculate the interference avoidance program information (n) based on the state information (i).
- At least one of the numerical control devices 1X to 1Z may include a robot manual operation unit 415. Further, at least one of the numerical control devices 1X to 1Z may include a machine learning device 70.
- FIG. 24 is a diagram showing a hardware configuration example of a control calculation unit included in the numerical control device according to the embodiment. Since the control calculation unit 2X, 2Y, 2Z, 2L, and 2M have the same hardware configuration, the hardware configuration of the control calculation unit 2X will be described here.
- the control calculation unit 2X can be realized by the processor 301, the memory 302, and the interface circuit 303 shown in FIG. 24.
- An example of the processor 301 is a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
- Examples of the memory 302 are RAM (Random Access Memory) and ROM (Read Only Memory).
- the control calculation unit 2X is realized by the processor 301 reading and executing a program stored in the memory 302 for executing the operation of the control calculation unit 2X. It can also be said that this program causes the computer to execute the procedure or method of the control calculation unit 2X.
- the memory 302 is also used as a temporary memory when the processor 301 executes various processes.
- control calculation unit 2X may be realized by dedicated hardware, and some may be realized by software or firmware. Further, the machine learning device 70 may be realized by the hardware shown in FIG. 24.
- the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112019007579.9T DE112019007579B4 (de) | 2019-09-13 | 2019-09-13 | Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät |
CN201980100202.4A CN114365047B (zh) | 2019-09-13 | 2019-09-13 | 数控装置及机器学习装置 |
JP2020552910A JP6914452B1 (ja) | 2019-09-13 | 2019-09-13 | 数値制御装置、および機械学習装置 |
PCT/JP2019/036198 WO2021049028A1 (ja) | 2019-09-13 | 2019-09-13 | 数値制御装置、および機械学習装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/036198 WO2021049028A1 (ja) | 2019-09-13 | 2019-09-13 | 数値制御装置、および機械学習装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021049028A1 true WO2021049028A1 (ja) | 2021-03-18 |
Family
ID=74866981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/036198 WO2021049028A1 (ja) | 2019-09-13 | 2019-09-13 | 数値制御装置、および機械学習装置 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6914452B1 (zh) |
CN (1) | CN114365047B (zh) |
DE (1) | DE112019007579B4 (zh) |
WO (1) | WO2021049028A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7157281B1 (ja) * | 2022-04-18 | 2022-10-19 | ファナック株式会社 | ロボット制御装置、数値制御システム及び数値制御方法 |
US11878424B2 (en) | 2021-12-06 | 2024-01-23 | Fanuc Corporation | Point set interference check |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021008096T5 (de) | 2021-10-28 | 2024-07-04 | Fanuc Corporation | Simulationsvorrichtung, die hilfsdateien erzeugt, und steuersystem |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07223181A (ja) * | 1994-02-09 | 1995-08-22 | Yaskawa Electric Corp | マニピュレータの干渉チェック装置 |
JP4653836B2 (ja) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | シミュレーション装置 |
JP2015160253A (ja) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | 軌道生成方法、ロボット装置、プログラム及び記録媒体 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10226140A1 (de) * | 2002-06-13 | 2004-01-08 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten |
JP4249794B1 (ja) * | 2007-10-29 | 2009-04-08 | ファナック株式会社 | ワーク搬送用ロボットの制御装置 |
WO2012101790A1 (ja) * | 2011-01-26 | 2012-08-02 | 三菱電機株式会社 | 数値制御装置 |
CN104345687B (zh) * | 2013-08-09 | 2017-10-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种刀具扫描体建模方法 |
JP6200456B2 (ja) * | 2015-06-29 | 2017-09-20 | ファナック株式会社 | 工作機械とロボット間の干渉チェックシステム |
JP6517762B2 (ja) | 2016-08-23 | 2019-05-22 | ファナック株式会社 | 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム |
JP6457469B2 (ja) * | 2016-12-08 | 2019-01-23 | ファナック株式会社 | 移動ロボットの干渉領域設定装置 |
CN207432246U (zh) * | 2017-09-27 | 2018-06-01 | 杭州新松机器人自动化有限公司 | 一种机械臂碰撞检测系统 |
JP6698603B2 (ja) * | 2017-09-29 | 2020-05-27 | ファナック株式会社 | 数値制御システム、及び運転状態異常検知方法 |
-
2019
- 2019-09-13 WO PCT/JP2019/036198 patent/WO2021049028A1/ja active Application Filing
- 2019-09-13 DE DE112019007579.9T patent/DE112019007579B4/de active Active
- 2019-09-13 CN CN201980100202.4A patent/CN114365047B/zh active Active
- 2019-09-13 JP JP2020552910A patent/JP6914452B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07223181A (ja) * | 1994-02-09 | 1995-08-22 | Yaskawa Electric Corp | マニピュレータの干渉チェック装置 |
JP4653836B2 (ja) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | シミュレーション装置 |
JP2015160253A (ja) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | 軌道生成方法、ロボット装置、プログラム及び記録媒体 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11878424B2 (en) | 2021-12-06 | 2024-01-23 | Fanuc Corporation | Point set interference check |
JP7157281B1 (ja) * | 2022-04-18 | 2022-10-19 | ファナック株式会社 | ロボット制御装置、数値制御システム及び数値制御方法 |
WO2023203617A1 (ja) * | 2022-04-18 | 2023-10-26 | ファナック株式会社 | ロボット制御装置、数値制御システム及び数値制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114365047B (zh) | 2023-02-03 |
CN114365047A (zh) | 2022-04-15 |
JP6914452B1 (ja) | 2021-08-04 |
JPWO2021049028A1 (ja) | 2021-10-07 |
DE112019007579B4 (de) | 2023-11-09 |
DE112019007579T5 (de) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110394780B (zh) | 机器人的仿真装置 | |
JP6914452B1 (ja) | 数値制御装置、および機械学習装置 | |
JP5436460B2 (ja) | 産業用ロボットシステム | |
JP2020128009A (ja) | ロボットを制御する方法 | |
JP5872894B2 (ja) | ロボット動作教示支援装置及び方法 | |
JP2019532827A (ja) | 衝突回避動作計画のための方法 | |
CN101957610A (zh) | 机床的刀具轨迹显示装置 | |
US20150120036A1 (en) | Machine Tool | |
CN118269089A (zh) | 用于机械手的运动模拟的方法 | |
JP2019188558A (ja) | 工具選定装置及び機械学習装置 | |
JP2009190113A (ja) | ロボットシミュレーション装置 | |
JP7259860B2 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
JP2021505990A (ja) | ツールパス仮想化および最適化システム、方法および装置 | |
KR102205034B1 (ko) | 표시 장치 | |
US20220143829A1 (en) | Determination of robot posture | |
WO2022054245A1 (ja) | 数値制御装置および産業機械制御システム | |
JP6811878B1 (ja) | 数値制御装置および数値制御方法 | |
EP3827935B1 (en) | Simulated robot trajectory | |
JP2021175595A (ja) | シミュレータ、ロボット教示装置、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
JP7328473B1 (ja) | 制御装置、産業機械のシステム、実行履歴データ表示方法、及びプログラム | |
JP7448651B2 (ja) | オフライン教示装置および動作プログラム生成方法 | |
WO2024100719A1 (ja) | 数値制御装置 | |
JP7232704B2 (ja) | ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム | |
US20230249347A1 (en) | Path planning during execution of robot control | |
JP2023062780A (ja) | ロボットデータ処理サーバ及び軌跡データ算出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2020552910 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19944705 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19944705 Country of ref document: EP Kind code of ref document: A1 |