CN113614660B - Numerical control device and numerical control method - Google Patents

Numerical control device and numerical control method Download PDF

Info

Publication number
CN113614660B
CN113614660B CN201980094562.8A CN201980094562A CN113614660B CN 113614660 B CN113614660 B CN 113614660B CN 201980094562 A CN201980094562 A CN 201980094562A CN 113614660 B CN113614660 B CN 113614660B
Authority
CN
China
Prior art keywords
robot
unit
manual operation
numerical control
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980094562.8A
Other languages
Chinese (zh)
Other versions
CN113614660A (en
Inventor
末田崇
嵯峨崎正一
马场健辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN113614660A publication Critical patent/CN113614660A/en
Application granted granted Critical
Publication of CN113614660B publication Critical patent/CN113614660B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form

Landscapes

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

Abstract

A numerical control device (1X) is used in a control system for controlling a machine tool (70) for processing a workpiece and a robot (60) for conveying the workpiece, and the numerical control device (1X) comprises: an input operation unit (3X) that receives manual operation of the robot (60); and a control calculation unit (2X) that controls the machine tool (70) using an NC program and controls the robot (60) on the basis of a manual operation, wherein the control calculation unit (2X) has: a manual operation possibility determination unit (412) that determines whether or not the robot (60) is manually operable, based on the state of the control system; and a movement data transmission unit (413) which, if manual operation is performed when the manual operation of the robot (60) is permitted by the availability determination unit (412), generates a 1 st movement command to the robot controller (50) that controls movement of the robot (60) based on the manual operation, and transmits the 1 st movement command to the robot controller (50).

Description

Numerical control device and numerical control method
Technical Field
The present invention relates to a numerical control device and a numerical control method for controlling a robot and a machine tool.
Background
One of the numerical control devices is a device that performs control of a machine tool that performs machining of a workpiece and control of a robot that performs conveyance of the workpiece in parallel. Some of the numerical control devices are capable of controlling a machine tool or a robot by a user operating a manual handle.
The numerical control device described in patent document 1 includes a manual switch for switching from control according to a machining program to manual operation, and if the manual switch is turned on, a speed signal is generated by rotation of a manual handle operated by a user, and the speed of a shaft drive motor included in a machine tool is controlled according to the speed signal, thereby moving the machine along a predetermined movement path.
Patent document 1: japanese laid-open patent publication No. 2-212905
Disclosure of Invention
However, in the technique of patent document 1, the manual operation is performed when it is unclear whether or not the manual operation is possible. Therefore, if the technique of patent document 1 is applied to a robot that moves the robot in a direction corresponding to a manual operation, for example, there is a problem that the robot that moves by the manual operation and a machine tool that is drive-controlled in accordance with a machining program may interfere with each other.
The present invention has been made in view of the above circumstances, and an object thereof is to obtain a numerical control device capable of preventing interference between a robot and a machine tool and performing manual operation on the robot.
In order to solve the above problems and achieve the object, the present invention provides a numerical control device used in a control system for controlling a machine tool for processing a workpiece and a robot for conveying the workpiece, the numerical control device including: an input operation unit that receives manual operation to the robot; a control calculation unit that controls the machine tool using a numerical control program and controls the robot based on manual operation; and a machine learning device for learning a determination value to be compared with a value indicating a state when it is determined whether or not the robot is manually operable, the control calculation unit including: a manual operation availability determination unit that determines, based on a state of the control system and a three-dimensional region that is within a range of a specific distance from a machine origin of the work machine, whether or not the robot is manually operable; and a movement data transmitting unit that, if the manual operation is performed when the manual operation of the robot is permitted by the manual availability determining unit, generates a 1 st movement command to the robot controller that controls the movement of the robot based on the manual operation, and transmits the 1 st movement command to the robot controller. The machine learning device includes: a state observation unit that observes, as a state variable, a determination value used between an error occurrence time, which is a time from the start of a manual operation until an error occurs, and the time from the start of the manual operation until the error occurs; and a learning unit that learns a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables, wherein the manual feasibility determination unit determines whether or not the robot is manually operable, using the determination value learned by the learning unit, and the three-dimensional region is specified based on a possibility of interference between the robot and the machine tool.
ADVANTAGEOUS EFFECTS OF INVENTION
The numerical control device according to the present invention has an effect that it is possible to prevent interference between the robot and the machine tool and to perform manual operation on the robot.
Drawings
Fig. 1 is a diagram showing a configuration of a control system including a numerical control device according to embodiment 1.
Fig. 2 is a diagram showing a configuration example of the numerical control device according to embodiment 1.
Fig. 3 is a diagram showing a configuration example of 2 manual handles included in the control system according to embodiment 1.
Fig. 4 is a flowchart showing a procedure of a process of determining whether or not a robot can be manually operated by the numerical control device according to embodiment 1.
Fig. 5 is a diagram for explaining an alarm displayed on the display unit by the numerical control device according to embodiment 1.
Fig. 6 is a diagram for explaining an attention message displayed on the display unit by the numerical control device according to embodiment 1.
Fig. 7 is a diagram showing a configuration example of a numerical control device according to embodiment 2.
Fig. 8 is a flowchart showing a processing procedure of a conversion process to a robot coordinate system by the numerical control device according to embodiment 2.
Fig. 9 is a diagram showing a configuration example of a numerical control device according to embodiment 3.
Fig. 10 is a diagram for explaining a screen on which a reverse operation is accepted, the screen being displayed on a display unit by the numerical control device according to embodiment 3.
Fig. 11 is a diagram for explaining a path of a backward movement executed by the robot by the numerical control device according to embodiment 3.
Fig. 12 is a flowchart showing a processing procedure of a process of reversing the operation of the robot by the numerical control device according to embodiment 3.
Fig. 13 is a diagram showing a configuration example of a numerical control device according to embodiment 4.
Fig. 14 is a flowchart showing a processing procedure of a process of reducing the speed of the manually operated robot at a specific rate in the numerical control device according to embodiment 4.
Fig. 15 is a diagram showing a configuration example of a numerical control device according to embodiment 5.
Fig. 16 is a diagram showing a configuration example of a machine learning device included in the numerical control device according to embodiment 5.
Fig. 17 is a diagram showing an example of the hardware configuration of the control arithmetic unit according to embodiment 1.
Detailed Description
A numerical control device and a numerical control method according to an embodiment of the present invention will be described in detail below with reference to the drawings. The present invention is not limited to these embodiments.
Embodiment 1.
Fig. 1 is a diagram showing a configuration of a control system including a numerical control device according to embodiment 1. Control system 100 is a system that controls work machine 70 using a Numerical Control (NC) program such as a G-code program and controls robot 60 by a manual operation performed by a user.
The control system 100 includes a work machine 70, a numerical control device 1X, a robot controller 50, and a robot 60. The numerical control device 1X is disposed on the machine tool 70, for example. The numerical control device 1X according to embodiment 1 determines whether or not the control system 100 is in a state in which manual operation to the robot 60 is permitted, and accepts manual operation from a user to the robot 60 when the control system 100 is in the state in which manual operation is permitted.
The numerical control device 1X is a device for sending a command for machining a workpiece (workpiece) by using a tool to machine the workpiece to be machined to the machine tool 70. The Numerical Control device 1X is a device for performing CNC (Computer Numerical Control), and is connected to the input operation unit 3X.
The numerical control device 1X is connected to the machine tool 70, the input operation unit 3X, and the robot controller 50. The robot controller 50 is connected to the input operation unit 3X and the robot 60. The numerical control device 1X and the robot controller 50 are connected via, for example, a lan (local Area network).
In the control system 100, the numerical control device 1X performs communication with the work machine 70 and the input operation unit 3X, and the robot controller 50 performs communication with the numerical control device 1X, the input operation unit 3X, and the robot 60. As described above, in the control system 100, the numerical control device 1X is connected to the robot 60 via the robot controller 50, and the numerical control device 1X controls the robot 60 via the robot controller 50. The input operation unit 3X operates the robot 60 via the robot controller 50. In the following description, when the control of the robot 60 by the numerical control device 1X is described, the contents via the robot controller 50 may be omitted.
The input operation unit 3X is a device for a user to operate the numerical control device 1X and the robot controller 50. The input operation unit 3X includes an input/output unit 51, an emergency stop button 52, and an operation panel 53. The input operation unit 3X transmits a signal corresponding to a user operation to the numerical control device 1X, thereby operating the numerical control device 1X.
The operation panel 53 receives an operation from the user, and transmits a signal corresponding to the operation to the input/output unit 51. The emergency stop button 52, if pressed by the user, transmits a signal for stopping the robot controller 50 to the robot controller 50, and transmits a signal for stopping the work machine 70 to the input-output unit 51. The input/output unit 51 transmits a signal transmitted from the operation panel 53 and a signal transmitted from the emergency stop button 52 to the numerical control device 1X. The emergency stop button 52 and the input/output unit 51 may be disposed on the operation panel 53.
The robot controller 50 controls the robot 60 in accordance with the instruction transmitted from the numerical control device 1X. Further, the robot controller 50 stops the operation of the robot 60 if a signal is transmitted from the emergency stop button 52.
The robot 60 grasps a workpiece as a processing object by the robot hand 61 and conveys the grasped workpiece. The robot 60 loads a workpiece before machining on the machine tool 70 and unloads the machined workpiece after machining from the machine tool 70. An example of the robot 60 is a manipulator. The robot 60 may perform a process other than the conveyance of the processed workpiece.
The numerical control device 1X includes a control operation unit 2X, a display unit 4, and a PLC operation unit 5, which will be described later. The numerical control device 1X controls the machine tool 70 and the robot 60 using an NC program. Further, if the numerical control device 1X receives a signal from the input operation unit 3X, it causes the machine tool 70 to execute processing corresponding to the received signal. The numerical control device 1X displays the state of the machine tool 70, the state of the robot 60, and the like.
The machine tool 70 is an NC machine tool, and machines a workpiece by a tool while relatively moving the tool and the workpiece by a drive shaft of 2 or more axes. The 1 st coordinate system that is the coordinate system of the work machine 70 and the 2 nd coordinate system that is the coordinate system of the robot 60 are different coordinate systems. The machine tool 70 is controlled by an orthogonal coordinate system, for example, to move a tool or a work piece in a 3-axis direction. The robot 60 has a rotation axis and is driven in a direction of 4 or more axes, for example. The robot 60 has a plurality of joints and a plurality of arms, and 1 joint moves 1 arm in a direction of 1 or more axis.
Fig. 2 is a diagram showing a configuration example of the numerical control device according to embodiment 1. The numerical control device 1X includes a control arithmetic unit 2X, a display unit 4, and a PLC operation unit 5 such as a machine operation panel for operating a PLC (Programmable Logic Controller) 36. In fig. 2, the input operation unit 3X, the machine tool 70, the robot controller 50, and the robot 60 are shown together with the numerical control device 1X.
The machine tool 70 has a drive unit 90 for driving the tool and the work. An example of the driving section 90 is a driving mechanism that drives the tool while rotating the work. The driving direction of the tool is, for example, 2 directions of a direction parallel to the X-axis direction and a direction parallel to the Z-axis direction. The axial direction is not limited to the above-described direction because the axial direction is related to the device configuration.
The drive section 90 includes: servo motors 901 and 902 for moving the tool in each axial direction defined in the numerical control device 1X; and detectors 97 and 98 for detecting the positions and speeds of the servo motors 901 and 902. The drive unit 90 has servo control units for controlling the servo motors 901 and 902 in the respective axial directions based on a command from the numerical control device 1X. The servo control units in the respective axial directions perform feedback control to the servo motors 901 and 902 based on the positions and velocities from the detectors 97 and 98.
Among the servo control units, the X-axis servo control unit 91 controls the movement of the tool in the X-axis direction by controlling the servo motor 901, and the Z-axis servo control unit 92 controls the movement of the tool in the Z-axis direction by controlling the servo motor 902. Further, the work machine 70 may have greater than or equal to 2 tool holders. In this case, the driving unit 90 includes 1 set of X-axis servo control unit 91, Z-axis servo control unit 92, servo motors 901 and 902, and detectors 97 and 98 for 1 tool post.
Further, the driving unit 90 includes: a spindle motor 911 for rotating a spindle for rotating a workpiece to be machined; and a detector 211 for detecting the position and the 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.
When the machine tool 70 machines 2 workpieces to be machined simultaneously, the drive unit 90 includes 2 sets of the spindle motor 911, the detector 211, and the spindle servo control unit 200. In this case, the work machine 70 has 2 or more tool holders.
The input operation unit 3X is a unit for inputting information to the control operation unit 2X. The input operation unit 3X is constituted by an input means such as a keyboard, a button, or a mouse, and receives an input such as a command from a user to the numerical control device 1X, a manual operation by the user to the robot 60, an NC program, a parameter, or the like, and inputs the input to the control operation unit 2X.
The input operation unit 3X includes a manual handle 55, a jog button 57, and a shaft selection switch 59. The axis selection switch 59 is a switch for selecting an axis for manually operating the robot 60. Examples of the axis selection switch 59 are a switch for specifying the X axis, a switch for specifying the Y axis, a switch for specifying the Z axis, a switch for specifying the a axis, a switch for specifying the B axis, and a switch for specifying the C axis in the coordinate system of the machine tool 70. The axis selection switch 59 transmits axis information indicating which axis is the pressed or touched axis to the control arithmetic unit 2X. The axis information is transmitted to the robot manual operation unit 41X via the storage unit 34X.
The manual handle 55 is a handle for operating the amount of movement of the robot 60 in the axial direction. The manual handle 55 transmits the movement amount corresponding to the operation to the control arithmetic unit 2X. The movement amount is transmitted to the robot manual operation unit 41X via the storage unit 34X.
The jog button 57 is a button for performing jog operation on the amount of movement in the axial direction of the robot 60. The jog button 57 transmits the movement amount corresponding to the operation to the control arithmetic unit 2X. The movement amount is transmitted to the robot manual operation unit 41X via the storage unit 34X.
The display unit 4 is configured by a display unit such as a liquid crystal display device, and displays information processed by the control arithmetic unit 2X on a display screen. An example of the display section 4 is a liquid crystal touch panel. In this case, a part of the functions of the input operation unit 3X is disposed on the display unit 4.
The control unit 2X, which is a control unit, controls the machine tool 70 using an NC program defined in the coordinate system of the machine tool 70. The control arithmetic unit 2X includes an input control unit 32, a data setting unit 33, a storage unit 34X, a screen processing unit 31, an analysis processing unit 37, a control signal processing unit 35, a PLC 36, an interpolation processing unit 38, a state determination unit 45, an acceleration/deceleration processing unit 39, an axis data output unit 40, a robot manual operation unit 41X, and a communication control unit 44. The PLC 36 may be disposed outside the control arithmetic unit 2X.
The storage unit 34X includes a parameter storage area 341, an NC program storage area 343, a display data storage area 344, and a shared area 345. The parameters and the like used for the processing of the control arithmetic unit 2X are stored in the parameter storage region 341. Specifically, control parameters, servo parameters, and tool data for operating the numerical control device 1X are stored in the parameter storage area 341. The NC program used for machining the workpiece is stored in the NC program storage area 343.
The screen display data displayed on 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 34X is provided with a shared area 345 for storing data to be temporarily used.
The screen processing unit 31 performs control to display the screen display data stored in the display data storage area 344 on the display unit 4. The input control unit 32 receives information input from the input operation unit 3X. The data setting unit 33 stores the information received by the input control unit 32 in the storage unit 34X. That is, the input information received by the input operation unit 3X is written in the storage unit 34X 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 such as a relay for relaying the machine operation of the work machine 70 from the PLC 36. The control signal processing unit 35 writes the received signal information in the shared area 345 of the storage unit 34X. These pieces of signal information are referred to by the interpolation processing unit 38 during the machining operation. In addition, if the analysis processing unit 37 outputs the assist command to the shared area 345, the control signal processing unit 35 reads the assist command from the shared area 345 and transmits the assist command to the PLC 36. The assist command is a command other than a command for operating a drive shaft as a numerical control shaft. Examples of auxiliary instructions are M-code or T-code.
The PLC 36 stores a ladder program describing the mechanical operations performed by the PLC 36. Upon receiving the assist command, i.e., the T code or the M code, the PLC 36 causes the machine tool 70 to execute processing corresponding to the assist command in accordance with the ladder program. After executing the processing corresponding to the auxiliary command, the PLC 36 transmits a completion signal indicating completion of the machine control to the control signal processing unit 35 in order to execute the next block of the NC program.
In the control arithmetic unit 2X, the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, and the robot manual operation unit 41X are connected via the storage unit 34X, and information is written and read via the storage unit 34X. In the following description, when information is written and read between the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, and the robot manual operation unit 41X, the contents via the storage unit 34X may be omitted.
The NC program is selected by the user inputting an NC program number through the input operation unit 3X. The NC program number is written in the shared area 345 via the input control unit 32 and the data setting unit 33. When the selected NC program number is read from the shared area 345 using the cycle start of the machine operation panel or the like as a trigger, the analysis processing unit 37 reads the NC program of the selected NC program number from the NC program storage area 343, and performs analysis processing for each block (each row) of the NC program. The analysis processing unit 37 analyzes, for example, G code (a command related to shaft movement or the like), T code (a tool replacement command or the like), S code (a spindle motor rotation speed command), and M code (a machine operation command).
When the analyzed line includes M code or T code, the analysis processing unit 37 transmits the analysis result to the PLC 36 via the shared area 345 and the control signal processing unit 35. When the analyzed line includes M codes, the analysis processing unit 37 transmits the M codes to the PLC 36 via the control signal processing unit 35. The PLC 36 performs mechanical control corresponding to the M code. When the execution is completed, the result indicating the completion of the M-code is written to the storage unit 34X via the control signal processing unit 35. The interpolation processing unit 38 refers to the execution result written in the storage unit 34X.
When the G code for the machine tool 70 is included, the analysis processing unit 37 transmits the analysis result to the interpolation processing unit 38 via the shared region 345. Specifically, the analysis processing unit 37 generates a movement condition corresponding to the G code and transmits the movement condition to the interpolation processing unit 38. The analysis processing unit 37 transmits the spindle rotation speed specified by the S code to the interpolation processing unit 38. The spindle rotation speed is the number of rotations of the spindle per unit time. The movement condition is a condition of tool feed for moving the machining position continuously, and is represented by a speed of moving the tool rest, a position of moving the tool rest, and the like. For example, the tool feed of the tool is to advance the tool in the X-axis direction (+ X direction) and the Z-axis direction (+ Z direction).
The interpolation processing unit 38 generates data for controlling the machine tool 70 using a command to the machine tool 70 from the analysis result obtained by the analysis processing unit 37, and transmits the data to the acceleration/deceleration processing unit 39. The acceleration/deceleration processing unit 39 outputs data for controlling the machine tool 70 to the machine tool 70 via the axis data output unit 40.
The state determination unit 45 acquires state data indicating the state of the machine tool 70 from the control signal processing unit 35, and corrects the data output to the machine tool 70 by the axis data output unit 40 based on the state data. For example, when the door of the machine tool 70 is opened, there is a possibility that the user may intrude into the machine tool 70, and therefore, the data output to the machine tool 70 by the axis data output unit 40 is corrected to the data for stopping the driving of the servo motors 901 and 902 and the spindle motor 911.
The communication control unit 44 is connected to the robot manual operation unit 41X and the robot controller 50. The communication control unit 44 transmits data transmitted from the robot manual operation unit 41X to the robot controller 50, and transmits data transmitted from the robot controller 50 to the robot manual operation unit 41X. An example of the data transmitted from the communication control unit 44 to the robot controller 50 is the amount of axial movement generated by manual operation (operation of the jog button 57 or the manual handle 55). An example of the data transmitted from the communication control unit 44 to the robot manual operation unit 41X is information indicating the state of the robot 60. In the following description, when data transmission and reception between the robot manual operation unit 41X and the robot controller 50 are described, the contents via the communication control unit 44 may be omitted.
The robot manual operation unit 41X includes a manual availability determination unit 412 and a movement data transmission unit 413. The movement data transmitting unit 413 generates a movement command (1 st movement command) based on the axis information selected by the axis selection switch 59 and the movement amount transmitted from the jog button 57 or the manual handle 55, and transmits the movement command to the robot controller 50. Thereby, the numerical control device 1X can operate the robot 60 via the robot controller 50.
The manual availability determining unit 412 determines whether or not the robot 60 is manually operable based on the state of the control system 100 (hereinafter, referred to as a system state). That is, the manual availability determining unit 412 determines whether or not the robot 60 is manually operable, based on at least 1 state of the robot 60, the numerical control device 1X, and the machine tool 70. In the judgment of the availability, various data of the numerical control device 1X are referred to.
The manual availability determining unit 412 obtains, for example, the communication state between the robot controller 50 and the numerical controller 1X from the communication control unit 44, and determines that manual operation is not available when the communication between the robot 60 and the numerical controller 1X is not connected.
Examples of the state of the robot 60 include the temperature of components constituting the robot 60, the communication state with the robot controller 50, whether or not the robot is in an emergency stop, whether or not a user has entered an intrusion-prohibited area around the robot 60, and the like.
An example of the state of the numerical control device 1X is a communication state with the robot controller 50. When the communication state with the robot controller 50 is an unconnected state, the manual availability determination unit 412 may determine that the manual operation is not available without connecting the communication with the robot controller 50 because some abnormality occurs.
The manual operation possibility determining unit 412 may acquire state data indicating the state of the work machine 70 from the state determining unit 45, and determine the manual operation possibility based on the state data. An example of the state of the machine tool 70 is an open/close state of a door surrounding a housing of the machine tool 70. The manual availability determining unit 412 determines that manual operation is not available because the user may intrude into the machine tool 70 when the door of the machine tool 70 is opened. Further, the manual availability determining unit 412 determines that the door of the work machine 70 is manually operable when the door is closed, but displays an attention message indicating the door is closed on the display unit 4. This makes it possible to avoid interference between the robot 60 and the door of the work machine 70 when the operator performs the manual teaching task of the robot 60 in the work machine 70.
The manual availability determination unit 412 may determine whether or not the robot 60 is manually operable based on the state of the components in the control system 100. For example, the manual operation possibility determination unit 412 may determine whether or not the robot 60 is manually operable based on detection values detected by various sensors such as a temperature sensor and a contact sensor disposed in the control system 100. In this case, when any of the sensors disposed in the control system 100 indicates an abnormal detection value (a detection value higher than the determination value), there is a case where some abnormality occurs, and therefore the manual operation possibility determination unit 412 determines that the manual operation is not possible.
The manual operation possibility determining unit 412 may acquire an alarm on the robot 60 side from the communication control unit 44, and determine whether or not the manual operation is possible based on the acquired alarm. The manual operation possibility determining unit 412 may acquire a door opening/closing signal from the control signal processing unit 35 and determine whether or not the manual operation is possible based on the door opening/closing signal. The manual operation possibility determination unit 412 may determine whether or not the machine tool 70 is in the automatic operation based on a signal (ladder interface) with the PLC 36 input/output to/from the control signal processing unit 35, and may determine that the manual operation is not possible in the case of the automatic operation. For example, the manual availability determining unit 412 may determine that the manual operation is available when the door is in an open state and the automatic operation is not performed.
When the manual operation impossibility determination unit 412 determines that manual operation is impossible, the screen processing unit 31 may cause the display unit 4 to display an alarm and notify the user of the manual operation impossibility state. When determining that manual operation is not possible, the manual availability determining unit 412 does not transmit a movement command to the robot 60. Thus, even if the robot 60 is manually operated, the robot does not perform an operation corresponding to the manual operation, and therefore, the user can be visually notified of the state in which the robot cannot be manually operated.
Here, the manual handle 55 will be explained. The manual handle 55 can be used when operating the amount of axial movement of the work machine 70. That is, the user can operate the robot 60 and the work machine 70 by using 1 manual handle 55. In this case, a switch (not shown) for switching an operation object related to the manual handle 55 is disposed on the operation panel 53.
The control signal processing unit 35 confirms the state of the switch to the operation panel 53, and determines whether the manual handle 55 is in a state of controlling the machine tool 70 or in a state of controlling the robot 60. The control signal processing unit 35 switches between the hand operation on the manual handle 55 as the hand operation processing to the robot 60 and the hand operation processing to the machine tool 70 based on the state of the switch.
When the handle operation is handled as a handle operation to the robot 60, the control signal processing unit 35 stores data corresponding to the handle operation in the shared area 345 as data for operating the robot 60. The data for operating the robot 60 is data of the hand pulse generator outputted by the manual handle 55 in response to the handle operation, and corresponds to the amount of movement for moving the specific part of the robot 60.
When the handle operation is handled as a handle operation to the machine tool 70, the control signal processing unit 35 stores data corresponding to the handle operation in the shared area 345 as data for operating the machine tool 70. The data for operating the machine tool 70 is data of a handle pulse generator that the manual handle 55 outputs in response to the handle operation, and corresponds to the amount of movement for moving the specific portion of the machine tool 70.
Instead of the manual handle 55, the operation panel 53 may be provided with 2 manual handles, that is, a manual handle for operating the robot 60 and a manual handle for operating the work machine 70.
Fig. 3 is a diagram showing a configuration example of 2 manual handles included in the control system according to embodiment 1. In fig. 3, the numerical control device 1X, the input/output unit 51, a manual handle 55A for operating the robot 60, and a manual handle 55B for operating the work machine 70 are illustrated.
The manual handles 55A and 55B are connected to the input/output unit 51. When the user operates the robot 60, the user operates the manual handle 55A. Thereby, the manual handle 55A transmits the movement amount of the robot 60 corresponding to the operation to the numerical control device 1X. When the user operates the work machine 70, the user operates the manual handle 55B. Thereby, the manual handle 55B transmits the movement amount of the work machine 70 corresponding to the operation to the numerical control device 1X.
Fig. 4 is a flowchart showing a procedure of a process of determining whether or not a robot is manually accessible by the numerical control device according to embodiment 1. If the operation of the numerical control device 1X is started, the availability/non-availability manual determination unit 412 determines whether or not the manual operation of the robot 60 is possible based on the system state, that is, at least 1 state of the robot 60, the numerical control device 1X, and the machine tool 70 (step S1).
When determining that the robot 60 cannot be manually operated (No at step S1), the manual feasibility determining unit 412 sends an instruction to display an alarm to the screen processing unit 31. Thereby, the screen processing unit 31 causes the display unit 4 to display the alarm (step S2).
Fig. 5 is a diagram for explaining an alarm displayed on the display unit by the numerical control device according to embodiment 1. Fig. 5 shows an operation acceptance screen 21 as an example 1 of the display screen displayed on the display unit 4. The operation acceptance screen 21 is a screen for accepting an operation from the user to the robot 60.
A notification area 11 for the user is disposed on the operation acceptance screen 21. The notification area 11 is an area in which an alarm, a message, or the like to the user is displayed. On the operation acceptance screen 21, an alarm indicating that manual operation is not possible, such as "operation to the robot is not possible because the robot is not connected" is displayed.
The operation acceptance screen 21 and the operation acceptance screens 22 and 23 described later display the shaft selection switch 59 and the jog button 57. From the axis selection switch 59, the user touches the name of a desired axis, thereby selecting an axis to be manually operated with respect to the robot 60.
If the manual possibility determination unit 412 determines that the robot 60 is manually operable (Yes at step S1), it determines whether or not attention is required to the work machine 70 (step S3). When the machine tool 70 has a problem and needs to be noticed (Yes at step S3), the manual availability determination unit 412 sends an instruction to the screen processing unit 31 to display a notice message. Thereby, the screen processing unit 31 causes the display unit 4 to display the attention message (step S4). Then, the mobile data transmission unit 413 executes the processing of step S5 described later.
Fig. 6 is a diagram for explaining an attention message displayed on the display unit by the numerical control device according to embodiment 1. Fig. 6 shows an operation acceptance screen 22 as an example 2 of the display screen displayed on the display unit 4. The operation acceptance screen 22 is a screen for accepting an operation from the user to the robot 60.
On the operation acceptance screen 22, an attention message such as "door closed and attention robot manual operation" indicating that attention is required to the state of the work machine 70 is displayed. As described above, the numerical control device 1X displays the attention message even when the operator needs to pay attention to the operation. Then, in a state where the attention message is displayed, if the movement amount transmitted from the jog button 57 or the manual handle 55 is received, the movement data transmission unit 413 generates a movement command based on the movement amount and transmits the movement command to the robot 60 via the robot controller 50 (step S5).
On the other hand, when attention to the work machine 70 is not required (No at step S3), the movement data transmitting unit 413 receives the amount of movement transmitted from the jog button 57 or the manual handle 55. Upon receiving the movement amount transmitted from the jog button 57 or the manual handle 55, the movement data transmitting unit 413 generates a movement command based on the movement amount and transmits the movement command to the robot 60 via the robot controller 50 (step S5). In embodiment 2 described later and the following description thereof, the process of steps S1 to S5 described above, that is, the process of determining whether or not the robot 60 is manually operable, may be referred to as the process of step S10.
As described above, according to embodiment 1, the numerical control device 1X determines whether or not the robot 60 is manually operable based on at least 1 state of the machine tool 70, the robot 60, and the numerical control device 1X. Therefore, the robot 60 can be manually operated while preventing interference between the robot 60 and the work machine 70.
Embodiment 2.
Next, embodiment 2 of the present invention will be described with reference to fig. 7 and 8. In embodiment 2, when the robot 60 is manually operated using the coordinate system of the machine tool 70, the coordinate system of the machine tool 70 is converted into the coordinate system of the robot 60, and then a command is transmitted to the robot 60.
Fig. 7 is a diagram showing a configuration example of a numerical control device according to embodiment 2. Of the components in fig. 7, those that realize the same functions as those of the numerical control device 1X according to embodiment 1 are given the same reference numerals, and redundant description thereof is omitted.
The numerical control device 1Y includes a control arithmetic unit 2Y, a display unit 4, and a PLC operation unit 5. Fig. 7 shows the input operation unit 3X, the machine tool 70, the robot controller 50, and the robot 60 together with the numerical control device 1Y. In embodiment 2, the input operation unit 3X receives a manual operation in the coordinate system of the machine tool 70, and the control calculation unit 2Y converts a command in the coordinate system of the machine tool 70 into a command in the coordinate system of the robot 60.
The control arithmetic unit 2Y has a storage unit 34Y in place of the storage unit 34X and a robot manual operation unit 41Y in place of the robot manual operation unit 41X, compared with the control arithmetic unit 2X.
The storage unit 34Y further includes a specific distance storage area 346 and an offset coordinate storage area 347 in addition to the area included in the storage unit 34X. The offset coordinate storage area 347 is an area that stores offset coordinates indicating a relationship between a coordinate system of the work machine 70 (hereinafter, referred to as an NC coordinate system) and a coordinate system of the robot 60 (hereinafter, referred to as a robot coordinate system). The offset coordinates are transmitted from the input operation unit 3X to the input control unit 32, and are stored in the offset coordinate storage region 347 of the storage unit 34Y via the data setting unit 33. The offset coordinates are used when converting the movement amount specified by the NC coordinate system into a movement amount used in the robot coordinate system. That is, when the robot 60 is manually operated and the user performs an operation on the NC coordinate system, the control arithmetic unit 2Y converts the NC coordinate system into the robot coordinate system using the offset coordinates.
The specific distance storage area 346 is an area storing a specific distance. The specific distance shows a distance from a mechanical origin of the work machine 70. The range on the inner side of the specific distance from the machine origin of the work machine 70 is a range in which the possibility that the robot 60 interferes with the work machine 70 is higher than the determination value.
The robot manual operation unit 41Y includes a coordinate conversion unit 411 in addition to the components of the robot manual operation unit 41X. The coordinate conversion unit 411 acquires the axis selected by the axis selection switch 59, the movement amount and the offset coordinate input from the jog button 57 or the manual handle 55 from the storage unit 34Y. The coordinate conversion unit 411 converts the axis selected by the axis selection switch 59 and the amount of movement input to the jog button 57 or the manual handle 55 into an axis (movement axis) and an amount of movement in the robot coordinate system based on the offset coordinates. That is, the coordinate conversion unit 411 converts the axis and the movement amount of the NC coordinate system into the axis and the movement amount of the robot coordinate system based on the offset coordinates. The movement data transmitting unit 413 transmits the converted axis and movement amount to the robot controller 50, thereby enabling the robot 60 to be manually operated in the NC coordinate system. When the offset coordinates are not set, the axis selected by the user and the amount of movement input by the user are transmitted to the robot controller 50 by the movement data transmitting unit 413 as the axis and the amount of movement of the robot coordinate system.
Fig. 8 is a flowchart showing a processing procedure of a conversion process to a robot coordinate system by the numerical control device according to embodiment 2. Here, the coordinate conversion process performed by the numerical control device 1Y when the robot 60 is manually operated will be described. When the numerical control device 1Y starts operating, the coordinate conversion unit 411 acquires information on the axis (selected axis) selected by the axis selection switch 59 from the storage unit 34Y (step S21). The coordinate conversion unit 411 obtains the amount of movement input to the jog button 57 or the manual handle 55 from the storage unit 34Y (step S22). Further, the coordinate transformation unit 411 may execute the processing of step S21 and the processing of step S22 in an arbitrary order.
The coordinate conversion unit 411 determines whether or not the offset coordinates are stored in the offset coordinate storage area 347 (step S23). When the offset coordinates are present in the offset coordinate storage area 347 (Yes at step S23), the coordinate transformation unit 411 transforms the NC coordinate system into the robot coordinate system (step S24). That is, the coordinate conversion unit 411 converts the acquired axes and movement amounts of the NC coordinate system into axes and movement amounts of the robot coordinate system. Then, the manual propriety determining unit 412 executes a process of determining whether or not the robot 60 is manually propriety (step S10). That is, the manual feasibility determining section 412 executes the processing of steps S1 to S5 described in fig. 4.
When the offset coordinates are not present in the offset coordinate storage area 347 (No at step S23), the coordinate conversion unit 411 does not perform coordinate conversion, and executes a process of determining whether or not the robot 60 is manually operable (step S10). That is, if the robot 60 can be manually operated without setting the offset coordinates, the movement data transmitting unit 413 transmits the axes and the movement amount acquired from the storage unit 34Y to the robot controller 50 as the axes and the movement amount of the robot coordinate system. The coordinate transformation unit 411 may execute the processing of steps S21 and S22 after the processing of step S23. In embodiment 3 and the following description thereof, the processing of steps S23 and S24, that is, the conversion process into the robot coordinate system may be referred to as the processing of step S30.
When the process of step S10 is executed, the manual availability determination unit 412 of the numerical control device 1Y acquires the specific distance from the specific distance storage area 346. The manual availability determining unit 412 acquires the position (coordinates) of the robot 60 from the robot controller 50, and performs inverse transformation on the coordinates by the coordinate transforming unit 411, thereby acquiring the coordinates of the robot 60 in the NC coordinate system. The inverse transformation here is a process of transforming the coordinates of the robot coordinate system into the NC coordinate system. The manual availability determination unit 412 sets a specific region in which the possibility that the robot 60 interferes with the work machine 70 is higher than a determination value, within a three-dimensional region that is a range of a specific distance from the machine origin of the work machine 70. The manual availability determination unit 412 disables manual operation of the robot 60 when the coordinates in the NC coordinate system of the robot 60 enter the specific area. The manual operation availability determining unit 412 may set the manual operation to be impossible because the door is closed and the robot 60 cannot enter the machining area when the door is closed and there is a command to enter the robot 60 into the specific area of the machine tool 70.
When the coordinates in the NC coordinate system of the robot 60 enter the specific area, the manual availability determining unit 412 may cause the display unit 4 to display an alarm through the screen processing unit 31 to notify the user that the manual operation is not available.
As described above, according to embodiment 2, when the robot 60 is manually operated using the coordinate system of the machine tool 70, the numerical control device 1Y converts the coordinate system of the machine tool 70 into the coordinate system of the robot 60 and then transmits a command to the robot 60, so that the user can easily manually operate the robot 60.
Embodiment 3.
Next, embodiment 3 of the present invention will be described with reference to fig. 9 to 12. In embodiment 3, the operation of the robot 60 by the manual operation is stored, and when there is an instruction to move backward, the operation of the robot 60 is returned in the reverse direction.
Fig. 9 is a diagram showing a configuration example of a numerical control device according to embodiment 3. Of the components in fig. 9, those that realize the same functions as those of the numerical control devices 1X and 1Y according to embodiments 1 and 2 are given the same reference numerals, and redundant description thereof is omitted.
The numerical control device 1Z includes a control arithmetic unit 2Z, a display unit 4, and a PLC operation unit 5. In fig. 9, the input operation unit 3Z, the machine tool 70, the robot controller 50, and the robot 60 are shown together with the numerical control device 1Z.
The input operation unit 3Z includes a manual handle 55, a jog button 57, an axis selection switch 59, and a reverse switch 54. The reverse switch 54 is a switch for reversing the operation of the robot 60. While the reverse switch 54 is pressed, the reverse information indicating that the reverse switch 54 is pressed is continuously transmitted to the control arithmetic unit 2Z. The retrograde motion information is transmitted to the robot manual operation unit 41Z via the storage unit 34Z.
The control arithmetic unit 2Z has a storage unit 34Z instead of the storage unit 34Y and a robot manual operation unit 41Z instead of the robot manual operation unit 41Y, compared with the control arithmetic unit 2Y.
The storage unit 34Z includes a manual operation storage area 348 and a transmission interval storage area 349 in addition to the area included in the storage unit 34Y. The manual operation storage area 348 is an area for storing a movement command (hereinafter, referred to as a manual time command) transmitted to the robot controller 50 while the manual operation of the robot 60 is being performed. The manual time command, which is the 1 st movement command, is generated by the movement data transmitting unit 413 based on the movement data and is continuously stored in the manual operation storage area 348. When the movement command transmitted to the robot controller 50 is converted into the robot coordinate system, the manual command is indicated by the robot coordinate system.
The transmission interval storage area 349 is an area that stores a transmission cycle (reverse transmission interval) when the manual command is converted into the reverse movement command and transmitted to the robot controller 50.
The robot manual operation unit 41Z includes an inverse transformation unit 414, which is a transformation unit, in addition to the components of the robot manual operation unit 41Y. When a movement command in the reverse direction is present, the reverse conversion unit 414 converts the manual time command in the manual operation storage area 348 into a movement command in the reverse direction.
The inverse transformation unit 414 generates a movement command (2 nd movement command) for reversing the direction of the robot 60 in the manual operation, when the movement amount input to the jog button 57 or the manual handle 55 is received while the reverse information is received. The inverse transformation unit 414 generates a movement command for reversing the direction of the robot 60 in the manual time command, regardless of the magnitude of the movement amount, if the movement amount larger than 0 is received while the reverse information is received. The movement command generated by the inverse conversion unit 414 is transmitted from the movement data transmission unit 413 to the robot controller 50.
The reverse switch 54, the reverse conversion unit 414, the manual operation storage area 348, and the transmission interval storage area 349 may be disposed in the numerical control device 1X.
Fig. 10 is a diagram for explaining a screen on which a reverse operation is accepted, the screen being displayed on a display unit by the numerical control device according to embodiment 3. Fig. 10 shows an operation acceptance screen 23 as an example 3 of the display screen displayed on the display unit 4. The operation acceptance screen 23 is a screen for accepting an operation from the user to the robot 60.
The operation acceptance screen 23 displays the reverse switch 54. If the user presses or touches the reverse switch 54, the reverse information is sent to the control arithmetic unit 2Z.
Fig. 11 is a diagram for explaining a path of a backward movement executed by the robot by the numerical control device according to embodiment 3. If the reverse switch 54 is not pressed but the click button 57 or the manual handle 55 is operated, the robot 60 moves in the forward direction. In fig. 11, the case where the robot hand 61 moves in the upward direction (st1), in the rightward direction (st2), in the leftward direction (st3), and in the downward direction (st4) is shown. During the manual operation of the robot 60 (st1 to st4), the manual operation memory area 348 stores the manual time command corresponding to the movement command transmitted from the movement data transmission unit 413 to the robot controller 50.
Then, if the reverse switch 54 is pressed and the jog button 57 or the manual handle 55 is operated while the reverse switch 54 is pressed, the robot 60 moves in the reverse direction on the path along which it is moving. That is, the robot 60 returns along the path along which it moves in the forward direction. In fig. 11, the case where the robot hand 61 moves in the upward direction (st5) and in the rightward direction (st6) is shown. The path of st5 and the path of st4 are on the same straight line, and the directions are opposite. In addition, the path of st6 and the path of st3 are on the same straight line and opposite in direction.
While the jog button 57 is operated with the reverse switch 54 pressed, the reverse conversion unit 414 periodically calls up a manual time command from the manual operation storage area 348. The reverse conversion unit 414 converts the manual time command into a movement command in the reverse direction. The movement data transmitting unit 413 transmits the movement command in the reverse direction to the robot controller 50, thereby moving the robot 60 in the reverse direction.
When the manual lever 55 is operated in a state where the reverse switch 54 is pressed, the reverse conversion unit 414 converts the manual time command into a movement command in the reverse direction each time a pulse is input from the manual lever 55.
Further, a cycle in which the manual time command is converted into a reverse direction and transmitted to the robot controller 50 when the click button 57 is pressed is set in advance as a reverse transmission interval. The reverse conversion unit 414 and the movement data transmission unit 413 perform conversion of the manual time command into the reverse direction and transmission to the robot controller 50 at the reverse transmission interval.
The user can move the robot 60 in the forward direction (st1 to st4) indicated by the solid line by operating the click button 57 or the manual handle 55 after selecting the axis in the moving direction. Further, the user may move the robot 60 along the original path so as not to interfere with another object in order to correct the position of the robot 60. In this case, if the user operates the robot 60 while selecting an axis to be operated again by the axis selection switch 59, the robot 60 may interfere with another object due to an operation error. In embodiment 3, the user only has to operate the click button 57 or the manual handle 55 in a state where the reverse switch 54 is pressed, and therefore the robot 60 can be easily moved in the reverse direction (st5, st6) indicated by the broken line regardless of the selection of the axis and the amount of movement. This makes it possible to easily correct the position of the robot 60 without causing the robot 60 to interfere with another object.
Fig. 12 is a flowchart showing a processing procedure of a process of reversing the operation of the robot by the numerical control device according to embodiment 3. If the numerical control device 1Z starts operating, the inverse conversion unit 414 determines whether or not the reverse switch 54 is pressed (step S41).
When the reverse switch 54 is not pressed (No at step S41), the coordinate conversion unit 411 acquires the axis information selected by the axis selection switch 59 from the storage unit 34Z (step S42). The coordinate conversion unit 411 obtains the amount of movement input to the jog button 57 or the manual handle 55 from the storage unit 34Z (step S43). Further, the coordinate transformation unit 411 may execute the processing of step S42 and the processing of step S43 in an arbitrary order.
Then, the coordinate transformation unit 411 performs a transformation process into the robot coordinate system (step S30). That is, the coordinate transformation unit 411 executes the processing of steps S23 and S24 described in fig. 8. Then, the manual propriety determining unit 412 executes a process of determining whether or not the robot 60 is manually propriety (step S10).
When the reverse switch 54 is pressed (Yes at step S41), the reverse conversion unit 414 acquires the manual time command stored in the manual operation storage area 348 (step S44). The reverse conversion unit 414 converts the manual time command in the manual operation storage area 348 into a movement command in the reverse direction (step S45). Then, the manual propriety determining unit 412 executes a process of determining whether or not the robot 60 is manually propriety (step S10).
The reverse conversion unit 414 may switch between the process of moving the robot 60 in the forward direction and the process of moving the robot in the reverse direction on the basis of the rotational direction of the manual handle 55. In this case, the reverse conversion unit 414 executes the movement to the forward direction and the movement to the reverse direction in accordance with the manual command through the movement path in which the manual command is stored. On the other hand, when a new operation is performed in which the manual instruction is not stored, the movement data transmission unit 413 causes the robot 60 to perform a movement corresponding to an operation on the jog button 57 or the manual handle 55.
In embodiment 3, the case where the manual operation is performed only for the 1-axis of the orthogonal coordinate system has been described, but the manual operation may be performed in which a plurality of axes are simultaneously moved with the end point of the three-dimensional coordinate space being targeted.
As described above, according to embodiment 3, the numerical control device 1Z stores the motion of the robot 60 related to the manual operation, and returns the motion of the robot 60 in the reverse direction when there is an instruction to move backward, so that the user can easily correct the position of the robot 60.
Embodiment 4.
Next, embodiment 4 of the present invention will be described with reference to fig. 13 and 14. In embodiment 4, the operation speed of the robot 60 during manual operation is adjusted using a magnification switch.
Fig. 13 is a diagram showing a configuration example of a numerical control device according to embodiment 4. Of the components in fig. 13, those that realize the same functions as those of the numerical control devices 1X to 1Z according to embodiments 1 to 3 are given the same reference numerals, and redundant description thereof is omitted.
The numerical control device 1P includes a control operation unit 2P, a display unit 4, and a PLC operation unit 5. In fig. 13, the input operation unit 3P, the machine tool 70, the robot controller 50, and the robot 60 are shown together with the numerical control device 1P.
The input operation unit 3P includes a manual handle 55, a jog button 57, an axis selection switch 59, a reverse switch 54, and a magnification switch 56. The magnification switch 56 is a switch for multiplying the speeds of the work machine 70 and the robot 60 by the magnification (override). Next, a case where the magnification switch 56 reduces the speed of the robot 60 will be described.
The magnification switch 56 reduces the speed of the robot 60 at a specific rate when the robot 60 is manually operated using the jog button 57 or the manual handle 55. The magnification switch 56 transmits a set value set by a user operation to the control arithmetic unit 2P. The set value corresponds to a rate at which the speed of the robot 60 is reduced. The set value sent from the magnification switch 56 is stored in the storage unit 34Z.
The control arithmetic unit 2P has a robot manual operation unit 41P in place of the robot manual operation unit 41Z, as compared with the control arithmetic unit 2Z. The robot manual operation unit 41P includes a magnification control unit 415 in addition to the components of the robot manual operation unit 41Z.
The magnification control unit 415 obtains the set value from the storage unit 34Z, and converts the set value into a rate at which the speed of the robot 60 decreases. The movement data transmitting unit 413 multiplies the speed data of the manually operated robot 60 by a ratio to generate speed data in which the speed is reduced.
The magnification switch 56 and the magnification control unit 415 may be disposed in the numerical control device 1X or the numerical control device 1Y.
Fig. 14 is a flowchart showing a processing procedure of a process of reducing the speed of the manually operated robot at a specific rate in the numerical control device according to embodiment 4. When the numerical control device 1P starts operating, the coordinate conversion unit 411 acquires the axis information selected by the axis selection switch 59 from the storage unit 34Z (step S61). The coordinate conversion unit 411 obtains the amount of movement input to the jog button 57 or the manual handle 55 from the storage unit 34Z (step S62). Further, the coordinate transformation unit 411 may execute the processing of step S61 and the processing of step S62 in an arbitrary order. Then, the coordinate transformation unit 411 performs a transformation process into the robot coordinate system (step S30).
If the operation of the robot 60 is too fast, the user can reduce the speed of the robot 60 by the magnification switch 56. The magnification control unit 415 obtains the operation state of the magnification switch 56, that is, the value set for the magnification switch 56, from the magnification switch 56 via the storage unit 34Z (step S63). The magnification control unit 415 converts the value set to the magnification switch 56 into a ratio (magnification) multiplied by the speed of the robot 60 (step S64).
The magnification control unit 415 sends the converted ratio (%) to the movement data transmission unit 413. Further, the movement data transmitting unit 413 acquires speed data indicating the movement speed of the robot 60 from the storage unit 34Z.
The movement data transmitting unit 413 multiplies the velocity data by the ratio (step S65). For example, when the ratio is 10%, the movement data transmitting unit 413 generates speed data in which the speed of the robot 60 is one tenth. The movement data transmitting unit 413 transmits the axis information, the movement amount, and the generated speed data to the robot 60 via the robot controller 50 (step S66).
Thus, the user can control the operation speed of the robot 60 during manual operation by the magnification switch 56, and therefore, interference between the robot 60 and the machine tool 70 and the like can be easily avoided by the user's judgment. Further, although the user can reduce the speed of the robot 60 by operating the robot controller 50, in embodiment 4, the user can reduce the speed of the robot 60 without moving to the robot controller 50, and therefore the work efficiency of the user is improved.
As described above, according to embodiment 4, the numerical control device 1P uses the magnification switch 56 to reduce the operating speed of the robot 60 during manual operation, so that the user can easily avoid the robot 60 from interfering with the machine tool 70 and the like.
Embodiment 5.
Next, embodiment 5 of the present invention will be described with reference to fig. 15. In embodiment 5, the possibility of manual operation is learned based on the relationship between the determination value at the time of determining the state of the control system 100 and the time until an error occurs in the control system 100.
Fig. 15 is a diagram showing a configuration example of a numerical control device according to embodiment 5. Fig. 16 is a diagram showing a configuration example of a machine learning device included in the numerical control device according to embodiment 5. Of the components in fig. 15 and 16, those that realize the same functions as those of the numerical control device 1X in embodiment 1 are given the same reference numerals, and redundant description thereof is omitted.
The numerical control device 1Q includes a control operation unit 2Q, a display unit 4, and a PLC operation unit 5. Fig. 15 shows an input operation unit 3X, a machine tool 70, a robot controller 50, and a robot 60 together with a numerical control device 1Q.
The control arithmetic unit 2Q has a robot manual operation unit 41Q instead of the robot manual operation unit 41X, as compared with the control arithmetic unit 2X. The robot manual operation unit 41Q has a manual availability determining unit 412Q in place of the manual availability determining unit 412, compared with the robot manual operation unit 41X. The manual availability determining unit 412Q has a function of measuring the time from the start of the manual operation until the occurrence of the error, in addition to the function of the manual availability determining unit 412.
The control arithmetic unit 2Q further includes a machine learning device 80 in addition to the components included in the control arithmetic unit 2X. The machine learning device 80 learns an appropriate determination value used when determining the possibility of manual operation, and the possibility-of-manual determination unit 412Q determines the possibility of manual operation using the determination value learned by the machine learning device 80. The manual availability determining unit 412Q notifies the user that the manual operation is not available, and invalidates the manual operation.
Each component of the numerical control device 1Q other than the machine learning device 80 transmits state information indicating the state of the control system 100 to the machine learning device 80. Examples of the state information include robot state information indicating a state of the robot 60, NC state information indicating a state of the work machine 70, PLC state information indicating a state of the PLC 36, and the like.
The manual propriety determining unit 412Q acquires the robot state information from the robot manual operation unit 41Q, for example. The manual availability determining unit 412Q acquires NC status information from the shared area 345, for example. The manual availability determining unit 412Q acquires PLC state information from the control signal processing unit 35, for example.
The machine learning device 80 acquires robot state information, NC state information, and PLC state information from the usability manual determination unit 412Q. The machine learning device 80 may acquire the robot state information from the robot manual operation unit 41Q, the NC state information from the shared area 345, and the PLC state information from the control signal processing unit 35. The state information may include information other than robot state information, NC state information, and PLC state information.
The manual propriety determining unit 412Q determines whether or not an error has occurred in the manual operation of the robot 60 by the user based on the state information. The error is assumed to occur when the robot 60 collides with the work machine 70 or when the possibility of collision with the work machine 70 is higher than a specific reference value. That is, the manual availability determining unit 412Q determines that an error has occurred when a state in which manual operation of the robot 60 is disabled occurs in the control system 100. The manual availability determining unit 412Q compares the determination value for each erroneous determination item with the value (value indicating the state) indicated by the erroneous determination item, and thereby determines whether or not an error has occurred for each erroneous determination item. The determination value for each erroneous determination item is stored in the storage unit 34X. The manual availability determining unit 412Q measures a time period from the start of the manual operation until the occurrence of the error (hereinafter, referred to as an error occurrence time period).
The machine learning device 80 continuously learns an appropriate determination value based on the relationship between the determination value when determining the state of the control system 100 and the error occurrence time in the control system 100. Thus, the determination value stored in the manual availability determination unit 412Q is continuously erased by the learning performed by the machine learning device 80. As described above, the determination value is used when determining the possibility of manual operation, and therefore the machine learning device 80 learns the possibility of manual operation.
The manual availability determining unit 412Q notifies the screen processing unit 31 of an alarm when an error occurs. Therefore, the determination value can be said to be a criterion for determining whether or not to generate an alarm. The determination value is not limited to the case of being stored in the storage unit 34X, and may be stored in the machine learning device 80.
An example of the erroneous determination item is whether or not the operation area of the robot hand 61 is within a specific range. The operation region changes in accordance with a manual operation performed by the user on the robot 60. The operation region is sometimes determined by the distance and the moving direction of the robot hand 61 at a specific position (start position) of the robot 60, and therefore a determination value for the distance becomes a determination value of the operation region. When the operation area of the robot hand 61 is too wide, the robot hand 61 easily collides with the machine tool 70, and the time until an alarm is generated tends to be long. Therefore, if the determination value becomes excessively large, the time until an alarm is generated becomes long. On the other hand, if the determination value is too small, the operation region of the robot hand 61 becomes narrow, which is inconvenient. Therefore, the determination value of the operation region of the robot hand 61 can be ensured to be an appropriate determination value without excessively shortening the time until the alarm is generated. Since an error does not occur (for example, an interference with the work machine 70) depending on the moving direction of the robot 60, a range of the moving direction in which the error does not occur is an appropriate determination value. The state of the machine tool 70 (the state in which the machine tool 70 is not in automatic operation (machining) and the door of the machine tool 70 is open) is an appropriate determination value at which the robot can move. Therefore, the machine learning device 80 sets the determination value so that the error occurrence time occurs at an appropriate time (hereinafter referred to as an appropriate time). The appropriate time is an elapsed time from the start of the manual operation, and may be, for example, a period from 10 seconds to 30 seconds, or may be a specific timing of 15 seconds. An error is likely to occur at an appropriate time and in an appropriate moving direction and in an appropriate state of the work machine 70. This ensures an operating area of the robot hand 61, and can avoid collision of the robot hand 61 during manual operation of the robot hand 61. The machine learning device 80 continuously learns various appropriate determination values. Since the position of the tool or the workpiece to be machined changes depending on the progress of the NC program, a determination value can be set for each progress of the NC program. In addition, although the case where the determination value is determined based on the error occurrence time is described here, the determination value may be determined based on the movement amount.
If the determination result is that an error has occurred, the manual availability determination unit 412Q measures or calculates various states and transmits the states to the machine learning device 80.
The machine learning device 80 includes a state observation unit 71 and a learning unit 72. The state observation unit 71 obtains the state currently in use from the manual availability determination unit 412Q. When an error occurs, the state observation unit 71 observes various states and transmits the observed states as state variables 81 to the learning unit 72. The manual propriety determining unit 412Q acquires various states for each occurrence of an error while the user manually operates the robot 60. Therefore, the state observation unit 71 acquires various states for each occurrence of an error and transmits the state variable 81 to the learning unit 72.
The learning algorithm used by the learning unit 72 may be any learning algorithm. Here, a case where Reinforcement Learning (Reinforcement Learning) is applied to the Learning algorithm will be described. Reinforcement learning is an action 83 that an agent (agent of action) in a certain environment observes the current state indicated by the state variable 81 and determines the action to be taken. The agent selects action 83 to obtain the reward 82 from the environment, and learns the countermeasures that most receive the reward 82 through a series of actions 83. As representative methods of reinforcement learning, Q-learning (Q-learning) and TD-learning (TD-learning) are known. For example, in the case of Q learning, a normal update (action value table) of the action value function Q (s, a) is represented by equation (1).
[ formula 1 ]
Figure GDA0003274622090000261
In formula (1), s t Representing the environment at time t, a t Indicating the action at time t. By action a t The environment becomes s t+1 。r t+1 Represents the reward 82 given by the change in its environment, γ represents the discount rate, and α represents the learning coefficient. When Q learning is applied, the judgment value corresponding to the manual operation of the robot 60 becomes the action a t
In the update represented by equation (1), if the action value of the best action a at time t +1 is greater than the action value Q of the action a executed at time t, the action value Q is increased, and conversely, the action value Q is decreased. In other words, the action-merit function Q (s, a) is updated so that the action-merit Q of the action a at the time t approaches the best action-merit at the time t + 1. Thus, the best action value in a certain environment is propagated in turn to the action values in the previous environment.
The learning unit 72 includes a reward calculation unit 73 and a function update unit 74. The reward calculation unit 73 calculates a reward 82 based on the state variable 81, that is, the error occurrence time and the determination value. The reward calculation unit 73 increases the reward 82 (for example, gives a reward of "1") if the difference between the error occurrence time and the appropriate time (hereinafter, referred to as a time difference) when the user manually operates the robot 60 is smaller than the time difference up to that time. The reward calculation unit 73 sets the reward 82 to the maximum reward when the time difference is 0, for example. On the other hand, if the time difference between the manual operations of the robot 60 by the user is larger than the time difference up to this point, the reward calculation unit 73 decreases the reward 82 (for example, gives a reward of "-1"). In addition, the maximum return (for example, return of "1") is given in the case of a moving direction in which an error does not occur. In addition, when the state of the work machine 70 is not the automatic operation state and the door of the work machine 70 is opened, the maximum return is given (for example, return of "1" is given).
The function updating unit 74 updates the function for determining the action 83 (next determination value) in accordance with the reward 82 calculated by the reward calculation unit 73. For example, in the case of Q learning, the function update unit 74 calculates an action merit function Q(s) expressed by equation (1) t ,a t ) As a function for determining the next determination value. The function update unit 74 uses the updated action merit function Q(s) t ,a t ) A calculation is made for action 83. The function updating unit 74 sends the calculated action 83 to the manual availability determining unit 412Q.
The manual feasibility determining unit 412Q determines the feasibility of manual operation on the robot 60 using the action 83, i.e., the determination value, calculated by the machine learning device 80. If the operation area is larger than the determination value (if the response is small), the manual feasibility determining unit 412Q causes the display unit 4 to display an alarm and stops the manual operation of the robot 60.
The device learning apparatus 80 may be disposed outside the control calculation unit 2Q. In embodiment 5, the case of performing machine learning by reinforcement learning is described, but machine learning may be performed by other known methods, for example, a neural network, genetic programming, functional logic programming, a support vector machine, or the like.
The status information may be a history of the status. For example, the erroneous determination items may be history of information detected by the sensor. In this case, for example, a value obtained by integrating information over time is state information. The machine learning device 80 may be disposed in the numerical control devices 1Y, 1Z, and 1P.
As described above, according to embodiment 5, the machine learning device 80 learns the determination value used when determining whether or not the robot 60 is manually operable based on an appropriate state, and therefore the numerical control device 1Q can appropriately determine whether or not the robot 60 is manually operable.
Further, the contents described in embodiments 1 to 5 may be combined. For example, the reverse switch 54, the reverse conversion unit 414, the manual operation storage area 348, and the transmission interval storage area 349 described in embodiment 3 may be disposed in the numerical control device 1Q. The magnification switch 56 and the magnification control unit 415 described in embodiment 4 may be disposed in the numerical control device 1Q.
Here, the hardware configuration of the control arithmetic units 2X to 2Z, 2P, and 2Q included in the numerical control devices 1X to 1Z, 1P, and 1Q will be described. Note that the control arithmetic units 2X to 2Z, 2P, and 2Q have the same hardware configuration, and therefore the hardware configuration of the control arithmetic unit 2X will be described here.
Fig. 17 is a diagram showing an example of the hardware configuration of the control arithmetic unit according to embodiment 1. The control arithmetic unit 2X can be realized by the processor 301, the memory 302, and the interface circuit 303 shown in fig. 17. The processor 301, the memory 302, and the interface circuit 303 can transmit and receive data to and from each other via the bus 310.
Examples of the processor 301 are a CPU (also referred to as a Central Processing Unit, a Processing Unit, an arithmetic Unit, a microprocessor, a microcomputer, a processor, a dsp (digital Signal processor)), or a system lsi (large Scale integration). Examples of memory 302 are RAM (random Access memory) or ROM (read Only memory).
The storage unit 34X is implemented by the memory 302. A part of the functions of the input control section 32, a part of the functions of the screen processing section 31, a part of the functions of the communication control section 44, and a part of the functions of the axis data output section 40 are realized by the interface circuit 303.
The control arithmetic 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 arithmetic unit 2X. The program can be said to cause a computer to execute a procedure or a method for controlling the arithmetic operation unit 2X. The memory 302 is also used as a temporary memory when the processor 301 executes various processes.
The program executed by the processor 301 may be a computer program product having a computer-readable and nonvolatile (non-volatile) recording medium containing a plurality of commands for performing data processing, which can be executed by a computer. The program executed by the processor 301 causes the computer to execute data processing by a plurality of commands.
The control arithmetic unit 2X may be realized by dedicated hardware. The function of the control arithmetic unit 2X may be partly realized by dedicated hardware and partly realized by software or firmware.
The configuration described in the above embodiment is an example of the content of the present invention, and may be combined with other known techniques, and a part of the configuration may be omitted or modified without departing from the scope of the present invention.
Description of the reference numerals
1P, 1Q, 1X-1Z numerical control device, 2P, 2Q, 2X-2Z control arithmetic section, 3P, 3X, 3Z input operation section, 4 display section, 5PLC operation section, 11 notification area, 21-23 operation acceptance screen, 31 screen processing section, 32 input control section, 33 data setting section, 34X-34Z storage section, 35 control signal processing section, 37 analysis processing section, 38 interpolation processing section, 39 acceleration/deceleration processing section, 40 axis data output section, 41P, 41Q, 41X-41Z robot manual operation section, 44 communication control section, 45 state determination section, 50 robot controller, 51 input/output unit, 52 emergency stop button, 53 operation panel, 54 reverse switch, 55A, 55B manual handle, 56 magnification switch, 57 jog button, 59 axis selection switch, 60 robot hand, 61 robot hand, 70 work machine, 71 state observation unit, 72 learning unit, 73 report calculation unit, 74 function update unit, 80 machine learning device, 81 state variable, 82 report, 83 action, 90 drive unit, 100 control system, 301 processor, 302 memory, 303 interface circuit, 310 bus, 341 parameter storage area, 343NC program storage area, 344 display data storage area, 345 shared area, 346 specific distance storage area, 347 offset coordinate storage area, 348 manual operation storage area, 349 transmission interval storage area, 411 coordinate conversion unit, 412Q manual availability determination unit, 413 movement data transmission unit, 414 inverse conversion unit, 415 magnification control unit.

