Collision prevention device, machining system, collision prevention method, and collision prevention program
The collision prevention device addresses the issue of unaccounted machine tool state changes by user operations, ensuring safe and efficient resumption of machining programs through state assessment and user confirmation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2025-01-29
- Publication Date
- 2026-05-21
AI Technical Summary
Existing collision prevention technologies in machine tools do not account for changes in the machine tool's state due to user operations, leading to a risk of collisions when resuming machining programs.
A collision prevention device that includes a machine information extraction unit, storage unit, state estimation unit, and restart confirmation unit to assess and confirm changes in the machine tool's state before resuming machining, preventing collisions by user interaction.
Prevents collisions between machine tool structures by accurately assessing and confirming changes due to user operations, reducing unnecessary stops and enhancing machining efficiency.
Smart Images

Figure JP2025002739_21052026_PF_FP_ABST
Abstract
Description
Collision prevention device, processing system, collision prevention method, and collision prevention program
[0001] The present disclosure relates to a collision prevention device, a processing system, a collision prevention method, and a collision prevention program for preventing collisions between structures within a machine tool.
[0002] Conventionally, machine tools for machining a workpiece according to a machining program are known. A machine tool has, for example, a table or a turning spindle on which a workpiece is fixed by a jig, a tool spindle to which a tool is attached, a drive mechanism unit that relatively moves the table or the turning spindle and the tool spindle, and a numerical control device that numerically controls the drive mechanism unit according to a machining program. In a machine tool, during operation, if structures such as tools, workpieces, and jigs move unexpectedly, there is a risk of collision between the structures arranged within the machine tool. In order to prevent such collisions between structures, a collision prevention device is used in the machine tool.
[0003] By the way, in a machine tool, during a machining process, the execution of a machining program may be temporarily stopped for various reasons. For example, when a user exchanges a tool or finely adjusts the position of a workpiece during a pause, the structure is changed by the user's operation, and an unexpected collision may occur when restarting. Therefore, in a machine tool, when restarting the execution of a machining program after a pause, the machining process may not always be performed appropriately. For example, Patent Document 1 discloses a numerical control device that numerically controls the motion mechanism unit of a machine tool by executing an NC (Numerical Control) program composed of a plurality of blocks in which NC codes are described. This numerical control device is configured to appropriately perform a machining process by checking whether a block of the NC program is a resumable block when restarting the execution of the NC program after the execution of the NC program has been temporarily stopped.
[0004] Japanese Patent Application Laid-Open No. 2023-108254
[0005] However, the technology described in Patent Document 1 does not have a configuration that allows for confirmation of changes in the state of the machine tool, such as changes to the structure due to user operation, between the time the execution of the NC program is temporarily suspended and the time the execution of the NC program is resumed. In other words, the technology of Patent Document 1 does not guarantee whether the state of the machine tool before the NC program is temporarily suspended matches the state of the machine tool when the NC program is resumed. Therefore, with the technology of Patent Document 1, there is a risk that the execution of the NC program may be suspended and then resumed while the state of the machine tool remains changed, which could lead to collisions between structures.
[0006] This disclosure is made in view of the above, and aims to provide a collision prevention device that can prevent collisions between structures even when the state of a machine tool is changed by user operation.
[0007] To solve the above-mentioned problems and achieve the objective, the collision prevention device according to this disclosure comprises: a machine information extraction unit that extracts information relating to the state of a machine tool as machine information from a numerical control device that numerically controls the machine tool according to a machining program; a machine information storage unit that stores the machine information; a machine state change estimation unit that estimates changes in the state of the machine tool based on the machine information stored in the machine information storage unit; a machining restart confirmation unit that presents the estimation result of the machine state change estimation unit to the user and confirms with the user whether or not to restart the execution of the machining program; and a machining restart processing unit that, based on the confirmation result of the machining restart confirmation unit, causes the numerical control device to restart the execution of the machining program.
[0008] The collision prevention device described herein has the effect of preventing collisions between structures even if the state of a machine tool is changed by user operation.
[0009] 3. An explanatory diagram illustrating an example of the estimation process by the machine state change estimation unit constituting the collision prevention device according to Embodiment 1. An explanatory diagram illustrating an example of the estimation process by the machine state change estimation unit constituting the collision prevention device according to Embodiment 1. An explanatory diagram illustrating an example of the output of the machining system according to Embodiment 1. An explanatory diagram illustrating an example of the state in which the workpiece is warned. An explanatory diagram illustrating an example of the state in which the jig is warned. An explanatory diagram illustrating an example of the tool is warned. An explanatory diagram illustrating an example of the tool is warned. An explanatory diagram illustrating an example of the multiple structures being warned. An explanatory diagram illustrating an example of the state in which the settings of the machine tool are presented to the user in the machining system according to Embodiment 1. An explanatory diagram illustrating an example of the operation procedure of the collision prevention device according to Embodiment 1. A block diagram illustrating a modified example of the collision prevention device according to Embodiment 1. A block diagram illustrating the collision prevention device according to Embodiment 2. A block diagram illustrating the collision prevention device according to Embodiment 3. A flowchart illustrating the operation procedure of the collision prevention device according to Embodiment 3. An explanatory diagram illustrating an example of the configuration of a computer system that realizes the collision prevention device according to this embodiment.
[0010] Hereinafter, the collision prevention device, processing system, collision prevention method, and collision prevention program according to embodiments of this disclosure will be described in detail with reference to the drawings.
[0011] Embodiment 1. Figure 1 is a block diagram showing a machining system according to Embodiment 1. As shown in Figure 1, the machining system 500 according to Embodiment 1 includes a machine tool 200, a collision prevention device 100, an output device 300, and an input device 400. The machine tool 200 performs machining of a workpiece by controlling the internal structure of the machine tool 200 according to a machining program created, for example, in a CAM (Computer Aided Manufacturing) system.
[0012] Figure 2 is a schematic perspective view showing an example of a machine tool that constitutes the machining system according to Embodiment 1. As shown in Figures 1 and 2, the machine tool 200 includes, as an example of a structure, a bed 20, a column 21, a table 22 on which to place a workpiece W, a jig 23 for fixing the workpiece W, a tool 24 for cutting the workpiece W, a tool holder 25 to which the tool 24 is attached, a drive mechanism for moving the table 22 and the tool holder 25 relative to each other, and a numerical control device 201 for numerically controlling the drive mechanism according to the machining program for the workpiece W. The drive mechanism has a Y-axis movement mechanism 26 for moving the table 22 in the Y-axis direction, an X-axis movement mechanism 27 for moving the tool holder 25 in the X-axis direction, and a Z-axis movement mechanism 28 for moving the tool holder 25 in the Z-axis direction. The Y-axis movement mechanism 26 is provided on the upper surface of the bed 20. The X-axis movement mechanism 27 and the Z-axis movement mechanism 28 are attached to the column 21. Furthermore, the numerical control device 201 does not necessarily have to be part of the machine tool 200; it may be configured as a separate component from the machine tool 200.
[0013] In cutting operations using the machine tool 200, the tool 24 attached to the tool holder 25 and the workpiece W fixed to the table 22 move relative to each other due to the drive mechanism. As the tool holder 25 rotates, the tool 24 rotates, and when the tool 24 contacts the workpiece W, the tool 24 cuts off a portion of the workpiece W. At this time, the machine tool 200 processes the workpiece W while determining whether or not a collision will occur between the structural components based on the shape model of the structural components. If a collision is detected between the shape models of the structural components prior to cutting the workpiece W, the machine tool 200 stops the movement of the drive mechanism.
[0014] The machine tool 200 is not limited to the illustrated configuration and may take other forms. For example, the machine tool 200 may have a configuration that includes a turning spindle capable of holding and rotating the workpiece W. In this case, the turning spindle and other components become structures within the machine tool 200.
[0015] The collision prevention device 100 according to Embodiment 1 is a device for preventing collisions between structures even if the state of the machine tool 200 is changed by user operation during the period between the temporary suspension of the execution of the machining program and the resumption of the execution of the machining program. The collision prevention device 100 may be implemented as an external device to the machine tool 200, or it may be a device that can be connected to the numerical control device 201 via a network. Alternatively, the collision prevention device 100 may be a device located on a cloud server.
[0016] Figure 3 is a block diagram showing a collision prevention device according to Embodiment 1. As shown in Figure 3, the collision prevention device 100 includes a machine state model update processing unit 10, a machine state model storage unit 11, a machine information extraction unit 12, a machine information storage unit 13, a machine state change estimation unit 14, a machining restart confirmation unit 15, and a machining restart processing unit 16.
[0017] The machine state model update processing unit 10 acquires virtual movements of structures within the machine tool 200 from the numerical control device 201 based on information from the numerical control device 201 and updates the machine state model representing the state of the machine tool 200. Examples of structures within the machine tool 200 include the workpiece W, jig 23, and tool 24, whose shape and arrangement are likely to change with each machining operation. The machine state model is a model that virtually represents the state of the machine tool 200, including its internal structures. The information from the numerical control device 201 refers to information from the numerical control device 201 that represents changes in the structures. For example, the machine state model update processing unit 10 can, based on a position command for a certain command axis created by the numerical control device 201, continuously update the position of parts in the machine state model representing structures within the machine tool 200 that are activated by that command axis, thereby virtually representing the movement of structures within the machine tool 200 during machining.
[0018] The machine state model storage unit 11 stores the machine state model updated by the machine state model update processing unit 10.
[0019] When the machine information extraction unit 12 receives information from the numerical control device 201 to temporarily suspend the execution of the machining program, it extracts information related to the state of the machine tool 200 as machine information from the numerical control device 201 from the time it receives the suspension information. Information related to the state of the machine tool 200 includes information related to changes in the structure inside the machine tool 200 and information related to changes in the settings of the machine tool 200.
[0020] Information relating to changes in the structure within the machine tool 200 includes information that directly represents changes in the structure within the machine tool 200, and information relating to operations that may cause changes in the structure within the machine tool 200.
[0021] Information that directly represents changes in the structure within the machine tool 200 is, for example, information that the user manually operates the handle to drive the drive mechanism. This is because driving the drive mechanism causes structures such as the table 22, workpiece W, jig 23, or tool 24 to move. In this case, the distance the command axis has moved is transmitted from the numerical control device 201 to the machine information extraction unit 12.
[0022] Operations that may cause changes in the structure inside the machine tool 200 include, for example, opening and closing the doors (not shown) of the machine tool 200, opening and closing the chuck, or causing unclamping in the tool magazine (not shown).
[0023] Information related to the opening and closing of the machine tool 200's door does not directly represent changes in structures moved along the command axis. However, while the machine tool 200's door is open, the workpiece W, fixture 23, or tool 24 may be removed or modified. Therefore, information related to the opening and closing of the machine tool 200's door represents an operation that may cause changes in structures within the machine tool 200 and is treated as mechanical information. Information related to the opening and closing of the chuck, similar to information related to the opening and closing of the machine tool 200's door, also represents an operation that may cause changes in structures within the machine tool 200 and is treated as mechanical information. Information related to the occurrence of unclamping in the tool magazine represents an operation that may cause changes in the tool 24 or tool holder 25 installed in the tool magazine. Therefore, information related to the occurrence of unclamping in the tool magazine represents an operation that may cause changes in structures within the machine tool 200 and is treated as mechanical information.
[0024] Information related to changes in the settings of the machine tool 200 includes, for example, information such as when the parameter values of the numerical control device 201 are updated by user operation, when parts of the machine state model of the numerical control device 201 are changed, or when the mode of the numerical control device 201 is changed. An example of updating parameter values is a change in the override setting. The override setting is a setting related to the machining conditions for the movement of the command axis. Therefore, information related to changes in the override setting is treated as machine information.
[0025] A change in a part of the machine state model is, for example, the replacement of a tool model. A tool model virtually represents one of the structures in the machine state model. When a tool model is replaced, and for example, its length or size is changed, the machine state model changes. Therefore, information related to the replacement of a tool model is treated as machine information. A change in mode is, for example, a change from automatic operation to manual operation. Note that information related to changes in the settings of the machine tool 200 is not limited to the above configuration, and may include changes in other settings.
[0026] The machine information storage unit 13 stores the machine information extracted by the machine information extraction unit 12. The machine information storage unit 13 stores the machine information in chronological order according to the time it was generated.
[0027] The machine state change estimation unit 14 estimates changes in the state of the machine tool 200 based on the machine state model stored in the machine state model storage unit 11 and the machine information stored in the machine information storage unit 13. Specifically, the machine state change estimation unit 14 estimates the difference between the state of the machine tool 200 represented by the machine state model updated immediately before the suspension of the machining program execution and the actual state of the machine tool 200 at the time the machining program execution is resumed. Alternatively, the machine state change estimation unit 14 may estimate changes in the state of the machine tool 200 based only on the machine information stored in the machine information storage unit 13. In this case, the machine state change estimation unit 14 will estimate the difference between the actual state of the machine tool 200 at the time the machining program execution was suspended and the actual state of the machine tool 200 at the time the machining program execution is resumed, based on all operations that may have changed the state of the machine tool 200 from the time the machining program execution was suspended until the time the machining program execution is resumed.
[0028] A change in the state of the machine tool 200 refers to a change in the state of structures within the machine tool 200, or a change related to the settings of the machine tool 200. The state of structures within the machine tool 200 includes the shape of the structures, their positions, and the materials they are made of. The settings of the machine tool 200 include settings related to machining and settings related to the machine state model.
[0029] Figure 4 is an explanatory diagram showing an example of how the machine state change estimation unit, which constitutes the collision prevention device according to Embodiment 1, makes estimations. The "NC information" shown in Figure 4 is information extracted from the numerical control device 201 by the machine information extraction unit 12. As shown in Figure 4, the machine information storage unit 13 sequentially records four pieces of machine information as machine information data extracted from the numerical control device 201 by the machine information extraction unit 12: "pause of machining program," "door open," "door closed," and "instruction to execute machining program." All of this machine information is due to user operations. In this case, the estimation period estimated by the machine state change estimation unit 14 is from the timing when the information "pause of machining program" is generated to the timing when the information "instruction to execute machining program" is generated. If the machine information extraction unit 12 extracts the machine information "door open" and "door closed" within the estimation period, the machine state change estimation unit 14 determines that there is a possibility that the structure inside the machine tool 200 has been changed. The machine state model at the time of the machining program pause includes structural models of the workpiece W, jig 23, and tool 24. Based on the updated machine state model and extracted machine information, it is possible that multiple machine states have changed. For example, for workpiece W, changes in machine state can be estimated as "workpiece W was removed," "workpiece W was moved," or "workpiece W was replaced." Similarly, for jig 23, changes in machine state can be estimated as "jig 23 was removed," "jig 23 was moved," or "jig 23 was replaced." Furthermore, for tool 24, changes in machine state can be estimated as "tool 24 was removed," "tool 24 was moved," or "tool 24 was replaced." In addition, it is possible that tools, parts, protective equipment, etc., were brought into the machining area of the machine tool 200 by the user while the door was open. In this case, a change in machine state can be estimated as "something was placed in the machining area." Note that the changes in the state of the machine tool 200 are not limited to these, and other changes may also occur.
[0030] In these cases, the state of the machine tool 200 at the time of the "instruction to execute the machining program" may differ from the machine state model at the time of the "pause of the machining program". Therefore, it is possible that the machine state model at the time of the "instruction to execute the machining program" does not accurately represent the actual state of the machine tool 200 as estimated by the machine state change estimation unit 14. In this case, if machining proceeds without modifying the structures within the machine tool 200 or changing the machine state model, collisions between structures may occur.
[0031] Furthermore, if the machine information extraction unit 12 extracts machine information such as "opening and closing of the chuck" within the estimation period, the machine state change estimation unit 14 estimates a change in machine state for workpiece W, such as "workpiece W was removed," "workpiece W was moved," or "workpiece W was replaced." Similarly, for jig 23, the machine state change estimation unit 14 estimates a change in machine state for jig 23, such as "jig 23 was removed," "jig 23 was moved," or "jig 23 was replaced." Additionally, if the machine information extraction unit 12 extracts machine information such as "occurrence of unclamping in the tool magazine" within the estimation period, the machine state change estimation unit 14 estimates a change in machine state for tool 24, such as "tool 24 was removed," "tool 24 was moved," or "tool 24 was replaced."
[0032] In this way, the machine state change estimation unit 14 estimates the shape of structures, the position of structures, and changes in the material of structures within the machine tool 200 based on the machine state model stored in the machine state model storage unit 11 and the machine information stored in the machine information storage unit 13. In other words, by estimating operations that the user cannot directly observe from the information of the numerical control device 201, the range of collision prevention can be expanded and the risk of collisions between structures can be reduced.
[0033] The machining restart confirmation unit 15 presents the estimation result of the machine state change estimation unit 14 to the user, who is the decision-maker, and confirms with the user whether or not to resume the execution of the machining program. The machining restart confirmation unit 15 displays the estimation result of the machine state change estimation unit 14 and the possible collision occurrences on the output device 300 and presents them to the user, and receives from the user whether or not to resume the execution of the machining program, which is in a paused state, on the input device 400. The confirmation by the machining restart confirmation unit 15 only needs to include two actions: presenting the estimation result of the machine state change estimation unit 14 to the user, and then obtaining a decision from the user on whether or not to resume the execution of the machining program. In the confirmation by the machining restart confirmation unit 15, it is not relevant how the user used the estimation result of the machine state change estimation unit 14 as a decision factor, or whether or not the user referred to the estimation result.
[0034] Based on a command from the machining restart confirmation unit 15, the output device 300 outputs the estimation results from the machine state change estimation unit 14 and the possible collision occurrences to the user. The output device 300 may, for example, display a warning in text or a colored machine state model on the display screen of a display device, or output an alarm or sound on an audio device. The input device 400 receives from the user whether or not to resume the execution of the machining program and transmits this to the machining restart confirmation unit 15. The input device 400 may be a keyboard, touchscreen, or microphone, for example. The input device 400 receives input from the user indicating whether or not to resume the execution of the machining program. The input information received from the user is confirmed by the machining restart confirmation unit 15. Note that the output device 300 and the input device 400 do not necessarily have to be separate units and may be configured as an integrated unit.
[0035] A user is defined as anyone who can decide whether or not to resume the execution of the machining program. Furthermore, a user is not limited to, for example, someone who directly operates the machine tool 200 or someone who is near the machine tool 200. For example, a user may be located away from the machine tool 200 and decide whether or not to resume the execution of the machining program based on the estimation results of the machine state change estimation unit 14 displayed on the display screen of a mobile terminal or a computer.
[0036] Figure 5 is a schematic diagram illustrating an example of an output device for a machining system according to Embodiment 1. Based on the estimation results of the machine state change estimation unit 14, the machining restart confirmation unit 15 determines that the machine state of the machine tool 200 has changed, and presents the estimation result to the user via the output device 300. The output device 300 shown in Figure 5 is, as an example, the display screen of a display device such as a monitor, and displays a colored machine state model for the user. In the output device 300 shown in Figure 5, the machine state model displays the workpiece W, table 22, jig 23, tool 24, and tool holder 25.
[0037] Figure 6 is an example of an output device for the machining system according to Embodiment 1, and is a schematic diagram illustrating a state in which a workpiece is warned. As shown in Figure 6, if the machine state change estimation unit 14 estimates that a problem has occurred with the workpiece W, the workpiece W is displayed in color in the machine state model. This allows the user to determine that the workpiece W is a structure that may be subject to change.
[0038] Figure 7 is an example of an output device for the machining system according to Embodiment 1, and is a schematic diagram illustrating a state in which a jig has been warned. As shown in Figure 7, if the machine state change estimation unit 14 estimates that a problem has occurred with the jig 23, the jig 23 is displayed in color in the machine state model. This allows the user to determine that the jig 23 is a structure that may be changing.
[0039] Figure 8 is an example of an output device for the machining system according to Embodiment 1, and is a schematic diagram illustrating a state in which a tool warning is issued. As shown in Figure 8, if the machine state change estimation unit 14 estimates that a problem has occurred with the tool 24, the tool 24 is displayed in color in the machine state model. This allows the user to determine that the tool 24 is a structure that may be changing.
[0040] Figure 9 is an explanatory diagram schematically showing an example of an output device of the machining system according to Embodiment 1, in which multiple structures are warned. As shown in Figure 9, if the machine state change estimation unit 14 estimates that a problem has occurred with the workpiece W, jig 23, and tool 24, the workpiece W, jig 23, and tool 24 are displayed in a different color from the other structures in the machine state model. This allows the user to determine that the structures that may be changing are the workpiece W, jig 23, and tool 24.
[0041] Figure 10 is a schematic diagram illustrating an example of how the settings of a machine tool are presented to the user in the machining system according to Embodiment 1. If the machine state change estimation unit 14 determines that the settings of the machine tool 200 have been changed, the output unit 300 warns the user. As an example, the warning content shown in Figure 10 displays a message indicating that the override setting value has been changed, along with the setting values before and after the change. The warning message can also be read aloud. The user can input whether or not to resume the execution of the machining program by touching the "OK" button or "Cancel" button on the input unit 400 with their finger or pressing it with a mouse. When the user selects the "OK" button, the machining resume confirmation unit 15 determines that the user has confirmed the change in the machine tool 200 and has authorized the resumption of the execution of the machining program in the changed state.
[0042] The presentation of the estimation results by the output device 300 is not limited to the above configuration; any means are acceptable as long as the information is presented in a form that the user can obtain. For example, the presentation of the estimation results by the output device 300 could also serve as a signal to the user to realize that input from the input device 400 is required. This signal can take any form as long as it is a signal that the user can notice using their five senses. Furthermore, the user's decision of whether or not to proceed can be transmitted to the collision avoidance device 100 in any form.
[0043] Based on the confirmation result of the machining restart confirmation unit 15, the machining restart processing unit 16 gives an instruction to the numerical control device 201 to restart or end the execution of the machining program. Specifically, when the machining restart confirmation unit 15 obtains permission from the user to restart the execution of the machining program, the machining restart processing unit 16 instructs the numerical control device 201 to restart the execution of the machining program. The numerical control device 201 restarts the execution of the machining program from the state of the machine tool 200 at the time when the restart instruction is obtained. On the other hand, when the machining restart confirmation unit 15 has not obtained permission from the user to restart the execution of the machining program, the machining restart processing unit 16 gives an instruction to the numerical control device 201 to end the execution of the machining program.
[0044] FIG. 11 is a flowchart showing the operation procedure of the collision prevention device according to the first embodiment. First, when the operation of the collision prevention device 100 starts, the machine state model update processing unit 10 determines whether the execution of the machining program has started in the numerical control device 201 (step S101). When the machine state model update processing unit 10 determines that the execution of the machining program has started (step S101: Yes), it acquires the machine state model from the numerical control device 201 and stores it in the machine state model storage unit 11, and at the same time as the machining progresses, updates the machine state model stored in the machine state model storage unit 11 (step S102). On the other hand, when the machine state model update processing unit 10 determines that the execution of the machining program has not started (step S101: No), the operation of the collision prevention device 100 ends.
[0045] Next, the machine information extraction unit 12 determines whether the currently running machining program has been temporarily suspended (step S103). The machine information extraction unit 12 receives machine information from the numerical control device 201 indicating that the currently running machining program has been temporarily suspended, and determines that the machining program is in a suspended state. If the machine information extraction unit 12 determines that the currently running machining program has been temporarily suspended (step S103: Yes), it extracts machine information from the numerical control device 201 (step S104) and stores the extracted machine information in the machine information storage unit 13. On the other hand, if the machine information extraction unit 12 determines that the currently running machining program has not been temporarily suspended (step S103: No), it proceeds to step S110.
[0046] Next, the machine state change estimation unit 14 estimates the change in the state of the machine tool 200 based on the machine state model stored in the machine state model storage unit 11 and the machine information stored in the machine information storage unit 13 (step S105). The machining restart confirmation unit 15 outputs the estimation result from the machine state change estimation unit 14 to the output device 300 and presents it to the user (step S106), and confirms with the user whether or not to resume the execution of the machining program, which is in a paused state (step S107). If the machining restart confirmation unit 15 determines that the user has permission to resume the execution of the machining program (step S108: Yes), the machining restart processing unit 16 instructs the numerical control device 201 to resume the execution of the machining program (step S109). On the other hand, if the machining restart confirmation unit 15 determines that the user does not have permission to resume the execution of the machining program (step S108: No), the machining restart processing unit 16 instructs the numerical control device 201 to terminate the machining program, and thereafter the operation of the collision prevention device 100 ends.
[0047] After the machining restart processing unit 16 instructs the numerical control device 201 to resume the execution of the machining program (step S109), the machine information extraction unit 12 determines whether the currently executing machining program has ended (step S110). When it is determined by the machine information extraction unit 12 that the currently executing machining program has ended (step S110: Yes), the operation of the collision prevention device 100 ends. On the other hand, when it is determined by the machine information extraction unit 12 that the currently executing machining program has not ended (step S110: No), the process returns to step S102, and the process is repeated until the machining program ends.
[0048] As described above, the collision prevention device 100 according to the first embodiment acquires a virtual operation of a structure in the machine tool 200 from the numerical control device 201, and updates a machine state model representing the state of the machine tool 200 based on the virtual operation. The machine state model update processing unit 10, the machine information extraction unit 12 that extracts information related to the state of the machine tool 200 as machine information from the numerical control device 201 that numerically controls the machine tool 200 according to the machining program, and the machine information storage unit 13 that stores the machine information. Based on the machine information stored in the machine information storage unit 13, a machine state change estimation unit 14 that estimates a change in the state of the machine tool 200, and a machining restart confirmation unit 15 that presents the estimation result of the machine state change estimation unit 14 to the user and confirms with the user whether to resume the execution of the machining program. And a machining restart processing unit 16 that resumes the execution of the machining program in the numerical control device 201 based on the confirmation result of the machining restart confirmation unit 15. Therefore, the collision prevention device 100 according to the first embodiment can estimate and present to the user a change in the state of the machine tool 200 even when the state of the machine tool 200 is changed by a user operation during the period when the execution of the machining program is temporarily stopped and the execution of the machining program is resumed. Since the user is asked to confirm whether to resume the execution of the machining program, it is possible to prevent a situation where the structures collide with each other. Further, since the collision prevention device 100 according to the first embodiment can prevent a situation where the structures collide with each other, the number of times the machine tool 200 stops due to the collision can be reduced. Thereby, the labor of the user required for machining can be reduced, and the machining time can also be reduced.
[0049] Figure 12 is a block diagram showing a modified example of the collision prevention device according to Embodiment 1. The modified collision prevention device 100A shown in Figure 12 has a configuration that omits the machine state model update processing unit 10 and the machine state model storage unit 11 compared to the collision prevention device 100 shown in Figure 3. That is, the collision prevention device 100A includes a machine information extraction unit 12, a machine information storage unit 13, a machine state change estimation unit 14, a machining restart confirmation unit 15, and a machining restart processing unit 16. In this case, the machine state change estimation unit 14 estimates the change in the state of the machine tool 200 based only on the machine information stored in the machine information storage unit 13. Specifically, the machine state change estimation unit 14 estimates the difference between the actual state of the machine tool 200 at the time the machining program execution was temporarily suspended and the actual state of the machine tool 200 at the time the machining program execution was restarted, based on all operations that may change the state of the machine tool 200 from the time the machining program execution was temporarily suspended to the time the machining program execution was restarted.
[0050] Embodiment 2. Next, the collision prevention device 101 according to Embodiment 2 will be described. Note that components identical to those in Embodiment 1 are denoted by the same reference numerals, and their descriptions are omitted as appropriate. Figure 13 is a block diagram showing the collision prevention device according to Embodiment 2. As shown in Figure 13, the collision prevention device 101 according to Embodiment 2 includes an operation information extraction unit 17 in addition to the configuration described in Embodiment 1.
[0051] The operation information extraction unit 17 extracts user operation information from the information related to the state of the machine tool 200 extracted by the machine information extraction unit 12. The information related to the state of the machine tool 200 extracted by the machine information extraction unit 12 includes various types of machine information. Among the various types of machine information extracted by the machine information extraction unit 12, user operation information is particularly important. User operation information refers to machine information that leads to a change in the state of the machine tool 200 due to user operation. User operation includes actions such as pressing buttons on the machine tool 200, turning handles, and manually moving internal structures of the machine tool 200. Note that user operation is not limited to these actions and may include other actions. For example, information about opening and closing the door of the machine tool 200 is machine information that is generated when the "door open" and "door closed" buttons are pressed by the user. Therefore, the operation information extraction unit 17 can extract the operation information that "the door open / close button was pressed by the user" from the machine information of "door open" and "door closed". The operation information extracted by the operation information extraction unit 17 is stored as machine information in the machine information storage unit 13.
[0052] The collision prevention device 101 according to Embodiment 2 can achieve the same effects as the collision prevention device 100 according to Embodiment 1. Furthermore, in the collision prevention device 101 according to Embodiment 2, user operation information can be extracted from the machine information extraction unit 12, thereby improving the accuracy of estimating changes in the state of the machine tool 200.
[0053] Embodiment 3. Next, the collision prevention device 102 according to Embodiment 3 will be described. Note that components identical to those in Embodiments 1 and 2 are denoted by the same reference numerals, and their descriptions are omitted as appropriate. Figure 14 is a block diagram showing the collision prevention device according to Embodiment 3. As shown in Figure 14, the collision prevention device 102 according to Embodiment 3 includes a mechanical state model modification unit 18 in addition to the configuration described in Embodiment 1.
[0054] The machine state model modification unit 18 modifies the machine state model stored in the machine state model storage unit 11 based on the estimation results from the machine state change estimation unit 14 and the confirmation results from the user by the machining restart confirmation unit 15. Modification of the machine state model means modifying the position and shape of the structural models included in the machine state model in order to match the position and shape of the structural models within the machine tool 200. In other words, the collision prevention device 102 according to Embodiment 3 modifies the machining program of the numerical control device 201 according to the user's instructions in accordance with the change in the state of the structural within the machine tool 200. On the other hand, in the collision prevention devices 100, 100A according to Embodiment 1 and the collision prevention device 101 according to Embodiment 2, when there is a change in the state of the structural within the machine tool 200, the user modifies the state of the structural in the machine tool 200 in accordance with the machining program of the numerical control device 201.
[0055] Figure 15 is a flowchart showing the operation procedure of the collision avoidance device according to Embodiment 3. In steps S101 to S110 shown in Figure 15, the explanation of the same processes as those shown in steps S101 to S110 in Figure 11 will be omitted as appropriate.
[0056] The machining restart confirmation unit 15 outputs the estimation result from the machine state change estimation unit 14 to the output device 300 and presents it to the user (step S106), confirming with the user whether or not to resume the execution of the machining program which is in a paused state (step S107). If the machining restart processing unit 16 determines that the user has permission to resume the execution of the machining program by the machining restart confirmation unit 15 (step S108: Yes), it instructs the numerical control device 201 to resume the execution of the machining program (step S109). Then, the machine information extraction unit 12 determines whether or not the currently running machining program has finished (step S110). If the machine information extraction unit 12 determines that the currently running machining program has finished (step S110: Yes), the operation of the collision prevention device 102 ends. On the other hand, if the machine information extraction unit 12 determines that the currently running machining program has not finished (step S110: No), the process returns to step S102 and is repeated until the machining program finishes.
[0057] On the other hand, if the machining restart confirmation unit 15 determines that the user has not given permission to restart the execution of the machining program (step S108: No), it displays a suggestion for modifying the machine state model on the output device 300 based on the estimation result of the machine state change estimation unit 14 and confirms with the user whether modification is possible (step S201). Modifications that are possible include simple model modifications such as changing the movement of the workpiece W or changing the length of the tool 24. The machining restart confirmation unit 15 receives confirmation from the user via the input device 400. If the machining restart confirmation unit 15 determines that the user can modify the machine state model (step S202: Yes), the machine state model modification unit 18 executes a process to modify the machine state model (step S203). Specifically, the machine state model modification unit 18 modifies the machine state model stored in the machine state model storage unit 11, and once the modification of the machine state model is complete, it displays the modified machine state model on the output device 300 to the machining restart confirmation unit 15 and presents it to the user. Then, the machining restart confirmation unit 15 confirms with the user again whether it is possible to resume the execution of the machining program, which is currently paused (step S107). On the other hand, if the machining restart confirmation unit 15 determines that it is not possible for the user to modify the machine state model (step S202: No), the machining restart processing unit 16 instructs the numerical control device 201 to terminate the machining program, and thereafter, the operation of the collision prevention device 102 ends.
[0058] Furthermore, the collision prevention device 102 according to Embodiment 3 may also be configured to further include the operation information extraction unit 17 described in Embodiment 2.
[0059] As described above, the collision prevention device 102 according to Embodiment 3 includes a machine state model modification unit 18 that modifies the machine state model stored in the machine state model storage unit 11 based on the estimation result of the machine state change estimation unit 14 and the confirmation result of the machining restart confirmation unit 15. Therefore, even if the state of the machine tool 200 is changed by user operation during the period between the suspension of the machining program execution and the restart of the machining program execution, the collision prevention device 102 according to Embodiment 3 modifies the machine state model stored in the machine state model storage unit 11 based on the estimation result of the machine state change estimation unit 14 and the confirmation result of the machining restart confirmation unit 15, and confirms with the user whether or not to restart the machining program execution, thereby preventing collisions between structures. Furthermore, in the collision prevention device 102 according to Embodiment 3, by modifying the machine state model, it is possible to virtually reproduce changes in the structures within the machine tool 200 in the machine state model. As a result, it is not necessary to run the machining program from the beginning, and the machining program can be restarted from the point of suspension.
[0060] Figure 16 is an explanatory diagram showing an example configuration of a computer system that realizes the collision avoidance device according to this embodiment. In this embodiment, the collision avoidance devices 100, 100A, 101, and 102 function as collision avoidance devices 100, 100A, 101, and 102 when a computer program describing the processing in the collision avoidance devices 100, 100A, 101, and 102 is executed on the computer system. As shown in Figure 16, this computer system includes, for example, a processor 600, a memory 601, a storage 602, and a communication device 603, which are connected via a system bus 604.
[0061] The processor 600, memory 601, storage 602, and communication device 603 can send and receive information from each other via the system bus 604. The processor 600 is, for example, an example of a processing circuit and includes one or more of the following: CPU (Central Processing Unit), DSP (Digital Signal Processor), and system LSI (Large Scale Integration). The memory 601 includes one or more of the following: RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EEPROM® (Electrically Erasable Programmable Read Only Memory). The memory 601 also includes a recording medium on which a computer-readable program is recorded. Such a recording medium includes one or more of the following: non-volatile or volatile semiconductor memory, magnetic disk, flexible memory, optical disk, compact disk, and DVD (Digital Versatile Disc). Memory 601 stores the program that the processor 600 should execute, necessary data obtained during the processing, and so on. Memory 601 is also used as a temporary storage area for the program. The communication device 603 is a receiver and transmitter that perform communication processing. Note that the computer system is not limited to the configuration shown in Figure 16 and may include other components.
[0062] Here, an example of the operation of the computer system until the program of this embodiment becomes executable will be described. In a computer system with the above configuration, for example, a computer program is installed in the storage 602 from media such as a CD-ROM or DVD-ROM set in a CD (Compact Disc)-ROM drive or DVD-ROM drive (not shown). When the program is executed, the program read from the storage 602 is stored in the main memory area of the memory 601. In this state, the processor 600 executes the processing of the collision prevention devices 100, 100A, 101, and 102 according to this embodiment, in accordance with the program stored in the memory 601.
[0063] In the above description, a program describing the processing in collision avoidance devices 100, 100A, 101, and 102 is provided on a CD-ROM or DVD-ROM as the recording medium. However, the system is not limited to this, and depending on the configuration of the computer system, the capacity of the program to be provided, a program provided via a transmission medium such as the Internet via the communication device 603 may also be used.
[0064] The collision prevention program in this embodiment causes the computer system to perform the following steps: extract information related to the state of the machine tool 200 as machine information from a numerical control device 201 that numerically controls the machine tool 200 according to a machining program; store the machine information; estimate changes in the state of the machine tool 200 based on the stored machine information; present the estimation results to the user and confirm with the user whether or not to resume the execution of the machining program; and, based on the confirmation result, cause the numerical control device 201 to resume the execution of the machining program.
[0065] Furthermore, the collision prevention program in this embodiment may further include the steps of acquiring virtual movements of structures within the machine tool 200 from the numerical control device 201 and updating a machine state model representing the state of the machine tool 200 based on the virtual movements, and a machine state model storage unit step that stores the updated machine state model. In this case, the step of estimating changes in the state of the machine tool 200 estimates changes in the state of the machine tool 200 based on the machine state model and machine information.
[0066] The configurations shown in the above embodiments are merely examples and can be combined with other known technologies, or the embodiments themselves can be combined. Furthermore, it is possible to omit or modify parts of the configuration without departing from the gist of the invention.
[0067] 10 Machine state model update processing unit, 11 Machine state model storage unit, 12 Machine information extraction unit, 13 Machine information storage unit, 14 Machine state change estimation unit, 15 Machining restart confirmation unit, 16 Machining restart processing unit, 17 Operation information extraction unit, 18 Machine state model modification unit, 20 Bed, 21 Column, 22 Table, 23 Jig, 24 Tool, 25 Tool holder, 26 Y-axis movement mechanism, 27 X-axis movement mechanism, 28 Z-axis movement mechanism, 100, 100A, 101, 102 Collision prevention device, 200 Machine tool, 201 Numerical control device, 300 Output device, 400 Input device, 500 Machining system, 600 Processor, 601 Memory, 602 Storage, 603 Communication device, 604 System bus, W Work.
Claims
1. A collision prevention device comprising: a machine information extraction unit that extracts information relating to the state of a machine tool as machine information from a numerical control device that numerically controls a machine tool according to a machining program; a machine information storage unit that stores the machine information; a machine state change estimation unit that estimates changes in the state of the machine tool based on the machine information stored in the machine information storage unit; a machining restart confirmation unit that presents the estimation result of the machine state change estimation unit to the user and confirms with the user whether or not to restart the execution of the machining program; and a machining restart processing unit that, based on the confirmation result of the machining restart confirmation unit, causes the numerical control device to restart the execution of the machining program.
2. The collision prevention device according to claim 1, further comprising: a machine state model update processing unit that acquires virtual movements of structures within the machine tool from the numerical control device and updates a machine state model representing the state of the machine tool based on the virtual movements; and a machine state model storage unit that stores the machine state model updated by the machine state model update processing unit, wherein the machine state change estimation unit estimates changes in the state of the machine tool based on the machine state model stored in the machine state model storage unit and the machine information stored in the machine information storage unit.
3. The collision prevention device according to claim 2, further comprising a machine state model modification unit that modifies the machine state model stored in the machine state model storage unit based on the estimation result of the machine state change estimation unit and the confirmation result of the machining restart confirmation unit, wherein the machining restart confirmation unit presents the machine state model modified by the machine state model modification unit to the user and confirms with the user whether or not to restart the execution of the machining program.
4. The collision prevention device according to claim 2 or 3, characterized in that the machine state change estimation unit estimates changes in the shape and position of a structure within the machine tool based on the machine state model stored in the machine state model storage unit and the machine information stored in the machine information storage unit.
5. The collision prevention device according to any one of claims 1 to 4, further comprising an operation information extraction unit that extracts operation information performed by a user from the information relating to the state of the machine tool extracted by the machine information extraction unit, wherein the operation information extracted by the operation information extraction unit is stored as machine information in the machine information storage unit.
6. A machining system comprising a machine tool that processes a workpiece according to a machining program, and a collision prevention device according to any one of claims 1 to 5.
7. The machining system according to claim 6, further comprising: an output device that outputs the estimation result of the machine state change estimation unit and presents it to the user based on a command from the machining restart confirmation unit; and an input device that receives from the user whether or not to restart the execution of the machining program and transmits it to the machining restart confirmation unit.
8. A collision prevention method characterized by including the steps of: extracting information relating to the state of a machine tool as machine information from a numerical control device that numerically controls a machine tool according to a machining program; storing the machine information; estimating a change in the state of the machine tool based on the stored machine information; presenting the estimation result to a user and confirming with the user whether or not to resume the execution of the machining program; and instructing the numerical control device to resume the execution of the machining program based on the confirmation result.
9. A collision prevention program characterized by causing a computer to perform the following steps: extract information relating to the state of a machine tool as machine information from a numerical control device that numerically controls a machine tool according to a machining program; store the machine information; estimate a change in the state of the machine tool based on the stored machine information; present the estimation result to the user and confirm with the user whether or not to resume the execution of the machining program; and, based on the confirmation result, cause the numerical control device to resume the execution of the machining program.