Collision estimation program, collision estimation device, and cutting machine

The collision estimation program addresses tool collisions in cutting machines by creating virtual objects and calculating paths to predict and prevent collisions, ensuring safe operation and tool integrity.

JP2025155278APending Publication Date: 2025-10-14DGSHAPE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024059013
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-01
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

Existing cutting machines face the risk of tool collisions with items other than the workpiece due to operator manipulation without relying on cutting data, such as tool stockers or rotation devices, which can lead to tool damage.

Method used

A collision estimation program that utilizes a computer to create virtual objects in a virtual space, calculate movement paths, and determine potential collisions by comparing these paths with virtual objects, thereby predicting and preventing tool collisions.

Benefits of technology

Enables the determination of potential collisions before tool movement, allowing for safe operation and preventing tool damage by retracting the tool when a collision is predicted.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025155278000001_ABST
    Figure 2025155278000001_ABST
Patent Text Reader

Abstract

To provide a collision estimation program that can determine whether or not a processing tool will collide with anything other than an object being cut.SOLUTION: A virtual object 200 is formed in a virtual space VS by a virtual object forming unit 104. A path calculation unit 105 calculates a movement path 210 in the virtual space VS. The moving path 210 corresponds to a path along which a processing tool 6 of a cutting machine 10 moves. The determination unit 106 determines whether or not the moving path 210 and the virtual object 200 overlap with each other. As a consequence, the determination unit can determine whether or not the processing tool 6 collides with the object.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a collision estimation program, a collision estimation device, and a cutting machine. [Background technology]

[0002] Conventionally, cutting machines that use a processing tool attached to a spindle to cut a workpiece inside a case body have been known. For example, Patent Document 1 discloses a cutting machine that includes a case body having a processing space where the workpiece is cut, a processing tool, and a control device. The control device controls various drive mechanisms and motors of the cutting machine. In such a cutting machine, the control device controls the drive mechanisms and motors based on cutting data. As a result, the relative positional relationship between the processing tool and the workpiece inside the processing space is changed three-dimensionally, and the workpiece is cut. By cutting the workpiece, the workpiece can be machined into a shape desired by the user. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-28966 Summary of the Invention [Problem to be solved by the invention]

[0004] However, in such cutting machines, there are cases where items other than the workpiece are placed inside the case body. Examples of items other than the workpiece include a box-shaped tool stocker that stores multiple processing tools and a rotation device for rotating the workpiece. Here, for example, an operator may move the spindle without relying on cutting data. In such cases, depending on the placement of the tool stocker or the size of the processing tool attached to the spindle, there is a risk that the processing tool may collide with the tool stocker or other items other than the workpiece.

[0005] The present invention has been made in view of the above points, and its object is to provide a collision estimation program that can determine whether or not a machining tool will collide with something other than a workpiece. [Means for solving the problem]

[0006] The collision estimation program of the present invention is configured to cause a computer to realize a first coordinate acquisition unit that acquires first coordinates, which are the coordinates of a processing tool within a space in which at least one object is placed and in which an object to be cut is to be cut; a second coordinate acquisition unit that acquires second coordinates, which are coordinates different from the first coordinates; a virtual object creation unit that creates a virtual object corresponding to the object in a virtual space corresponding to the space; a path calculation unit that calculates a movement path of the processing tool when the processing tool moves from the first coordinates toward the second coordinates in the virtual space; and a determination unit that determines whether or not there is an overlap between the movement path in the virtual space and the virtual object.

[0007] According to the collision estimation program of the present invention, the virtual object creation unit creates the virtual object in the virtual space. The virtual object corresponds to the object. Furthermore, the path calculation unit calculates a movement path in the virtual space when the processing tool moves from the first coordinates to the second coordinates based on the first coordinates acquired by the first coordinate acquisition unit and the second coordinates acquired by the second coordinate acquisition unit. The determination unit determines whether the movement path overlaps with the virtual object. If it is determined that the movement path overlaps with the virtual object, it is estimated that the processing tool will collide with the object when moved from the first coordinates toward the second coordinates. If it is determined that the movement path does not overlap with the virtual object, it is estimated that the processing tool will not collide with the object even when moved from the first coordinates toward the second coordinates. Therefore, the processing tool can be moved from the first coordinates to the second coordinates. This allows the operator to determine whether the processing tool will collide with the object before moving the processing tool. [Effects of the Invention]

[0008] According to the present invention, it is possible to provide a collision estimation program that can determine whether or not a machining tool will collide with something other than a workpiece. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a perspective view of a cutting machine according to a first embodiment. [Figure 2] FIG. 2 is a plan view of the workpiece and the adapter. [Figure 3] FIG. 2 is a vertical cross-sectional view of the cutting machine as viewed from the left. [Figure 4] FIG. 2 is a vertical cross-sectional view of the cutting machine as viewed from the right. [Figure 5] FIG. [Figure 6] FIG. [Figure 7] 1 is a block diagram of a cutting machine according to a first embodiment. [Figure 8] 5 is a flowchart for estimating whether or not a collision occurs between a processing tool and an object according to the first embodiment. [Figure 9] FIG. 2 is a schematic diagram showing a virtual space according to the first embodiment. [Figure 10] FIG. 10 is a block diagram of a cutting machine according to a second embodiment. [Figure 11] FIG. 10 is a schematic diagram showing a virtual space and a virtual object according to a second embodiment. [Figure 12] FIG. 10 is a block diagram of a cutting machine according to a third embodiment. [Figure 13] 10 is a flowchart showing a procedure for estimating whether or not a collision has occurred between a processing tool and an object according to a third embodiment. [Figure 14] FIG. 10 is a schematic diagram showing a detour route according to a third embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] First Embodiment A cutting machine according to a first embodiment of the present invention will be described below with reference to the drawings. Note that the embodiment described here is not intended to particularly limit the present invention. Furthermore, members and parts that perform the same functions are given the same reference numerals, and duplicate descriptions will be omitted or simplified as appropriate.

[0011] FIG. 1 is a perspective view showing a cutting machine 10 according to a first embodiment. FIG. 2 is a plan view of the workpiece 1 and the adapter 5. FIG. 3 is a longitudinal cross-sectional view of the cutting machine 10 as seen from the left. FIG. 4 is a longitudinal cross-sectional view of the cutting machine 10 as seen from the right. The symbols F, Rr, L, R, U, and D in the drawings represent the front, rear, left, right, top, and bottom of the cutting machine 10, respectively. However, these directions are determined for the convenience of explanation and do not limit the installation mode of the cutting machine 10 or the present invention.

[0012] In this embodiment, the cutting machine 10 cuts a workpiece 1 (see FIG. 2 ) to produce an object. Here, the type of the object is not particularly limited, but an example is a dental crown prosthesis. Examples of dental crown prostheses include inlays, crowns, and bridges. In this embodiment, the cutting machine 10 is used in the dental field, and produces a dental crown prosthesis from the workpiece 1. However, the field in which the cutting machine 10 is used is not limited to the dental field.