Claims (13)

1. A numerical control device used in a control system for controlling a machine tool for machining a workpiece and a robot for conveying the workpiece,
the numerical control device is characterized by comprising:
an input operation unit that receives manual operation of the robot;
a control calculation unit that controls the work machine using a numerical control program and controls the robot based on the manual operation; and
a machine learning device that learns a determination value that is compared with a value indicating a state of the control system when it is determined whether the robot is manually operable,
the control calculation unit includes:
a manual operation availability determination unit that determines, based on a state of the control system and a three-dimensional region that is within a range of a specific distance from a machine origin of the work machine, whether or not the robot is manually operable; and
a movement data transmitting unit that, if the manual operation is performed when the manual operation of the robot is permitted by the manual availability judging unit, generates a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmits the 1 st movement command to the robot controller,
The machine learning device includes:
a state observation unit that observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
a learning unit that learns a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
the manual operation possibility judging unit judges whether or not the robot is manually operated using the judgment value learned by the learning unit,
the three-dimensional region is specified according to a possibility of interference between the robot and the work machine.
2. A numerical control device used in a control system for controlling a machine tool for machining a workpiece and a robot for conveying the workpiece,
the numerical control device is characterized by comprising:
an input operation unit that receives manual operation of the robot;
a control calculation unit that controls the work machine using a numerical control program and controls the robot based on the manual operation; and
a machine learning device that learns a determination value that is compared with a value indicating a state of the control system when it is determined whether the robot is manually operable,
The control calculation unit includes:
a manual operation possibility determination unit that determines whether or not the robot is manually operable, based on a state of the control system; and
a movement data transmitting unit that, if the manual operation is performed when the manual operation of the robot is permitted by the manual availability judging unit, generates a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmits the 1 st movement command to the robot controller,
the machine learning device includes:
a state observation unit that observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
a learning unit that learns a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
the manual operation possibility judging unit judges whether or not the robot is manually operated using the judgment value learned by the learning unit,
the state of the control system is an automatic operation state of the work machine.
3. A numerical control device used in a control system for controlling a machine tool for machining a workpiece and a robot for conveying the workpiece,
The numerical control device is characterized by comprising:
an input operation unit that accepts manual operation to the robot;
a control calculation unit that controls the work machine using a numerical control program and controls the robot based on the manual operation; and
a machine learning device that learns a determination value that is compared with a value indicating a state of the control system when it is determined whether the robot is manually operable,
the control calculation unit includes:
a manual operation possibility determination unit that determines whether or not the robot is manually operable, based on a state of the control system; and
a movement data transmitting unit that, if the manual operation is performed when the manual operation of the robot is permitted by the manual availability judging unit, generates a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmits the 1 st movement command to the robot controller,
the machine learning device has:
a state observation unit that observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
A learning unit that learns a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
the manual operation possibility judging unit judges whether or not the robot is manually operated using the judgment value learned by the learning unit,
the state of the control system is a communication state between the robot controller and the numerical control device.
4. The numerical control apparatus according to any one of claims 1 to 3,
the input operation unit receives the manual operation through a coordinate system of the machine tool,
the control calculation unit further includes a conversion unit that converts the command in the coordinate system of the machine tool into a command in the coordinate system of the robot,
the conversion unit converts the command corresponding to the manual operation received by the input operation unit from the coordinate system of the machine tool to the command of the coordinate system of the robot, and generates the 1 st movement command.
5. The numerical control apparatus according to any one of claims 1 to 3,
the control calculation unit further includes:
a storage unit that stores the 1 st movement command; and
A reverse conversion unit that generates a 2 nd movement command for causing the robot to move in reverse along a movement path corresponding to the 1 st movement command based on the 1 st movement command,
the movement data transmitting unit transmits the 2 nd movement command to the robot controller.
6. The numerical control apparatus according to any one of claims 1 to 3,
the input operation section has a magnification switch for multiplying a speed of the robot by a magnification,
the control calculation unit generates speed data for reducing the speed of the robot based on a set value set in the magnification switch during the manual operation.
7. The numerical control apparatus according to any one of claims 1 to 3,
the manual availability determining unit causes a display device to display an alarm or a message when manual operation of the robot is not permitted.
8. The numerical control apparatus according to any one of claims 1 to 3,
the manual operation availability determination unit determines, based on a state of at least one of the numerical control device and the machine tool, whether or not the robot is manually operable.
9. The numerical control apparatus according to any one of claims 1 to 3,
The manual operation possibility determination unit determines whether or not the robot is manually operable based on whether or not a user has entered an intrusion prevention area around the robot.
10. A numerical control device used in a control system for controlling a machine tool for machining a workpiece and a robot for conveying the workpiece,
the numerical control device is characterized by comprising:
an input operation unit that receives manual operation of the robot;
a control calculation unit that controls the work machine using a numerical control program and controls the robot based on the manual operation; and
a machine learning device that learns a determination value that is compared with a value indicating a state of the control system,
the control calculation unit includes:
a manual operation possibility determination unit that determines whether or not the robot is manually operable, based on a state of the control system; and
a movement data transmitting unit that, if the manual operation is performed when the manual operation of the robot is permitted by the manual availability judging unit, generates a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmits the 1 st movement command to the robot controller,
The machine learning device includes:
a state observation unit that observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
a learning unit that learns a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
the manual operation possibility determination unit determines whether or not the robot is manually operable, using the determination value learned by the learning unit.
11. A numerical control method, comprising:
a machine learning step of learning a determination value, which is compared with a value indicating a state of a control system that controls a machine tool and a robot that performs conveyance of a workpiece, based on a numerical control device that controls the robot by manual operation on the robot while controlling the machine tool by using a numerical control program;
a manual operation possibility judgment step in which the numerical control device judges whether or not the robot is manually operable, based on a state of the control system and a three-dimensional region that is within a range of a specific distance from a machine origin of the work machine; and
A movement data transmission step of, if a manual operation to the robot is performed while the manual operation to the robot is permitted, generating, by the numerical control device, a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmitting the 1 st movement command to the robot controller,
the machine learning step has:
a state observation step in which the numerical control device observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
a learning step of learning a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
in the manual availability judging step, the numerical control device judges the availability of manual operation of the robot by using the judgment value learned in the learning step,
the three-dimensional region is specified according to a possibility that the robot interferes with the work machine.
12. A numerical control method, comprising:
A machine learning step of learning a determination value, which is compared with a value indicating a state of a control system that controls a machine tool and a robot that performs conveyance of a workpiece, based on a numerical control device that controls the robot by manual operation on the robot while controlling the machine tool by using a numerical control program;
a manual judgment step of judging whether the robot can be manually operated or not by the numerical control device based on the state of the control system; and
a movement data transmission step of, if a manual operation to the robot is performed while the manual operation to the robot is permitted, generating, by the numerical control device, a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmitting the 1 st movement command to the robot controller,
the machine learning step includes:
a state observation step in which the numerical control device observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
A learning step of learning a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
in the manual availability judging step, the numerical control device judges the availability of manual operation of the robot by using the judgment value learned in the learning step,
the state of the control system is an automatic operation state of the work machine.
13. A numerical control method, comprising:
a machine learning step of learning a determination value, which is compared with a value indicating a state of a control system that controls a machine tool and a robot that performs conveyance of a workpiece, by using a numerical control device that controls the machine tool that performs machining of the workpiece using a numerical control program and controls the robot based on a manual operation on the robot;
judging whether the robot can be manually operated or not by the numerical control device based on the state of the control system; and
a movement data transmission step of, if a manual operation to the robot is performed while the manual operation to the robot is permitted, generating, by the numerical control device, a 1 st movement command to a robot controller that controls movement of the robot based on the manual operation, and transmitting the 1 st movement command to the robot controller,
The machine learning step includes:
a state observation step in which the numerical control device observes, as a state variable, an error occurrence time that is a time from a start of a manual operation until an error occurs and a determination value used between the start of the manual operation and the occurrence of the error; and
a learning step of learning a determination value in which an error occurs in a specific period, in accordance with a data set created based on the state variables,
in the manual availability judging step, the numerical control device judges the availability of manual operation of the robot by using the judgment value learned in the learning step,
the state of the control system is a communication state between the robot controller and the numerical control device.
CN201980094562.8A 2019-03-28 2019-03-28 Numerical control device and numerical control method Active CN113614660B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/013887 WO2020194752A1 (en) 2019-03-28 2019-03-28 Numerical control device and numerical control method

