Numerical control device and numerical control system
By analyzing the robot control instructions in the numerical control device and generating a contact skip action signal, the problem that the robot cannot continue to operate when it detects contact is solved, and the robot can achieve flexible control and user-friendly operation experience during contact.
Patent Information
- Application Number
- CN202280101848.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2025-06-20
Smart Images

Figure CN120187559A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a numerical control device and a numerical control system. Background Art
[0002] Conventionally, a technique for a collaborative robot that detects contact with a person and stops its operation has been disclosed. For example, a technique for setting load information of a workpiece to be held in order to accurately measure the contact force of a collaborative robot has been disclosed.
[0003] In addition, a technique for a system that automates a machining site by a machine tool operation robot has been disclosed. For example, a technique for operating a robot using numerical control instructions familiar to users of a machine tool has been disclosed (for example, refer to Patent Document 1).
[0004] Prior Art Documents
[0005] Patent Documents
[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2014-241018 Summary of the Invention
[0007] Problems to be Solved by the Invention
[0008] When controlling a robot using numerical control instructions in a numerical control device, if the robot detects contact with an object while moving, the robot control device sometimes stops the operation of the robot when the contact is detected, and the operation of the robot cannot be continued. In addition, since the user of the machine tool must use a teaching operation panel for the robot, which is not familiar to them, it is a difficult task for the user of the machine tool.
[0009] Therefore, a numerical control device and a numerical control system are desired that can continue the operation of the robot when contact is detected, and that the user of the machine tool can easily use the functions of the robot.
[0010] Means for Solving the Problems
[0011] One aspect of the present disclosure is a numerical control device that controls a robot via a robot control device using a numerical control program. The numerical control device includes: an analysis unit that analyzes robot control instructions in the numerical control program; a contact action instruction unit that generates a contact skip action signal for causing the robot control device to execute a contact skip action based on the robot control instructions analyzed by the analysis unit; and a robot instruction signal generation unit that generates a robot instruction signal including the contact skip action signal and transmits it to the robot control device. The robot control instructions include an external force threshold for stopping the robot when the robot detects an external force. The robot control device, based on the contact skip action signal, stops the movement of the robot when the external force detected by the robot exceeds the external force threshold during the movement of the robot, and notifies the numerical control device of the situation where the robot has stopped moving. When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instructions.
[0012] One aspect of the present disclosure is a numerical control system that controls a robot via a robot control device using a numerical control program of a numerical control device. The numerical control device includes: an analysis unit that analyzes robot control instructions in the numerical control program; a contact action instruction unit that generates a contact skip action signal for causing the robot control device to execute a contact skip action based on the robot control instructions analyzed by the analysis unit; and a robot instruction signal generation unit that generates a robot instruction signal including the contact skip action signal and transmits it to the robot control device. The robot control instructions include an external force threshold for stopping the robot when the robot detects an external force. The robot control device includes: a contact action execution unit that, based on the contact skip action signal, stops the movement of the robot when the external force detected by the robot exceeds the external force threshold during the movement of the robot, and notifies the numerical control device of the situation where the robot has stopped moving. When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instructions. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a functional block diagram of the numerical control system of this embodiment.
[0014] Figure 2 is a functional block diagram of the numerical control device and the robot control device of this embodiment.
[0015] Figure 3 This is a diagram showing an example of a contact skip instruction.
[0016] Figure 4 This is a diagram showing an example of a contact skip instruction.
[0017] Figure 5 This is a diagram showing an example of the numerical control program of the present embodiment.
[0018] Figure 6 This represents the execution Figure 5 When the numerical control program shown is executed, it is a timing diagram of the signal and information flow between the numerical control device and the robot control device. Detailed implementation mode
[0019] Hereinafter, an example of an embodiment of the present disclosure will be described. Figure 1 This is a functional block diagram of the numerical control system 1 of the present embodiment.
[0020] The numerical control system 1 includes: a machine tool 2 for machining a workpiece (not shown); a numerical control device (CNC) 4 for controlling the operation of the machine tool 2; a collaborative robot 3 disposed near the machine tool 2; and a robot control device 5 for controlling the operation of the collaborative robot 3. The numerical control system 1 uses the numerically controlled device 4 and the robot control device 5 that are communicably connected to each other to perform interlocking control of the operations of the machine tool 2 and the collaborative robot 3.
[0021] The machine tool 2 machines a workpiece (not shown) according to a machine tool control signal sent from the numerical control device 4. Here, the machine tool 2 is, for example, a lathe, a drilling machine, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc., but is not limited thereto.
[0022] The collaborative robot 3 operates under the control of the robot control device 5, and, for example, performs a predetermined operation on the workpiece machined by the machine tool 2. The collaborative robot 3 is, for example, an articulated robot, and a tool 3b for gripping, machining, or inspecting the workpiece is mounted at the front end 3a of its arm. Hereinafter, the case where the collaborative robot 3 is a 6-axis articulated robot is described, but is not limited thereto. In addition, hereinafter, the case where the collaborative robot 3 is a 6-axis articulated robot is described, but the number of axes is not limited thereto.
[0023] The collaborative robot 3 has functions such as a contact stop function, a retraction mode function, and a reverse motion function, and can cooperate with people to perform operations safely. The contact stop function is a function that immediately stops when contacting a person with a relatively light force (for example, 10 to 20 N (i.e., 1 to 2 kgf)). The retraction mode function is a function that enables the arm to retract under each axis by a person pushing the arm of the collaborative robot 3. The reverse motion function is a function that, when the collaborative robot 3 contacts a hard object, immediately reverses the arm to reduce pinching. In order to detect external forces such as contact with a person, the collaborative robot 3 is provided with an external force detection unit 31 (refer to Figure 2 ) constituted by an external force detection sensor or the like. The external force detection sensor is, for example, a torque sensor, a force sensor, or the like. That is, the collaborative robot 3 detects contact with a person through the external force detection sensor, and the robot control device 5 stops the operation of the collaborative robot 3 according to the external force detected by the external force detection sensor. Thereby, the collaborative robot 3 can cooperate with people to perform operations safely.
[0024] The numerical control device 4 and the robot control device 5 are computers respectively constituted by the following hardware: an arithmetic processing unit such as a CPU (Central Processing Unit); an auxiliary storage unit such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive) that stores various computer programs; a main storage unit such as a RAM (Random Access Memory) that stores data temporarily required after the arithmetic processing unit executes the computer program; an operation unit such as a keyboard for an operator to perform various operations; and a display unit such as a display for displaying various information to the operator. These numerical control device 4 and robot control device 5 can mutually transmit and receive various signals through, for example, Ethernet (registered trademark).
[0025] Figure 2 It is a functional block diagram of the numerical control device 4 and the robot control device 5 of the present embodiment. First, the detailed configuration of the numerical control device 4 will be described. As Figure 2 shown, the numerical control device 4 realizes various functions such as a function of controlling the operation of the machine tool 2 and a function of generating an operation path of the control axis of the collaborative robot 3 through the above-mentioned hardware configuration.
[0026] The numerical control device 4 uses a numerical control program to control the collaborative robot 3 via the robot control device 5. That is, the numerical control device 4 generates various instructions for controlling the actions of the collaborative robot 3 and the tool 3b according to the numerical control program for the robot, and sends them to the robot control device 5. More specifically, the numerical control device 4 includes a program input unit 41, an analysis unit 42, a motion control unit 43, a storage unit 44, a robot instruction signal generation unit 45, a data transceiver unit 46, and a contact motion instruction unit 47.
[0027] The program input unit 41 reads out the numerical control program for the robot composed of a plurality of robot instruction program blocks from the storage unit 44, and sequentially inputs it to the analysis unit 42.
[0028] The analysis unit 42 analyzes the instruction category based on the numerical control program input from the program input unit 41 for each instruction program block, and outputs the analysis result to the motion control unit 43 and the robot instruction signal generation unit 45. More specifically, when the instruction category of the instruction program block is a numerical control instruction for the machine tool 2, the analysis unit 42 sends the numerical control instruction for the machine tool to the motion control unit 43. When the instruction category of the instruction program block is a numerical control instruction for the collaborative robot 3, the analysis unit 42 outputs the numerical control instruction for the robot (hereinafter, also referred to as a robot control instruction) to the robot instruction signal generation unit 45.
[0029] The motion control unit 43 generates a machine tool control signal for controlling the motion of the machine tool 2 according to the analysis result sent from the analysis unit 42, and inputs it to the actuators that drive various axes of the machine tool 2. The machine tool 2 operates according to the machine tool control signal input from the motion control unit 43 to machine a workpiece (not shown).
[0030] The storage unit 44 stores, for example, a plurality of numerical control programs made based on the operations of the operator. More specifically, the storage unit 44 stores a numerical control program composed of a plurality of instruction program blocks for the machine tool 2 for controlling the motion of the machine tool 2, or a plurality of instruction program blocks for the collaborative robot 3 for controlling the motion of the collaborative robot 3, etc. The numerical control program stored in the storage unit 44 is described in a known programming language such as G code or M code for controlling the motion of the machine tool 2.
[0031] In addition, the storage unit 44 stores, for example, machine coordinate values that represent the positions of various axes of the machine tool 2 that operates under the above numerical control program (i.e., the positions of the tool table or worktable of the machine tool 2, etc.). In addition, these machine coordinate values are defined in a machine tool coordinate system with a reference point determined at an arbitrary position on or near the machine tool 2 as the origin. In the storage unit 44, they are successively updated through a process (not shown) to store the latest values of the machine coordinate values that change successively under the numerical control program.
[0032] In addition, the storage unit 44 stores, for example, robot coordinate values that represent the position and posture of the control point (e.g., the tip 3a of the arm of the cooperative robot 3) of the cooperative robot 3 that operates under the control of the robot control device 5, or in other words, represents the positions of the respective control axes of the cooperative robot 3. In addition, these robot coordinate values are defined in a robot coordinate system different from the machine tool coordinate system as described above. In the storage unit 44, they are successively updated through a process (not shown) using the robot coordinate values obtained from the robot control device 5 to store the latest values of the robot coordinate values that change successively under the numerical control program.
[0033] In addition, the storage unit 44 stores, for example, the teaching positions such as the start point and end point of the cooperative robot 3 input by the operator. Specifically, the storage unit 44 stores the teaching positions of the cooperative robot 3 input from a teach pendant or the like, the teaching positions input from a keyboard or the like, etc. The teaching positions of the cooperative robot 3 include robot coordinate values that represent the positions of the respective control axes of the cooperative robot 3, and these robot coordinate values are defined in a robot coordinate system different from the machine tool coordinate system.
[0034] The robot instruction signal generation unit 45 generates a robot instruction signal for each robot instruction program block based on the analysis result of each robot instruction program block input from the analysis unit 42, and writes the generated robot instruction signal to the data transceiver unit 46.
[0035] Specifically, the robot instruction signal generation unit 45 generates a robot instruction signal for each robot instruction program block based on the robot numerical control instruction as the analysis result input from the analysis unit 42, and writes the generated robot instruction signal to the data transceiver unit 46.
[0036] The data transceiver unit 46 transmits and receives various data such as instructions and robot coordinate values between the data transceiver unit 60 of the robot control device 5. Specifically, the data transceiver unit 46 transmits the robot instruction signal generated by the robot instruction signal generation unit 45 to the data transceiver unit 60 of the robot control device 5.
[0037] The contact action instruction unit 47 generates a contact skip action signal for causing the robot control device 5 to execute a contact skip action based on the robot control instruction parsed by the parsing unit 42. The contact action instruction unit 47 notifies the generated contact skip action signal to the robot instruction signal generation unit 45.
[0038] Specifically, when extracting a contact skip action instruction from the numerical control program, the parsing unit 42 notifies the instruction to the contact action instruction unit 47. The contact action instruction unit 47 generates a contact skip action signal based on the notification of the instruction from the parsing unit 42 and notifies it to the robot instruction signal generation unit 45.
[0039] The robot instruction signal generation unit 45 generates a robot instruction signal including the contact skip action signal and transmits it to the robot control device 5 via the data transceiver unit 46. Thereby, the robot control device 5 executes a contact skip action according to the contact skip action signal.
[0040] Here, the contact skip action means that when the collaborative robot 3 detects an external force through a contact action such as contacting an object during the movement of the collaborative robot 3, the movement of the collaborative robot 3 is stopped and the next instruction block is executed.
[0041] The contact skip action signal indicates to the robot control device 5 an external force threshold value for stopping the collaborative robot 3 when the collaborative robot 3 detects an external force, the action category of the collaborative robot 3, the target position of the collaborative robot 3, the moving speed of the collaborative robot 3, the contact position where the collaborative robot 3 contacts the object, etc.
[0042] The contact skip action signal may also include specifying the force component or torque component when the external force detection unit 31 of the collaborative robot 3 detects an external force according to the moving direction or moving speed of the collaborative robot 3. For example, when the collaborative robot 3 moves in the +X direction, the contact skip action signal may specify the force component or torque component in the +X direction when the external force detection unit 31 detects an external force.
[0043] In addition, the contact skip action signal may also include setting the external force threshold value of the contact skip action to be smaller than the external force detection threshold value of the contact stop action in which the collaborative robot 3 stops acting due to contact with the outside.
[0044] Based on the contact skip action signal, during the movement of the collaborative robot 3, when the external force detected by the collaborative robot 3 exceeds the external force threshold, the robot control device 5 stops the movement of the collaborative robot 3. Then, the robot control device 5 notifies the numerical control device 4 of the situation where the collaborative robot 3 has stopped moving. When notified by the robot control device 5 of the situation where the collaborative robot 3 has stopped moving, the contact action instruction unit 47 executes the next instruction block of the robot control instruction.
[0045] The next instruction block of the robot control instruction may also include, for example: obtaining the position where the collaborative robot 3 detected contact during the contact skip action from the robot control device 5, and measuring the size of the object based on the obtained position.
[0046] Specifically, the next instruction block of the robot control instruction may also include: obtaining the position information of two positions where the collaborative robot 3 detected contact during the contact skip action from the robot control device 5, and measuring the size of the object based on the obtained position information of the two positions. Here, the two positions may be, for example, the first position where the collaborative robot 3 detected contact during the movement in the +X direction, and the second position where the collaborative robot 3 detected contact during the movement in the -X direction. Thus, the robot control device 5 can measure the size of the object in the X direction from the two positions.
[0047] In addition, the next instruction block of the robot control instruction may also include, for example, the collaborative robot 3 gripping a workpiece with an unknown size, or gripping the workpiece at the position where the collaborative robot 3 contacts the workpiece while searching for the position of the workpiece.
[0048] Next, the configuration of the robot control device 5 will be described in detail. As Figure 2 shown, in the robot control device 5, various functions such as the storage unit 51, the analysis unit 52, the robot command generation unit 53, the program management unit 54, the trajectory control unit 55, the kinematics control unit 56, the servo control unit 57, the load setting selection unit 58, the dynamics control unit 59, the data transceiver unit 60, the contact action execution unit 61, and the contact control unit 62 are realized by the above-mentioned hardware configuration. The robot control device 5 uses these functional units to control the actions of the collaborative robot 3 according to the instructions sent from the numerical control device 4.
[0049] The storage unit 51 stores the robot program and various information for controlling the collaborative robot 3. In addition, the storage unit 51 stores the load setting of the collaborative robot 3. Furthermore, in this embodiment, although the storage unit 51 is provided in the robot control device 5, the storage unit 51 may also be provided in the numerical control device 4, or may be provided in an external electronic device or an external server, etc. outside the numerical control device 4 and the robot control device 5.
[0050] The data transceiver unit 60 receives the robot instruction signal transmitted from the data transceiver unit 46 of the numerical control device 4. Additionally, the data transceiver unit 60 sequentially outputs the received robot instruction signal to the analysis unit 52.
[0051] The analysis unit 52 analyzes the robot instruction signal input from the data transceiver unit 60. Additionally, the analysis unit 52 outputs its analysis result to the robot command generation unit 53.
[0052] The robot command generation unit 53 generates a robot command corresponding to the robot instruction signal based on the analysis result of the robot instruction signal input from the analysis unit 52. The robot command generation unit 53 outputs the generated robot command to the program management unit 54.
[0053] When a robot command is input from the robot command generation unit 53, the program management unit 54 sequentially executes the robot command, thereby generating an action plan for the collaborative robot 3 corresponding to the above robot instruction signal and outputting it to the trajectory control unit 55.
[0054] Additionally, when the robot command input from the robot command generation unit 53 is a program block robot command, the program management unit 54 adds the input program block robot command to the robot program stored in the storage unit 51. Thus, in the storage unit 51, a robot program corresponding to the robot instruction signal transmitted from the numerical control device 4 is generated and stored. The program management unit 54 receives a robot program start instruction as a robot command, thereby starting and regenerating the stored robot program.
[0055] When an action plan is input from the program management unit 54, the trajectory control unit 55 calculates the sequential data of the control points of the collaborative robot 3 and outputs it to the kinematic control unit 56.
[0056] The kinematic control unit 56 calculates the target angles of the respective joints of the collaborative robot 3 from the input sequential data and inputs them to the servo control unit 57.
[0057] The servo control unit 57 performs feedback control on the respective servo motors of the collaborative robot 3 in order to achieve the target angles input from the kinematic control unit 56, thereby generating a robot control signal for the collaborative robot 3 and inputting it to the servo motors of the collaborative robot 3. Additionally, the servo control unit 57 generates a robot control signal reflecting the torque calculated by the dynamics control unit 59 described later. Thus, the robot control device 5 can control the collaborative robot 3 according to the load setting.
[0058] The load setting selection unit 58 selects the load setting stored in the storage unit 51 based on the robot instruction signal analyzed by the analysis unit 52 and notifies the selected load setting to the dynamics control unit 59.
[0059] The dynamic control unit 59 calculates the torque input to the collaborative robot 3 by inverse dynamics calculation according to the load setting selected by the load setting selection unit 58. The dynamic control unit 59 outputs the torque obtained by the calculation to the servo control unit 57.
[0060] Here, the inverse dynamics calculation of the collaborative robot 3 refers to a method of calculating the input torque to each motor for realizing these responses by considering the finger load, gravity, and self-weight applied to the collaborative robot 3 based on the desired motion (time-series data of the position, speed, and acceleration of each joint) calculated from the motion trajectory plan of the collaborative robot 3. Regarding these inverse dynamics calculations, numerical calculation methods such as the calculated torque method or the Newton-Euler method are publicly known (for example, Japanese Patent Laid-Open No. 8-118275, Japanese Patent Laid-Open No. 2015-58520).
[0061] The contact action execution unit 61, according to the contact skip action signal in the robot instruction signal analyzed by the analysis unit 52, stops the movement of the collaborative robot 3 when the external force detected by the collaborative robot 3 exceeds the external force threshold during the movement of the collaborative robot 3, and notifies the numerical control device 4 of the situation where the collaborative robot 3 has stopped moving.
[0062] The contact control unit 62 controls the contact stop action according to the detection result of the external force by the external force detection unit 31 in the collaborative robot 3. Here, the contact stop action means that the collaborative robot 3 stops its action according to the contact force from the outside.
[0063] Next, the specific processing of the contact skip action will be described. The contact action execution unit 61 notifies the contact control unit 62 of the external force threshold according to the contact skip action signal in the robot instruction signal analyzed by the analysis unit 52, and the contact control unit 62 starts monitoring the external force exceeding the external force threshold.
[0064] In addition, the contact action execution unit 61 notifies the robot command generation unit 53 of the action category, movement amount, and movement speed of the collaborative robot 3 according to the contact skip action signal, and the robot command generation unit 53 generates a robot command corresponding to the action category, movement amount, and movement speed of the collaborative robot 3. After that, the robot control device 5 performs the control as described above, and the collaborative robot 3 starts moving.
[0065] When the external force detected by the external force detection unit 31 exceeds the external force threshold, the contact control unit 62 notifies the servo control unit 57 of the situation of stopping the movement, and obtains the position information about the position of the external force detected by the external force detection unit 31 exceeding the external force threshold.
[0066] The contact control unit 62 notifies the obtained position information and the situation where the collaborative robot 3 has stopped to the contact operation execution unit 61. The contact operation execution unit 61 notifies the obtained position information and the situation where the collaborative robot 3 has stopped to the numerical control device 4 via the data transceiver unit 60.
[0067] Then, as described above, when notified by the numerical control device 4 of the situation where the collaborative robot 3 has stopped moving, the contact operation instruction unit 47 executes the next instruction block of the robot control instruction. In addition, the numerical control device 4 executes, for example, the next instruction block to measure the size of the object based on the obtained position information of the object.
[0068] Figure 3 and Figure 4 is a diagram showing an example of a contact skip instruction. Figure 3 The shown contact skip instruction is an instruction when the collaborative robot 3 performs a contact skip operation during a linear motion. Figure 4 The shown contact skip instruction is an instruction when the collaborative robot 3 performs a contact skip operation during the operation of each axis.
[0069] Figure 3 The shown contact skip instruction includes a plurality of corresponding instructions and stop position storage locations corresponding to the corresponding instructions. Each corresponding instruction is a G-code from G100.1 to G100.9. The stop position storage locations are six macro variables corresponding to the linear motion of each of the X, Y, Z, A, B, and C axes. For example, the stop position storage location corresponding to the corresponding instruction G100.1 is six macro variables #100000 to #100005.
[0070] Figure 4 The shown contact skip instruction includes a plurality of corresponding instructions and stop position storage locations corresponding to the corresponding instructions. Each corresponding instruction is a G-code from G200.1 to G200.9.
[0071] The stop position storage locations are six macro variables corresponding to the operation of each of the J1, J2, J3, J4, J5, and J6 axes. For example, the stop position storage location corresponding to the corresponding instruction G200.1 is six macro variables #100060 to #100065.
[0072] Figure 5 is a diagram showing an example of the numerical control program of the present embodiment. Figure 6 is showing the execution of Figure 5 When the shown numerical control program is executed, it is a timing diagram of the signal and information flow between the numerical control device 4 and the robot control device 5. In Figure 5 and Figure 6In the example shown, the numerical control device 4 executes a numerical control program including a contact skip action instruction, and measures the size of the machined workpiece as the object by means of the collaborative robot 3.
[0073] First, instructed by "M100", the robot control device 5 waits for the completion of the machining of the workpiece machined by the machining system of the machine tool 2. Next, "G68.8" is input to select each axis coordinate system. When instructed by "G7.3 J1=_ J2=_ J3=_ J4=_ J5=_ J6=_", the robot control device 5 positions the collaborative robot 3 at the initial position on each axis coordinate system. In addition, in the underlined part of the command, the coordinate values of the specified position of the collaborative robot 3 are input.
[0074] Next, instructed by "G68.9", the orthogonal coordinate system is selected. When instructed by "G01 X_Y_Z_A_B_C_P_", the robot control device 5 linearly moves the collaborative robot 3 to the specified position (the specified position within the machine tool 2) on the orthogonal coordinate system and positions it. In addition, in the underlined part of the command, the coordinate values of the specified position of the collaborative robot 3 are input.
[0075] Next, instructed by "G53.8 Q2", the collaborative robot 3 selects (changes) the tool coordinate system No. 2 (contact tool). When instructed by "G01 X_Y_Z_A_B_C_P_", the robot control device 5 linearly moves the collaborative robot 3 to the workpiece size measurement start position in the +X direction on the orthogonal coordinate system and positions it.
[0076] Next, instructed by "G100.0 X100.0 Q1.0 F100;", the collaborative robot 3 and the robot control device 5 start the contact skip action. This instruction moves the collaborative robot 3 in the +X direction and stops the movement of the collaborative robot 3 when an external force is detected by the external force detection unit 31. Moreover, this instruction sets the external force threshold for detecting the external force to 1.0 N and sets the moving speed of the collaborative robot 3 to 100 mm / min.
[0077] According to this instruction, the robot control device 5 makes the collaborative robot 3 start to move in the +X direction at a speed of 100 mm / min by linear motion. Then, when the robot control device 5 detects an external force exceeding 1.0 N, it stops the movement of the collaborative robot 3 and notifies (sends) the position information of the position where the external force is detected to the numerical control device 4.
[0078] When notified by the robot control device 5 that the collaborative robot 3 has stopped moving, the contact action instruction unit 47 executes the next instruction block of the robot control instruction, namely, "G01X_Y_Z_A_B_C_P_". When instructed with "G01 X_Y_Z_A_B_C_P_", the robot control device 5 linearly moves and positions the collaborative robot 3 to the workpiece dimension measurement start position in the -X direction on the orthogonal coordinate system.
[0079] Next, when instructed with "G100.1 X-100.0Q1.0 F100;", the collaborative robot 3 and the robot control device 5 start the contact skip action. This instruction makes the collaborative robot 3 move in the -X direction and stops the movement of the collaborative robot 3 when the external force detection unit 31 detects an external force. Moreover, this instruction sets the external force threshold for detecting the external force to 1.0 N and sets the moving speed of the collaborative robot 3 to 100 mm / min.
[0080] According to this instruction, the robot control device 5 makes the collaborative robot 3 start to move in the -X direction at a speed of 100 mm / min by linear motion. Then, when the robot control device 5 detects an external force exceeding 1.0 N, it stops the movement of the collaborative robot 3 and notifies (sends) the position information of the position where the external force is detected to the numerical control device 4.
[0081] When notified by the numerical control device 4 that the collaborative robot 3 has stopped moving, the contact action instruction unit 47 is instructed with the next instruction block of the robot control instruction, namely, "#100=#100006-#100000". #100006 is, for example, a macro variable serving as a storage place for the position information in the +X direction, and #100000 is a macro variable serving as a storage place for the position information in the -X direction. Thus, the robot control device 5 can calculate the dimension #100 of the workpiece from the position information at two places where the external force is detected.
[0082] Next, when instructed with "G01 X_Y_Z_A_B_C_P_", the robot control device 5 linearly moves and positions the collaborative robot 3 to a specified position outside the machine tool 2 on the orthogonal coordinate system. Thus, the collaborative robot 3 retracts outside the machine tool 2.
[0083] Next, when instructed with "M101", the robot control device 5 and the machining system wait for the completion of the workpiece dimension measurement. Next, when instructed with "M30", the numerical control program ends.
[0084] As described above, according to the present embodiment, the numerical control device 4 includes: an analysis unit 42 that analyzes robot control instructions in a numerical control program; a contact action instruction unit 47 that generates a contact skip action signal for causing the robot control device 5 to execute a contact skip action according to the contact skip action instruction analyzed by the analysis unit 42; and a robot instruction signal generation unit 45 that generates a robot instruction signal including the contact skip action signal and sends it to the robot control device 5. The contact skip action instruction includes an external force threshold value for stopping the collaborative robot 3 when the collaborative robot 3 detects an external force. According to the contact skip action signal, during the movement of the collaborative robot 3, when the external force detected by the collaborative robot 3 exceeds the external force threshold value, the robot control device 5 stops the movement of the collaborative robot 3 and notifies the numerical control device 4 of the situation where the collaborative robot 3 has stopped moving. When notified by the robot control device 5 of the situation where the collaborative robot 3 has stopped moving, the contact action instruction unit 47 executes the next instruction block of the robot control instruction.
[0085] With such a configuration, the numerical control device 4 sets the threshold value of the external force applied to the collaborative robot 3 through the instructions in the numerical control program, causes the collaborative robot 3 to move, and stops the movement of the collaborative robot 3 when an external force is detected. Thus, the numerical control device 4 can perform contact detection on the object, and by executing the instructions of the next program block after detecting the contact, it can execute a continuous numerical control program. Furthermore, since the numerical control device 4 can perform contact skipping of the collaborative robot 3 through the instructions in the numerical control program, the user of the machine tool 2 can easily use the functions of the collaborative robot 3.
[0086] In addition, the next instruction block of the robot control instruction may also include: obtaining the position where the collaborative robot 3 detected contact during the contact skip action from the robot control device 5 and measuring the size of the object according to the obtained position. With such a configuration, the numerical control device 4 can measure the size of an object such as a workpiece processed by the machine tool 2.
[0087] In addition, the contact skip action signal may also include: specifying the component of force or torque when the external force detection unit 31 of the collaborative robot 3 detects an external force according to the moving direction or moving speed of the collaborative robot 3. With such a configuration, the numerical control device 4 can measure the size of the object with respect to the specified component.
[0088] In addition, the contact skip action signal may also include: setting the external force threshold value of the contact skip action to be smaller than the external force detection threshold value of the contact stop action in which the collaborative robot 3 stops operating due to contact with the outside. With such a configuration, the numerical control device 4 can measure the size of the object without stopping the operation when the collaborative robot 3 contacts the object.
[0089] In addition, the numerical control system 1 includes: a numerical control device 4 having the above-described configuration; and a robot control device 5 having a contact operation execution unit 61. The contact operation execution unit 61, based on a contact skip operation signal, during the movement of the collaborative robot 3, when the external force detected by the collaborative robot 3 exceeds an external force threshold value, stops the movement of the collaborative robot 3 and notifies the numerical control device 4 of the situation where the collaborative robot 3 has stopped moving. When notified by the robot control device 5 of the situation where the collaborative robot 3 has stopped moving, the contact operation instruction unit 47 executes the next instruction block of the robot control instruction. Thus, the numerical control system 1 can perform contact detection on an object, and by executing the instruction of the next program block after detecting contact, can execute a continuous numerical control program. Furthermore, since the numerical control system 1 can perform contact skip of the collaborative robot 3 through the instructions in the numerical control program, the user of the machine tool 2 can easily use the functions of the collaborative robot 3.
[0090] As described above, the embodiments of the present invention have been described, and the above-described numerical control system 1 can be implemented by hardware, software, or a combination of these. In addition, the control method performed by the above-described numerical control system 1 can also be implemented by hardware, software, or a combination of these. Here, implementing by software means implementing by a computer reading a program and then executing it.
[0091] The program can be stored and provided to a computer using various types of non-transitory computer-readable media (non-transitory computer-readable medium (non-instantaneous computer-readable medium)). Non-transitory computer-readable media include various types of tangible storage media (tangible storage medium (tangible storage medium)). Examples of non-transitory computer-readable media include: magnetic recording media (e.g., hard disks), magneto-optical recording media (e.g., magneto-optical discs), CD-ROM (Read Only Memory (read-only memory)), CD-R, CD-R / W, semiconductor memories (e.g., mask ROM, PROM (Programmable ROM, programmable ROM), EPROM (Erasable PROM, erasable ROM), flash read-only memory, RAM (random access memory (random access memory))).
[0092] Although the present disclosure has been described in detail, the present disclosure is not limited to the above-described respective embodiments. These embodiments can be variously added, replaced, changed, partially deleted, etc. within the scope not departing from the gist of the present disclosure, or within the scope not departing from the gist of the present disclosure derived from the content described in the claimed scope and its equivalents. In addition, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each action or the order of each process is shown as an example and is not limited to these orders. In addition, the same applies to the cases where numerical values or mathematical formulas are used in the description of the above-described embodiments.
[0093] Regarding the above-described embodiments and modification examples, the following remarks are further disclosed.
[0094] (Remark 1)
[0095] A numerical control device (4) that controls a robot (3) via a robot control device (5) using a numerical control program, wherein,
[0096] The numerical control device includes:
[0097] An analysis unit (42) that analyzes a robot control instruction in the numerical control program;
[0098] A contact action instruction unit (47) that generates a contact skip action signal for causing the robot control device to execute a contact skip action according to the robot control instruction analyzed by the analysis unit; and
[0099] A robot instruction signal generation unit (45) that generates a robot instruction signal including the contact skip action signal and sends it to the robot control device,
[0100] The robot control instruction includes an external force threshold value for stopping the robot when the robot detects an external force,
[0101] The robot control device, according to the contact skip action signal, during the movement of the robot, when the external force detected by the robot exceeds the external force threshold value, stops the movement of the robot and notifies the numerical control device of the situation that the robot has stopped moving,
[0102] When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instruction.
[0103] (Remark 2)
[0104] In the numerical control device described in Appendix 1, the next instruction block of the robot control instruction includes: obtaining the position where the robot detects contact during the contact skip action from the robot control device, and measuring the size of the object based on the obtained position.
[0105] (Appendix 3)
[0106] In the numerical control device described in Appendix 1, the contact skip action signal includes: specifying the component of force or torque when the robot detects an external force according to the moving direction or moving speed of the robot.
[0107] (Appendix 4)
[0108] In the numerical control device described in Appendix 1, the robot is a collaborative robot that detects contact with a person and stops operating.
[0109] The contact skip action signal includes: setting the external force threshold of the contact skip action to be smaller than the external force detection threshold of the contact stop action in which the collaborative robot stops operating due to contact with the outside.
[0110] (Appendix 5)
[0111] A numerical control system (1) that uses a numerical control program of a numerical control device (4) to control a robot (3) via a robot control device (5), wherein
[0112] The numerical control device includes:
[0113] An analysis unit (42) that analyzes the robot control instructions in the numerical control program;
[0114] A contact action instruction unit (47) that generates a contact skip action signal for causing the robot control device to execute a contact skip action according to the robot control instructions analyzed by the analysis unit; and
[0115] A robot instruction signal generation unit (45) that generates a robot instruction signal including the contact skip action signal and sends it to the robot control device.
[0116] The robot control instruction includes an external force threshold for stopping the robot when the robot detects an external force.
[0117] The robot control device includes: a contact action execution unit that, based on the contact skip action signal, during the movement of the robot, when the external force detected by the robot exceeds the external force threshold, stops the movement of the robot and notifies the numerical control device of the situation where the robot has stopped moving.
[0118] When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instruction.
[0119] (Supplementary Note 6)
[0120] In the numerical control system described in Supplementary Note 5, the next instruction block of the robot control instruction includes: obtaining the position where the robot detected contact during the contact skip action from the robot control device, and measuring the size of the object based on the obtained position.
[0121] (Supplementary Note 7)
[0122] In the numerical control system described in Supplementary Note 5, the contact skip action signal includes: specifying the component of the force or torque when the robot detects an external force according to the moving direction or moving speed of the robot.
[0123] (Supplementary Note 8)
[0124] In the numerical control system described in Supplementary Note 5, the robot is a collaborative robot that detects contact with a person and stops operating.
[0125] The contact skip action signal includes: setting the external force threshold of the contact skip action to be smaller than the external force detection threshold of the contact stop action where the collaborative robot stops operating due to contact with the outside.
[0126] Symbol Explanation
[0127] 1: Numerical control system
[0128] 2: Machine tool
[0129] 3: Collaborative robot
[0130] 4: Numerical control device
[0131] 5: Robot control device
[0132] 31: External force detection unit
[0133] 41: Program input unit
[0134] 42: Analysis unit
[0135] 43: Motion control unit
[0136] 44: Storage unit
[0137] 45: Robot instruction signal generation unit
[0138] 46: Data transceiver
[0139] 47: Contact action instruction unit
[0140] 51: Storage unit
[0141] 52: Analysis unit
[0142] 53: Robot command generation unit
[0143] 54: Program management unit
[0144] 55: Trajectory control unit
[0145] 56: Kinematics control unit
[0146] 57: Servo control unit
[0147] 58: Load setting selection unit
[0148] 59: Dynamics control unit
[0149] 60: Data transceiver
[0150] 61: Contact action execution unit
[0151] 62: Contact control unit.
Claims
1. A numerical control device that controls a robot via a robot control device using a numerical control program, characterized in that, The numerical control device includes: An analysis unit that analyzes the robot control instructions in the numerical control program; A contact action instruction unit that generates a contact skip action signal for causing the robot control device to execute a contact skip action according to the robot control instructions analyzed by the analysis unit; and A robot instruction signal generation unit that generates a robot instruction signal including the contact skip action signal and sends it to the robot control device, The robot control instructions include an external force threshold for stopping the robot when the robot detects an external force, According to the contact skip action signal, during the movement of the robot, when the external force detected by the robot exceeds the external force threshold, the robot control device stops the movement of the robot and notifies the numerical control device of the situation that the robot has stopped moving, When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instructions.
2. The numerical control device according to claim 1, characterized in that, The next instruction block of the robot control instructions includes: obtaining the position where the robot detected contact during the contact skip action from the robot control device and measuring the size of the object to be measured according to the obtained position.
3. The numerical control device according to claim 1, characterized in that, The contact skip action signal includes: specifying the component of the force or torque when the robot detects an external force according to the moving direction or moving speed of the robot.
4. The numerical control device according to claim 1, characterized in that, The robot is a collaborative robot that detects contact with a person and stops operating, The contact skip action signal includes: setting the external force threshold of the contact skip action to be smaller than the external force detection threshold of the contact stop action in which the collaborative robot stops operating due to contact with the outside.
5. A numerical control system that controls a robot via a robot control device using the numerical control program of a numerical control device, characterized in that, The numerical control device includes: An analysis unit that analyzes the robot control instructions in the numerical control program; A contact action instruction unit that generates a contact skip action signal for causing the robot control device to execute a contact skip action according to the robot control instructions analyzed by the analysis unit; and A robot instruction signal generation unit that generates a robot instruction signal including the contact skip action signal and sends it to the robot control device, The robot control instructions include an external force threshold for stopping the robot when the robot detects an external force, The robot control device includes: a contact action execution unit that, according to the contact skip action signal, during the movement of the robot, when the external force detected by the robot exceeds the external force threshold, stops the movement of the robot and notifies the numerical control device of the situation that the robot has stopped moving, When the robot control device notifies that the robot has stopped moving, the contact action instruction unit executes the next instruction block of the robot control instructions.
6. The numerical control system according to claim 5, characterized in that, The next instruction block of the robot control instruction includes: obtaining the position where the robot detects contact during the contact skip action from the robot control device, and measuring the size of the object based on the obtained position.
7. The numerical control system according to claim 5, characterized in that, The contact skip action signal includes: specifying the component of force or torque when the robot detects an external force according to the moving direction or moving speed of the robot.
8. The numerical control system according to claim 5, characterized in that, The robot is a collaborative robot that detects contact with a person and stops operating. The contact skip action signal includes: setting the external force threshold of the contact skip action to be smaller than the external force detection threshold of the contact stop action in which the collaborative robot stops operating due to contact with the outside.
Citation Information
Patent Citations
Controller for manipulator
JP1996118275A
Machine tool and control device for controlling robot
JP2014241018A
Robot control device and robot control method
JP2015058520A