[0013] The workpiece 1 is made of, for example, resin such as PMMA, PEEK, glass fiber reinforced resin, or hybrid resin; ceramic material such as glass ceramic or zirconia; metal material such as cobalt chromium sintered metal; wax; or gypsum. When zirconia is used as the material for the workpiece 1, semi-sintered zirconia is used, for example. The workpiece 1 is formed in a flat plate shape. As shown in FIG. 2, the workpiece 1 has a disk-like shape. However, the workpiece 1 may have other shapes, such as a block-like shape (e.g., a cube or a rectangular parallelepiped).

[0014] As shown in Fig. 2, the adapter 5 holds the disk-shaped workpiece 1. In this example, the adapter 5 is a flat adapter with a substantially circular insertion hole 5a formed in the center that corresponds to the workpiece 1. The workpiece 1 is held by the adapter 5 by being inserted into the insertion hole 5a. The workpiece 1, while held by the adapter 5, is housed in the cutting machine 10 and machined.

[0015] 3 and 4, the cutting machine 10 has a box-shaped case body 11. The case body 11 is a housing having an internal space 11a. The space 11a is partitioned into a machining chamber 120 that houses a work holder 20 that holds an adapter 5 (see FIG. 2), a drive unit chamber 130 that houses a holder movement device 30 that moves the work holder 20, a cutting unit chamber 150 that houses a cutting unit 50, an air blow unit 55, and a movement device 60, a changer chamber 170 that houses a work changer 70, and a tool exchange chamber 180 for storing machining tools 6 in a tool stocker 80.

[0016] The work holder 20 is a device that holds the workpiece 1 (see FIG. 2). In this example, the work holder 20 holds the workpiece 1 via an adapter 5 (see FIG. 2). However, the work holder 20 may also hold the workpiece 1 directly without using any other member. FIG. 5 is a plan view of the work holder 20. As shown in FIG. 5, the work holder 20 has a pair of arms 21 on the left and right. The adapter 5 is held by the work holder 20 by being inserted between the pair of arms 21.

[0017] As shown in FIG. 5, the holder moving device 30 supports and moves the work holder 20. In this embodiment, the holder moving device 30 moves the work holder 20 in the front-to-rear direction. More specifically, as shown in FIG. 4, the holder moving device 30 moves the work holder 20 (see FIG. 3) diagonally in the front-to-rear direction. When the work holder 20 is moved forward by the holder moving device 30, it also moves upward. When the work holder 20 is moved backward by the holder moving device 30, it also moves downward. Hereinafter, the direction in which the work holder 20 is moved by the holder moving device 30 will also be referred to as the X-axis direction. Furthermore, hereinafter, unless otherwise specified, the forward direction in the X-axis direction will sometimes be simply referred to as the forward direction, and the rearward direction in the X-axis direction will sometimes be simply referred to as the rearward direction.

[0018] As shown in Fig. 5, the holder moving device 30 includes a support arm 31 that extends in the left-right direction and supports the work holder 20. As shown in Fig. 4, the holder moving device 30 includes an X-axis mover 32 connected to the support arm 31, a pair of X-axis guide rails 33, and an X-axis drive motor 34. The holder moving device 30 moves the support arm 31 in the X-axis direction, thereby moving the work holder 20 in the X-axis direction. At least a portion of the holder moving device 30 is housed in a drive device chamber 130. Here, the X-axis mover 32, the pair of X-axis guide rails 33, the X-axis drive motor 34, and a portion of the support arm 31 of the holder moving device 30 are housed in the drive device chamber 130.

[0019] As shown in FIG. 4, a pair of X-axis guide rails 33 extend in the X-axis direction. The X-axis mover 32 is slidably engaged with the pair of X-axis guide rails 33. The X-axis mover 32 can move in the X-axis direction along the X-axis guide rails 33. Although not shown in the figure, for example, the X-axis mover 32 is connected to a ball screw. The X-axis drive motor 34 rotates the ball screw. When the X-axis drive motor 34 is driven, the X-axis mover 32 moves in the X-axis direction along the X-axis guide rails 33. Note that the holder movement device 30 is not limited to one having a ball screw mechanism, and may include, for example, a timing belt or a wire.

[0020] As shown in Fig. 5, the support arm 31 includes a rotary shaft 31a that rotates about an axis AXb extending in the left-right direction, a first arm 31b that is connected to the rotary shaft 31a so as to be perpendicular to the axis AXb and that rotates in the front-rear direction together with the rotary shaft 31a, and a second arm 31c that is connected to the first arm 31b so as to be parallel to the axis AXb (so as to be perpendicular to the first arm 31b). As shown in Fig. 4, the X-axis mover 32 is provided with a B-axis rotation motor 41B of a B-axis rotation device 40B, which will be described later. The B-axis rotation motor 41B rotates the rotary shaft 31a (see Fig. 5) about the axis AXb. When the rotary shaft 31a rotates, the work holder 20 rotates in the front-rear direction.

[0021] As shown in FIG. 5, the rotation device 40 includes an A-axis rotation device 40A that rotates the work holder 20 in the left-right direction and a B-axis rotation device 40B that rotates the work holder 20 in the front-rear direction. The A-axis rotation device 40A includes an A-axis rotation motor 41A and a rotation shaft 42A. The A-axis rotation motor 41A is fixed to the second arm 31c. The rotation shaft 42A is connected to the A-axis rotation motor 41A (more specifically, a drive unit including the A-axis rotation motor 41A) and extends in the front-rear direction along the axis AXa. When the A-axis rotation motor 41A is driven, the rotation shaft 42A rotates around the axis AXa. Note that since the A-axis rotation device 40A is fixed to the second arm 31c, when the B-axis rotation device 40B is driven and the rotation shaft 31a rotates, the A-axis rotation device 40A also rotates together with the second arm 31c.

[0022] 3, an exhaust port 128 opens at the rear of the machining chamber 120. A dust collector (not shown) is connected to the exhaust port 128 via an exhaust duct 92 (described later) or the like. Air and cutting dust inside the machining chamber 120 are discharged from the exhaust port 128.

[0023] As shown in FIG. 3 , in this embodiment, a dust collection chamber 90 is provided below the exhaust port 128. The dust collection chamber 90 is a box-shaped member that is open at the top. A duct connection hole 91 is formed in the dust collection chamber 90. The duct connection hole 91 is an opening to which an exhaust duct 92 is connected. The cutting machine 10 is provided with an exhaust duct 92 that is connected to the duct connection hole 91. The front end of the exhaust duct 92 is connected to the duct connection hole 91. The exhaust duct 92 communicates with the exhaust port 128 and the machining chamber 120 via the dust collection chamber 90. The rear end of the exhaust duct 92 extends to the outside of the cutting machine 10. A dust collector (not shown) is connected to the rear end of the exhaust duct 92.