Publications (2)

Publication Number Publication Date
CN113614660A CN113614660A (en) 2021-11-05
CN113614660B true CN113614660B (en) 2022-07-29

Family

ID=72609316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980094562.8A Active CN113614660B (en) 2019-03-28 2019-03-28 Numerical control device and numerical control method

Country Status (3)

Country Link
JP (1) JP6811878B1 (en)
CN (1) CN113614660B (en)
WO (1) WO2020194752A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202233369A (en) * 2021-02-18 2022-09-01 日商發那科股份有限公司 Robot control device, robot control system, and computer program

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177607A (en) * 1983-03-28 1984-10-08 Fanuc Ltd Automatic programming method
JPH05173627A (en) * 1991-12-20 1993-07-13 Daihen Corp Controller for industrial robot
JPH05345286A (en) * 1992-06-17 1993-12-27 Fanuc Ltd Method for manual feeding of robot
JPH06110541A (en) * 1992-03-02 1994-04-22 Yaskawa Electric Corp Controller for industrial robot
JP2001154717A (en) * 1999-09-13 2001-06-08 Fanuc Ltd Connection system between robot and machine
JP2002144277A (en) * 2000-11-08 2002-05-21 Denso Corp Robot
US8504199B1 (en) * 2009-11-12 2013-08-06 Kabushiki Kaisha Yaskawa Denki Robot control system
JP2014018939A (en) * 2012-07-23 2014-02-03 Daihen Corp Robot control device
JP2017094430A (en) * 2015-11-20 2017-06-01 ファナック株式会社 Manual feed apparatus for robot for calculating operation possible range of robot
JP2018027575A (en) * 2016-08-15 2018-02-22 ファナック株式会社 Robot system
JP2018058172A (en) * 2016-10-06 2018-04-12 川崎重工業株式会社 Robot system and operation method of the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212905A (en) * 1989-02-14 1990-08-24 Hitachi Seiki Co Ltd Nc program route profiling device and semi-automatic manipulator
JP3264705B2 (en) * 1992-10-26 2002-03-11 シチズン時計株式会社 Control method of robot hand of numerically controlled machine tool
JPH0871979A (en) * 1994-09-09 1996-03-19 Nissan Motor Co Ltd Robot controller
JP3640316B2 (en) * 1995-01-26 2005-04-20 株式会社小松製作所 Synchronizer for press machine and robot
JP3985677B2 (en) * 2002-12-25 2007-10-03 株式会社安川電機 Apparatus and method for checking interference of horizontal articulated robot
AT10676U1 (en) * 2008-07-21 2009-08-15 Keba Ag METHOD FOR OPERATING A MOBILE HAND CONTROL DEVICE FOR DISTRIBUTING OR RELEASING POTENTIALLY DANGEROUS CONTROL COMMANDS AND CORRESPONDING HAND CONTROL DEVICE
JP6148316B2 (en) * 2015-07-31 2017-06-14 ファナック株式会社 Machine learning method and machine learning device for learning failure conditions, and failure prediction device and failure prediction system provided with the machine learning device
JP6174649B2 (en) * 2015-09-30 2017-08-02 ファナック株式会社 Motor drive device with preventive maintenance function for fan motor

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177607A (en) * 1983-03-28 1984-10-08 Fanuc Ltd Automatic programming method
JPH05173627A (en) * 1991-12-20 1993-07-13 Daihen Corp Controller for industrial robot
JPH06110541A (en) * 1992-03-02 1994-04-22 Yaskawa Electric Corp Controller for industrial robot
JPH05345286A (en) * 1992-06-17 1993-12-27 Fanuc Ltd Method for manual feeding of robot
JP2001154717A (en) * 1999-09-13 2001-06-08 Fanuc Ltd Connection system between robot and machine
JP2002144277A (en) * 2000-11-08 2002-05-21 Denso Corp Robot
US8504199B1 (en) * 2009-11-12 2013-08-06 Kabushiki Kaisha Yaskawa Denki Robot control system
JP2014018939A (en) * 2012-07-23 2014-02-03 Daihen Corp Robot control device
JP2017094430A (en) * 2015-11-20 2017-06-01 ファナック株式会社 Manual feed apparatus for robot for calculating operation possible range of robot
JP2018027575A (en) * 2016-08-15 2018-02-22 ファナック株式会社 Robot system
JP2018058172A (en) * 2016-10-06 2018-04-12 川崎重工業株式会社 Robot system and operation method of the same

