WO2021049028A1 - Numerical control device and machine learning device - Google Patents
Numerical control device and machine learning device 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)
Abstract
A numerical control device (1X) includes: a machine operation computation unit (801) that calculates the position at a specific timing of a first constituent element provided to a machine tool (100) by using a machine model (811) and first position data which is used when controlling the position of the first constituent element; a robot operation computation unit (802) that calculates the position at the specific timing of a second constituent element provided to a robot (60) by using a robot model (812) and second position data which is used when controlling the position of the second constituent element; and an interference check unit (803) that determines, on the basis of the position of the first constituent element and the position of the second constituent element, whether the machine tool (100) and the robot (60) will collide.
Description
本発明は、ロボットおよび工作機械を制御する数値制御装置、および機械学習装置に関する。
The present invention relates to a numerical control device for controlling a robot and a machine tool, and a machine learning device.
数値制御装置の1つに、被加工物の加工を行う工作機械の制御と、被加工物の搬送および加工を行うロボットの制御とを並行して実行する制御装置がある。
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.
特許文献1に記載の数値制御装置は、指定経過時刻におけるロボットの動作位置、および指定経過時刻における工作機械の動作位置に基づいて、ロボットおよび工作機械の三次元モデルを表示装置上に表示させている。
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.
しかしながら、上記特許文献1の技術では、ロボットの動作と工作機械の動作とを表示しているものの、工作機械とロボットとが衝突するか否かを判断することができないという問題があった。
However, in the technique of 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.
上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、工作機械の動作シミュレーション用のデータである機械モデルと工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて、特定タイミングにおける第1の構成要素の位置を算出する機械動作演算部を有する。また、本発明の数値制御装置は、ロボットの動作シミュレーション用のデータであるロボットモデルとロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて特定タイミングにおける第2の構成要素の位置を算出するロボット動作演算部を有する。また、本発明の数値制御装置は、第1の構成要素の位置および第2の構成要素の位置に基づいて、工作機械とロボットとが衝突するか否かを判断する衝突判断部を有する。
In order to solve the above-mentioned problems and achieve the object, 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 according to the present invention has the effect of being able to determine whether or not a machine tool and a robot collide with each other.
以下に、本発明の実施の形態にかかる数値制御装置、および機械学習装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
Hereinafter, the numerical control device and the machine learning device according to the embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to these embodiments.
実施の形態1.
図1は、実施の形態1にかかる数値制御装置の構成例を示す図である。数値制御装置1Xは、制御演算部2Xと、入力操作部3と、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図1には、数値制御装置1Xとともに、工作機械100、ロボットコントローラ50、およびロボット60が示されている。数値制御装置1Xと、工作機械100と、ロボットコントローラ50と、ロボット60とで構成されるシステムが、制御システムである。Embodiment 1.
FIG. 1 is a diagram showing a configuration example of a numerical control device according to the first embodiment. Thenumerical 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. Have. 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.
図1は、実施の形態1にかかる数値制御装置の構成例を示す図である。数値制御装置1Xは、制御演算部2Xと、入力操作部3と、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図1には、数値制御装置1Xとともに、工作機械100、ロボットコントローラ50、およびロボット60が示されている。数値制御装置1Xと、工作機械100と、ロボットコントローラ50と、ロボット60とで構成されるシステムが、制御システムである。
FIG. 1 is a diagram showing a configuration example of a numerical control device according to the first embodiment. The
数値制御装置1Xは、駆動部90の各サーボ制御部と通信を実行するとともに、ロボットコントローラ50との間で通信を実行する。数値制御装置1Xは、工作機械100に対して工具を使った加工ワーク(被加工物)の加工を実行させるとともに、ロボット60に対して加工ワークの搬送を実行させるコンピュータである。数値制御装置1Xは、GコードプログラムといったNC(Numerical Control)プログラムを用いて、工作機械100およびロボット60を制御する。加工プログラムであるNCプログラムには、工作機械100への指令と、ロボット60への指令とが含まれている。数値制御装置1Xは、NCプログラムのうちのロボット60への指令を、ロボットプログラムの指令に変換してロボット60を制御する。
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.
本実施の形態の数値制御装置1Xは、ロボット60と工作機械100とが干渉するか否かを判断し、干渉する場合にはアラームを発生させる。ロボット60と工作機械100との干渉は、工作機械100とロボット60との衝突と同義である。ロボット60と工作機械100との干渉には、ロボット60が把持する工具と工作機械100との干渉、工作機械100が把持する工具とロボット60との干渉、ロボット60が把持する工具と工作機械100が把持する工具との干渉が含まれる。
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.
工作機械100は、工具および加工ワークを駆動する駆動部90を備えている。駆動部90の例は、加工ワークを回転させながら工具を駆動する駆動機構である。実施の形態1では、工具の駆動方向が、例えばX軸方向に平行な方向とZ軸方向に平行な方向との2方向である。なお、軸方向は装置構成によるので、軸方向は、上記方向に限定されない。
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. In the first embodiment, 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.
駆動部90は、数値制御装置1X上で規定された各軸方向に工具を移動させるサーボモータ901,902と、サーボモータ901,902の位置および速度を検出する検出器97,98とを備えている。また、駆動部90は、数値制御装置1Xからの指令に基づいて、サーボモータ901,902を制御する各軸方向のサーボ制御部を備えている。各軸方向のサーボ制御部は、検出器97,98からの位置および速度に基づいて、サーボモータ901,902へのフィードバック制御を行う。
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.
サーボ制御部のうちの、X軸サーボ制御部91は、サーボモータ901を制御することによって工具のX軸方向の動作を制御し、Z軸サーボ制御部92は、サーボモータ902を制御することによって工具のZ軸方向の動作を制御する。なお、工作機械100が2つ以上の刃物台を備えていてもよい。この場合、駆動部90は、1つの刃物台毎に、1組のX軸サーボ制御部91と、Z軸サーボ制御部92と、サーボモータ901,902と、検出器97,98とを備える。
Of the servo control units, the X-axis servo control unit 91 controls the operation of the tool in the X-axis direction by controlling the servomotor 901, and 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. In this case, 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.
また、駆動部90は、加工ワークを回転させるための主軸を回転させる主軸モータ911と、主軸モータ911の位置および回転数を検出する検出器211とを備えている。検出器211が検出する回転数は、主軸モータ911の回転数に対応している。
Further, 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.
また、駆動部90は、数値制御装置1Xからの指令に基づいて、主軸モータ911を制御する主軸サーボ制御部200を備えている。主軸サーボ制御部200は、検出器211からの位置および回転数に基づいて、主軸モータ911へのフィードバック制御を行う。
Further, 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.
なお、工作機械100が2つの加工ワークを同時に加工する場合には、駆動部90は、主軸モータ911と、検出器211と、主軸サーボ制御部200とを2組備える。この場合、工作機械100は、2つ以上の刃物台を備えている。
When the machine tool 100 processes two workpieces at the same time, the drive unit 90 includes two sets of a spindle motor 911, a detector 211, and a spindle servo control unit 200. In this case, the machine tool 100 includes two or more tool rests.
入力操作部3は、制御演算部2Xに情報を入力する手段である。入力操作部3は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置1Xに対するコマンドなどの入力、またはNCプログラムもしくはパラメータなどを受付けて制御演算部2Xに入力する。表示部4は、液晶表示装置などの表示手段によって構成され、制御演算部2Xによって処理された情報を表示画面に表示する。表示部4の例は、液晶タッチパネルである。この場合、入力操作部3の一部の機能が、表示部4に配置されている。
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.
制御演算部2Xは、工作機械100の座標系で規定されたNCプログラムを用いて工作機械100およびロボット60を制御する。制御演算部2Xは、入力制御部32と、データ設定部33と、記憶部34と、画面処理部31と、解析処理部37と、制御信号処理部35と、PLC36と、補間処理部38と、加減速処理部39と、軸データ出力部40と、ロボット制御部41と、シミュレーション制御部80Xとを有する。なお、PLC36は、制御演算部2Xの外部に配置されてもよい。
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.
記憶部34は、パラメータ記憶エリア341、NCプログラム記憶エリア343、表示データ記憶エリア344、および共有エリア345を有している。また、記憶部34は、シミュレーション用データ346を記憶する記憶エリアを有している。
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.
パラメータ記憶エリア341内には、制御演算部2Xの処理で使用されるパラメータ等が格納される。具体的には、パラメータ記憶エリア341内には、数値制御装置1Xを動作させるための制御パラメータ、サーボパラメータおよび工具データ813,814が格納される。工具データ813は、工作機械100で用いられる工具のデータであり、工具データ814は、ロボット60で用いられる工具のデータである。工具データ813は、工作機械100で用いられる工具の形状の情報を含んでいる。工具データ814は、ロボット60で用いられる工具の形状の情報を含んでいる。工具データ813,814は、シミュレーション制御部80Xによって記憶部34内から読み出される。なお、以下の説明では、形状の情報には、形そのものの情報と、寸法の情報とが含まれているものとする。
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, and 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.
NCプログラム記憶エリア343内には、加工ワークの加工に用いられるNCプログラムが格納される。実施の形態1のNCプログラムは、工作機械100を制御するための指令と、ロボット60を制御するための指令とを含んでいる。
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.
表示データ記憶エリア344内には、表示部4で表示される画面表示データが格納される。画面表示データは、表示部4に情報を表示するためのデータである。また、記憶部34には、一時的に使用されるデータを記憶する共有エリア345が設けられている。
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. Further, the storage unit 34 is provided with a shared area 345 for storing data that is temporarily used.
シミュレーション用データ346は、工作機械100を描画することができるデータである機械モデル811と、ロボット60を描画することができるデータであるロボットモデル812とを含んでいる。機械モデル811およびロボットモデル812は、シミュレーション制御部80Xによって記憶部34内から読み出される。機械モデル811は、工作機械100の3次元構造を示す3次元データであり、ロボットモデル812は、ロボット60の3次元構造を示す3次元データである。
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, and the robot model 812 is three-dimensional data showing the three-dimensional structure of the robot 60.
機械モデル811は、実際に工作機械100が具備する加工室(加工槽)内の動作シミュレーション用のデータである。機械モデル811は、CAD(Computer Aided Design))データから生成される。ロボットモデル812は、ロボット60の動作シミュレーション用データである。ロボットモデル812は、CADデータから生成される。機械モデル811は、拡張子が「.mdl」等の機械モデルデータであり、ロボットモデル812は、拡張子が「.mdl」等のロボットモデルデータである。
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.
画面処理部31は、表示データ記憶エリア344に格納された画面表示データを表示部4に表示させる制御を行う。入力制御部32は、入力操作部3から入力される情報を受付ける。データ設定部33は、入力制御部32で受付けられた情報を記憶部34に記憶させる。すなわち、入力操作部3が受付けた入力情報は、入力制御部32およびデータ設定部33を介して記憶部34に書き込まれる。
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.
制御信号処理部35は、PLC36に接続されており、PLC36から、工作機械100の機械を動作させるリレーなどの信号情報を受付ける。制御信号処理部35は、受付けた信号情報を、記憶部34の共有エリア345に書き込む。これらの信号情報は、加工運転時に補間処理部38が参照する。また、制御信号処理部35は、解析処理部37によって共有エリア345に補助指令が出力されると、この補助指令を制御信号処理部35が共有エリア345から読み出してPLC36に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、MコードまたはTコードである。
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. Further, when 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.
PLC36は、PLC36が実行する機械動作が記述されたラダープログラムを格納している。PLC36は、補助指令であるTコードまたはMコードを受付けると、ラダープログラムに従って補助指令に対応する処理を工作機械100に実行する。PLC36は、補助指令に対応する処理を実行した後、NCプログラムの次のブロックを実行させるために、機械制御が完了したことを示す完了信号を制御信号処理部35に送る。
The PLC 36 stores a ladder program in which the machine operation executed by the PLC 36 is described. When 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. After executing the process corresponding to the auxiliary command, 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.
制御演算部2Xでは、制御信号処理部35と、解析処理部37と、補間処理部38と、ロボット制御部41と、シミュレーション制御部80Xとが記憶部34を介して接続されており、記憶部34を介して情報の書き込み、および読み出しを行う。以下の説明では、制御信号処理部35と、解析処理部37と、補間処理部38と、ロボット制御部41と、シミュレーション制御部80Xとの間の情報の書き込み、および読み出しを説明する際に記憶部34が介されていることを省略する場合がある。
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.
NCプログラムの選択は、ユーザが入力操作部3でNCプログラム番号を入力することによって行われる。このNCプログラム番号は、入力制御部32およびデータ設定部33を介して共有エリア345に書き込まれる。機械操作盤等のサイクルスタートをトリガとして、解析処理部37は、選択されたNCプログラム番号を共有エリア345から読み出すと、選択されたNCプログラムをNCプログラム記憶エリア343内から読み出して、NCプログラムの各ブロック(各行)に対して解析処理を行う。解析処理部37は、例えば、Gコード(軸移動等に関する指令)、Tコード(工具交換指令など)、Sコード(主軸モータ回転数指令)、およびMコード(機械動作指令)を解析する。
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. Triggered by the cycle start of the machine operation panel or the like, 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).
解析処理部37は、解析した行にMコードまたはTコードが含まれている場合には、解析結果を共有エリア345および制御信号処理部35を介してPLC36に送る。また、解析処理部37は、解析した行にMコードが含まれている場合には、Mコードを、制御信号処理部35を介してPLC36に送る。PLC36はMコードに対応する機械制御を実行する。実行が完了した場合、制御信号処理部35を介してMコードの完了を示す結果が記憶部34に書き込まれる。補間処理部38は記憶部34に書き込まれた実行結果を参照する。
When the analyzed line contains an M code or a T code, 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.
また、解析処理部37は、工作機械100へのGコードが含まれている場合には、共有エリア345を介して解析結果を補間処理部38に送る。具体的には、解析処理部37は、Gコードに対応する移動条件を生成して補間処理部38に送る。また、解析処理部37は、Sコードで指定された主軸回転数を補間処理部38に送る。主軸回転数は、単位時間あたりの主軸の回転の回数である。移動条件は、加工位置を移動させていくための工具送りの条件であり、刃物台を移動させる速度、刃物台を移動させる位置などで示される。例えば、工具の工具送りは、工具をX軸方向(+X方向)およびZ軸方向(+Z方向)に進ませる。
Further, when the G code for the machine tool 100 is included, 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).
また、解析処理部37は、ロボット指令解析部371を有している。ロボット指令解析部371は、接続されたロボット60の動作を解析する手段である。ロボット指令解析部371は、NCプログラムに含まれるロボット指令を解析し、解析結果を、共有エリア345を介してロボット制御部41に送る。
Further, 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.
解析結果には、ロボット60の座標系を設定するための指令であるロボット座標系設定指令、ロボット60の動作を規定したロボット動作指令などが含まれている。
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.
補間処理部38は、解析処理部37による解析結果のうち工作機械100への指令を用いて工作機械100を制御するためのデータを生成し、加減速処理部39に送る。加減速処理部39は、補間処理部38から供給された補間処理の結果に対して、加速度をなめらかに変化させるための加減速処理を行う。加減速処理部39は、加減速処理の処理結果である速度指令を軸データ出力部40に送る。
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.
軸データ出力部40は、速度指令を駆動部90に出力する。具体的には、軸データ出力部40は、X軸への速度指令をX軸サーボ制御部91に出力し、Z軸への速度指令をZ軸サーボ制御部92に出力する。また、軸データ出力部40は、主軸への回転数指令を主軸サーボ制御部200に出力する。
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.
ロボット制御部41は、ロボット指令解析部371による解析の結果に基づいて、ロボット60への指令をロボットプログラムに変換する。すなわち、ロボット制御部41は、ロボット指令解析部371から送られてくる、ロボット指令の解析結果に基づいて、ロボットコントローラ50が解釈可能なロボット指令を生成する。ロボット制御部41は、生成したロボット指令をロボットコントローラ50に送る。ロボットコントローラ50は、ロボット制御部41から送られてくるロボット指令に基づいて、ロボット60の各軸の位置データを生成し、位置データを用いてロボット60を制御する。
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.
数値制御装置1Xでは、NCプログラムに設定されている指令が順番に実行される。したがって、補間処理部38が工作機械100を制御するためのデータを生成して加減速処理部39に送る順番、およびロボット制御部41が位置データを生成してロボットコントローラ50に送る順番は、それぞれNCプログラムに設定されている指令の順番に対応している。
In the numerical control device 1X, 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.
シミュレーション制御部80Xは、記憶部34、補間処理部38、加減速処理部39、ロボット制御部41、および画面処理部31に接続されている。シミュレーション制御部80Xは、画面処理部31に接続されているが、図1では、シミュレーション制御部80Xと画面処理部31との接続線の記載を省略している。以下の説明では、シミュレーション制御部80Xによる表示部4への情報の書き込みを説明する際に、画面処理部31が介されていることを省略する場合がある。
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. Although 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.
シミュレーション制御部80Xは、ロボット60の動作および工作機械100の動作を演算によってシミュレーションする。シミュレーション制御部80Xは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803とを備えている。
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.
機械動作演算部801は、工作機械100が備える構成要素の移動を描画し、ロボット動作演算部802は、ロボット60が備える構成要素の移動を描画する。シミュレーション制御部80Xは、描画結果を表示部4に表示させる。
The machine motion calculation unit 801 draws the movement of the components included in the machine tool 100, and 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.
機械動作演算部801は、記憶部34から機械モデル811および工具データ813を読み出し、機械モデル811および工具データ813を用いて工作機械100の動作をシミュレーションする。
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.
また、機械動作演算部801は、補間処理部38から、工作機械100の各軸の位置データを取得する。機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、機械モデル811から描画される工作機械100の構成要素の位置を修正する。
Further, 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.
このように、機械動作演算部801は、工作機械100の動作シミュレーション用のデータである機械モデル811に基づいて工作機械100が備える第1の構成要素を描画する。また、機械動作演算部801は、第1の構成要素の位置を制御する際に用いられる第1の位置データを用いて、第1の構成要素を再描画する。
In this way, 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.
ロボット動作演算部802は、記憶部34からロボットモデル812および工具データ814を読み出し、ロボットモデル812および工具データ814を用いてロボット60の動作をシミュレーションする。
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.
また、ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸の位置データを取得する。ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボットモデル812から描画されるロボット60の構成要素の位置を修正する。
Further, 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.
このように、ロボット動作演算部802は、ロボット60の動作シミュレーション用のデータであるロボットモデル812に基づいてロボット60が備える第2の構成要素を描画し、第2の構成要素の位置を制御する際に用いられる第2の位置データを用いて第2の構成要素を再描画する。
In this way, 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.
衝突判断部である干渉チェック部803は、機械動作演算部801およびロボット動作演算部802が描画した稼働部(構成要素)の描画データ同士の重なりをチェックする。換言すると、干渉チェック部803は、工作機械100とロボット60とが干渉(衝突)するか否かを判断する。
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).
すなわち、干渉チェック部803は、特定タイミングにおける第1の構成要素の位置および特定タイミングにおける第2の構成要素の位置に基づいて、特定タイミングで工作機械100とロボット60とが衝突するか否かを判断する。
That is, 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.
干渉チェック部803は、工作機械100とロボット60とが干渉することを検出すると、補間処理部38およびロボット制御部41に動作中止の信号を送るとともに、干渉に対するアラームの表示指示であるアラーム指示情報を、画面処理部31を経由して表示部4に送る。これにより、干渉チェック部803は、表示部4に干渉を示す干渉アラームを表示させる。アラーム指示情報には、工作機械100とロボット60とが干渉する位置の情報が含まれていてもよい。この場合、表示部4は、干渉する位置の情報を含んだ干渉アラームを表示する。
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.
工作機械100は、NC工作機械であり、駆動軸によって工具と加工ワークとを相対的に移動させながら、工具で加工ワークを加工する。工作機械100の座標系とロボット60の座標系とは異なる座標系である。工作機械100は、直交座標系で制御され、例えば3軸方向に工具または加工ワークを移動させる。ロボット60は、回転軸を備えており、例えば、4軸以上の方向に駆動する。ロボット60は、複数の関節と複数のアームを備えており、1つの関節が1つのアームを1軸以上の方向に移動させる。
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.
なお、実施の形態1は、工作機械100を描画する際に用いられる描画用のデータが、動作シミュレーション用のデータである機械モデル811である場合について説明するが、機械動作演算部801は、機械モデル811以外の描画用データを用いて工作機械100を描画してもよい。
In the first embodiment, the case where 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.
また、実施の形態1は、ロボット60を描画する際に用いられる描画用のデータが、動作シミュレーション用のデータであるロボットモデル812である場合について説明するが、ロボット動作演算部802は、ロボットモデル812以外の描画用データを用いてロボット60を描画してもよい。
Further, 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. However, the robot motion calculation unit 802 describes the robot model. The robot 60 may be drawn using drawing data other than 812.
機械動作演算部801は、例えば、ポンチ絵程度の描画を行うことができる粗い描画用データを用いて工作機械100を描画してもよい。また、ロボット動作演算部802は、ポンチ絵程度の描画を行うことができる粗い描画用データを用いてロボット60を描画してもよい。
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.
ただし、干渉チェック部803が工作機械100とロボット60との間の干渉チェックを行う際には、機械動作演算部801は、正確な動作シミュレーションができる程度に精度の高いシミュレーション用データ(例えば、機械モデル811)を用いる。また、干渉チェック部803が工作機械100とロボット60との間の干渉チェックを行う際には、ロボット動作演算部802は、正確な動作シミュレーションができる程度に精度の高いシミュレーション用データ(例えば、ロボットモデル812)を用いる。
However, when the interference check unit 803 performs an interference check between the machine tool 100 and the robot 60, 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. Further, when the interference check unit 803 performs an interference check between the machine tool 100 and the robot 60, 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.
ここで、工作機械100とロボット60との間の干渉チェックのシミュレーションについて説明する。図2は、実施の形態1にかかる数値制御装置が制御する工作機械およびロボットの配置例を示す図である。
Here, a simulation of an interference check between the machine tool 100 and the robot 60 will be described. 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.
工作機械100は、筐体14と、工具ホルダ11a,11bと、チャック機構12a,12bとを備えている。工作機械100では、筐体14の内部が加工ワーク5a,5bを加工する加工室となっている。
The machine tool 100 includes a housing 14, tool holders 11a and 11b, and chuck mechanisms 12a and 12b. In the machine tool 100, the inside of the housing 14 is a processing chamber for processing the processing workpieces 5a and 5b.
チャック機構12aは、加工室内で加工ワーク5aを保持し、チャック機構12bは、加工室内で加工ワーク5bを保持する。工具ホルダ11aは、工具6aを保持し、工具ホルダ11bは、工具6bを保持する。工具6aは、チャック機構12aによって保持されている加工ワーク5aを加工し、工具6bは、チャック機構12bによって保持されている加工ワーク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.
ロボット60は、工作機械100の近傍に配置されており、工作機械100に対して加工ワーク5a,5bの搬入および搬出を行う。また、ロボット60は、工作機械100が保持している加工ワーク5aに対し、工具6cで加工を行う。工作機械100が用いる工具6a,6bが第1の工具であり、ロボット60が用いる工具6cが第2の工具である。
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.
ロボット60は、ロボットアーム21と、ロボットハンド22と、台座23とを備えている。台座23は、ロボットアーム21を保持する。ロボットアーム21は、1または複数の軸方向に移動可能となっている。ロボットハンド22は、台座23とは反対側の、ロボットアーム21の先端部に配置されている。ロボットハンド22は、工具6cを掴む。
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.
機械モデル811は、加工室内におけるチャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bの動作シミュレーション用のデータである。
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.
工作機械100の動作がシミュレーションされる際には、工作機械100の全体構成と、工作機械100の加工室内の動作がシミュレーションされ、工作機械100の加工室内の状態が描画される。加工室内に対しては、チャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bの動作がシミュレーションされ、チャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bが描画される。
When the operation of the machine tool 100 is simulated, 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.
ロボットモデル812は、ロボットアーム21およびロボットハンド22の動作シミュレーション用のデータである。ロボット60の動作がシミュレーションされる際には、ロボットアーム21およびロボットハンド22の動作がシミュレーションされ、ロボットアーム21およびロボットハンド22の状態が描画される。
The robot model 812 is data for motion simulation of the robot arm 21 and the robot hand 22. When the movement 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.
図3は、実施の形態1にかかる数値制御装置が描画した画面の第1例を示す図である。図3では、表示部4における画面表示の例を示している。図3に示す画面130では、加工室内の状態を表示している。
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.
図3および後述する図4では、チャック機構12a,12bの画像を画像12A,12Bとして図示し、加工ワーク5a,5bの画像を画像5A,5Bとして図示し、工具ホルダ11a,11bの画像を画像11A,11Bとして図示し、工具6a,6bの画像を画像6A,6Bとして図示している。また、図3では、ロボットアーム21の画像を画像21Aとして図示し、ロボットハンド22の画像を画像22Aとして図示し、工具6cの画像を画像6Cとして図示している。
In FIG. 3 and FIG. 4 described later, 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, and 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. Further, in FIG. 3, 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, and the image of the tool 6c is shown as the image 6C.
機械動作演算部801は、補間処理部38から、工作機械100の各軸の位置データを取り込む。機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、工作機械100が備える稼働部(工作機械100が備える構成要素)を描画し直す。すなわち、機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、機械モデル811から描画される工作機械100の構成要素の位置を修正する。工作機械100が備える稼働部は、前述したチャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bである。機械動作演算部801は、例えば、工具ホルダ11a,11bの移動、および工具6a,6bの移動を描画する。
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.
ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸の位置データを取り込む。ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボット60が備える稼働部(ロボット60が備える構成要素)を描画し直す。すなわち、ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボットモデル812から描画されるロボット60の構成要素の位置を修正する。ロボット60が備える稼働部は、前述したロボットアーム21、ロボットハンド22、および工具6cである。ロボット動作演算部802は、例えば、ロボットアーム21の移動、および工具6cを掴んでいるロボットハンド22の移動を描画する。
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.
シミュレーション制御部80Xは、機械動作演算部801による描画結果、およびロボット動作演算部802による描画結果を、画面処理部31を経由して表示部4に表示させる。表示部4によって表示される画面の例が、図3に示す画面130である。
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.
干渉チェック部803は、機械動作演算部801およびロボット動作演算部802が描画した稼働部の描画データ同士の重なりをチェックする。具体的には、干渉チェック部803は、工作機械100の工具ホルダ11a,11bまたは工具6a,6bと、ロボットアーム21または工具6cを掴んだロボットハンド22と、が干渉するか否かを判断する。機械モデル811およびロボットモデル812は、3次元データであるので、干渉チェック部803は、工作機械100の3次元形状およびロボット60の3次元形状に対して干渉をチェックする。
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.
図4は、実施の形態1にかかる数値制御装置が描画した画面の第2例を示す図である。図4では、衝突が検知された場合の、表示部4における画面表示の例を示している。図4に示す画面131では、干渉チェック部803が、矢印D1の方向にロボットハンド22の画像22Aが移動した際に、加工室内で構成要素同士の干渉を検知した場合の加工室内の状態を表示している。
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. On the screen 131 shown in FIG. 4, when 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.
干渉チェック部803は、図4に示すように、工具6bの画像6Bと、ロボットハンド22の画像22Aとが衝突によって重なっていること検出すると、補間処理部38およびロボット制御部41に動作中止の信号を送るとともに、画面処理部31を経由して表示部4に干渉アラームを表示させる。表示部4によって表示される干渉アラーム画面は、衝突をユーザに気付かせるような画面であれば、何れの画面であってもよい。干渉アラームの表示は、他のアラームと同様の画面によって表示される。画面131では、ロボット60と工作機械100とが衝突する位置が示される。
As shown in FIG. 4, when the interference check unit 803 detects that the image 6B of the tool 6b and the image 22A of the robot hand 22 overlap due to a collision, the interpolation processing unit 38 and the robot control unit 41 stop operating. Along with sending a signal, 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.
補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算を停止する。ここで、干渉チェック部803は、制御演算部2Xの先読み処理での演算結果で干渉の有無を判断している。このため、シミュレーション制御部80Xは、実際に工作機械100とロボット60とが干渉(衝突)する前に、工作機械100およびロボット60の稼働部の動作を停止することができる。
When the interpolation processing unit 38 and the robot control unit 41 receive the operation stop signal from the interference check unit 803, the calculation is stopped. Here, the interference check unit 803 determines the presence or absence of interference based on the calculation result in the look-ahead processing of the control calculation unit 2X. Therefore, 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).
また、工作機械100の座標系とロボット60の座標系とは異なっているが、記憶部34には工作機械100の座標系とロボット60の座標系との位置関係を定義するパラメータが格納されている。したがって、干渉チェック部803は、記憶部34が格納している位置関係に基づいて、工作機械100の稼働部とロボット60の稼働部との干渉をチェックすることができる。
Further, although the coordinate system of the machine tool 100 and the coordinate system of the robot 60 are different, 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.
なお、動作シミュレーション用のデータである機械モデル811およびロボットモデル812は、稼働しない部分を含んでいてもよい。例えば、機械モデル811は、工作機械100の筐体14を含んでいてもよい。また、ロボットモデル812は、台座23を含んでいてもよい。この場合、ロボットモデル812には、ロボットアーム21、ロボットハンド22、工具6c、および台座23が含まれている。
Note that the machine model 811 and the robot model 812, which are data for motion simulation, may include parts that do not operate. For example, the machine model 811 may include a housing 14 of the machine tool 100. Further, the robot model 812 may include a pedestal 23. In this case, the robot model 812 includes a robot arm 21, a robot hand 22, a tool 6c, and a pedestal 23.
機械モデル811が工作機械100の全体構成を含む場合、表示部4は、工作機械100の全体を表示する。また、ロボットモデル812がロボット60の全体構成を含む場合、表示部4は、ロボット60の全体を表示する。
When the machine model 811 includes the entire configuration of the machine tool 100, the display unit 4 displays the entire machine tool 100. When the robot model 812 includes the entire configuration of the robot 60, the display unit 4 displays the entire robot 60.
図5は、実施の形態1にかかる数値制御装置が描画した画面の第3例を示す図である。図5では、表示部4における画面表示の例を示している。図5に示す画面132は、表示部4が、工作機械100の全体およびロボット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.
図5では、工作機械100の画像を画像100Aとして図示し、筐体14の画像を画像14Aとして図示し、ロボット60の画像を画像60Aとして図示し、台座23の画像を画像23Aとして図示している。機械モデル811が工作機械100の全体構成を含む場合、干渉チェック部803は、ロボットハンド22が工作機械100の筐体14に干渉することを検出できる。
In FIG. 5, 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, and the image of the pedestal 23 is shown as the image 23A. There is. When the machine model 811 includes the entire configuration of the machine tool 100, the interference check unit 803 can detect that the robot hand 22 interferes with the housing 14 of the machine tool 100.
図6は、実施の形態1にかかる数値制御装置が検出する、ロボットハンドと工作機械の筐体との干渉を説明するための図である。ここでは、機械モデル811が工作機械100の全体を含む場合に干渉チェック部803が検出する干渉の第1例について説明する。図6では、矢印D2の方向にロボットハンド22が移動した際に、ロボットハンド22と工作機械100の筐体14とが干渉した状態を示している。
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. Here, 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.
また、機械モデル811が工作機械100の全体を含む場合、干渉チェック部803は、ロボットアーム21が工作機械100の外部に配置された機構に干渉することを検出できる。
Further, when the machine model 811 includes the entire machine tool 100, the interference check unit 803 can detect that the robot arm 21 interferes with a mechanism arranged outside the machine tool 100.
図7は、実施の形態1にかかる数値制御装置が検出する、ロボットアームと工作機械の外部に配置された機構との干渉を説明するための図である。ここでは、機械モデル811が工作機械100の全体を含む場合に干渉チェック部803が検出する干渉の第2例について説明する。
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. Here, 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.
ローダ30は、工作機械100の外部で搬送物7を搬送する装置である。ロボットハンド22およびロボットアーム21は、工作機械100の外部でも動作するので、ロボットハンド22およびロボットアーム21は、ローダ30または搬送物7に衝突する場合がある。図7では、矢印D3の方向に工具6cが移動した際に、ロボットアーム21とローダ30とが干渉した状態を示している。
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.
つぎに、数値制御装置1Xによる干渉チェックの処理手順について説明する。図8は、実施の形態1にかかる数値制御装置による干渉チェックの処理手順を示すフローチャートである。
Next, the processing procedure of the interference check by the numerical control device 1X will be described. FIG. 8 is a flowchart showing a processing procedure of interference check by the numerical control device according to the first embodiment.
解析処理部37は、NCプログラムを解析する(ステップS10)。すなわち、解析処理部37は、工作機械100を動作させる指令(駆動部90への指令)およびロボット60を動作させる指令(ロボット60への指令)を含んだNCプログラムを解析する。具体的には、解析処理部37は、工作機械100の駆動部90への指令である機械駆動指令を解析し、ロボット指令解析部371は、ロボット60への指令であるロボット指令を解析する。
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.
解析処理部37は、解析した指令が機械駆動指令であるかロボット指令であるかを判断する。解析した指令が機械駆動指令である場合(ステップS15、Yes)、解析処理部37は、機械駆動指令の解析結果を補間処理部38に送る。一方、解析した指令がロボット指令である場合(ステップS15、No)、解析処理部37は、ロボット指令の解析結果をロボット制御部41に送る。
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.
補間処理部38は、機械駆動指令の解析結果を用いて、機械駆動指令の補間処理を行う(ステップS20)。そして、補間処理部38は、補間処理した機械駆動指令に基づいて、工作機械100の動作である工作機械動作の演算処理を実行する(ステップS30)。すなわち、補間処理部38は、補間処理した機械駆動指令から、工作機械100が備える駆動部90の各軸位置を計算する。
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.
ロボット制御部41は、ロボット指令の解析結果を用いて、NCプログラムをロボットプログラムに変換する(ステップS40)。また、ロボット制御部41は、ロボットプログラムに基づいて、ロボット60の動作であるロボット動作の演算処理を実行する(ステップS50)。すなわち、ロボット制御部41は、ロボットプログラムからロボット60の各軸位置を計算する。具体的には、ロボット制御部41は、ロボットアーム21の位置、ロボットハンド22の位置などの計算を行う。
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.
補間処理部38で計算された駆動部90の各軸位置を示す位置データは、機械動作演算部801に送られる。また、ロボット制御部41で計算されたロボット60の各軸位置を示す位置データは、ロボット動作演算部802に送られる。
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.
シミュレーション制御部80Xは、描画処理を実行する(ステップS60)。具体的には、機械動作演算部801は、機械モデル811に基づいて工作機械100の機械構成を描画し、工具データ813に基づいて工作機械100が用いる工具6a,6bを描画する。また、ロボット動作演算部802は、ロボットモデル812に基づいて、ロボット60を描画し、工具データ814に基づいてロボット60が用いる工具6cを描画する。
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.
また、機械動作演算部801は、補間処理部38から、駆動部90の各軸位置を示す位置データを取り込む。機械動作演算部801は、取り込んだ位置データに基づいて、工作機械100が備える機構の稼働部を描画し直す。機械動作演算部801は、例えば、工作機械100の工具ホルダ11a,11bの移動、および工具6a,6bの移動を描画する。
Further, 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.
また、ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸位置を示す位置データを取り込む。ロボット動作演算部802は、取り込んだ位置データに基づいて、ロボット60が備える機構の稼働部を描画し直す。ロボット動作演算部802は、例えば、ロボットアーム21の移動、および工具6cを含むロボットハンド22の移動を描画する。
Further, 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.
機械動作演算部801およびロボット動作演算部802による描画結果(描画データ)は、シミュレーション制御部80Xが画面処理部31を経由して表示部4に表示させる。
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.
干渉チェック部803は、ロボット60と工作機械100との間の干渉チェック処理を実行する(ステップS70)。すなわち、干渉チェック部803は、機械動作演算部801で描画された稼働部の描画データと、ロボット動作演算部802で描画された稼働部の描画データとの重なりをチェックする。具体的には、干渉チェック部803は、工作機械100の各軸位置と、ロボット60の各軸位置とに基づいて、以下の(1)から(4)に示す構成要素間で干渉が発生するか否かを判断する。
(1)機械モデル811に基づく工作機械100の機械構成
(2)工具データ813に基づく工具6a,6b
(3)ロボットモデル812に基づくロボット60の構成
(4)工具データ814に基づく工具6c Theinterference 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 ofmachine tool 100 based on machine model 811 (2) Tools 6a, 6b based on tool data 813
(3) Configuration ofrobot 60 based on robot model 812 (4) Tool 6c based on tool data 814
(1)機械モデル811に基づく工作機械100の機械構成
(2)工具データ813に基づく工具6a,6b
(3)ロボットモデル812に基づくロボット60の構成
(4)工具データ814に基づく工具6c The
(1) Machine configuration of
(3) Configuration of
干渉チェック部803は、例えば、工作機械100の工具ホルダ11a,11bまたは工具6a,6bと、ロボット60のロボットアーム21、ロボットハンド22、または工具6cとの間に干渉が発生するか否かをチェックする(ステップS80)。
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).
干渉が発生している場合(ステップS80、Yes)、干渉チェック部803は、アラーム処理を実行する(ステップS90)。すなわち、干渉チェック部803は、補間処理部38およびロボット制御部41に、動作中止の信号を送ると同時に、画面処理部31を経由して表示部4に干渉アラームを表示させる。補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算処理を停止する。
When interference has occurred (step S80, Yes), 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. When 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.
干渉が発生していない場合(ステップS80、No)、シミュレーション制御部80Xは、シミュレーション処理を終了する。
When no interference has occurred (step S80, No), the simulation control unit 80X ends the simulation process.
本実施の形態では、数値制御装置1Xが、工作機械100およびロボット60の実際の動作に合わせてシミュレーション描画および干渉チェックを行う場合について説明した。数値制御装置1Xは、工作機械100およびロボット60を動作させることなくシミュレーション描画および干渉チェックを行ってもよい。この場合、数値制御装置1Xは、数値制御装置1Xが持っているマシンロック機能を用いる。マシンロック機能は、位置データの計算は行うが、駆動部90およびロボットコントローラ50には指令を出さない機能である。数値制御装置1Xは、マシンロック機能を用いることにより、工作機械100およびロボット60を実際に動作させなくても、シミュレーション描画および干渉チェックを行うことができる。
In the present embodiment, the case where 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 has been described. The numerical control device 1X may perform simulation drawing and interference check without operating the machine tool 100 and the robot 60. In this case, 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.
このように実施の形態1では、数値制御装置1Xが、機械モデル811および工作機械100を制御する際に用いる位置データに基づいて工作機械100を描画し、ロボットモデル812およびロボット60を制御する際に用いる位置データに基づいてロボット60を描画し、描画した工作機械100およびロボット60に基づいて、ロボット60と工作機械100とが衝突するか否かを判断している。これにより、数値制御装置1Xは、ロボット60と工作機械100とが衝突するか否かを判断することが可能となる。
As described above, in the first embodiment, 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. As a result, the numerical control device 1X can determine whether or not the robot 60 and the machine tool 100 collide with each other.
実施の形態2.
つぎに、図9から図12を用いてこの発明の実施の形態2について説明する。実施の形態2では、シミュレーションによって干渉を検知した場合に、干渉を回避できるよう、工作機械100およびロボット60を制御して、工作機械100およびロボット60の運転を継続する。Embodiment 2.
Next, a second embodiment of the present invention will be described with reference to FIGS. 9 to 12. In the second embodiment, when interference is detected by simulation, themachine 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.
つぎに、図9から図12を用いてこの発明の実施の形態2について説明する。実施の形態2では、シミュレーションによって干渉を検知した場合に、干渉を回避できるよう、工作機械100およびロボット60を制御して、工作機械100およびロボット60の運転を継続する。
Next, a second embodiment of the present invention will be described with reference to FIGS. 9 to 12. In the second embodiment, when interference is detected by simulation, the
図9は、実施の形態2にかかる数値制御装置の構成例を示す図である。図9の各構成要素のうち図1に示す実施の形態1の数値制御装置1Xと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 9 is a diagram showing a configuration example of the numerical control device according to the second embodiment. Of the components of FIG. 9, 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.
数値制御装置1Yは、数値制御装置1Xと比較して、制御演算部2Xの代わりに制御演算部2Yを備えている。制御演算部2Yの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811、ロボットモデル812、ロボット経由点、および待機時間上限値を含んでいる。ロボット経由点および待機時間上限値については後述する。また、制御演算部2Yは、制御演算部2Xと比較して、シミュレーション制御部80Xの代わりにシミュレーション制御部80Yを備えている。
Compared with the numerical control device 1X, 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. Further, 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.
シミュレーション制御部80Yは、シミュレーション制御部80Xと同様に、ロボット60の動作および工作機械100の動作を演算によってシミュレーションする。シミュレーション制御部80Yは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803と、干渉回避処理部804とを備えている。なお、図9では、シミュレーション制御部80Yが記憶部34から取得して格納しておく、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
Similar to the simulation control unit 80X, 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.
干渉回避処理部804は、工作機械100とロボット60とが干渉すると判断された場合に、工作機械100とロボット60との干渉を回避するため、ロボット60への指令などを変更する。
When it is determined that the machine tool 100 and the robot 60 interfere with each other, 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.
干渉回避処理部804は、工作機械100とロボット60とが干渉すると判断された場合、ロボット60の姿勢を変更することによって干渉を回避できるか否かを判断する。ロボット60の姿勢を変更することによって干渉を回避できる場合、干渉回避処理部804は、ロボット60への移動指令であるロボット移動指令を、ロボット60の姿勢を変更したロボット移動指令に置き換える。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
When it is determined that the machine tool 100 and the robot 60 interfere with each other, the interference avoidance processing unit 804 determines whether or not the interference can be avoided by changing the posture of the robot 60. When 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.
ロボット60の姿勢を変更することによって干渉を回避できない場合、干渉回避処理部804は、ロボット経由点を目標位置としたロボット移動指令を挿入することで干渉を回避できるか否かを判断する。ロボット経由点は、ロボット60に経由させることが可能な位置を示している。
When the interference cannot be avoided by changing the posture of the robot 60, 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.
ロボット経由点を用いることによって干渉を回避できる場合、干渉回避処理部804は、工作機械100とロボット60とを干渉させてしまうロボット移動指令(指令)の直前に、工作機械100との干渉を発生させないロボット移動指令を挿入することで、ロボット60の移動経路を変更する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
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.
なお、本実施の形態では、干渉を発生させてしまうロボット移動指令の直前に干渉を回避するための指令を挿入する場合について説明するが、干渉を回避するための指令は、干渉を発生させてしまうロボット移動指令より前に挿入されればよい。
In the present embodiment, a case where a command for avoiding interference is inserted immediately before a robot movement command that causes interference will be described, but a command for avoiding interference causes interference. It may be inserted before the robot movement command to be stored.
ロボット経由点を用いても干渉を回避できない場合、干渉回避処理部804は、干渉する構成要素(干渉対象)が工具6a,6bなどの工作機械100の可動部であれば、ロボット60の移動を一時的に停止することで干渉回避が可能か否かを判断する。具体的には、干渉回避処理部804が記憶部34から待機時間上限値を取得する。待機時間上限値は、ロボット60を停止させることができる時間の上限値である。すなわち、ロボット60は、待機時間上限値以下の時間であれば、待機することができる。干渉回避処理部804は、待機時間上限値以下の特定時間の間ロボット60を停止させることで干渉を回避できるか否かを判断する。
When interference cannot be avoided even by using the robot waypoint, 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.
待機時間上限値以下の特定時間だけロボット60を待機させることで干渉を回避できる場合、干渉回避処理部804は、ロボット60と工作機械100を干渉させてしまうロボット移動指令の直前に待機(ドウェル)指令を挿入する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
When interference can be avoided by making the robot 60 stand by for a specific time equal to or less than the upper limit of the waiting 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.
干渉回避処理部804は、ロボット60の姿勢を変更すること、ロボット60の経路を変更すること、および待機指令を挿入することの少なくとも1つを実行することでロボット60と工作機械100の干渉を回避させる。すなわち、干渉回避処理部804は、ロボット60の姿勢を変更すること、ロボット60の経路を変更すること、および待機指令を挿入することを組み合わせて、ロボット60と工作機械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.
つぎに、干渉回避を行う際のロボット60の動作例について説明する。図10は、実施の形態2にかかる数値制御装置によって実行される干渉回避の第1の動作例を説明するための図である。干渉回避の第1の動作例では、干渉回避処理部804は、干渉を検出すると、ロボット60を姿勢変更させることによって、干渉を回避する。図10では、図7に示した干渉が発生する場合の、干渉回避の動作を示している。図10では、工具6cを矢印D3の方向に移動させつつ、ロボット60の姿勢を変更した場合を示している。
Next, an operation example of the robot 60 when avoiding interference will be described. 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. In the first operation example of interference avoidance, when 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.
干渉回避処理部804は、姿勢変更を行う場合、ロボット60が把持している工具6cの先端位置および姿勢が姿勢の変更前後で変化しないように、ロボット移動指令を置き換える。干渉回避処理部804は、このロボット移動指令の置き換えによって、干渉を回避することが可能か否かを判断する。回避可能な場合、干渉回避処理部804は、干渉を回避できるロボット移動指令に従ってロボット60を動作させる。
When the posture is changed, 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.
図7に示した干渉が発生する場合、干渉回避処理部804は、工具6cの先端位置および姿勢を姿勢の変更前後で変更せず、特定のロボットアーム21の姿勢が変化するよう、ロボット移動指令を置き換える。図10では、ロボットアーム21のうち、台座23に接合されている第1のロボットアームを矢印D4aの方向に移動させ、第1のロボットアームに接合されている第2のロボットアームを矢印D4bの方向に移動させることで、ロボット60の姿勢が変更された場合を示している。
When the interference shown in FIG. 7 occurs, 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. To replace. In FIG. 10, among the robot arms 21, 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.
図11は、実施の形態2にかかる数値制御装置によって実行される干渉回避の第2の動作例を説明するための図である。干渉回避の第2の動作例では、干渉回避処理部804は、干渉を検出すると、ロボット60の移動経路を変更させることによって、干渉を回避する。図11では、図6に示した干渉が発生する場合の、干渉回避の動作を示している。図11では、工具6cを矢印D5の方向に移動させ、その後、工具6cを矢印D6の方向に移動させるよう、ロボット60の移動経路を変更した場合を示している。
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. In the second operation example of interference avoidance, when 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.
干渉回避処理部804は、記憶部34からロボット経由点P1を取得する。干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、ロボット経由点P1を、干渉対象(図6では、工具6c)の目標位置(経由位置)としたロボット移動指令を挿入することで干渉を回避できるか否かを判断する。
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.
干渉を回避できる場合、干渉回避処理部804は、ロボット60と工作機械100との干渉を発生させるロボット移動指令の直前に、ロボット経由点P1を経由するロボット移動指令を挿入することで、ロボット60が備える構成要素の移動経路を変更する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避する。なお、記憶部34は、ロボット経由点P1を複数記憶しておいてもよい。この場合、干渉回避処理部804は、複数のロボット経由点P1を用いて、複数の回避経路を適用してもよい。
When 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.
つぎに、数値制御装置1Yによる干渉チェックの処理手順について説明する。図12は、実施の形態2にかかる数値制御装置による干渉チェックの処理手順を示すフローチャートである。なお、図12の説明では、図8のフローチャートで説明した処理と同様の処理については、その説明を省略する。
Next, the processing procedure of the interference check by the numerical control device 1Y will be described. FIG. 12 is a flowchart showing a processing procedure of interference check by the numerical control device according to the second embodiment. In the description of FIG. 12, the description of the same processing as that described in the flowchart of FIG. 8 will be omitted.
数値制御装置1Yは、ステップS10からS80までは数値制御装置1Xと同様の処理を実行する。干渉チェック処理の結果、干渉が発生していない場合(ステップS80、No)、シミュレーション制御部80Yは、シミュレーション処理を終了する。
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.
干渉チェック処理の結果、干渉が発生している場合(ステップS80、Yes)、干渉回避処理部804は、ロボット60の姿勢変更を行うことで干渉の回避が可能か否かを判断する(ステップS100)。
If interference has occurred as a result of the interference check process (step S80, Yes), 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). ).
ロボット60が把持する工具6cの先端位置および姿勢が、ロボット移動指令の変換前後で同等でないと、目的とした加工をロボット60が実施できなくなる。このため、干渉回避処理部804は、干渉を回避させるための指令における工具6cの先端位置および姿勢が、干渉が発生する指令と同じになるような、ロボット60の各軸位置(ロボット60を構成する各軸の位置)のパターンを算出する。
If the tip position and posture of the tool 6c gripped by the robot 60 are not the same before and after the conversion of the robot movement command, the robot 60 cannot perform the desired machining. Therefore, 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).
干渉回避処理部804は、ロボット移動指令の変換前後で工具6cの先端位置および姿勢を変更することなく、干渉を回避できる軸位置のパターンを算出できたか否かを判断する。すなわち、干渉回避処理部804は、導出したロボット60の各軸位置を適用した場合に、干渉を回避できるか否かを判断する。
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.
干渉回避処理部804は、ロボット60の姿勢変更を行うことで干渉を回避可能であると判断した場合(ステップS100、Yes)、ロボット60の姿勢を変更する(ステップS110)。具体的には、干渉回避処理部804は、干渉を発生させるロボット移動指令を、ロボット60の姿勢を変更したロボット移動指令に置き換える。これにより、干渉回避処理部804は、干渉を発生させるロボット指令を、干渉が発生しない姿勢のロボット指令に変更する。
When 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.
このように、干渉回避処理部804は、干渉を発生させるロボット移動指令においてロボット60の姿勢を変更することで、干渉を回避できる場合は、ロボット60の姿勢変更処理を実行する。これにより、干渉回避処理部804は、干渉を発生させるロボット移動指令を干渉回避可能なロボット移動指令に置き換えてロボット60を動作させる。
In this way, 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. As a result, 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.
干渉回避処理部804は、ロボット60の姿勢変更を行っても干渉を回避できないと判断した場合(ステップS100、No)、ロボット60の経路変更を行うことで干渉の回避が可能か否かを判断する(ステップS120)。すなわち、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、経路変更指令を挿入すると、干渉を回避できるか否かを判断する。具体的には、干渉回避処理部804は、予め設定しておいたロボット経由点をロボット60が通過した場合に、干渉を回避できるか否かを判断する。このとき、干渉回避処理部804は、任意の数(1または複数)のロボット経由点を設定できるものとし、それぞれのロボット経由点を通過するロボット移動指令を挿入した場合に、干渉を回避できるか否かを判断する。
When the interference avoidance processing unit 804 determines that the interference cannot be avoided even if the posture of the robot 60 is changed (step S100, No), 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.
干渉回避処理部804は、ロボット60の経路変更を行うことで干渉を回避可能であると判断した場合(ステップS120、Yes)、ロボット60の移動経路を変更する(ステップS130)。具体的には、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、干渉を発生させない移動指令を挿入する。換言すると、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、干渉を回避できるロボット経由点を目標位置としたロボット移動指令(経路変更指令)を挿入する。干渉を回避可能なロボット経由点が複数ある場合、干渉回避処理部804は、移動距離が最も短い、すなわち最短時間で移動可能なロボット経由点を目標位置としたロボット移動指令を、干渉が発生するロボット移動指令の直前に挿入する。
When 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. When there are a plurality of robot transit points capable of avoiding interference, 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.
干渉回避処理部804は、ロボット60の経路変更を行っても干渉を回避できないと判断した場合(ステップS120、No)、ロボット60の待機で干渉の回避が可能か否かを判断する(ステップS140)。具体的には、干渉回避処理部804は、ロボット60が干渉する干渉対象が可動部であり、かつロボット60を待機時間上限値内の間停止させることで、干渉を回避できるか否かを判断する。すなわち、干渉回避処理部804は、ロボット60が干渉する対象が工作機械100の工具6a,6bといった可動部であるか否かを判断する。干渉対象が可動部である場合、干渉回避処理部804は、待機上限値範囲以内の間、ロボット60を停止させることで、工具6a,6bなどの可動部が移動し、干渉を回避できる状態に移行するか否かを判断する。
When the interference avoidance processing unit 804 determines that the interference cannot be avoided even if the route of the robot 60 is changed (step S120, No), 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. When the object of interference is a movable part, 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.
干渉回避処理部804は、ロボット60の待機で干渉の回避が可能であると判断した場合(ステップS140、Yes)、ロボット60への待機処理を実行する。具体的には、干渉回避処理部804は、干渉が発生するロボット指令の直前に、干渉を回避できる時間分の待機指令、すなわちロボット60を停止させるための待機指令を挿入する(ステップS150)。
When it is determined that the interference avoidance processing unit 804 can avoid the interference by waiting for the robot 60 (step S140, Yes), 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).
干渉回避処理部804が、ロボット60の待機では干渉を回避できないと判断すると(ステップS140、No)、干渉チェック部803は、アラーム処理を実行する(ステップS160)。すなわち、干渉チェック部803は、補間処理部38およびロボット制御部41に、動作中止の信号を送るとともに、画面処理部31を経由して表示部4に干渉アラームを表示させる。補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算処理を停止する。
When the interference avoidance processing unit 804 determines that interference cannot be avoided while the robot 60 is on standby (step S140, No), 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. When 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.
このように実施の形態2によれば、数値制御装置1Yは、干渉が発生する場合には、ロボット60の姿勢変更、ロボット60の移動経路の変更、またはロボット60の待機指令の挿入を実行するので、ロボット60と工作機械100の干渉を回避できる。
As described above, according to the second embodiment, when interference occurs, 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.
実施の形態3.
つぎに、図13から図17を用いてこの発明の実施の形態3について説明する。実施の形態3では、加工ワーク5a,5bの加工中の形状をシミュレーション(以下、ワークシミュレーションという)する。Embodiment 3.
Next, a third embodiment of the present invention will be described with reference to FIGS. 13 to 17. In the third embodiment, the shapes of the machining workpieces 5a and 5b during machining are simulated (hereinafter referred to as work simulation).
つぎに、図13から図17を用いてこの発明の実施の形態3について説明する。実施の形態3では、加工ワーク5a,5bの加工中の形状をシミュレーション(以下、ワークシミュレーションという)する。
Next, a third embodiment of the present invention will be described with reference to FIGS. 13 to 17. In the third embodiment, the shapes of the
図13は、実施の形態3にかかる数値制御装置の構成例を示す図である。図13の各構成要素のうち数値制御装置1X,1Yと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 13 is a diagram showing a configuration example of the numerical control device according to the third embodiment. Of the components of FIG. 13, 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.
数値制御装置1Zは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Zを備えている。制御演算部2Zの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811、ロボットモデル812、ロボット経由点、待機時間上限値、およびワークデータ815を含んでいる。ワークデータ815は、加工ワーク5a,5bの情報であり、加工ワーク5a,5bの加工開始時の形状および装着位置などの情報を含んでいる。
Compared with the numerical control device 1Y, 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.
制御演算部2Zは、制御演算部2Yと比較して、シミュレーション制御部80Yの代わりにシミュレーション制御部80Zを備えている。
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.
シミュレーション制御部80Zは、加工ワーク5a,5bの形状の変化を演算によってシミュレーションする。シミュレーション制御部80Zは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803と、干渉回避処理部804とを備えている。また、本実施の形態のシミュレーション制御部80Zは、移動軌跡演算部805、ワーク位置演算部806、およびワーク形状演算部807を備えている。なお、図13では、シミュレーション制御部80Zが記憶部34から取得する、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
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.
移動軌跡演算部805は、機械動作演算部801から工作機械100の各軸の移動データを取得し、ロボット動作演算部802からロボット60の各軸の移動データを取得する。移動軌跡演算部805は、工作機械100の各軸の移動データ、およびロボット60の各軸の移動データに基づいて、工具6a~6cの移動軌跡を演算する。工具6aまたは工具6bの移動軌跡が第1の移動軌跡であり、工具6cの移動軌跡が第2の移動軌跡である。
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, and the movement locus of the tool 6c is the second movement locus.
ワーク位置演算部806は、記憶部34からワークデータ815を取得する。ワーク位置演算部806は、工具6a~6cおよびロボット60の座標系上における、加工ワーク5a,5bの位置を算出する。具体的には、ワーク位置演算部806は、ワークデータ815と、機械モデル811と、ロボットモデル812とに基づいて、加工ワーク5a,5bの位置であるワーク位置を算出する。
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.
ワーク形状演算部807は、工具6a~6cの移動軌跡と、加工ワーク5a,5bの位置と、に基づいて、加工ワーク5a,5bの加工中の形状(形状の時間的な変化)を算出する。また、ワーク形状演算部807は、加工ワーク5a,5bの加工中の形状を、画面処理部31を介して表示部4に表示させる。
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.
ここで、数値制御装置1Zが表示部4の画面に表示させる情報について説明する。図14は、実施の形態3にかかる数値制御装置がワークシミュレーションをする際のロボットおよび工作機械の動作を説明するための図である。図15は、図14に示すワークシミュレーションが実行される際の画面表示の例を示す図である。
Here, the information displayed on the screen of the display unit 4 by the numerical control device 1Z will be described. 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.
図14では、工作機械100が、第1系統Q1および第2系統Q2で旋削加工を実行した後、ロボット60が、第3系統Q3でロボット制御による面取り加工を実行する様子を示している。第1系統Q1は、工具6aを含んだ系統であり、第2系統Q2は、工具6bを含んだ系統であり、第3系統Q3は、工具6cを含んだ系統である。工具6aを含んだ第1系統Q1は、加工ワーク5aを加工し、工具6bを含んだ第2系統Q2は、加工ワーク5bを加工する。また、工具6cを含んだ第3系統Q3は、加工ワーク5aを加工する。加工ワーク5aは、工具6aを含んだ第1系統Q1によって面取り位置P2まで加工されると、第1系統Q1による加工が継続されながら、工具6cを含んだ第3系統Q3によって面取り位置P2で面取り加工が行われる。
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, and the third system Q3 is the system including the tool 6c. The first system Q1 including the tool 6a processes the machining work 5a, and the second system Q2 including the tool 6b processes the machining work 5b. Further, the third system Q3 including the tool 6c processes the machining work 5a. When 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.
数値制御装置1Zが備える表示部4は、加工途中の加工ワーク5a,5bを表示するとともに、工作機械100およびロボット60の工具6a~6cを表示する。図15に示す画面133では、第1系統Q1で旋削加工が実行される際に、加工途中の加工ワーク5aと、工作機械100の工具6aとが表示される場合を示している。図15に示す画面134では、その後、第1系統Q1での旋削加工および第3系統Q3での面取り加工が実行される際に、加工途中の加工ワーク5aと、工作機械100の工具6aと、ロボット60の工具6cとが表示される場合を示している。すなわち、画面133では、工作機械100の第1系統Q1による旋削加工段階のシミュレーション結果が表示され、画面134では、ロボット60の第3系統Q3による面取り工程段階のシミュレーション結果が表示されている。
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. On the screen 134 shown in FIG. 15, when the turning process in the first system Q1 and the chamfering process in the third system Q3 are subsequently executed, the machining work 5a in the middle of machining, the tool 6a of the machine tool 100, and the tool 6a are displayed. 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.
表示部4が表示する画面(ワークシミュレーション画面)では画面の任意の箇所の拡大および縮小が可能となっており、加工後のワーク形状の特定箇所の詳細形状を確認可能となっている。図16は、図15に示した面取り位置での加工ワークの形状を拡大表示した例を示す図である。図16の画面135では、加工ワーク5aの面取り位置P2の画像を拡大表示している。なお、図16では、加工ワーク5aの箇所にハッチングを付している。
On the screen (work simulation screen) displayed by the display unit 4, it is possible to enlarge or reduce an arbitrary part of the screen, and it is possible to confirm the detailed shape of a specific part of the work shape after processing. 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. On the screen 135 of FIG. 16, the image of the chamfered position P2 of the machining work 5a is enlarged and displayed. In FIG. 16, hatching is attached to the portion of the machining work 5a.
つぎに、数値制御装置1Zによるワークシミュレーションの処理手順について説明する。図17は、実施の形態3にかかる数値制御装置によるワークシミュレーションの処理手順を示すフローチャートである。図17では、第1系統Q1および第3系統Q3での加工ワーク5aに対するワークシミュレーションについて説明する。なお、図17の説明では、図8のフローチャートで説明した処理と同様の処理については、その説明を省略する。
Next, the processing procedure of the work simulation by the numerical control device 1Z will be described. 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. In the description of FIG. 17, the description of the same processing as that described in the flowchart of FIG. 8 will be omitted.
数値制御装置1Zは、ワークシミュレーションを開始すると、第1系統Q1で工作機械100による旋削加工を実行し、第3系統Q3でロボット60による面取り加工を実行する。なお、第1系統Q1の処理および第3系統Q3の処理は並列にて実施されるものとする。
When the work simulation is started, 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.
第1系統Q1の旋削加工ステップでは、解析処理部37が、NCプログラムを解析する(ステップS10A)。すなわち、解析処理部37が、工作機械100の駆動部90への指令である機械駆動指令を解析する。
In the turning step of the first system Q1, 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.
補間処理部38は、機械駆動指令の解析結果を用いて、機械駆動指令の補間処理を行う(ステップS20)。そして、補間処理部38は、補間処理した機械駆動指令に基づいて、工作機械100の動作である工作機械動作の演算処理を実行する(ステップS30)。補間処理部38による演算処理で得られる機械動作には、工作機械100が備える駆動部90の各軸位置の情報が含まれている。
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.
移動軌跡演算部805は、工具6aの移動軌跡である第1の工具移動軌跡の演算処理を実行する(ステップS200)。具体的には、移動軌跡演算部805は、工作機械100が備える駆動部90の各軸位置と、機械モデル811と、工具データ813とに基づいて、工具6aの移動軌跡を算出する。
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.
第3系統Q3の面取り加工ステップでは、解析処理部37のロボット指令解析部371が、NCプログラムを解析する(ステップS10B)。すなわち、ロボット指令解析部371が、ロボット60への指令であるロボット指令を解析する。
In the chamfering step of the third system Q3, 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.
ロボット制御部41は、ロボット60への指令の解析結果を用いて、ロボット60へのNCプログラムをロボットプログラムに変換する(ステップS40)。また、ロボット制御部41は、ロボットプログラムに基づいて、ロボット60の動作であるロボット動作の演算処理を実行する(ステップS50)。ロボット制御部41による演算処理で得られるロボット動作には、ロボット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.
移動軌跡演算部805は、工具6cの移動軌跡である第2の工具移動軌跡の演算処理を実行する(ステップS210)。具体的には、移動軌跡演算部805は、ロボット60の各軸位置と、ロボットモデル812と、工具データ814とに基づいて、工具6cの移動軌跡を算出する。
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.
移動軌跡演算部805が、工具6a,6cの移動軌跡を算出した後、ワーク位置演算部806は、ワークデータ815と、機械モデル811と、ロボットモデル812とに基づいて、加工ワーク5aの位置であるワーク位置の演算処理を実行する(ステップS220)。すなわち、ワーク位置演算部806は、ワーク位置の演算処理にて加工ワーク5aが工作機械100の加工室内の何れの位置に存在するかを算出する。
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.
ワーク形状演算部807は、ワーク形状の演算処理を実行する(ステップS230)。具体的には、ワーク形状演算部807は、工具6a~6cの移動軌跡と、加工ワーク5aの位置と、に基づいて、加工ワーク5aの加工中の形状を算出する。すなわち、ワーク形状演算部807は、ステップS200,S210で算出された工具6a,6cの移動軌跡と、ステップS220で算出されたワーク位置とに基づいて、特定領域まで加工された後の加工ワーク5aの形状を算出する。換言すると、ワーク形状演算部807は、ワーク形状の時間的な変化を算出する。このとき、ワーク形状演算部807は、加工ワーク5aに対して、工具6a,6cが通過した箇所を除外した形状を演算していく。
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.
シミュレーション制御部80Zは、描画処理を実行する(ステップS240)。具体的には、ワーク形状演算部807が、算出した加工ワーク5aの加工中の形状を描画し、描画したデータを画面処理部31に送る。これにより、表示部4は、加工ワーク5aの加工中の形状を表示する。
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.
シミュレーション制御部80Zは、加工ワーク5bに対しても、加工ワーク5aと同様に加工中の形状を算出することができる。シミュレーション制御部80Zは、算出した加工ワーク5a,5bを用いて、ロボット60と加工ワーク5a,5bとの干渉をチェックしてもよいし、干渉を回避させてもよい。また、シミュレーション制御部80Zは、算出した加工ワーク5a,5bを用いて、工作機械100と加工ワーク5a,5bとの干渉をチェックしてもよいし、干渉を回避させてもよい。
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.
このように実施の形態3によれば、数値制御装置1Zは、工具6a~6cの移動軌跡を算出し、工具6a~6cの移動軌跡に基づいて加工ワーク5a,5bの形状を算出するので、加工中の加工ワーク5a,5bの形状を算出することができる。
As described above, according to the third embodiment, 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.
また、数値制御装置1Zは、加工中の加工ワーク5a,5bの形状を算出できるので、加工ワーク5a,5bとロボット60との干渉のチェックおよび干渉の回避を正確に実行できる。また、数値制御装置1Zは、加工中の加工ワーク5a,5bの形状を算出できるので、加工ワーク5a,5bと工作機械100との干渉のチェックおよび干渉の回避を正確に実行できる。
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 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.
実施の形態4.
つぎに、図18から図22を用いてこの発明の実施の形態4について説明する。実施の形態4では、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には、干渉回避の動作を実行する。Embodiment 4.
Next, a fourth embodiment of the present invention will be described with reference to FIGS. 18 to 22. In the fourth embodiment, it is determined whether or not interference occurs between themachine 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.
つぎに、図18から図22を用いてこの発明の実施の形態4について説明する。実施の形態4では、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には、干渉回避の動作を実行する。
Next, a fourth embodiment of the present invention will be described with reference to FIGS. 18 to 22. In the fourth embodiment, it is determined whether or not interference occurs between the
図18は、実施の形態4にかかる数値制御装置の構成例を示す図である。図18の各構成要素のうち数値制御装置1X,1Y,1Zと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 18 is a diagram showing a configuration example of the numerical control device according to the fourth embodiment. Of the components of FIG. 18, 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.
数値制御装置1Lは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Lを備えている。制御演算部2Lは、制御演算部2Yと比較して、シミュレーション制御部80Yの代わりに干渉回避制御部81を備えている。また、制御演算部2Lは、制御演算部2Yと比較して、ロボット制御部41の代わりにロボット制御部41Lを備えている。
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. Further, 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.
制御演算部2Lの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811と、ロボットモデル812とを含んでいる。
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.
干渉回避制御部81は、シミュレーション制御部80Yが備えている機能に加えて、手動操作された際に干渉を回避するための処理を実行する機能を備えている。干渉回避制御部81は、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には工作機械100とロボット60との干渉を回避するため、ロボット60への指令などを変更する。干渉回避制御部81は、機械動作演算部851と、ロボット動作演算部852と、干渉チェック部853と、干渉回避処理部854とを備えている。
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.
機械動作演算部851は、機械モデル811および工具データ813を記憶部34から取得する。また、ロボット動作演算部852は、ロボットモデル812および工具データ814を記憶部34から取得する。なお、図18では、干渉回避制御部81が記憶部34から取得して格納しておく、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
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.
機械動作演算部851は、機械動作演算部801が備えている機能に加えて、手動操作された際の工作機械100の位置および形状を算出する機能を備えている。機械動作演算部851は、手動操作による移動対象が工作機械100の構成要素であった場合、移動対象、移動量、機械モデル811および工具データ813に基づいて、工作機械100の移動後の位置および形状を算出する。機械動作演算部851は、算出結果である、工作機械100の移動後の位置および形状を干渉チェック部853に送信する。
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. When the movement target by the manual operation is a component of the machine tool 100, 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.
ロボット動作演算部852は、ロボット動作演算部802が備えている機能に加えて、手動操作された際のロボット60の位置および形状を算出する機能を備えている。ロボット動作演算部852は、手動操作による移動対象がロボット60の構成要素であった場合、移動対象、移動量、ロボットモデル812および工具データ814に基づいて、ロボット60の移動後の位置および形状を算出する。ロボット動作演算部852は、算出結果である、ロボット60の移動後の位置および形状を干渉チェック部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. When the movement target by the manual operation is a component of the robot 60, 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.
干渉チェック部853は、手動操作による移動対象の移動後の位置および形状に基づいて、工作機械100とロボット60とが干渉するか否かを判断する。干渉回避処理部854は、ロボット60の姿勢を変更することで干渉回避が可能である場合に、ロボット60の姿勢を変更した移動データを生成して、ロボット制御部41Lに送信する。
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. When interference avoidance is possible by changing the posture of the robot 60, 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.
数値制御装置1Lの入力操作部3は、手動ハンドル55と、ジョグボタン57と、軸選択スイッチ59とを備えている。また、数値制御装置1Lのロボット制御部41Lは、ロボット手動操作部415を備えている。また、数値制御装置1Lの補間処理部38は、手動可否判断部382Mを備えている。
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.
手動ハンドル55は、ロボット60の軸方向の移動量を操作するためのハンドルである。手動ハンドル55は、手動パルスジェネレータである。手動ハンドル55は、操作に対応する移動量を制御演算部2Lに送る。この移動量は、記憶部34を介してロボット手動操作部415に送られる。
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.
なお、手動ハンドル55は、工作機械100の軸方向の移動量を操作する際に用いられてもよい。すなわち、ユーザは、1つの手動ハンドル55で、ロボット60の操作および工作機械100の操作を行ってもよい。この場合、ユーザからの操作を受け付ける操作盤(後述する操作盤53)には、手動ハンドル55による手動操作対象を切り替えるための切替スイッチ(後述する切替スイッチ15)を配置しておく。
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. In this case, 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.
ジョグボタン57は、ロボット60の軸方向の移動量をジョグ操作するためのボタンである。ジョグボタン57は、操作に対応する操作情報を制御演算部2Lに送る。この操作情報は移動量に対応する情報であり、記憶部34を介してロボット手動操作部415に送られる。
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.
軸選択スイッチ59は、ロボット60に対して手動操作する軸を選択するスイッチである。軸選択スイッチ59の例は、工作機械100における座標系で、X軸を指定するスイッチ、Y軸を指定するスイッチ、Z軸を指定するスイッチ、A軸を指定するスイッチ、B軸を指定するスイッチ、C軸を指定するスイッチである。軸選択スイッチ59は、押下またはタッチされた軸が何れの軸であるかを示す軸情報を、制御演算部2Lに送る。この軸情報は、記憶部34を介してロボット手動操作部415に送られる。
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.
ここで、切替スイッチ15を備えた操作盤53の構成について説明する。図19は、実施の形態4にかかる数値制御装置が備える操作盤の構成例を示す図である。図19に示すように、操作盤53は、工作機械100の前面などに配置されている。また、工作機械100の前面には、表示部4および手動ハンドル55が配置されている。なお、図19では、ジョグボタン57、および軸選択スイッチ59の図示を省略している。
Here, the configuration of the operation panel 53 provided with the changeover switch 15 will be described. FIG. 19 is a diagram showing a configuration example of an operation panel included in the numerical control device according to the fourth embodiment. As shown in FIG. 19, 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.
操作盤53には、手動ハンドル55による手動操作対象を切り替えるための切替スイッチ15が配置されている。切替スイッチ15は、手動操作対象をロボット60に切り替えるためのスイッチと、手動操作対象を工作機械100に切り替えるためのスイッチとを有している。切替スイッチ15が操作されると、切替スイッチ15は、操作に対応する手動操作対象を制御演算部2Lの解析処理部37に送る。
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. When the changeover switch 15 is operated, 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.
ロボット60または工作機械100が、手動操作可能な構成要素を複数有している場合、解析処理部37は、入力操作部3から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60の構成要素であるか工作機械100の構成要素であるかを解析する。この場合、ユーザは、入力操作部3に対し、手動操作するロボット60の構成要素を指定する操作、または手動操作する工作機械100の構成要素を指定する操作を実行する。
When the robot 60 or the machine tool 100 has a plurality of components that can be manually operated, 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.
ロボット手動操作部415は、手動可否判断部421Rおよび移動データ送信部422を備えている。手動可否判断部421Rは、制御システムの状態(以下、システム状態という)に基づいて、ロボット60の手動操作の可否を判断する。すなわち、手動可否判断部421Rは、ロボット60、数値制御装置1L、および工作機械100の少なくとも1つの状態に基づいて、ロボット60の手動操作の可否を判断する。可否の判断には、数値制御装置1Lが持つ種々のデータが参照される。手動可否判断部421Rは、例えば、非常停止状態である場合、ロボットコントローラ50との通信が未接続である場合、またはロボット60の周辺の侵入禁止領域にユーザが侵入している場合に、手動操作不可と判断する。
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.
移動データ送信部422は、軸選択スイッチ59で選択された軸情報と、解析処理部37が解析した移動量に基づいて移動指令を生成し、移動指令をロボットコントローラ50に送る。これにより、数値制御装置1Lは、ロボットコントローラ50を介して、ロボット60を操作することができる。解析処理部37が解析した移動量は、ジョグボタン57または手動ハンドル55から送られてくる情報に対応している。すなわち、解析処理部37が解析した移動量は、ジョグボタン57または手動ハンドル55への手動操作に対応している。
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. As a result, 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.
手動可否判断部382Mは、システム状態に基づいて、工作機械100の手動操作の可否を判断する。すなわち、手動可否判断部382Mは、ロボット60、数値制御装置1L、および工作機械100の少なくとも1つの状態に基づいて、工作機械100の手動操作の可否を判断する。可否の判断には、数値制御装置1Lが持つ種々のデータが参照される。手動可否判断部382Mは、例えば、非常停止状態である場合、または工作機械100の周辺の侵入禁止領域にユーザが侵入している場合に、手動操作不可と判断する。
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.
ここで、手動操作が行われた場合の、干渉チェック処理について説明する。本実施の形態の解析処理部37は、切替スイッチ15によって切替えられた手動操作対象(移動対象)と、ジョグボタン57への操作に対応する操作情報を受け付ける。解析処理部37は、移動対象がロボット60である場合、受け付けた操作情報に基づいて移動量を算出し、移動量をロボット手動操作部415に送る。また、解析処理部37は、移動対象が工作機械100である場合、受け付けた操作情報に基づいて移動量を算出し、移動量を補間処理部38に送る。
Here, the interference check process when a manual operation is performed will be described. 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. When the movement target is the robot 60, 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. Further, when the movement target is the machine tool 100, 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.
ロボット手動操作部415は、移動量を受け付けると、移動量をロボット動作演算部852に送る。また、補間処理部38は、移動量を受け付けると、移動量を機械動作演算部851に送る。
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.
ロボット動作演算部852は、ロボット手動操作部415から移動量を受け付けると、移動対象がロボット60であると判断し、移動量に基づいて、ロボット60の移動後の位置および形状を算出する。ロボット動作演算部852は、算出結果である、ロボット60の移動後の位置および形状を干渉チェック部853に送信する。
When 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.
機械動作演算部851は、補間処理部38から移動量を受け付けると、移動対象が工作機械100であると判断し、移動量に基づいて、工作機械100の移動後の位置および形状を算出する。機械動作演算部851は、算出結果である、工作機械100の移動後の位置および形状を干渉チェック部853に送信する。
When 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.
干渉チェック部853は、ロボット動作演算部852から移動後のロボット60の位置および形状を受け付けると、移動後のロボット60の位置および形状と、工作機械100の位置および形状とに基づいて、干渉をチェックする。この場合、干渉チェック部853は、干渉の有無を手動可否判断部421Rに送る。
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.
干渉チェック部853は、機械動作演算部851から移動後の工作機械100の位置および形状を受け付けると、移動後の工作機械100の位置および形状と、ロボット60の位置および形状とに基づいて、干渉をチェックする。この場合、干渉チェック部853は、干渉の有無を手動可否判断部382Mに送る。
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.
手動可否判断部421Rは、干渉がある場合は、手動操作不可と判断し、移動データ送信部422によるロボットコントローラ50へのデータ送信を禁止する。手動可否判断部421Rは、干渉がない場合は、システム状態に基づいて、移動データ送信部422によるロボットコントローラ50へのデータ送信を許可するか否かを判断する。
If there is interference, 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.
手動可否判断部382Mは、干渉がある場合は、手動操作不可と判断し、補間処理部38による加減速処理部39へのデータ送信を禁止する。手動可否判断部382Mは、干渉がない場合は、システム状態に基づいて、補間処理部38による加減速処理部39へのデータ送信を許可するかを判断する。干渉チェック部853は、干渉がある場合は、画面処理部31を介して表示部4に干渉アラームを表示させてもよい。
If there is interference, 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.
図20は、実施の形態4にかかる数値制御装置が備える表示部で表示される干渉アラームの例を示す図である。表示部4は、干渉アラームとして、「手動操作による干渉発生のため移動不可」といったメッセージを画面上に表示する。
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.
ところで、手動操作がロボット60への手動操作であった場合、干渉回避処理部854は、ロボット60の姿勢を変えることで干渉を回避することが可能な場合がある。例えば、ユーザが、軸選択スイッチ59でロボット60の直線軸を指定して直線軸を移動させる場合、ロボット60の姿勢によっては、干渉を回避可能な場合がある。そのため、干渉チェック部853にて干渉があると判断された場合、干渉回避処理部854は、姿勢を変更することで干渉回避が可能か否かを判断する。干渉回避が可能な場合、干渉回避処理部854は、手動可否判断部421Rに手動操作可能であることを通知するとともに、姿勢を変更した移動データを手動可否判断部421Rに送信する。干渉回避処理部854は、干渉回避処理部804と同様の方法によって、ロボット60の姿勢を変更する移動データを算出する。
By the way, when the manual operation is a manual operation on the robot 60, 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.
つぎに、数値制御装置1Lによる干渉回避の方法について説明する。図21は、実施の形態4にかかる数値制御装置によって実行される干渉回避の動作例を説明するための図である。数値制御装置1Lは、例えば、ロボット60の姿勢変更によって干渉を回避する。図21の左側に示すロボット60は、ロボットアーム21が搬送物7に衝突した状態を示し、図21の右側に示すロボット60は、ロボットアーム21が搬送物7に衝突ないようロボット60の軸の角度を変更した状態を示している。
Next, a method of avoiding interference by the numerical control device 1L will be described. 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.
ユーザが、ロボット60を手動で直交座標系の軸方向に対して移動させる指令を出している際に、干渉回避処理部854が、次の指令で干渉すると判断した場合、干渉回避処理部854は、姿勢を変えることによって干渉を回避できるか否かをチェックする。具体的には、干渉回避処理部854は、ロボットハンド22の先端位置および姿勢が姿勢変更の前後で変わらないよう、ロボット60の軸A1,A2,A3の角度を算出し、算出した角度の姿勢で干渉するか否かをチェックする。
If the user manually issues a command to move the robot 60 in the axial direction of the Cartesian coordinate system and the interference avoidance processing unit 854 determines that the robot 60 will interfere with the next command, 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.
ロボット60の軸のうち、台座23に接合されている第1のロボットアームの軸が軸A1であり、第1のロボットアームに接合されている第2のロボットアームの軸が軸A2であり、第2のロボットアームに接合されている第3のロボットアームの軸が軸A3である。
Of the axes of the robot 60, the axis of the first robot arm joined to the pedestal 23 is the axis A1, and 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.
図21では、軸A1,A2の角度が変更された場合を示している。干渉回避処理部854は、軸A3の角度を変更しないことによって、ロボットハンド22の先端位置および姿勢を姿勢変更の前後で変わらないようにしつつ、干渉を回避できる姿勢を算出する。
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.
干渉する場合、干渉回避処理部854は、軸A1,A2,A3の角度を再度算出する処理と、干渉するか否かをチェックする処理とを繰り返す。干渉しない軸A1,A2,A3の角度を算出できた場合のみ干渉回避が可能となる。
In the case of interference, 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.
つぎに、数値制御装置1Lによる干渉チェックおよび干渉回避の処理手順について説明する。図22は、実施の形態4にかかる数値制御装置による干渉チェックおよび干渉回避の処理手順を示すフローチャートである。
Next, the processing procedure of interference check and interference avoidance by the numerical control device 1L will be described. 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.
数値制御装置1Lは、手動操作が行われた際に、工作機械100またはロボット60に対して手動操作に対応する実際の動作を実行する前に、干渉の有無を判断し、干渉が無い場合には、工作機械100またはロボット60に対して手動操作に対応する実際の動作を実行させる。
When the manual operation is performed, 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.
解析処理部37は、手動操作を解析する(ステップS310)。具体的には、解析処理部37は、切替スイッチ15から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60であるか工作機械100であるかを解析する。また、解析処理部37は、入力操作部3から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60の構成要素であるか工作機械100の構成要素であるかを解析する。また、解析処理部37は、ジョグボタン57または手動ハンドル55から送られてくる操作情報を解析する。
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.
解析処理部37は、移動対象が工作機械100であるか否かを判断する。すなわち、解析処理部37は、手動操作が工作機械100の構成要素の移動に対応するか否かを判断する(ステップS320)。移動対象が工作機械100の構成要素であった場合(ステップS320、Yes)、解析処理部37は、記憶部34および補間処理部38を介して、機械動作演算部851に移動対象および移動量を送る。機械動作演算部851は、移動対象、移動量、機械モデル811、および工具データ813に基づいて、工作機械100の手動操作に応じた移動後の位置および形状を算出する。
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.
干渉チェック部853は、ロボット60との干渉をチェックする(ステップS330)。すなわち、干渉チェック部853は、手動操作によって移動した場合の工作機械100が、ロボット60に干渉するか否かを判断する。具体的には、干渉チェック部853は、移動後の工作機械100の位置および形状と、ロボット60の位置および形状とに基づいて、工作機械100がロボット60に干渉するか否かを判断する。このとき、干渉チェック部853は、ロボット60の位置および形状を、ロボットモデル812および工具データ814に基づいて算出する。また、干渉チェック部853は、移動後の工作機械100の位置および形状を、機械モデル811、工具データ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.
干渉チェック部853は、干渉すると判断した場合には(ステップS340、Yes)、手動可否判断部382Mに工作機械100の移動不可を通知する(ステップS360)。また、干渉チェック部853は、工作機械100が備える軸を停止させ、干渉アラームを表示部4に表示させる。
When the interference check unit 853 determines that it interferes (step S340, Yes), it notifies the manual availability determination unit 382M that the machine tool 100 cannot be moved (step S360). Further, the interference check unit 853 stops the shaft included in the machine tool 100 and displays an interference alarm on the display unit 4.
干渉チェック部853は、干渉しないと判断した場合には(ステップS340、No)、手動可否判断部382Mに工作機械100の移動可能を通知する(ステップS350)。この場合、補間処理部38は、システム状態に異常が無ければ、移動対象および移動量に基づいて、工作機械100を制御するためのデータを生成し、加減速処理部39に送る。これにより、工作機械100が手動操作に従って制御される。
When 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). In this case, if there is no abnormality in the system state, 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.
移動対象がロボット60の構成要素であった場合(ステップS320、No)、解析処理部37は、記憶部34およびロボット手動操作部415を介して、ロボット動作演算部852に移動対象および移動量を送る。ロボット動作演算部852は、移動対象、移動量、ロボットモデル812、および工具データ814に基づいて、ロボット60の移動後の位置および形状を算出する。
When the movement target is a component of the robot 60 (step S320, No), 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.
干渉チェック部853は、工作機械100との干渉をチェックする(ステップS370)。すなわち、干渉チェック部853は、手動操作によって移動した場合のロボット60が、工作機械100に干渉するか否かを判断する。具体的には、干渉チェック部853は、移動後のロボット60の位置および形状と、工作機械100の位置および形状とに基づいて、ロボット60が工作機械100に干渉するか否かを判断する。
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.
干渉チェック部853は、干渉すると判断した場合には(ステップS380、Yes)、干渉回避処理部854にロボット60の移動不可を通知する。干渉回避処理部854は、ロボット60の姿勢変更による干渉回避動作を計算する(ステップS390)。干渉チェック部853は、干渉の回避が可能か否かを判断する(ステップS400)。干渉チェック部853が干渉の回避が不可能であると判断した場合(ステップS400、No)、干渉チェック部853は、手動可否判断部421Rにロボット60の移動不可を通知する(ステップS410)。また、干渉チェック部853は、ロボット60が備える軸を停止させ、干渉アラームを表示部4に表示させる。
When the interference check unit 853 determines that it interferes (step S380, Yes), it notifies the interference avoidance processing unit 854 that the robot 60 cannot move. 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). When 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.
ステップS400の処理において、干渉チェック部853が干渉の回避が可能であると判断した場合(ステップS400、Yes)、干渉チェック部853は、手動可否判断部421Rにロボット60の移動可能を通知する(ステップS420)。また、干渉チェック部853は、移動データ送信部422に干渉回避の動作指令を送る(ステップS430)。干渉回避の動作指令は、干渉を回避することができるロボット60への移動データを含んでいる。移動データ送信部422は、干渉回避の動作指令に基づいて、ロボット60に移動データを送る。これにより、ロボット60が手動操作に従って制御される。
In the process of 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.
ステップS380の処理において、干渉チェック部853は、干渉しないと判断した場合には(ステップS380、No)、手動可否判断部421Rにロボット60の移動可能を通知する(ステップS440)。ロボット制御部41は、移動対象および移動量を用いて、ロボット60を制御するためのデータを生成し、ロボットコントローラ50に送る。これにより、ロボット60が数値制御装置1Lによって制御される。
In the process of 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.
このように実施の形態4によれば、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には、干渉回避の動作を実行するので、手動操作の際の干渉を回避することができる。
As described above, according to 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.
実施の形態5.
つぎに、図23を用いてこの発明の実施の形態5について説明する。実施の形態5では、機械学習装置が、干渉の有無を学習する。Embodiment 5.
Next, a fifth embodiment of the present invention will be described with reference to FIG. 23. In the fifth embodiment, the machine learning device learns the presence or absence of interference.
つぎに、図23を用いてこの発明の実施の形態5について説明する。実施の形態5では、機械学習装置が、干渉の有無を学習する。
Next, a fifth embodiment of the present invention will be described with reference to FIG. 23. In the fifth embodiment, the machine learning device learns the presence or absence of interference.
図23は、実施の形態5にかかる数値制御装置の構成例を示す図である。図23の各構成要素のうち数値制御装置1Yと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 23 is a diagram showing a configuration example of the numerical control device according to the fifth embodiment. Among the components of FIG. 23, 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.
数値制御装置1Mは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Mを備えている。制御演算部2Mは、制御演算部2Yが備える構成要素に加えて、機械学習装置70を備えている。
Compared with the numerical control device 1Y, 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.
機械学習装置70は、シミュレーション制御部80Yと、解析処理部37とに接続されている。機械学習装置70は、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉情報(r)とを用いて、工作機械100とロボット60の間の干渉の有無を学習する。すなわち、機械学習装置70は、干渉の有無の推測処理を学習する。
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.
シミュレーション位置情報(r)は、シミュレーション制御部80Yが、干渉の有無を判定する際に、シミュレーション用データ346を用いて工作機械100およびロボット60の位置を算出した位置データである。シミュレーション制御部80Yは、干渉の有無を判定する際には、シミュレーション位置情報(r)を画面処理部31に送り、干渉の有無を学習する際には、シミュレーション位置情報(r)を機械学習装置70に送る。
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.
NCプログラム情報(r)は、干渉の有無が判定される際に、解析処理部37が用いたNCプログラムの情報である。干渉情報(r)は、工作機械100がロボット60に衝突するかを示す衝突情報である。干渉情報(r)は、干渉(衝突)の有無を示す情報と、干渉の位置を示す情報と、干渉する構成要素(干渉対象)を示す情報とを含んでいる。
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).
機械学習装置70は、状態観測部71と、データ取得部72と、学習部73とを含んでいる。状態観測部71は、シミュレーション位置情報(r)をシミュレーション制御部80Yから取得し、NCプログラム情報(r)を解析処理部37から取得する。状態観測部71は、シミュレーション位置情報(r)およびNCプログラム情報(r)を状態情報(i)として観測する。状態観測部71は、データ観測した結果である状態情報(i)を学習部73に出力する。データ取得部72は、干渉チェック部803から干渉情報(r)を取得する。データ取得部72は、干渉情報(r)を学習部73に出力する。
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.
学習部73は、状態情報(i)および干渉情報(r)の組み合わせに基づいて作成されるデータセットに基づいて、干渉の有無を推測した情報である干渉推測情報(n)を学習する。ここで、状態変数である状態情報(i)は、シミュレーション位置情報(r)およびNCプログラム情報(r)を互いに関連付けたデータである。
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). Here, 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.
なお、機械学習装置70は、数値制御装置1Mに設けられるものに限られない。機械学習装置70は、数値制御装置1Mの外部に設けられてもよい。機械学習装置70は、ネットワークを介して数値制御装置1Mに接続可能な装置に設けられてもよい。すなわち、機械学習装置70は、ネットワークを介して数値制御装置1Mに接続された別個のコンポーネントであってもよい。また、機械学習装置70は、クラウドサーバ上に存在していてもよい。
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.
学習部73は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、シミュレーション位置情報(r)およびNCプログラム情報(r)を含んだ状態情報(i)と、教師データである干渉情報(r)とから干渉推測情報(n)を学習する。ここで、教師あり学習とは、ある入力と結果のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。
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. The interference estimation information (n) is learned from and. Here, 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.
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層でもよいし2層以上でもよい。
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.
例えば、3層のニューラルネットワークであれば、複数の入力が入力層に入力されると、その値に重みを掛けて中間層に入力され、その結果にさらに重みを掛けて出力層から出力される。この出力結果は、各々の重みの値によって変わる。
For example, in the case of a three-layer neural network, when multiple inputs are input to the input layer, 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.
本実施の形態のニューラルネットワークは、状態情報(i)および干渉情報(r)の組み合わせに基づいて作成されるデータセットに従って、いわゆる教師あり学習により、干渉推測情報(n)を学習結果(推測値)として出力する。
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.
すなわち、ニューラルネットワークは、入力層にシミュレーション位置情報(r)とNCプログラム情報(r)とを含んだ状態情報(i)を入力して出力層から出力された結果が、干渉情報(r)に近付くよう、重みを調整することで、干渉推測情報(n)を学習する。
That is, 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.
また、ニューラルネットワークは、いわゆる教師なし学習によって、干渉推測情報(n)を学習することもできる。教師なし学習とは、入力データのみを大量に機械学習装置70に与えることで、入力データがどのような分布をしているか学習し、対応する教師データ(出力データ)を与えなくても、入力データに対して圧縮、分類、整形等を行い学習する手法である。教師なし学習では、データセットにある特徴を似たもの同士にクラスタリングすること等ができる。教師なし学習では、このクラスタリングの結果を使って、何らかの基準を設けて、この基準を最適にするような出力の割り当てを行うことで、出力の予測を実現することができる。
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. In unsupervised learning, features in a dataset can be clustered into similar ones. In 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.
また、機械学習装置70は、複数の数値制御装置に対して作成されるデータセットに従って、干渉推測情報(n)を学習結果(推測値)として出力してもよい。なお、機械学習装置70は、同一の現場で使用される複数の数値制御装置からデータセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数の数値制御装置から収集されるデータセットを利用して干渉推測情報(n)を学習してもよい。さらに、機械学習装置70は、データセットを収集する数値制御装置を途中で対象に追加し、或いは、逆に対象から切り離すことも可能である。また、ある数値制御装置に関して干渉推測情報(n)を学習した機械学習装置70を、これとは別の数値制御装置に取り付け、当該別の数値制御装置に関して干渉推測情報(n)を再学習して更新するようにしてもよい。
Further, 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.
また、機械学習装置70に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもできる。また、学習部73は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
Further, as a learning algorithm used in the machine learning device 70, deep learning, which learns the extraction of the feature amount itself, can also be used. In addition, the learning unit 73 may execute machine learning according to other known methods such as genetic programming, functional logic programming, and support vector machines.
機械学習装置70は、推測した干渉推測情報(n)をシミュレーション制御部80Yに出力する。シミュレーション制御部80Yは、干渉が発生する直前ではなく、干渉の発生が推測されるNCプログラムのブロックの前のブロックエンドで工作機械100を停止させる。干渉が発生する直前で工作機械100またはロボット60を停止した場合、工作機械100またはロボット60の移動速度によっては、停止に時間がかかり、干渉を起こす場合があるからである。本実施の形態では、シミュレーション制御部80Yが、干渉の発生が推測されるNCプログラムのブロックの前のブロックエンドで工作機械100を停止させるので、干渉を防ぐことができる。
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. In the present embodiment, 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.
このように実施の形態5では、機械学習装置70が、干渉情報(r)と、シミュレーション位置情報(r)と、NCプログラム情報(r)とを互いに関連付けたデータセットに基づいて、干渉推測情報(n)を学習している。したがって、機械学習装置70は、状態情報(i)に基づいて、干渉推測情報(n)を算出することが可能となる。
As described above, in the fifth embodiment, 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).
実施の形態6.
つぎに、図23を用いてこの発明の実施の形態6について説明する。実施の形態6では、実施の形態4で説明した制御演算部2Lの動作に機械学習装置70を適用する。実施の形態6では、実施の形態5と比較して、状態情報(i)に干渉情報(r)が加わり、教師データに干渉情報(r)ではなく干渉回避プログラム情報(r)を用いる。また、実施の形態6では、機械学習装置70が干渉推測情報(n)ではなく干渉回避推測情報(n)を学習する。 Embodiment 6.
Next, a sixth embodiment of the present invention will be described with reference to FIG. 23. In the sixth embodiment, the machine learning device 70 is applied to the operation of the control calculation unit 2L described in the fourth embodiment. In the sixth embodiment, as compared with the fifth 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). Further, in the sixth embodiment, the machine learning device 70 learns the interference avoidance estimation information (n) instead of the interference estimation information (n).
つぎに、図23を用いてこの発明の実施の形態6について説明する。実施の形態6では、実施の形態4で説明した制御演算部2Lの動作に機械学習装置70を適用する。実施の形態6では、実施の形態5と比較して、状態情報(i)に干渉情報(r)が加わり、教師データに干渉情報(r)ではなく干渉回避プログラム情報(r)を用いる。また、実施の形態6では、機械学習装置70が干渉推測情報(n)ではなく干渉回避推測情報(n)を学習する。 Embodiment 6.
Next, a sixth embodiment of the present invention will be described with reference to FIG. 23. In the sixth embodiment, the machine learning device 70 is applied to the operation of the control calculation unit 2L described in the fourth embodiment. In the sixth embodiment, as compared with the fifth 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). Further, in the sixth embodiment, the machine learning device 70 learns the interference avoidance estimation information (n) instead of the interference estimation information (n).
干渉回避プログラム情報(r)は、干渉を回避する際に、干渉回避処理部804が用いたNCプログラムの情報である。干渉回避推測情報(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.
機械学習装置70は、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉情報(r)とを用いて、干渉回避推測情報(n)を学習する、すなわち、機械学習装置70は、干渉回避に用いるNCプログラムの指令を推測する。
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.
本実施の形態の状態観測部71は、シミュレーション位置情報(r)、NCプログラム情報(r)、および干渉情報(r)を状態情報(i)として観測する。状態観測部71は、データ観測した結果である状態情報(i)を学習部73に出力する。
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.
データ取得部72は、干渉回避処理部804から干渉回避プログラム情報(r)を取得する。データ取得部72は、干渉回避プログラム情報(r)を学習部73に出力する。干渉回避処理部804は、干渉を回避する際には、干渉回避プログラム情報(r)をロボット制御部41に送り、干渉の回避を学習する際には、干渉回避プログラム情報(r)を機械学習装置70に送る。
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.
本実施の形態では、状態観測部71は、シミュレーション位置情報(r)、NCプログラム情報(r)、および干渉情報(r)を状態情報(i)として観測する。
In the present embodiment, 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).
また、本実施の形態の学習部73は、状態情報(i)および教師データである干渉回避プログラム情報(r)の組み合わせに基づいて作成されるデータセットに基づいて、干渉回避推測情報(n)を学習する。ここで、データセットは、状態変数である状態情報(i)および干渉回避プログラム情報(r)を互いに関連付けたデータである。
Further, 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. To learn. Here, 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.
本実施の形態でも学習部73は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、状態情報(i)と干渉回避プログラム情報(r)を互いに関連付けたデータセットから干渉回避推測情報(n)を学習する。
Also in this embodiment, 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.
すなわち、ニューラルネットワークは、入力層にシミュレーション位置情報(r)とNCプログラム情報(r)と干渉情報(r)と含んだ状態情報(i)を入力して出力層から出力された結果が、干渉回避プログラム情報(r)に近付くよう、重みを調整することで、干渉回避推測情報(n)を学習する。本実施の形態のニューラルネットワークは、いわゆる教師あり学習により、干渉回避推測情報(n)を学習結果(推測した指令)として出力する。
That is, in the neural network, 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.
また、本実施の形態のニューラルネットワークは、いわゆる教師なし学習によって、干渉回避推測情報(n)を学習することもできる。
Further, the neural network of the present embodiment can also learn the interference avoidance guessing information (n) by so-called unsupervised learning.
また、機械学習装置70は、複数の数値制御装置に対して作成されるデータセットに従って、干渉回避推測情報(n)を学習結果(推測値)として出力してもよい。また、ある数値制御装置に関して干渉回避推測情報(n)を学習した機械学習装置70を、これとは別の数値制御装置に取り付け、当該別の数値制御装置に関して干渉回避推測情報(n)を再学習して更新するようにしてもよい。
Further, 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.
また、干渉回避制御部81は、干渉が発生する直前ではなく、干渉の発生が推測されるNCプログラムのブロックの前のブロックに干渉回避推測情報に対応する指令を挿入する。干渉回避推測情報に対応する指令は、干渉を回避させることができるNCプログラムの指令である。これにより、干渉回避制御部81は、工作機械100とロボット60との間の干渉を事前に回避することができる。
Further, 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. As a result, the interference avoidance control unit 81 can avoid interference between the machine tool 100 and the robot 60 in advance.
このように実施の形態6では、機械学習装置70が、干渉情報(r)と、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉回避プログラム情報(r)とを互いに関連付けたデータセットに基づいて、干渉回避推測情報(n)を学習している。したがって、機械学習装置70は、状態情報(i)に基づいて、干渉回避プログラム情報(n)を算出することが可能となる。
As described above, in the sixth embodiment, 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).
なお、実施の形態1から6の内容を組み合わせてもよい。例えば、数値制御装置1X~1Zの少なくとも1つが、ロボット手動操作部415を備えていてもよい。また、数値制御装置1X~1Zの少なくとも1つが、機械学習装置70を備えていてもよい。
Note that the contents of the first to sixth embodiments may be combined. For example, 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.
ここで、制御演算部2X,2Y,2Z,2L,2Mのハードウェア構成について説明する。図24は、実施の形態にかかる数値制御装置が備える制御演算部のハードウェア構成例を示す図である。なお、制御演算部2X,2Y,2Z,2L,2Mは、同様のハードウェア構成を有しているので、ここでは制御演算部2Xのハードウェア構成について説明する。
Here, the hardware configuration of the control calculation unit 2X, 2Y, 2Z, 2L, 2M will be described. 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.
制御演算部2Xは、図24に示したプロセッサ301、メモリ302、およびインタフェース回路303により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
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).
制御演算部2Xは、プロセッサ301が、メモリ302で記憶されている、制御演算部2Xの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御演算部2Xの手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
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.
なお、制御演算部2Xの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、機械学習装置70を、図24に示したハードウェアで実現してもよい。
Note that some of the functions of the 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.
1L,1M,1X~1Z 数値制御装置、2L,2M,2X~2Z 制御演算部、3 入力操作部、4 表示部、5a,5b 加工ワーク、6a~6c 工具、7 搬送物、11a,11b 工具ホルダ、12a,12b チャック機構、14 筐体、15 切替スイッチ、21 ロボットアーム、22 ロボットハンド、23 台座、30 ローダ、31 画面処理部、34 記憶部、37 解析処理部、38 補間処理部、39 加減速処理部、40 軸データ出力部、41,41L ロボット制御部、50 ロボットコントローラ、53 操作盤、55 手動ハンドル、57 ジョグボタン、59 軸選択スイッチ、60 ロボット、70 機械学習装置、71 状態観測部、72 データ取得部、73 学習部、80X~80Z シミュレーション制御部、81 干渉回避制御部、90 駆動部、100 工作機械、130~135 画面、301 プロセッサ、302 メモリ、303 インタフェース回路、341 パラメータ記憶エリア、343 NCプログラム記憶エリア、344 表示データ記憶エリア、345 共有エリア、346 シミュレーション用データ、371 ロボット指令解析部、382M,421R 手動可否判断部、415 ロボット手動操作部、422 移動データ送信部、801,851 機械動作演算部、802,852 ロボット動作演算部、803,853 干渉チェック部、804,854 干渉回避処理部、805 移動軌跡演算部、806 ワーク位置演算部、807 ワーク形状演算部、811 機械モデル、812 ロボットモデル、813,814 工具データ、815 ワークデータ、P1 ロボット経由点、P2 面取り位置。
1L, 1M, 1X-1Z numerical control device, 2L, 2M, 2X-2Z control calculation unit, 3 input operation unit, 4 display unit, 5a, 5b machining work, 6a-6c tool, 7 transported object, 11a, 11b tool Holder, 12a, 12b chuck mechanism, 14 housing, 15 changeover switch, 21 robot arm, 22 robot hand, 23 pedestal, 30 loader, 31 screen processing unit, 34 storage unit, 37 analysis processing unit, 38 interpolation processing unit, 39 Acceleration / deceleration processing unit, 40-axis data output unit, 41, 41L robot control unit, 50 robot controller, 53 operation panel, 55 manual handle, 57 jog button, 59 axis selection switch, 60 robot, 70 machine learning device, 71 state observation Unit, 72 data acquisition unit, 73 learning unit, 80X-80Z simulation control unit, 81 interference avoidance control unit, 90 drive unit, 100 machine machine, 130-135 screen, 301 processor, 302 memory, 303 interface circuit, 341 parameter storage Area, 343 NC program storage area, 344 display data storage area, 345 shared area, 346 simulation data, 371 robot command analysis unit, 382M, 421R manual availability judgment unit, 415 robot manual operation unit, 422 mobile data transmission unit, 801 , 851 Machine motion calculation unit, 802,852 Robot motion calculation unit, 803, 853 Interference check unit, 804,854 Interference avoidance processing unit, 805 Movement locus calculation unit, 806 Work position calculation unit, 807 Work shape calculation unit, 811 Machine Model, 812 robot model, 833,814 tool data, 815 work data, P1 robot waypoint, P2 chamfering position.
Claims (10)
- 工作機械の動作シミュレーション用のデータである機械モデルと前記工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて、特定タイミングにおける前記第1の構成要素の位置を算出する機械動作演算部と、
ロボットの動作シミュレーション用のデータであるロボットモデルと前記ロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて前記特定タイミングにおける前記第2の構成要素の位置を算出するロボット動作演算部と、
前記第1の構成要素の位置および前記第2の構成要素の位置に基づいて、前記工作機械と前記ロボットとが衝突するか否かを判断する衝突判断部を有することを特徴とする数値制御装置。 The first configuration at a specific timing is used by using a machine model which is data for motion simulation of a machine tool and first position data used when controlling the position of a first component included in the machine tool. Machine tool operation calculation unit that calculates the position of the element,
Using the robot model, which is data for robot motion simulation, and the second position data used when controlling the position of the second component included in the robot, the second component at the specific timing The robot motion calculation unit that calculates the position and
A numerical control device having 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. .. - 前記機械動作演算部は、前記工作機械の描画用のデータおよび前記第1の位置データを用いて、前記第1の構成要素を描画し、
前記ロボット動作演算部は、前記ロボットの描画用のデータおよび前記第2の位置データを用いて、前記第2の構成要素を描画する、
ことを特徴とする請求項1に記載の数値制御装置。 The machine operation calculation unit draws the first component by using the drawing data of the machine tool and the first position data.
The robot motion calculation unit draws the second component by using the drawing data of the robot and the second position data.
The numerical control device according to claim 1. - 前記工作機械と前記ロボットとが衝突する場合に、前記衝突を発生させる前記ロボットへの移動指令を前記ロボットの姿勢を変更する指令に置き換えること、前記移動指令よりも前に前記ロボットの経路変更を行う指令である経路変更指令を挿入すること、および前記移動指令の直前に待機指令を挿入することの少なくとも1つを実行することで、前記衝突を回避させる干渉回避処理部をさらに有する、
ことを特徴とする請求項1または2に記載の数値制御装置。 When the machine tool and the robot collide, the movement command to the robot that causes the collision is replaced with a command to change the posture of the robot, and the route change of the robot is performed before the movement command. It further has an interference avoidance processing unit that avoids the collision by executing at least one of inserting a route change command which is a command to be executed and inserting a standby command immediately before the movement command.
The numerical control device according to claim 1 or 2. - 前記工作機械が用いる第1の工具の第1の移動軌跡および前記ロボットが用いる第2の工具の第2の移動軌跡を演算する移動軌跡演算部と、
前記工作機械および前記ロボットが加工する加工物の形状から、前記第1の工具および前記第2の工具が通過した箇所を除外した形状を演算して、前記加工物の加工後の形状を描画する加工後形状演算部と、
をさらに有することを特徴とする請求項1から3の何れか1つに記載の数値制御装置。 A movement locus calculation unit that calculates a first movement locus of the first tool used by the machine tool and a second movement locus of the second tool used by the robot, and a movement locus calculation unit.
The shape of the machine tool and the workpiece processed by the robot is calculated by excluding the portion where the first tool and the second tool have passed, and the shape of the workpiece after machining is drawn. Post-processing shape calculation unit and
The numerical control device according to any one of claims 1 to 3, further comprising. - 前記機械動作演算部は、前記工作機械への手動操作に対応する前記第1の構成要素の移動量に基づいて、前記第1の構成要素の位置および形状を算出し、
前記ロボット動作演算部は、前記ロボットへの手動操作に対応する前記第2の構成要素の移動量に基づいて、前記第2の構成要素の位置および形状を算出し、
前記衝突判断部は、前記第1の構成要素の位置および形状と、前記第2の構成要素の位置および形状とに基づいて、前記工作機械と前記ロボットとが衝突するか否かを判断する、
ことを特徴とする請求項1に記載の数値制御装置。 The machine operation calculation unit calculates the position and shape of the first component based on the amount of movement of the first component corresponding to the manual operation on the machine tool.
The robot motion calculation unit calculates the position and shape of the second component based on the amount of movement of the second component corresponding to the manual operation on the robot.
The collision determination unit determines whether or not the machine tool and the robot collide with each other based on the position and shape of the first component and the position and shape of the second component.
The numerical control device according to claim 1. - 前記工作機械と前記ロボットとが衝突する場合に、前記衝突を発生させる前記ロボットへの移動指令を、衝突を回避可能な姿勢に変更する移動指令に置き換えること、および前記移動指令の直前に待機指令を挿入することの少なくとも1つを実行することで、前記衝突を回避させる干渉回避処理部をさらに有する、
ことを特徴とする請求項5に記載の数値制御装置。 When the machine tool collides with the robot, the movement command to the robot that causes the collision is replaced with a movement command that changes the posture so that the collision can be avoided, and a standby command immediately before the movement command. Further includes an interference avoidance processing unit that avoids the collision by executing at least one of the insertion of the above.
The numerical control device according to claim 5. - 前記工作機械への指令である機械駆動指令と前記ロボットへの指令であるロボット指令とを含んだ数値制御プログラムを解析する解析処理部と、
前記ロボット指令を用いて前記ロボットを制御するロボット制御部と、
をさらに有し、
前記解析処理部は、解析した指令が前記機械駆動指令であるか前記ロボット指令であるかを判断し、解析した指令が前記ロボット指令である場合、前記ロボット指令の解析結果を前記ロボット制御部に送る、
ことを特徴とする請求項1から6の何れか1つに記載の数値制御装置。 An analysis processing unit that analyzes a numerical control program including a machine drive command that is a command to the machine tool and a robot command that is a command to the robot.
A robot control unit that controls the robot using the robot command,
Have more
The analysis processing unit determines whether the analyzed command is the machine drive command or the robot command, and when the analyzed command is the robot command, the analysis result of the robot command is sent to the robot control unit. send,
The numerical control device according to any one of claims 1 to 6, wherein the numerical control device is characterized. - 前記第1の構成要素には、前記工作機械が用いる工具を含み、
前記第2の構成要素には、前記ロボットが用いる工具を含む、
ことを特徴とする請求項1から7の何れか1つに記載の数値制御装置。 The first component includes tools used by the machine tool.
The second component includes tools used by the robot.
The numerical control device according to any one of claims 1 to 7, wherein the numerical control device is characterized. - 工作機械の動作シミュレーション用のデータである機械モデルと前記工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて算出された特定タイミングにおける前記第1の構成要素の位置、およびロボットの動作シミュレーション用のデータであるロボットモデルと前記ロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて算出された前記特定タイミングにおける前記第2の構成要素の位置を示すシミュレーション位置情報と、前記工作機械および前記ロボットの制御に用いた加工プログラムの情報である加工プログラム情報とを含む状態変数を観測する状態観測部と、
前記工作機械と前記ロボットとが衝突するか否かを示す衝突情報を取得するデータ取得部と、
前記状態変数および前記衝突情報の組み合わせに基づいて作成されるデータセットに従って、
前記工作機械と前記ロボットとが衝突するか否かを推測した情報である干渉推測情報を学習する学習部と、
を備えることを特徴とする機械学習装置。 The first at a specific timing calculated using a machine model which is data for motion simulation of a machine tool and first position data used when controlling the position of a first component included in the machine machine. The robot model, which is data for simulating the movement of the robot, and the second position data used for controlling the position of the second component included in the robot. A state observing unit that observes state variables including simulation position information indicating the position of the second component at a specific timing and machining program information that is machining program information used for controlling the machine tool and the robot. ,
A data acquisition unit that acquires collision information indicating whether or not the machine tool and the robot collide with each other.
According to the dataset created based on the combination of the state variables and the collision information
A learning unit that learns interference estimation information, which is information that estimates whether or not the machine tool and the robot collide with each other.
A machine learning device characterized by being equipped with. - 工作機械の動作シミュレーション用のデータである機械モデルと前記工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて算出された特定タイミングにおける前記第1の構成要素の位置、およびロボットの動作シミュレーション用のデータであるロボットモデルと前記ロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて算出された前記特定タイミングにおける前記第2の構成要素の位置を示すシミュレーション位置情報と、前記工作機械および前記ロボットの制御に用いた加工プログラムの情報である加工プログラム情報と、前記工作機械と前記ロボットとが衝突するか否かを示す衝突情報とを含む状態変数を観測する状態観測部と、
前記工作機械と前記ロボットとが衝突する場合に、前記工作機械と前記ロボットとを衝突させない加工プログラムの情報である回避プログラム情報を取得するデータ取得部と、
前記状態変数および前記回避プログラム情報の組み合わせに基づいて作成されるデータセットに従って、
前記工作機械と前記ロボットとを衝突させない加工プログラムの情報を推測した情報である干渉回避推測情報を学習する学習部と、
を備えることを特徴とする機械学習装置。 The first at a specific timing calculated using a machine model which is data for motion simulation of a machine tool and first position data used when controlling the position of a first component included in the machine machine. The robot model, which is data for simulating the movement of the robot, and the second position data used for controlling the position of the second component included in the robot. The simulation position information indicating the position of the second component at a specific timing, the machining program information which is the information of the machining program used to control the machine tool and the robot, and the machine tool and the robot collide with each other. A state observation unit that observes state variables including collision information indicating whether or not it is present,
A data acquisition unit that acquires avoidance program information, which is information on a machining program that does not cause the machine tool to collide with the robot when the machine tool and the robot collide with each other.
According to the dataset created based on the combination of the state variables and the avoidance program information.
A learning unit that learns interference avoidance guessing information, which is information that guesses information on a machining program that does not cause the machine tool to collide with the robot.
A machine learning device characterized by being equipped with.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112019007579.9T DE112019007579B4 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
CN201980100202.4A CN114365047B (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
JP2020552910A JP6914452B1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
PCT/JP2019/036198 WO2021049028A1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/036198 WO2021049028A1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021049028A1 true WO2021049028A1 (en) | 2021-03-18 |
Family
ID=74866981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/036198 WO2021049028A1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6914452B1 (en) |
CN (1) | CN114365047B (en) |
DE (1) | DE112019007579B4 (en) |
WO (1) | WO2021049028A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7157281B1 (en) * | 2022-04-18 | 2022-10-19 | ファナック株式会社 | ROBOT CONTROL DEVICE, NUMERICAL CONTROL SYSTEM AND NUMERIC CONTROL METHOD |
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 (en) | 2021-10-28 | 2024-07-04 | Fanuc Corporation | SIMULATION DEVICE GENERATING AUXILIARY FILES AND CONTROL SYSTEM |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07223181A (en) * | 1994-02-09 | 1995-08-22 | Yaskawa Electric Corp | Interference checking device for manipulator |
JP4653836B2 (en) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | Simulation device |
JP2015160253A (en) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | Trajectory generation method, robot device, program and recording medium |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10226140A1 (en) * | 2002-06-13 | 2004-01-08 | Kuka Roboter Gmbh | Method, for preventing collisions between industrial robots and other objects, involves checking predicted path configuration by distance/obstruction algorithms, stopping robot/other objects if collision impending |
JP4249794B1 (en) * | 2007-10-29 | 2009-04-08 | ファナック株式会社 | Control device for robot for workpiece transfer |
WO2012101790A1 (en) * | 2011-01-26 | 2012-08-02 | 三菱電機株式会社 | Numerical control device |
CN104345687B (en) * | 2013-08-09 | 2017-10-20 | 中国科学院沈阳计算技术研究所有限公司 | A kind of tool sweep volume modeling method |
JP6200456B2 (en) * | 2015-06-29 | 2017-09-20 | ファナック株式会社 | Interference check system between machine tool and robot |
JP6517762B2 (en) | 2016-08-23 | 2019-05-22 | ファナック株式会社 | A robot system that learns the motion of a robot that a human and a robot work together |
JP6457469B2 (en) * | 2016-12-08 | 2019-01-23 | ファナック株式会社 | Mobile robot interference area setting device |
CN207432246U (en) * | 2017-09-27 | 2018-06-01 | 杭州新松机器人自动化有限公司 | A kind of mechanical arm collision detecting system |
JP6698603B2 (en) * | 2017-09-29 | 2020-05-27 | ファナック株式会社 | Numerical control system and method for detecting abnormal operation state |
-
2019
- 2019-09-13 WO PCT/JP2019/036198 patent/WO2021049028A1/en active Application Filing
- 2019-09-13 DE DE112019007579.9T patent/DE112019007579B4/en active Active
- 2019-09-13 CN CN201980100202.4A patent/CN114365047B/en active Active
- 2019-09-13 JP JP2020552910A patent/JP6914452B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07223181A (en) * | 1994-02-09 | 1995-08-22 | Yaskawa Electric Corp | Interference checking device for manipulator |
JP4653836B2 (en) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | Simulation device |
JP2015160253A (en) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | Trajectory generation method, robot device, program and recording medium |
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 (en) * | 2022-04-18 | 2022-10-19 | ファナック株式会社 | ROBOT CONTROL DEVICE, NUMERICAL CONTROL SYSTEM AND NUMERIC CONTROL METHOD |
WO2023203617A1 (en) * | 2022-04-18 | 2023-10-26 | ファナック株式会社 | Robot control device, numerical control system, and numerical control method |
Also Published As
Publication number | Publication date |
---|---|
CN114365047B (en) | 2023-02-03 |
CN114365047A (en) | 2022-04-15 |
JP6914452B1 (en) | 2021-08-04 |
JPWO2021049028A1 (en) | 2021-10-07 |
DE112019007579B4 (en) | 2023-11-09 |
DE112019007579T5 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110394780B (en) | Simulation device of robot | |
JP6914452B1 (en) | Numerical control device and machine learning device | |
JP5436460B2 (en) | Industrial robot system | |
JP2020128009A (en) | Method for controlling robot | |
JP5872894B2 (en) | Robot motion teaching support apparatus and method | |
JP2019532827A (en) | Method for collision avoidance motion planning | |
CN101957610A (en) | The cutter path display device of lathe | |
US20150120036A1 (en) | Machine Tool | |
CN118269089A (en) | Method for motion simulation of manipulator | |
JP2019188558A (en) | Tool selection device and machine learning device | |
JP2009190113A (en) | Robot simulation device | |
JP7259860B2 (en) | ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM | |
JP2021505990A (en) | Toolpath Virtualization and Optimization Systems, Methods and Equipment | |
KR102205034B1 (en) | Display apparatus | |
US20220143829A1 (en) | Determination of robot posture | |
WO2022054245A1 (en) | Numerical control apparatus and industrial machine control system | |
JP6811878B1 (en) | Numerical control device and numerical control method | |
EP3827935B1 (en) | Simulated robot trajectory | |
JP2021175595A (en) | Simulator, robot teaching device, robot system, simulation method, program, and recording medium | |
JP7328473B1 (en) | CONTROL DEVICE, INDUSTRIAL MACHINE SYSTEM, RUN HISTORY DATA DISPLAY METHOD, AND PROGRAM | |
JP7448651B2 (en) | Offline teaching device and operation program generation method | |
WO2024100719A1 (en) | Numerical control device | |
JP7232704B2 (en) | ROBOT PROGRAM EVALUATION DEVICE, ROBOT PROGRAM EVALUATION METHOD AND ROBOT PROGRAM EVALUATION PROGRAM | |
US20230249347A1 (en) | Path planning during execution of robot control | |
JP2023062780A (en) | Robot data processing server and trajectory data calculation method |
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 |