[0024] The workpiece changer 70 is configured to be able to store multiple workpieces 1 (see FIG. 2) and is used to replace the workpieces 1 to be machined. In this embodiment, the adapter 5 (see FIG. 2) to which the workpiece 1 is attached is replaced by the workpiece changer 70. As shown in FIG. 3, the workpiece changer 70 includes an adapter storage unit 71 and a transport device 72 that transports the adapter storage unit 71 to the processing chamber 120. The adapter storage unit 71 stores the adapter 5 (see FIG. 2) to which the workpiece 1 is attached. For example, except when replacing the workpiece 1, the adapter storage unit 71 is housed in the changer chamber 170. As shown in FIG. 1, the adapter storage unit 71 is provided with multiple shelf-like storage spaces 71a, each of which stores one adapter 5. The multiple storage spaces 71a are aligned vertically. More specifically, the multiple storage spaces 71a are aligned diagonally vertically (hereinafter also referred to as the L-axis direction; see FIG. 3) perpendicular to the X-axis direction.

[0025] As shown in Fig. 3, the transfer device 72 includes a slide arm 72A extending in the L-axis direction and an L-axis direction drive motor 72B. The slide arm 72A is fixed to the adapter storage unit 71 and is slidable in the L-axis direction. When the L-axis direction drive motor 72B is driven, the slide arm 72A moves in the L-axis direction and reaches the processing chamber 120. This causes the adapter storage unit 71 to move in the L-axis direction. With the adapter storage unit 71 moving downward along the L-axis, the work holder 20 is advanced in the X-axis direction and inserted into the storage space 71a of the adapter 5 (see Fig. 1), whereby the adapter 5 is held by the work holder 20.

[0026] The cutting device 50 is housed in the cutting device chamber 150. The cutting device 50 cuts the workpiece 1 (see FIG. 2 ) held by the work holder 20 with a machining tool 6. The cutting device 50 is provided above the work holder 20 and the tool stocker 80. The cutting device 50 includes a spindle 51 that grips and rotates the machining tool 6. The spindle 51 includes a rotation unit 52 and a gripper 53 provided at the lower end of the rotation unit 52. The rotation unit 52 extends in a direction perpendicular to the X-axis direction (here, parallel to the L-axis direction). Hereinafter, this direction will also be referred to as the Z-axis direction. The rotation unit 52 rotates the gripper 53 around an axis parallel to the Z-axis direction. Herein, the rotation unit 52 is a unit with a built-in motor. However, the rotation unit 52 may be connected to an external motor via a belt or the like, for example. The gripper 53 is configured to be openable and closable. The gripping portion 53 grips the processing tool 6 so as to protrude downward in the Z-axis direction. The gripping portion 53 is, for example, an air-driven collet chuck. However, the type of the gripping portion 53 is not particularly limited. The spindle 51 is provided with an air blowing device 55. The air blowing device 55 is a device that blows air from the lower end portion and blows away cutting powder generated on the workpiece 1 during cutting.

[0027] FIG. 6 is an enlarged view of the processing tool 6. The processing tool 6 includes a gripped portion 6a and a blade portion 6b. The gripped portion 6a is gripped by a gripping portion 53. As the spindle 51 rotates, the processing tool 6 rotates around an axis parallel to the Z-axis direction. As the processing tool 6 rotates, the blade portion 6b comes into contact with the workpiece 1 (see FIG. 2), cutting the workpiece 1. A tip portion 6ba is located at the lower end of the blade portion 6b in the Z-axis direction. As will be described in detail later, in this embodiment, the movement of the processing tool 6 is instructed by coordinates. When the processing tool 6 is moved to a certain coordinate position, the processing tool 6 is moved so that the tip portion 6ba is positioned at the coordinate position.

[0028] As shown in FIG. 3, the moving device 60 is housed in the cutting device chamber 150. The moving device 60 moves the cutting device 50 and the air blow device 55 in the Z-axis direction and the left-right direction. Here, the left-right direction is a direction perpendicular to the X-axis direction and the Z-axis direction. Hereinafter, the left-right direction will also be referred to as the Y-axis direction. The moving device 60 is provided above the work holder 20. The moving device 60 moves the cutting device 50 in the Y-axis direction and the Z-axis direction, and the holder moving device 30 moves the work holder 20 in the X-axis direction, thereby changing the positional relationship between the machining tool 6 and the workpiece 1 (see FIG. 2) in three dimensions. The moving device 60 is an example of a tool moving device in the present invention. The cutting device 50 and the air blow device 55 appear in or retreat into the cutting device chamber 150 by moving in the Z-axis direction. The machining chamber 120 and the cutting device chamber 150 are connected via an opening 120A. The opening 120A is large enough to allow the cutting device 50 and the air blowing device 55 to pass through. The moving device 60 is capable of moving the cutting device 50 and the air blowing device 55 between the processing chamber 120 and the cutting device chamber 150.

[0029] The moving device 60 includes a Z-axis moving device 60Z and a Y-axis moving device 60Y. The Z-axis moving device 60Z moves the cutting device 50 and the air blow device 55 in the Z-axis direction. The Y-axis moving device 60Y moves the cutting device 50 and the air blow device 55 in the Y-axis direction. The Z-axis moving device 60Z includes a pair of Z-axis guide shafts 61Z extending in the Z-axis direction, a Z-axis moving body 62Z slidably engaged with the Z-axis guide shafts 61Z and supporting the cutting device 50 and the air blow device 55, a Z-axis drive motor 63Z, and a ball screw (not shown). The Z-axis moving body 62Z is ​​connected to the ball screw. When the Z-axis drive motor 63Z rotates, the ball screw rotates, and the Z-axis moving body 62Z moves along the Z-axis guide shafts 61Z. This causes the cutting device 50 and the air blow device 55 to move in the Z-axis direction. The Y-axis direction moving device 60Y moves the cutting device 50 and the air blowing device 55 in the Y-axis direction in a manner similar to the Z-axis direction moving device 60Z moving the cutting device 50 and the air blowing device 55 in the Z-axis direction. As shown in FIG. 3 , when the workpiece 1 is not being cut, the cutting device 50 is located at the retracted position EP. The retracted position EP is a position that avoids interference between the processing tool 6 and an object, which will be described later. In this embodiment, the retracted position EP is located above the opening 120A. In this embodiment, when the cutting device 50 is located at the retracted position EP, the processing tool 6 is not located in the processing chamber 120.

[0030] The tool stocker 80 is housed in the drive unit chamber 130 (see FIG. 4). As shown in FIG. 3, the tool stocker 80 is a box-shaped member capable of housing a plurality of rod-shaped processing tools 6. The plurality of processing tools 6 are used depending on, for example, the material of the workpiece 1 or the type of cutting. The tool stocker 80 is supported by the X-axis direction movable body 32 (see FIG. 4). More specifically, the tool stocker 80 is fixed to the upper surface of the X-axis direction movable body 32.

[0031] The holder moving device 30 (see FIG. 4) is configured to move the tool stocker 80 between a tool gripping position P1 located below the opening 120A and a tool changing position P2 located forward of the tool gripping position P1. When the tool stocker 80 is positioned at the tool gripping position P1, the moving device 60 is driven to move the cutting device 50, thereby causing the spindle 51 to grip the machining tool 6 placed in the tool stocker 80. The tool changing position P2 is located below the tool changing chamber 180 (see FIG. 4). An opening (not shown) located above the tool changing position P2 and opening in the Z-axis direction is formed in the bottom wall 183 (see FIG. 4) of the tool changing chamber 180. When the tool stocker 80 is positioned at the tool changing position P2, a user can insert or remove a machining tool 6 into or from the tool stocker 80 through the tool changing chamber 180 and the opening.

[0032] As shown in Fig. 1, a processing chamber door 122 is provided in front of the processing chamber 120 so as to be able to open and close freely. A drive unit chamber door 132 is provided in front of the drive unit chamber 130. A changer chamber door 172 is provided in front of the changer chamber 170 so as to be able to open and close freely. A tool exchange chamber door 182 is provided in front of the tool exchange chamber 180 so as to be able to open and close freely. An operation panel 190 is provided in front of the drive unit chamber door 132. The operation panel 190 is used by an operator to perform operations related to cutting, for example.

[0033] As shown in FIG. 3, the case body 11 includes a bottom wall 120D, a left side wall 120L (see FIG. 1), a right side wall 120R, a rear wall 120Rr, a front wall 120F, and a top wall 120T, and is formed of a metal plate. The bottom wall 120D is configured to be substantially horizontal when the cutting machine 10 is placed on a horizontal surface. The top wall 120T is disposed above the cutting device 50 and the workpiece changer 70 and forms the top surface of the drive unit chamber 130 and the changer chamber 170. The left side wall 120L, the right side wall 120R, the rear wall 120Rr, and the front wall 120F are erected to connect the top wall 120T and the bottom wall 120D, respectively. The rear wall 120Rr is erected rearward of the workpiece holder 20. The front wall 120F is connected to the front end of the bottom wall 120D and extends upward. The front wall 120F is erected forward of the work holder 20. The extension direction of the front wall 120F is perpendicular to the X-axis direction. An upper wall 120U is formed above the machining chamber 120. The upper wall 120U separates the machining chamber 120 from the cutting device chamber 150. A right side wall 120R is formed to the right of the machining chamber 120. The right side wall 120R is connected to the front wall 120F, the rear wall 120Rr, and the upper wall 120U. The right side wall 120R separates the machining chamber 120 from the drive device chamber 130. A bottom wall 183 of the tool change chamber 180 separates the tool change chamber 180 from the drive device chamber 130.

[0034] The control device 100 (see FIG. 1) is connected to the holder moving device 30, the moving device 60, the cutting device 50, etc., and controls their operation. The control device 100 is provided inside the case body 11. FIG. 7 is a block diagram of the cutting machine 10. As shown in FIG. 7, the control device 100 is connected to the X-axis drive motor 34 of the holder moving device 30, the A-axis rotation motor 41A and the B-axis rotation motor 41B of the rotation device 40, the rotation unit 52 and the gripper 53 of the cutting device 50, the Y-axis drive motor 63Y and the Z-axis drive motor 63Z of the moving device 60, the L-axis drive motor 72B of the work changer 70, the air blow device 55, and the operation panel 190, and controls their operation.

[0035] The control device 100 is, for example, a microcomputer. The control device 100 includes, for example, an interface (I / F) that receives cutting data and the like from an external device such as a host computer, a central processing unit (CPU) that executes program instructions, a read only memory (ROM), a random access memory (RAM), and a storage device such as a memory that stores various data. The control device 100 includes a first coordinate acquisition unit 101, a second coordinate acquisition unit 102, a virtual space creation unit 103, a virtual object creation unit 104, a path calculation unit 105, a determination unit 106, a notification unit 107, and a saving unit 108. A collision estimation program 100a is installed in the control device 100. Therefore, the control device 100 also serves as the collision estimation device of the present invention. The collision estimation program 100a is a program configured to realize the respective units 101 to 108 of the control device 100. The control device 100 does not have to be provided inside the case body 11 (see FIG. 3) of the cutting machine 10. For example, the control device 100 may be realized by a computer or the like installed outside the case body 11.

[0036] Next, a procedure for estimating whether or not there is a collision between the processing tool 6 and an object will be described. Here, the object is a general term for anything contained within the space 11a other than the processing tool 6 and the workpiece 1. In this embodiment, for example, the workpiece changer 70, the tool stocker 80, the right side wall 120R, the A-axis rotation device 40A, and the B-axis rotation device 40B correspond to the object. In the following description of the first embodiment, the tool stocker 80 will be used as the object. However, the object is not limited to this. Figure 8 is a flowchart showing a procedure for estimating whether or not there is a collision between the processing tool 6 and an object.

[0037] In step S101, first, a first coordinate C1 is designated by an operator. For example, the first coordinate C1 is the coordinate of a position where a desired operation by the processing tool 6 is to be started. The method for designating the first coordinate C1 is not particularly limited, and for example, the first coordinate C1 may be designated by a remote control (not shown) that sends a signal to the control device 100. The first coordinate C1 is designated, for example, by inputting coordinate values ​​of the X-axis, Y-axis, and Z-axis. The first coordinate acquisition unit 101 (see FIG. 7) acquires the coordinate value of the input first coordinate C1. In this embodiment, as shown in FIG. 3, the first coordinate C1 is the coordinate of a position to the left of the tool stocker 80. That is, the first coordinate C1 is a coordinate indicating a position inside the processing chamber 120. As described above, in this embodiment, when the processing tool 6 is moved to a certain coordinate position, the processing tool 6 is moved so that the tip 6ba (see FIG. 6) is located at the position of the coordinate. Therefore, the first coordinate C1 is the coordinate at which the tip 6ba of the processing tool 6 is located. The position of the first coordinate C1 is not limited to this position.

[0038] In step S102 shown in FIG. 8, the operator specifies a second coordinate C2. The second coordinate C2 is a coordinate of a position in the space 11a that is different from the first coordinate C1. The operator specifies the second coordinate C2 as, for example, a desired position to which the machining tool 6 is to be moved. The method for specifying the second coordinate C2 is not particularly limited, and it may be specified, for example, by a remote control (not shown) that sends a signal to the control device 100. The second coordinate C2 is specified, for example, by inputting coordinate values ​​for the X-axis, Y-axis, and Z-axis. The second coordinate acquisition unit 102 acquires the input coordinate value of the second coordinate C2. Note that, similar to the first coordinate C1, when the machining tool 6 is moved to the second coordinate C2, the tip 6ba (see FIG. 6) is positioned at the position of the second coordinate C2. As shown in FIG. 4, in this embodiment, the second coordinate C2 is a coordinate of a position to the right of the tool stocker 80 (see FIG. 3). That is, the second coordinate C2 is the coordinate of the position of the drive unit chamber 130. The second coordinate C2 is not particularly limited as long as it is a coordinate other than the first coordinate C1 in the space 11a.

[0039] In step S103 shown in FIG. 8, the virtual space creation unit 103 creates a virtual space VS. FIG. 9 is a schematic diagram showing the virtual space VS according to the first embodiment. The virtual space VS corresponds to the space 11a of the cutting machine 10 (see FIG. 3). The virtual space VS is a three-dimensional space of the UVW axes. The U-axis, V-axis, and W-axis of the virtual space VS correspond to the X-axis, Y-axis, and Z-axis of the cutting machine 10, respectively. The U-axis direction is the front-to-back direction in the virtual space VS. The V-axis direction is the left-to-right direction in the virtual space VS. The W-axis direction is the up-and-down direction in the virtual space VS. The lengths of the virtual space VS in the U-axis, V-axis, and W-axis directions are the same as the maximum lengths of the space 11a in the X-axis, Y-axis, and Z-axis directions, respectively. In other words, the virtual space VS is a space having a rectangular parallelepiped shape that is a simplified version of the space 11a.

[0040] 8, the virtual object creating unit 104 creates a virtual object 200 in the virtual space VS. The virtual object 200 is an object in the virtual space VS that corresponds to the tool stocker 80 (object).

[0041] As shown in FIG. 9, the virtual object 200 has a rectangular parallelepiped shape. The lengths of the virtual object 200 in the U-axis direction, V-axis direction, and W-axis direction are the same as the respective maximum lengths of the tool stocker 80 in the X-axis direction, Y-axis direction, and Z-axis direction. That is, the virtual object 200 has a simplified shape of the tool stocker 80. In the present embodiment, the virtual object 200 has a rectangular parallelepiped shape with vertices at coordinates A1(u1, v1, w1), coordinates A2(u2, v1, w1), coordinates A3(u1, v1, w2), coordinates A4(u2, v1, w2), coordinates A5(u1, v2, w1), coordinates A6(u2, v2, w1), coordinates A7(u1, v2, w2), and coordinates A8(u2, v2, w2) (assuming u1 < u2, v1 < v2, w1 < w2). Therefore, the length of │u2 - u1│ is equal to the maximum length of the tool stocker 80 in the X-axis direction. Similarly, the lengths of │v2 - v1│ and │w2 - w1│ are equal to the maximum lengths of the tool stocker 80 in the Y-axis direction and Z-axis direction, respectively. Note that two or more virtual objects 200 may be created. For example, in addition to the virtual object 200, a virtual object corresponding to the right side wall 120R (see FIG. 3) may be further created.

[0042] In step S105, the path calculation unit 105 calculates, in the virtual space VS, a movement path of the machining tool 6 when it moves from the first coordinate C1 to the second coordinate C2. As shown in FIG. 9, a first virtual coordinate S1 and a second virtual coordinate S2 are arranged in the virtual space VS. The first virtual coordinate S1 and the second virtual coordinate S2 correspond to the first coordinate C1 (see FIG. 3) and the second coordinate C2 (see FIG. 4), respectively, in the space 11a (a three-dimensional space of the X, Y, and Z axes). As shown in FIG. 9, a movement path 210 is a path in the virtual space VS that extends from the first virtual coordinate S1 to the second virtual coordinate S2. The movement path 210 is expressed by calculating an equation of a straight line that passes through the first virtual coordinate S1 and the second virtual coordinate S2 (hereinafter referred to as an "equation of the movement path 210"), using a vector extending from the first virtual coordinate S1 to the second virtual coordinate S2 as a direction vector. Since the first coordinate C1 corresponds to the first virtual coordinate S1, and the second coordinate C2 corresponds to the second virtual coordinate S2, the movement path 210 corresponds to the path in the virtual space VS when the processing tool 6 moves from the first coordinate C1 to the second coordinate C2 in the space 11a.

[0043] In step S106, the determination unit 106 determines whether the movement path 210 and the virtual object 200 overlap in the virtual space VS. For example, the determination unit 106 calculates the ranges of values ​​in the V-axis direction and the W-axis direction when the coordinate in the U-axis direction is u1 to u2 in the equation of the movement path 210 calculated by the path calculation unit 105. When at least a portion of the calculated range of values ​​in the V-axis direction is within the range of v1 to v2, or when at least a portion of the calculated range of values ​​in the W-axis direction is within the range of w1 to w2, the determination unit 106 determines that the movement path 210 and the virtual object 200 overlap. The determination unit 106 similarly performs the determination when the coordinate in the V-axis direction is within the range of v1 to v2 or when the coordinate in the W-axis direction is within the range of w1 to w2 in the equation of the movement path 210 calculated by the path calculation unit 105. In either case, when it is determined that the movement path 210 and the virtual object 200 overlap, the process proceeds to step S107. In either case, when it is determined that the movement path 210 and the virtual object 200 do not overlap, the flow ends.

[0044] In step S107, the notification unit 107 notifies the worker that the determination unit 106 has determined that the movement path 210 overlaps with the virtual object 200. The method of notification is not particularly limited, but for example, the determination is displayed on the operation panel 190 to notify the worker.

[0045] In step S108, the retraction unit 108 moves the processing tool 6 to the retraction position EP (see FIG. 3). When the determination unit 106 determines that the movement path 210 overlaps with the virtual object 200, the retraction unit 108 moves the processing tool 6 by driving the Z-axis direction moving device 60Z and the Y-axis direction moving device 60Y (see FIG. 3). The retraction unit 108 first drives the Y-axis direction moving device 60Y to move the cutting device 50 (processing tool 6) to a position below the opening 120A (see FIG. 3). Then, the retraction unit 108 drives the Z-axis direction moving device 60Z to move the cutting device 50 (processing tool 6) upward in the Z-axis direction. This moves the processing tool 6 to the retraction position EP. This process is also referred to as an origin return process. When the origin return process is executed, the work holder 20, the work changer 70, and the like may also be returned to predetermined positions. Furthermore, after the machining tool 6 is returned to the retracted position EP, the reference position for control may be set (so-called zero point correction). Step S108 may be executed after step S106 and before step S107, or may be executed simultaneously with step S107.

[0046] Note that, after steps S101 to S106 are executed, if it is determined in step S106 that the movement path 210 and the virtual object 200 do not overlap, the processing tool 6 may be moved from the position of the first coordinate C1 to the position of the second coordinate C2. Furthermore, for example, when the control device 100 executes cutting processing based on cutting data including multiple movements, steps S101 to S108 may be executed before each movement is executed. In this case, the first coordinate C1 and the second coordinate C2 are specified by the cutting data. However, in the case of the second or subsequent movements, steps S103 and S104 may be omitted. In addition, in this case, the position of the second coordinate C2 in the first movement becomes the position of the first coordinate C1 in the second movement. The same applies to the third or subsequent movements.

[0047] As described above, according to the control device 100 (collision estimation program 100a) of this embodiment, the virtual object 200 is formed in the virtual space VS. Furthermore, the movement path 210 is calculated based on the first virtual coordinates S1 and the second virtual coordinates S2. The determination unit 106 determines whether the movement path 210 and the virtual object 200 overlap. If it is determined that the movement path 210 and the virtual object 200 overlap, it is estimated that the processing tool 6 will collide with the object when the processing tool 6 is moved from the position of the first coordinates C1 to the position of the second coordinates C2. If it is determined that the movement path 210 and the virtual object 200 do not overlap, it is estimated that the processing tool 6 will not collide with the object when the processing tool 6 is moved from the position of the first coordinates C1 to the position of the second coordinates C2. This makes it possible to determine whether the processing tool 6 will collide with the object when moved, before moving the processing tool 6.

[0048] According to the control device 100 (collision estimation program 100a) of this embodiment, the first coordinate C1 and the second coordinate C2 are coordinates of the position where the tip 6ba of the processing tool 6 is located. Here, the processing tool 6 can cut the workpiece 1 by contacting the cutting tool part 6b including the tip 6ba with the workpiece 1. Therefore, it is undesirable for the tip 6ba of the processing tool 6 to come into contact with an object and cause chipping or the like of the tip 6ba. By setting the first coordinate C1 and the second coordinate C2 to the coordinates of the position where the tip 6ba is located, chipping or the like of the tip 6ba of the processing tool 6 can be prevented.

[0049] According to the control device 100 (collision estimation program 100a) of this embodiment, a notification is given when it is determined that the movement path 210 overlaps with the virtual object 200. The notification given by the notification unit 107 allows the worker to understand that there is a possibility that the processing tool 6 will collide with the object.

[0050] According to the cutting machine 10 of this embodiment, the moving device 60 may move the processing tool 6 in the space 11a of the case body 11. In such a case, the processing tool 6 can be moved while checking whether or not the processing tool 6 will collide with an object.

[0051] According to the cutting machine 10 of this embodiment, when the determination unit 106 determines that the movement path 210 overlaps with the virtual object 200, the retraction unit 108 drives the Z-axis direction moving device 60Z and the Y-axis direction moving device 60Y to retract the processing tool 6 to the retraction position EP. This makes it possible to automatically retract the processing tool 6 when it is estimated that the processing tool 6 will collide with the object, thereby more reliably preventing the processing tool 6 from colliding with the object.

[0052] In the above-described embodiment, the collision estimation program 100a is installed in the control device 100 of the cutting machine 10, but this is not limiting. For example, the collision estimation program 100a may be installed in a computer that is not connected to the cutting machine 10. For example, an operator can input the first coordinate C1 and the second coordinate C2 into the computer on which the collision estimation program 100a is installed, thereby determining whether or not the processing tool 6 will collide with an object. Note that the virtual space VS and the virtual object 200 at this time may be specified by the operator. That is, the collision estimation program 100a can simulate whether or not the processing tool 6 will collide.

[0053] In the first embodiment described above, the shape of the virtual object 200 is a rectangular parallelepiped, but this is not limiting. The shape of the virtual object 200 may be, for example, closer to the outer shape of the tool stocker 80. Note that, when the shape of the virtual object 200 is a simplified version of the outer shape of the tool stocker 80, as in the embodiment described above, it is preferable that the size of the outer shape of the virtual object 200 be larger than when the outer shape of the tool stocker 80 is accurately modeled. In other words, when the outer shape is simplified, it is preferable that the virtual object 200 be simplified so that its size is larger. This increases the overlapping area between the movement path 210 and the virtual object 200 compared to when the outer shape of the tool stocker 80 is accurately modeled, making it possible to more reliably prevent collisions of the machining tool 6.

[0054] Although the preferred embodiments of the present invention have been described above, the above-described embodiments are merely examples, and the present invention can be embodied in various forms.

[0055] Second Embodiment Next, a cutting machine 10A according to a second embodiment will be described. Note that, with respect to the cutting machine 10A according to the second embodiment below, the same components as those of the cutting machine 10 according to the first embodiment will be given the same reference numerals, and descriptions thereof will be omitted as appropriate. Furthermore, when the functions are the same as those of the cutting machine 10 according to the first embodiment but the configuration is different, the same names will be used and the reference numerals will be changed as appropriate.

[0056] FIG. 10 is a block diagram of a cutting machine 10A according to the second embodiment. In this embodiment, as shown in FIG. 10, the control device 100A includes a position correction unit 109. A collision estimation program 100Aa is installed in the control device 100A. The position correction unit 109 and the units 101 to 106 of the control device 100A are configured to be realized by the collision estimation program 100Aa. FIG. 11 is a schematic diagram showing a virtual space VS and a virtual object 200A according to the second embodiment. The virtual object 200A according to this embodiment corresponds to the A-axis rotation device 40A (see FIG. 5). That is, the object in this embodiment is the A-axis rotation device 40A. The virtual object 200A has a rectangular parallelepiped shape. As shown in FIG. 11, the coordinates of one of the eight vertices of the virtual object 200A are designated as A1a (u1a, v1a, w1a).

[0057] The position correction unit 109 shown in FIG. 10 corrects the position of the virtual object 200A when the object is moved by the object moving device. Here, the object moving device is a device that moves an object, and the holder moving device 30, the moving device 60, the transport device 72, and the rotation device 40 (see FIG. 7) correspond to the object moving device in the present invention. However, the object moving device is not limited to these. As described above, in the second embodiment, the A-axis rotation device 40A corresponds to the object. In the following explanation, a case where the A-axis rotation device 40A rotates around the axis AXb (see FIG. 5) by rotating the B-axis rotation device 40B (see FIG. 5) will be described. In other words, the B-axis rotation device 40B will be described as the object moving device in this embodiment. The position of the virtual object 200A is corrected by moving the coordinates of the vertices of the virtual object 200A.

[0058] Next, an operation of correcting the position of the virtual object 200A by the position correction unit 109 will be described. First, the worker drives the B-axis rotation device 40B shown in FIG. 5. When the B-axis rotation motor 41B rotates, the first arm 31b rotates around the axis AXb. At this time, the entire A-axis rotation device 40A rotates around the axis AXb. This rotation is performed, for example, by the worker operating a remote control (not shown) that sends a signal to the control device 100.

[0059] When the A-axis rotation device 40A rotates, the position correction unit 109 rotates the virtual object 200A in the virtual space VS (see FIG. 11) by the amount of rotation of the A-axis rotation device 40A. Because the axis AXb is parallel to the Y-axis, the position correction unit 109 rotates the virtual object 200A in the virtual space VS around an axis parallel to the V-axis (in the direction of the arrow R1). The virtual object 200A when rotated by the position correction unit 109 is shown by a two-dot chain line in FIG. 11. At this time, it is assumed that the coordinates A1a (u1a, v1a, w1a) move to the coordinates A1b (u1b, v1b, w1b). Here, if virtual object 200A is rotated by an angle θ around an axis parallel to the V axis, coordinate A1b (u1b, v1b, w1b) is calculated by multiplying coordinate A1a (u1a, v1a, w1a) by a rotation matrix of rotation angle θ. Although not described here, the coordinates of vertices of virtual object 200A other than coordinate A1a (u1a, v1a, w1a) are calculated in a similar manner. This determines the position of virtual object 200A after A-axis rotation device 40A has rotated. Note that the correction by position corrector 109 is not limited to correction of position due to rotation. Position corrector 109 may, for example, translate virtual object 200A.

[0060] As described above, according to the control device 100A (collision estimation program 100Aa), even when the A-axis rotation device 40A (object) is moved by the worker, the position of the virtual object 200A can be corrected by the position correction unit 109. This makes it possible to determine whether or not the movement path 210 overlaps with the virtual object 200A, even if the object moves before or after the movement of the processing tool 6, or along with the movement of the processing tool 6.

[0061] In the second embodiment described above, the object (A-axis rotation device 40A) and the object moving device (B-axis rotation device 40B) are separate entities, but this is not limiting. The object and the object moving device may be the same. For example, when the A-axis rotation device 40A is driven and the A-axis rotation motor 41A rotates, the entire A-axis rotation device 40A rotates. Therefore, the A-axis rotation device 40A itself may be moved by the A-axis rotation device 40A. In other words, the object may be moved by the object moving device.

[0062] Third Embodiment Next, a cutting machine 10B according to a third embodiment will be described. Note that, with respect to the cutting machine 10B according to the third embodiment below, the same components as those of the cutting machine 10 according to the first embodiment (see FIG. 7) are given the same reference numerals, and descriptions thereof will be omitted where appropriate. Furthermore, when the components have the same functions but different configurations compared to the cutting machine 10 according to the first embodiment, the same names are used and the reference numerals are changed where appropriate.

[0063] FIG. 12 is a block diagram of a cutting machine 10B according to the third embodiment. In this embodiment, as shown in FIG. 12, the control device 100B includes a detour path calculation unit 110. A collision estimation program 100Ba is installed in the control device 100B. The detour path calculation unit 110 and the units 101 to 106 of the control device 100B are configured to be implemented by the collision estimation program 100Ba. FIG. 13 is a flowchart showing a procedure for estimating whether or not a collision will occur between the processing tool 6 (see FIG. 3) and an object according to the third embodiment. Steps S301 to S306 in FIG. 13 are the same as steps S101 to S106 in FIG. 8, and therefore will not be described here. FIG. 14 is a diagram showing a detour path 220 according to this embodiment. The virtual object 200 and the movement path 210 in FIG. 14 are the same as the virtual object 200 and the movement path 210 shown in FIG. 9.

[0064] In step S307 shown in FIG. 13, the detour route calculation unit 110 (see FIG. 12) calculates a detour route 220. As shown in FIG. 14, the detour route 220 is a route from the first virtual coordinate S1 to the second virtual coordinate S2 in the virtual space VS and is a route that avoids overlapping with the virtual object 200. That is, the detour route 220 avoids contact between the processing tool 6 and the object in the space 11a (see FIG. 3) and corresponds to the route when the processing tool 6 (see FIG. 3) moves from the first coordinate C1 (see FIG. 3) to the second coordinate C2 (see FIG. 4). The detour route 220 is calculated when the determination unit 106 (see FIG. 12) determines in step S306 (see FIG. 13) that there is an overlap between the movement route 210 and the virtual object 200. In the present embodiment, the detour route 220 is a route from the first virtual coordinate S1 to the second virtual coordinate S2 via the third virtual coordinate S3, the fourth virtual coordinate S4, the fifth virtual coordinate S5, and the sixth virtual coordinate S6. The detour route calculation unit 110 first calculates the third virtual coordinate S3 to the sixth virtual coordinate S6. In the present embodiment, the detour route calculation unit 110 calculates them in the order of the third virtual coordinate S3 → the fourth virtual coordinate S4 → the sixth virtual coordinate S6 → the fifth virtual coordinate S5. However, the order of calculating the third virtual coordinate S3 to the sixth virtual coordinate S6 is not particularly limited.

[0065] The third virtual coordinate S3 is a coordinate located to the left in the V-axis direction of the virtual object 200 on the movement route 210. In the present embodiment, the coordinate value of the third virtual coordinate S3 in the V-axis direction is set to v3 (v3 < v1). The difference between the coordinate value v3 and the coordinate value v1 is assumed to be predetermined. Therefore, the third virtual coordinate S3 is the coordinate of a position that is separated to the left in the V-axis direction by a predetermined distance from the position of the coordinate value v1 (the left end position of the virtual object 200). The detour route calculation unit 110 (see FIG. 12) calculates the coordinate values of the third virtual coordinate S3 in the U-axis direction and the W-axis direction based on the coordinate value v3 and the formula of the movement route 210. The value of the difference between the coordinate value v3 and the coordinate value v1 is not particularly limited.

[0066] The fourth virtual coordinate S4 is a coordinate located above the third virtual coordinate S3 in the W-axis direction. That is, the coordinate values in the U-axis and V-axis directions at the fourth virtual coordinate S4 are the same as the coordinate values in the U-axis and V-axis directions at the third virtual coordinate S3. In this embodiment, the coordinate value in the W-axis direction of the fourth virtual coordinate S4 is set as w4 (w4 < w2). The difference between the coordinate value w4 and the coordinate value w2 is assumed to be predetermined. Therefore, the fourth virtual coordinate S4 is the coordinate of a position that is separated upward in the W-axis direction by a predetermined distance from the position of the coordinate value w2 (the position of the upper end of the virtual object 200). Note that the value of the difference between the coordinate value w4 and the coordinate value w2 is not particularly limited.

[0067] The sixth virtual coordinate S6 is a coordinate located to the right in the V-axis direction of the virtual object 200 on the movement path 210. In this embodiment, the coordinate value in the V-axis direction of the sixth virtual coordinate S6 is set as v6 (v6 > v2). The difference between the coordinate value v6 and the coordinate value v2 is assumed to be predetermined. Therefore, the sixth virtual coordinate S6 is the coordinate of a position that is separated to the right in the V-axis direction by a predetermined distance from the coordinate value v2 (the position of the right end of the virtual object 200). The bypass path calculation unit 110 (see FIG. 12) calculates the coordinate values in the U-axis and W-axis directions of the sixth virtual coordinate S6 from the coordinate value v6 and the equation of the movement path 210. Note that the value of the difference between the coordinate value v6 and the coordinate value v2 is not particularly limited.

[0068] The fifth virtual coordinate S5 is a coordinate located above the sixth virtual coordinate S6 in the W-axis direction. That is, the coordinate values in the U-axis and V-axis directions at the sixth virtual coordinate S6 are the same as the coordinate values in the U-axis and V-axis directions at the sixth virtual coordinate S6. Also, the coordinate value in the W-axis direction of the fifth virtual coordinate S5 is the same as the coordinate value in the W-axis direction of the fourth virtual coordinate S4.

[0069] The detour route calculation unit 110 calculates a detour route 220 using the first virtual coordinate S1 to the sixth virtual coordinate S6. As shown in FIG. 14, the detour route 220 includes a first route 220a, a second route 220b, a third route 220c, a fourth route 220d, and a fifth route 220e. The first route 220a is a route connecting the first virtual coordinate S1 and the third virtual coordinate S3. The first route 220a overlaps a part of the travel route 210. The detour route calculation unit 110 (see FIG. 12) calculates an equation representing the first route 220a by calculating an equation of a straight line passing through the first virtual coordinate S1 and the third virtual coordinate S3, using a vector from the first virtual coordinate S1 toward the third virtual coordinate S3 as a direction vector. The second route 220b is a route connecting the third virtual coordinate S3 and the fourth virtual coordinate S4. The third route 220c is a route connecting the fourth virtual coordinate S4 and the fifth virtual coordinate S5. The fourth route 220d is a route connecting the fifth virtual coordinate S5 and the sixth virtual coordinate S6. The fifth route 220e is a route connecting the sixth virtual coordinate S6 and the second virtual coordinate S2. The fifth route 220e overlaps a part of the movement route 210. As with the first route 220a, the equations of straight lines representing the second route 220b to the fifth route 220e are calculated using the second virtual coordinate S2 to the sixth virtual coordinate S6. The detour route calculation unit 110 calculates a route connecting the equations of straight lines of the first route 220a to the fifth route 220e as the detour route 220.

[0070] When step S307 is executed, the machining tool 6 may be moved from the first coordinate C1 (see FIG. 3) to the second coordinate C2 (see FIG. 4) based on the detour path 220. That is, in the space 11a (see FIG. 3), the machining tool 6 may be moved from the first coordinate C1 to the second coordinate C2 along a path corresponding to the detour path 220. Furthermore, for example, when the control device 100B executes cutting processing based on cutting data including multiple movements, steps S301 to S307 may be executed before each movement is executed. In this case, the first coordinate C1 and the second coordinate C2 are specified by the cutting data. However, in the case of the second or subsequent movements, steps S303 and S304 may be omitted. In this case, the position of the second coordinate C2 in the first movement becomes the position of the first coordinate C1 in the second movement. The same applies to the third or subsequent movements.

[0071] As described above, according to the control device 100B (collision estimation program 100Ba), when the determination unit 106 determines that the movement path 210 and the virtual object 200 overlap, the detour path calculation unit 110 calculates the detour path 220. The detour path 220 is a path that passes through the third virtual coordinate S3 to the sixth virtual coordinate S6 and heads from the first virtual coordinate S1 to the second virtual coordinate S2. The third virtual coordinate S3 to the sixth virtual coordinate S6 are coordinates outside the virtual object 200, and therefore the detour path 220 does not overlap with the virtual object 200. Therefore, even when it is estimated that the processing tool 6 will collide with the object, the detour path calculation unit 110 can automatically calculate a path that will prevent the processing tool 6 from colliding with the object.

[0072] In the third embodiment described above, the collision estimation program 100Ba is installed in the control device 100B of the cutting machine 10B, but this is not limiting. For example, the collision estimation program 100Ba may be installed in a computer that is not connected to the cutting machine 10B. For example, by calculating the detour path 220 in the computer on which the collision estimation program 100Ba is installed, it is possible to obtain a path that avoids a collision between the processing tool 6 and an object through simulation.

[0073] In the third embodiment described above, the detour path 220 is a path that passes above the virtual object 200 in the W-axis direction, but is not limited to this. For example, when moving from the first virtual coordinate S1 to the second virtual coordinate S2, the detour path 220 may be a path that passes below the virtual object 200 in the W-axis direction, or may be a path that passes forward or backward in the U-axis direction. Furthermore, although a portion of the detour path 220 overlaps with a portion of the movement path 210, the detour path 220 does not have to overlap with a portion of the movement path 210. The detour path 220 may be, for example, a path that moves from the first virtual coordinate S1 upward or downward in the W-axis direction, or forward or backward in the U-axis direction, and then proceeds in the V-axis direction.

[0074] Unless otherwise specified, the embodiments do not limit the present invention. For example, the cutting machine does not have to be a dental cutting machine for producing dental molded products. The workpiece does not have to be held in the cutting machine via an adapter, but may be held directly by the cutting machine. Furthermore, the embodiments can be combined as appropriate. [Explanation of symbols]

[0075] 1 Workpiece 6 Processing Tools 11a Space 80 Tool Stocker (Object) 100a Collision Estimation Program 101 First coordinate acquisition unit 102 Second coordinate acquisition unit 104 Virtual Object Creation Department 105 Route calculation unit 106 Judgment section 200 Virtual Objects 210 Travel Route C1 First coordinate C2 Second coordinate VS Virtual Space

Claims

1. a first coordinate acquisition unit that acquires first coordinates, which are coordinates at which a processing tool is placed, within a space in which at least one object is placed and a process related to cutting of a workpiece is performed; a second coordinate acquisition unit that acquires second coordinates that are different from the first coordinates in the space; a virtual object creation unit that creates a virtual object corresponding to the object in a virtual space corresponding to the space; a path calculation unit that calculates a movement path of the processing tool in the virtual space when the processing tool moves from the first coordinate system toward the second coordinate system; a determination unit that determines whether or not the movement path overlaps with the virtual object in the virtual space.

2. The collision estimation program according to claim 1 , wherein the first coordinates and the second coordinates are coordinates at which a tip of the processing tool is positioned.

3. The collision estimation program according to claim 1 , further comprising a notification unit that notifies the determination unit that the movement path and the virtual object overlap.

4. 2. The collision estimation program according to claim 1, further comprising: a detour path calculation unit that calculates, when the determination unit determines that the movement path and the virtual object overlap, a detour path that is a path in the virtual space of the processing tool when the processing tool moves from the first coordinate system toward the second coordinate system and that avoids overlap with the virtual object.

5. 5. A collision estimation device configured to have the collision estimation program according to claim 1 installed therein and to execute the installed collision estimation program.

6. The collision estimation device according to claim 5 ; a case body having the space formed therein; the processing tool; and a tool moving device that moves the processing tool.

7. an object moving device for moving the object; 7. The cutting machine according to claim 6, wherein the collision estimation program is configured to cause the computer to further realize a position correction unit that corrects a position of the virtual object when the object is moved by the object moving device.

8. 7. The cutting machine according to claim 6, wherein the collision estimation program is configured to further cause the computer to realize an evacuation unit that moves the processing tool to a evacuation position that avoids interference between the processing tool and the object when the determination unit determines that the movement path and the virtual object overlap.

Citation Information

Patent Citations

  • Cutting machine

    JP2020028966A