Also Published As

Publication number Publication date
JP6811878B1 (en) 2021-01-13
WO2020194752A1 (en) 2020-10-01
JPWO2020194752A1 (en) 2021-04-08
CN113614660A (en) 2021-11-05

Similar Documents

Publication Publication Date Title
US11279033B2 (en) Method and apparatus for collision-free motion planning of a manipulator
JP2008229800A (en) Arm-mounted mobile robot and its control method
US20120239190A1 (en) Robot and Method For Operating A Robot
EP1447728A2 (en) Position control device
CN112512762A (en) Abnormality determination device and abnormality determination method
KR20180081774A (en) A method and computer program for creating a graphical user interface of a manipulator program
TW202244643A (en) Numerical control device and numerical control system
CN113614660B (en) Numerical control device and numerical control method
Kuts et al. COLLABORATIVE WORK BETWEEN HUMAN AND INDUSTRIAL ROBOT IN MANUFACTURING BY ADVANCED SAFETY MONITORING SYSTEM.
JP2019150932A (en) Collison position estimation device and machine learning device
EP1894682A2 (en) Robotic programming control using multiple binary input
WO2022139939A1 (en) Robot planning
CN114365047B (en) Numerical control device and machine learning device
KR20150026881A (en) Display apparatus
CN115079638A (en) Safe operation of a multi-axis movement device
US11787054B2 (en) Robot planning
JP4258718B2 (en) Robot controller
CN115077953A (en) Safe operation of a multi-axis motion system
JP2022128114A (en) Maintenance support system
JP7311732B1 (en) Numerical controller and numerical control system
JPH04279901A (en) Controller for industrial robot
JP4200357B2 (en) Method for starting up motor control device and motor control device
JP7490412B2 (en) Robot system and control method thereof
JP7260728B1 (en) Numerical controller and numerical control system
WO2024089884A1 (en) Robot controller and method for comparing control software before and after update

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant