Path generation device, numerical control device, path generation method, and computer program

WO2026220596A1PCT designated stage Publication Date: 2026-10-22FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/015276
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-18
Publication Date
2026-10-22

Smart Images

  • Figure JP2025015276_22102026_PF_FP_ABST
    Figure JP2025015276_22102026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is technology capable of generating desired paths for each axis under given constraint conditions regardless of machining content and even when there is a step on the surface of a workpiece to be machined. This path generation device comprises: a motion characteristic acquisition unit that acquires motion characteristics of each axis of an industrial machine at a movement start point and a movement end point; a motion limit acquisition unit that acquires motion limits indicating the range of possible values of the motion characteristics of each axis during movement from the movement start point to the movement end point; an operation pattern determination unit that determines the operation pattern of each axis on the basis of the motion characteristics and the motion limits; a path calculation unit that, on the basis of the operation pattern, calculates, for each axis, a path that satisfies the motion characteristics and the motion limits; and a coupling unit that couples the calculated paths of the axes. The path calculation unit generates, for each axis, a path having a segment for movement along a straight line from the movement start point to a first linear movement guarantee point, a segment for movement from the first linear movement guarantee point to a second linear movement guarantee point, and a segment for movement along a straight line from the second linear movement guarantee point to the movement end point.
Need to check novelty before this filing date? Find Prior Art

Description

Route generation device, numerical control device, route generation method, and computer program

[0001] This disclosure relates to a route generation device, a numerical control device, a route generation method, and a computer program.

[0002] Conventionally, in machining operations using machine tools such as drilling, tapping, and milling, after cutting, the tool is retracted from the workpiece, and a rapid traverse movement is performed to move to the next cutting feed without further machining. Here, the rapid traverse command is a command containing G00, such as "G00X_Y_Z_;". For example, in the case of the command "G00X10.0Y10.0Z10.0;", it is a rapid traverse movement to the position X10.0Y10.0Z10.0, and the movement is performed so as not to exceed the pre-specified rapid traverse speed. Similarly, the cutting feed movement command is a command containing G01, such as "G01X_Y_Z_F_;", and the movement is performed so as not to exceed the commanded feed rate F. Positioning movement refers to all movements that move to a certain point. Positioning is generally done with rapid traverse movement, but it can also be done with cutting feed movement, and positioning movement is generally commanded to follow a linear trajectory.

[0003] Figure 50 is a schematic cross-sectional view showing the path of a conventional drilling process. As shown in Figure 50, for example, in drilling using a fixed cycle G81, rapid traverse movement is performed from the reference point of the first hole (hereinafter referred to as point R) to the R point of the second hole. This rapid traverse movement is linear and does not exceed the maximum speed and acceleration (which may include jerk) that each axis of the machine tool can produce.

[0004] In linear movement as described above, the distance traveled is naturally shorter. However, conventional path generation techniques are currently unable to generate paths for each axis that, under given constraints, for example, minimize travel time.

[0005] For example, when moving between holes in a drilling process, if the movement is from point R of the first hole to point R of the second hole, point R is usually commanded to be located about 1 mm to 5 mm above the upper surface of the workpiece Wp. Therefore, as shown in Figure 50, if point W is the point on the upper surface of the workpiece, there is room for improvement in the movement of each axis when moving from point W to point R of the first hole. In addition, when moving from point R of the second hole to point W, in a fixed cycle, the movement is commanded by cutting feed movement, which has more limited speed and acceleration than rapid traverse movement, so there is room for improvement in the movement of each axis.

[0006] In response to this, one could consider, for example, commanding point R to be at a lower position than before. However, even in this case, because the tool is decelerated and stopped (may not stop completely) when it reaches point R from point Z, which is the bottom of the first hole, the speed of the Z axis is reduced between point Z at the bottom of the hole and point R, resulting in a longer travel time.

[0007] Figure 51 is a schematic plan view showing the path of a conventional milling operation. As shown in Figure 51, for example, milling is performed by a combination of commands such as G01, which is a linear interpolation command for cutting feed movement, and G00, which is a rapid traverse movement command, with rapid traverse movement occurring between reciprocating cutting feed movements. With such a combination of commands, deceleration is performed to reach the commanded position, and acceleration is required after reaching the next position, resulting in inefficient operation of each axis.

[0008] To improve the inefficient movement of each axis in drilling and milling operations as described above, an overlap function is used. The overlap amount is set in advance, independently of the command. As shown in Figures 50 and 51, this overlap function allows for the execution of a rapid traverse command before the cutting tool T reaches point R in drilling operations, and during the cutting feed movement in milling operations, thereby shortening the machining time.

[0009] However, this overlap function needs to be adjusted according to the machining process and cannot be defined in a general way. Furthermore, the cutting tool T may interfere with the workpiece Wp, and it may not be possible to shorten the machining time.

[0010] As shown in Figure 50, for example, in drilling, if the program is changed to command a lower height for point R, a large overlap amount will cause the cutting tool T to interfere with the workpiece Wp, so the overlap amount needs to be changed. Also, as shown in Figure 51, if the overlap function is executed in milling, the cutting tool T will move on the milled surface under rapid traverse machining conditions, making it impossible to perform the desired machining.

[0011] Therefore, regardless of the machining content, there is a need for a technology that can generate paths for each axis under given constraints, for example, to shorten the travel time. Accordingly, a numerical control device that can easily shorten machining time has been disclosed (see, for example, Patent Document 1), and according to this numerical control device, it is possible to calculate the change in the time of the path when the limit value of the parameter related to tool movement is changed, and thus the travel time can be reduced to within a desired time by changing the parameter limit value.

[0012] Japanese Patent Publication No. 2020-95317

[0013] However, the numerical control device described in Patent Document 1 is not a technology that generates paths for each axis that can reduce travel time by changing the parameter limit values. In the first place, conventional path generation technology generates paths for each axis by distributing the generated tool movement path to each axis, so it cannot be said that the desired paths for each axis are generated, and there is a need for the development of a technology that can generate desired paths for each axis that can shorten the travel time, for example. Furthermore, when the path is a path for machining a workpiece, there may be steps on the surface of the workpiece. Therefore, the purpose of this disclosure is to provide a technology that can generate desired paths for each axis under given constraints, regardless of the machining content and even when there are steps on the surface of the workpiece to be machined.

[0014] This disclosure relates to a path generation device comprising: a motion characteristic acquisition unit that acquires the motion characteristics of each axis of an industrial machine at a starting point and a moving end point; a motion limit acquisition unit that acquires motion limits indicating the range of values ​​that the motion characteristics of each axis can take when moving from the starting point to the moving end point; a motion pattern determination unit that determines the operation pattern of each axis based on the motion characteristics acquired by the motion characteristic acquisition unit and the motion limits acquired by the motion limit acquisition unit; a path calculation unit that calculates a path for each axis that satisfies the motion characteristics acquired by the motion characteristic acquisition unit and the motion limits acquired by the motion limit acquisition unit based on the operation pattern determined by the motion pattern determination unit; and a coupling unit that combines the paths for each axis calculated by the path calculation unit, wherein the path calculation unit generates a path for each axis having a section that moves in a straight line from the starting point to a first linear movement guarantee point, a section that moves from the first linear movement guarantee point to a second linear movement guarantee point, and a section that moves in a straight line from the second linear movement guarantee point to a moving end point.

[0015] The present disclosure also relates to a path generation method comprising: a motion characteristic acquisition step for acquiring the motion characteristics of each axis of an industrial machine at a starting point and an ending point; a motion limit acquisition step for acquiring motion limits indicating the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point; a motion pattern determination step for determining the motion pattern of each axis based on the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step for calculating a path for each axis that satisfies the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step based on the motion pattern determined in the motion pattern determination step; and a joining step for combining the paths for each axis calculated in the path calculation step, wherein the path calculation step generates a path for each axis having a section of movement in a straight line from the starting point to a first linear movement guarantee point, a section of movement from the first linear movement guarantee point to a second linear movement guarantee point, and a section of movement in a straight line from the second linear movement guarantee point to the ending point.

[0016] This disclosure also relates to a computer program that causes a computer to perform the following steps: a motion characteristic acquisition step to acquire the motion characteristics of each axis of an industrial machine at a starting point and an ending point; a motion limit acquisition step to acquire motion limits indicating the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point; a motion pattern determination step to determine the motion pattern of each axis based on the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step to calculate a path for each axis that satisfies the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step based on the motion pattern determined in the motion pattern determination step; and a joining step to combine the paths for each axis calculated in the path calculation step, wherein in the path calculation step, a path for each axis is generated having a section that moves in a straight line from the starting point to a first linear movement guaranteed point, a section that moves from the first linear movement guaranteed point to a second linear movement guaranteed point, and a section that moves in a straight line from the second linear movement guaranteed point to the ending point.

[0017] This is a functional block diagram of the path generation device according to the first embodiment. This is a schematic cross-sectional diagram showing the path when path generation by the path generation device according to the first embodiment is applied to drilling. This is a schematic plan view showing the path when path generation by the path generation device according to the first embodiment is applied to milling. This is a diagram for explaining the basic principle of path generation by the path generation device according to the first embodiment. This is a diagram showing an example of a graph showing the position of each axis. This is a diagram showing an example of the motion characteristics of each axis. This is a diagram showing an example of the motion limitations of each axis. This is a diagram showing the motion pattern determination table that the motion pattern determination unit stores in advance. This is a diagram of motion pattern 1. This is a diagram of motion pattern 2. This is a diagram of motion pattern 3. This is a diagram of motion pattern 4. This is a flowchart showing the procedure for motion pattern determination processing by the motion pattern determination unit when the velocity and acceleration applied to two points are both 0. This is a diagram showing the position function of the X-axis path in motion pattern 1. This is a diagram showing the X-axis path in motion pattern 1. This is a diagram for explaining the combination of the X-axis and Y-axis paths of the feed axis. This is a schematic perspective view showing the path when path generation by the path generation device according to the second embodiment is applied to drilling. This is a diagram schematically showing the Z-axis movement path of the second embodiment. This figure shows linear interpolation type positioning operation and non-linear interpolation type positioning operation. This figure shows the extended operation patterns of extended positioning operation. This figure shows an example of an extended operation pattern for extended positioning operation when moving from a starting point (P1, V1, 0) to an ending point (P2, V2, 0). This figure shows the extended operation pattern determination table for extended positioning operation (velocity (arbitrary) / acceleration (0)). This figure shows the extended operation pattern when the movement distance |P2-P1| is less than a certain minimum movement distance. This figure shows extended operation pattern 1. This figure shows extended operation pattern 2. This figure shows extended operation pattern 3. This figure shows extended operation pattern 4. This figure shows extended operation pattern 5. This figure shows extended operation pattern 6. This figure shows extended operation pattern 7. This figure shows extended operation pattern 8. This figure shows an example of an extended operation pattern for extended positioning operation when moving from a starting point (P1, V1, A1) to an ending point (P2, V2, A2).This figure shows an extended motion pattern curve for movement from a starting point (P1, Vp1, Ap1) to an ending point (P2, Vp2, Ap2), with an additional curve passing through points with acceleration 0 and arbitrary velocities Vp1' and Vp2'. This figure shows the position in the Z-axis direction of a cutting tool with a tapered tip. This figure shows the position, velocity, and acceleration at the starting and ending points of each Z-axis section. This figure shows the distance between two holes. This is a flowchart showing the procedure for determining the distance between holes. This figure shows the Z-axis motion pattern by integrating Z-axis section 1 and Z-axis section 2. This figure shows the motion pattern of each axis when the distance between holes is sufficiently far. This figure shows the Z-axis motion pattern when Z-axis section 2 and Z-axis section 3 overlap. This figure shows the motion pattern of each axis when the distance between holes is sufficiently close. This figure shows the motion pattern of each axis when the distance between holes is neither sufficiently far nor sufficiently close. This figure is for explaining the guaranteed linear movement distance immediately before the start of cutting. This figure is for explaining the guaranteed linear movement distance when the tool is withdrawn. This figure shows a configuration in which multiple holes are drilled and jigs of different lengths in the Z-axis direction are placed on the workpiece surface. This figure illustrates cutting a workpiece with steps on its surface. This figure shows the change in axis speed over time to illustrate a method for creating the path at the start of cutting. This figure shows the change in axis speed over time to illustrate another method for creating the path at the start of cutting. This figure shows an example of a program. This figure shows an example of an interactive screen for inputting commands. This is a schematic cross-sectional diagram showing the path of a conventional drilling process. This is a schematic plan view showing the path of a conventional milling process.

[0018] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment and subsequent embodiments, components common to the first embodiment will be denoted by the same reference numerals, and their descriptions will be omitted as appropriate.

[0019] [First Embodiment] The path generation device 1 according to the first embodiment of this disclosure is a device capable of generating desired paths for each axis under given constraints, regardless of the machining content. The path generation device 1 according to this embodiment is provided in a numerical control device that controls a machine tool. However, it is not limited to this, and the path generation device 1 may be provided in various computers, various servers, etc.

[0020] Here, "capable of generating desired paths for each axis" means, for example, that the paths for each axis can be generated such that the travel time for at least one axis of each axis is shorter than a predetermined time. The predetermined time is set to, for example, the travel time for each axis generated by the conventional path generation technology described above. Alternatively, "capable of generating desired paths for each axis" may also mean, for example, that the paths for each axis can be generated such that the travel time for at least one axis of each axis is minimized. In the following description, the path generation device 1 of this embodiment will be described as a device capable of generating paths for each axis such that the travel time for at least one axis of each axis is minimized, but it is not limited to this.

[0021] The route generation device 1 is configured using a computer equipped with memory such as ROM (read-only memory) and RAM (random access memory), a CPU (central processing unit), and a communication control unit, all connected to each other via a bus. The functions and operations of each functional unit, described later, are achieved through the cooperation of the CPU, memory, and control programs stored in the memory installed in the computer.

[0022] Figure 1 is a functional block diagram of the path generation device 1 according to the first embodiment. As shown in Figure 1, the path generation device 1 includes a motion characteristic acquisition unit 11, a motion limit acquisition unit 12, an operation pattern determination unit 13, a path calculation unit 14, and a coupling unit 15 as functional units for generating paths for each axis such that the movement time of at least one axis of each axis is minimized under given constraints, regardless of the processing content.

[0023] Specifically, the path generation device 1 of this embodiment generates a path for positioning movement by rapid traverse movement that does not involve machining, such as between cutting operations, in the machining operations of a cutting machine as a machine tool. More specifically, in generating a path from the rapid traverse start point to the rapid traverse end point, the path generation device 1 of this embodiment generates the path for each axis such that the movement time of at least one axis of each axis is minimized under given constraints. Here, rapid traverse movement is an operation commanded by a rapid traverse command G00, which is one of the conventionally known G codes.

[0024] Figure 2 is a schematic cross-sectional view showing the path when the path generation by the path generation device 1 according to the first embodiment is applied to drilling. In Figure 2, solid arrows represent the path of cutting feed movement, and dashed arrows represent the path of rapid traverse movement. In the example of drilling shown in Figure 2, first, after the cutting feed movement of the first hole, the cutting tool T is withdrawn from the bottom of the first hole by rapid traverse movement, and the cutting tool T is moved to the vicinity of the top surface of the second hole by rapid traverse movement. After that, the cutting tool T is moved by cutting feed movement to the bottom of the second hole, and then the cutting tool T is withdrawn from the bottom of the second hole by rapid traverse movement.

[0025] Here, the path from the bottom of the first hole to the vicinity of the top surface of the second hole is the path through which rapid traverse occurs. Therefore, the bottom of the first hole is defined as the rapid traverse start point (hereinafter also referred to as the start point) S. The point near the top surface of the second hole is defined as the rapid traverse end point (hereinafter also referred to as the end point) E. The path from the rapid traverse start point S to the rapid traverse end point E is expressed by a position function with time as an argument. This position function will be described in detail later. From these rapid traverse start point S and rapid traverse end point E, for example, motion characteristics such as position, velocity, and acceleration can be obtained, respectively. However, it is not limited to this, and motion characteristics up to the nth derivative with respect to time of the position function with respect to time as an argument for each axis (the first derivative is velocity, the second derivative is acceleration, the third derivative is jerk, and the fourth derivative is snap) can be obtained.

[0026] Figure 3 is a schematic plan view showing the path when the path generation by the path generation device 1 according to the first embodiment is applied to milling. In Figure 3, solid arrows represent the path of cutting feed movement, and dashed arrows represent the path of rapid traverse movement. In the milling example shown in Figure 3, rapid traverse movement is performed between the reciprocating cutting feed movement. Therefore, similar to drilling, the end point of the forward movement of the cutting feed can be defined as the rapid traverse start point S, and the start point of the return movement of the cutting feed can be defined as the rapid traverse end point E.

[0027] The path generation device 1 according to this embodiment is capable of generating paths for each axis such that the travel time of at least one axis is minimized under given constraints, regardless of whether it is a drilling operation or a milling operation. In other words, the path generation device 1 according to this embodiment is capable of generating paths for each axis such that the travel time of at least one axis is minimized under given constraints, regardless of the type of machining operation.

[0028] Returning to Figure 1, let's explain each functional part of the path generation device 1 in detail. The motion characteristic acquisition unit 11 acquires the motion characteristics of each axis of the machine tool at the rapid traverse start point S and the rapid traverse end point E. Examples of the axes of the machine tool include the basic axes X, Y, and Z axes, as well as rotational axes around these axes, i.e., additional axes A, B, and C axes, and the main spindle, with at least one of these being included. Examples of motion characteristics include at least one of the position, velocity, and acceleration of each axis, with position and velocity, or position, velocity, and acceleration being particularly important.

[0029] As described above, the rapid traverse start point S and the rapid traverse end point E are each assigned motion characteristics such as position, velocity, and acceleration. Also, as described above, the path from the rapid traverse start point S to the rapid traverse end point E can be expressed as a position function with time as an argument. The motion characteristic acquisition unit 11 acquires each of the above motion characteristics from the machining program, parameters set in the numerical control device, or user input information.

[0030] Here, the basic principle of path generation by the path generation device 1 according to this embodiment will be explained. Figure 4 is a diagram illustrating the basic principle of path generation by the path generation device 1 according to the first embodiment. If there are two points on one of the axes of a machine tool, and the position, velocity, and acceleration at each point, i.e., the motion characteristics, and the range of possible values ​​for position, velocity, acceleration, and jerk, i.e., the motion limitations are given, then there will always be a path that satisfies these conditions and minimizes the travel time. This is called the basic principle of path generation by the path generation device 1 according to this embodiment. Note that this basic principle is synonymous with extended positioning, which will be described in detail later. Such a path can be expressed as a position function with time as an argument. In this embodiment, it is possible to achieve a desired operation by considering and combining such paths on multiple axes.

[0031] As shown in Figure 4, for example, two points are selected as the fast-forward start point S and the fast-forward end point E. The position, velocity, and acceleration given to the fast-forward start point S are denoted as P1, V1, and A1, respectively, and expressed as (P1, V1, A1). Similarly, the position, velocity, and acceleration given to the fast-forward end point E are denoted as P2, V2, and A2, respectively, and expressed as (P2, V2, A2). These notations will be used in the following explanation as well. V1, V2, A1, and A2 are all arbitrary values ​​and are not necessarily zero. Based on the basic principle described above, a graph showing the position of each axis is obtained by acquiring the position, velocity, and acceleration at the moment the object passes through these two points, the fast-forward start point S and the fast-forward end point E, as well as the maximum values ​​of velocity, acceleration, and jerk. Figure 5 shows an example of a graph showing the position of each axis. This graph represents the path that theoretically minimizes the travel time within the specified range of motion limitations.

[0032] In accordance with the basic principles described above, the motion characteristics of the rapid traverse start point S and the rapid traverse end point E are given for each axis. Figure 6 shows an example of the motion characteristics of each axis. In the example shown in Figure 6, the position, velocity, and acceleration at the rapid traverse start point S and the rapid traverse end point E are set for each axis: the X axis, Y axis, and Z axis. The motion characteristic acquisition unit 11 acquires the motion characteristics of each axis as shown in Figure 6.

[0033] Returning to Figure 1, the motion limit acquisition unit 12 acquires motion limits that indicate the range of possible values ​​for the motion characteristics of each axis during rapid traverse movement from the rapid traverse start point S to the rapid traverse end point E. The motion limits that indicate the range of possible values ​​for each motion characteristic are set, for example, based on the machine configuration of the machine tool. Depending on the machine configuration of the machine tool, for example, the maximum values ​​of the position, velocity, acceleration, and jerk of each axis are set. In this embodiment, the path of each axis is calculated so that the movement time of at least one axis is minimized within the range of motion limits restricted according to the machine configuration. The motion limit acquisition unit 12 acquires the motion limits of each motion characteristic from the machining program, parameters set in the numerical control device, or user input information.

[0034] Figure 7 shows an example of motion limitations for each axis. In the example shown in Figure 7, maximum values ​​for velocity, acceleration, and jerk are set for each axis: X, Y, and Z. If these are denoted as V, A, and J respectively, the range of possible values ​​for velocity, acceleration, and jerk is often between -V and V, between -A and A, and between -J and J, respectively, although the absolute values ​​of the maximum and minimum values ​​may differ. The motion limitation acquisition unit 12 acquires the motion limitations for each axis as shown in Figure 7.

[0035] Returning to Figure 1, the motion pattern determination unit 13 determines the motion pattern of each axis based on the motion characteristics acquired by the motion characteristics acquisition unit 11 and the motion limits acquired by the motion limit acquisition unit 12, such that the travel time of at least one axis from the fast-forward movement start point S to the fast-forward movement end point E is minimized. In this embodiment, the motion pattern determination unit 13 determines the motion pattern of each axis based on the travel distance from the fast-forward movement start point S to the fast-forward movement end point E, such as the travel distance from the fast-forward movement start point S to the fast-forward movement end point E, such that the travel time of at least one axis from the fast-forward movement start point S to the fast-forward movement end point E is minimized. More specifically, when V1=0, V2=0, A1=0, and A2=0, the motion pattern determination unit 13 in this embodiment classifies and determines the motion pattern based on whether the velocity of each axis reaches its maximum value, for example, based on the travel distance from the fast-forward movement start point S to the fast-forward movement end point E. Furthermore, the motion pattern determination unit 13 in this embodiment further classifies and determines the motion pattern based on whether the acceleration of each axis reaches its maximum value, for example.

[0036] The motion pattern determination unit 13 stores, for example, a motion pattern determination table in advance and determines the motion pattern by referring to this motion pattern determination table. Figure 8 is a diagram showing the motion pattern determination table that the motion pattern determination unit 13 stores in advance. As shown in Figure 8, when V1=0, V2=0, A1=0, and A2=0, the motion of each axis that satisfies the motion characteristics acquired by the motion characteristics acquisition unit 11 and the motion limits acquired by the motion limit acquisition unit 12, and minimizes the travel time of at least one axis from the fast-forward movement start point S to the fast-forward movement end point E, is classified into four motion patterns 1 to 4 when represented on a graph with time (s) on the horizontal axis and velocity (mm / s) on the vertical axis. In this embodiment, the motion pattern determination unit 13 determines which of motion patterns 1 to 4 the motion pattern of each axis corresponds to based on the pre-stored motion pattern determination table.

[0037] The operation patterns 1 to 4 of each axis will be described in detail with reference to FIGS. 9 to 12. FIG. 9 is a diagram showing operation pattern 1. FIG. 10 is a diagram showing operation pattern 2. FIG. 11 is a diagram showing operation pattern 3. FIG. 12 is a diagram showing operation pattern 4. FIGS. 9 to 12 represent the operation of each axis that satisfies the motion characteristics acquired by the motion characteristic acquisition unit 11 and the motion constraints acquired by the motion constraint acquisition unit 12 as a relationship curve between speed and time, with the horizontal axis representing time (s) and the vertical axis representing speed (mm / s). Each operation pattern shown in FIGS. 9 to 12 is an operation pattern of any one of the axes, for example, the operation pattern of the X-axis. The X-axis and Y-axis in drilling, tapping, and the like move in this manner.

[0038] As shown in FIG. 9, operation pattern 1 is an operation pattern in which the absolute value of speed reaches a maximum and the absolute value of acceleration also reaches a maximum. This operation pattern 1 is a case where the absolute value of speed can reach the maximum during rapid traverse movement because the movement distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be long. At the same time, since the maximum value of acceleration is set to be small, the absolute value of acceleration can also reach the maximum.

[0039] As shown in FIG. 10, operation pattern 2 is an operation pattern in which the absolute value of speed does not reach a maximum, but the absolute value of acceleration reaches a maximum. This operation pattern 2 is a case where the absolute value of speed cannot reach the maximum during rapid traverse movement because the movement distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be short. At the same time, since the maximum value of acceleration is set to be small, the absolute value of acceleration can reach the maximum.

[0040] As shown in FIG. 11, operation pattern 3 is an operation pattern in which the absolute value of speed reaches a maximum, but the absolute value of acceleration does not reach a maximum. This operation pattern 3 is a case where the absolute value of speed can reach the maximum during rapid traverse movement because the movement distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be long. At the same time, since the maximum value of acceleration is set to be large, the absolute value of acceleration does not reach the maximum.

[0041] As shown in FIG. 12, motion pattern 4 is a motion pattern in which the absolute value of the velocity does not reach the maximum value, and the absolute value of the acceleration also does not reach the maximum value. This motion pattern 4 is a case where the absolute value of the velocity cannot reach the maximum value during rapid traverse movement because the movement distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be short. At the same time, since the maximum value of the acceleration is set to be large, this is a case where the absolute value of the acceleration also does not reach the maximum value.

[0042] Next, the procedure of the motion pattern determination processing by the motion pattern determination unit 13 will be described. FIG. 13 is a flowchart showing the procedure of the motion pattern determination processing by the motion pattern determination unit 13 when both the velocity and the acceleration given to two points are 0. This motion pattern determination processing is executed in response to the motion characteristics being acquired by the motion characteristic acquisition unit 11 and the motion limits being acquired by the motion limit acquisition unit 12 when the path generation device 1 generates a path between two points. In the present processing, it is assumed that the ranges of possible values of velocity, acceleration, and jerk, that is, the motion limits, are set to be not less than -V and not more than V, not less than -A and not more than A, and not less than -J and not more than J, respectively.

[0043] In step S11, A is (VJ) 1/2 less than, and it is determined whether or not the distance between the two points is greater than V(A / J + V / A). These conditional expressions are calculated based on the position function of FIG. 14 to be described later. If this determination is YES, the distance between the two points is long, the absolute value of the velocity reaches the maximum value V, and the absolute value of the acceleration also reaches the maximum value A, so the process proceeds to step S12, where the motion pattern is determined to be motion pattern 1, and the present processing is terminated. If this determination is NO, the process proceeds to step S13.

[0044] In step S13, A is (VJ) 1/2 less than, and the distance between the two points is not more than V(A / J + V / A) and 2A 3 / J 2The process determines whether the value is greater than or equal to the given value. These conditional expressions are calculated based on the position function shown in Figure 14, which will be described later. If the determination is YES, the distance between the two points is short and the absolute value of the velocity does not reach the maximum value V, but the absolute value of the acceleration reaches the maximum value A. Therefore, the process proceeds to step S14, where it is determined that the operation pattern is operation pattern 2, and the process ends. If the determination is NO, the process proceeds to step S15.

[0045] In step S15, A is (VJ) 1/2 In addition, the distance between the two points is 2V (V / J). 1/2 It is determined whether the value is greater than or equal to the given value. These conditional expressions are calculated based on the position function shown in Figure 14, which will be described later. If this determination is YES, the distance between the two points is long and the absolute value of the velocity reaches the maximum value V, but the absolute value of the acceleration does not reach the maximum value A. Therefore, the process proceeds to step S16, where it is determined that the operation pattern is operation pattern 3, and the process ends. If this determination is NO, the distance between the two points is short and the absolute value of the velocity does not reach the maximum value V, and the absolute value of the acceleration also does not reach the maximum value A. Therefore, the process proceeds to step S17, where it is determined that the operation pattern is operation pattern 4, and the process ends.

[0046] Returning to Figure 1, the path calculation unit 14 calculates a path for each axis that satisfies the motion characteristics acquired by the motion characteristics acquisition unit 11 and the motion limitations acquired by the motion limitation acquisition unit 12, based on the motion pattern determined by the motion pattern determination unit 13, so as to minimize the travel time of at least one axis from the fast-forward movement start point S to the fast-forward movement end point E. That is, the path calculation unit 14 calculates a path for each axis that satisfies, for example, the motion characteristics of at least one axis among position, velocity, and acceleration, and motion limitations that indicate the range of possible values ​​for each of these motion characteristics, such as the maximum value of each motion characteristic.

[0047] The calculation of the path for each axis by the path calculation unit 14 will be described in detail by taking the calculation of the X-axis path in the case of operation pattern 1 as an example. As shown in FIG. 9, the relationship curve between time and speed in operation pattern 1 has two linear portions where the absolute value of acceleration reaches the maximum and the speed changes linearly, one linear portion where the absolute value of speed reaches the maximum and the speed is constant, and four non-linear portions that connect these linear portions and the point of zero speed, where the speed changes in a non-linear quadratic function manner. Therefore, the path calculation unit 14 calculates the position function of the X-axis path by performing integration for each section of these linear portions and non-linear portions.

[0048] FIG. 14 is a diagram showing the position function of the X-axis path in operation pattern 1. As shown in FIG. 14, the position function of the X-axis path calculated by the path calculation unit 14 is a position function with time as an argument. In each of the expressions shown in FIG. 14, p 0 is the position of the rapid traverse movement start point, p 1 is the position of the rapid traverse movement end point, t 0 is the initial value of time, V represents the maximum value of speed, A represents the maximum value of acceleration, and J represents the maximum value of jerk. The expressions in FIG. 14 are for p 0 < p 1This is the formula for the time of . The first line of the position function p(t) shown in the upper part of Figure 14 corresponds to the first line of each section shown in the lower part, and is the position function of the nonlinear part of the initial rise in motion pattern 1. The second line of the position function p(t) corresponds to the second line of each section, and is the position function of the linear part of motion pattern 1 when the acceleration reaches its maximum and becomes constant. The third line of the position function p(t) corresponds to the third line of each section, and is the position function of the nonlinear part of motion pattern 1 before the velocity reaches its maximum. The fourth line of the position function p(t) corresponds to the fourth line of each section, and is the position function of the linear part of motion pattern 1 when the velocity reaches its maximum and becomes constant. The fifth line of the position function p(t) corresponds to the fifth line of each section, and is the position function of the nonlinear part of motion pattern 1 when the velocity decelerates from its maximum. The sixth line of the equation for the position function p(t) corresponds to the sixth line of each interval and is the position function of the linear portion in motion pattern 1 when the acceleration is constant after deceleration and acceleration reaches its maximum. The seventh line of the equation for the position function p(t) corresponds to the seventh line of each interval and is the position function of the nonlinear portion of the final falling edge in motion pattern 1.

[0049] Figure 15 shows a concrete representation of the position function shown in Figure 14 as a curve relating position and time, representing the X-axis path that satisfies the motion characteristics and motion constraints. That is, Figure 15 is a diagram showing the X-axis path in motion pattern 1. In Figure 15, the horizontal axis is time (s) and the vertical axis is position (mm). According to the X-axis path shown in Figure 15, it can be seen that the position changes nonlinearly in the vicinity of the fast-forward movement start point S and fast-forward movement end point E, and changes linearly in between. In this manner, the path calculation unit 14 calculates the path for each axis.

[0050] Returning to Figure 1, the coupling unit 15 combines the paths of each axis calculated by the path calculation unit 14. That is, the coupling unit 15 combines the multiple paths of each axis calculated by the path calculation unit 14 to generate a tool path, which is the path from the rapid traverse start point S to the rapid traverse end point E, i.e., the movement path of the cutting tool T.

[0051] Here, Figure 16 is a diagram illustrating the coupling of the X-axis and Y-axis paths of the feed axis. As shown in Figure 16, the X-axis path and the Y-axis path are represented by a velocity-time relationship curve, for example, with the horizontal axis representing time (s) and the vertical axis representing velocity (mm / s). In the example shown in Figure 16, the X-axis path has a velocity of 0 at the rapid traverse starting point S, gradually accelerates and then gradually decelerates, and the velocity becomes 0 before reaching the rapid traverse ending point E. On the other hand, the Y-axis path has a velocity of 100 at the rapid traverse starting point S, and gradually decelerates to a velocity of -100 when it reaches the rapid traverse ending point E. The coupling by the coupling unit 15 is performed by simply adding these X-axis and Y-axis paths together, thereby generating the tool path, which is the movement path of the cutting tool T.

[0052] As described above, the path generation device 1 according to the first embodiment can calculate a path that minimizes the travel time of at least one axis from the rapid traverse start point S to the rapid traverse end point E, regardless of the machining content, under given constraints. Subsequently, by adding up the paths of each axis calculated in this way, the tool path, which is the fastest movement path of the cutting tool T from the rapid traverse start point S to the rapid traverse end point E, can be generated.

[0053] [Second Embodiment] The second embodiment is another example of applying the path generation according to this disclosure to rapid traverse movement in drilling. The path generation device according to the second embodiment has the same functional parts as the path generation device 1 according to the first embodiment described above. There are differences in the processing content of the functional parts from the first embodiment, but for convenience, the same reference numerals as in the first embodiment will be used to describe each functional part below. Figure 17 is a schematic perspective view showing the path when the path generation by the path generation device according to the second embodiment is applied to drilling. In this embodiment, as a prerequisite, it is assumed that no interference occurs between the cutting tool T and the workpiece Wp or surrounding objects such as jigs at positions above the workpiece surface W. Also, it is assumed that the height position of the openings on the workpiece surface W is the same for both the first and second holes, and that there are no steps on the workpiece surface W. Furthermore, the stroke limit of the Z axis is not considered. That is, cases where the path exists outside the movable range of the Z axis are not considered. These prerequisites also apply to drilling in the first embodiment.

[0054] Figure 18 schematically shows the Z-axis movement path of the second embodiment. Although only the Z-axis movement path is shown in Figure 18, for convenience, the movement path of Z-axis section 3 is shown shifted. As shown in Figure 18, the path generation of this embodiment is characterized by dividing the Z-axis movement path from the bottom of the first hole, which is the rapid traverse start point S, to a point near the top surface of the second hole, which is the rapid traverse end point E, into three sections in the order of Z-axis section 1, Z-axis section 2, and Z-axis section 3. Z-axis section 1 is the movement section from the bottom of the first hole to a point near the top surface of the first hole. Z-axis section 2 is the movement section from the point near the top surface of the first hole until the maximum reach distance is first reached. Z-axis section 3 is the movement section from the moment when the machine first starts moving downwards after reaching the maximum reach distance to a point near the top surface of the second hole. The maximum reach distance will be described in detail later.

[0055] In this embodiment, unlike the first embodiment described above, the motion pattern determination unit 13 and the path calculation unit 14 apply the extended positioning operation, which is the basic principle described later, to each of the above sections to determine the motion pattern and calculate the path for each axis. The coupling unit 15 combines the calculated paths for Z-axis section 1, Z-axis section 2, and Z-axis section 3 with the X-axis path and Y-axis path separately calculated by the path calculation unit 14 to generate the tool path, which is the path from the rapid traverse start point S to the rapid traverse end point E, i.e., the movement path of the cutting tool T. When combining the paths for each axis, the start time is adjusted and all the paths for each axis are added together.

[0056] The X-axis and Y-axis movements will now be explained. In the case of drilling, the X-axis and Y-axis movements are both normal positioning movements. As explained in the first embodiment, in a given axis, there exists a fastest movement that satisfies the following conditions at the moment of passing through the start and end points, with velocity = 0 and acceleration = 0, within a range of possible values ​​that do not exceed the maximum values ​​of the specified velocity, acceleration, and jerk. This is called a normal positioning movement from one position to another.

[0057] The X-axis and Y-axis movements can be synchronized to perform linear interpolation positioning, or they can be operated independently to perform non-linear interpolation positioning. Figure 19 shows linear interpolation positioning and non-linear interpolation positioning. As shown in Figure 19, in linear interpolation positioning, the tool moves along a straight line to the commanded point and is positioned at a speed that achieves the shortest positioning time without exceeding the rapid traverse speed, acceleration, and jerk of each axis. In non-linear interpolation positioning, each axis is positioned independently without exceeding the rapid traverse speed, acceleration, and jerk, and the tool path is usually not straight. In this embodiment, linear interpolation positioning is adopted, and the X-axis and Y-axis movements are synchronized. However, it is not limited to this, and it is also possible to adopt non-linear interpolation positioning, in which the X-axis and Y-axis movements are operated independently of each other.

[0058] Next, we will explain the Z-axis motion. In the conventional positioning motion described above, the velocity and acceleration at the moment of passing the start and end points are both 0. In contrast, in the Z-axis motion of this embodiment, the velocity and acceleration at the moment of passing these start and end points are extended to arbitrary values. This is called extended positioning motion and is synonymous with the basic principle described above. Figure 20 is a diagram showing the extended motion pattern of extended positioning motion. In an axis of extended positioning motion as shown in Figure 20, there exists the fastest motion that satisfies the respective positions at the moment of passing the start and end points, the arbitrary velocity, and the arbitrary acceleration, within a range that does not exceed the maximum values ​​of the specified velocity, acceleration, and jerk.

[0059] Here, we will explain the extended positioning operation in detail. First, let's consider the case where the velocity values ​​at the moment of passing the start and end points are arbitrary and the acceleration value is 0. That is, let's consider the case of moving from the start point (P1, V1, 0) to the end point (P2, V2, 0). Figure 21 is a diagram showing an example of an extended operation pattern for moving from the start point (P1, V1, 0) to the end point (P2, V2, 0) in the extended positioning operation. Note that Figure 21 shows the case where P2 - P1 > 0.

[0060] As described above, in normal positioning operations, when represented on a graph with time (s) on the horizontal axis and velocity (mm / s) on the vertical axis, the operation can be classified into four operation patterns 1 to 4. In contrast, in extended positioning operations, when the velocity value at the moment of passing the start and end points is arbitrary and the acceleration value is 0, the operation can be classified into eight extended operation patterns 1 to 8 when represented on a graph with time (s) on the horizontal axis and velocity (mm / s) on the vertical axis. In this embodiment as well, the operation pattern determination unit 13 classifies and determines the operation into one of the eight extended operation patterns.

[0061] Specifically, the motion pattern determination unit 13 determines an extended motion pattern based on the motion characteristics acquired by the motion characteristics acquisition unit 11 and the motion limits acquired by the motion limit acquisition unit 12, such that the travel time of at least one axis of each axis from the fast-forward movement start point to the fast-forward movement end point is minimized. In this embodiment, the motion pattern determination unit 13 classifies and determines eight extended motion patterns based on the travel distance from the fast-forward movement start point to the fast-forward movement end point, using three criteria: (1) whether the absolute value of the velocity of each axis reaches its maximum value, (2) whether the absolute value of the acceleration in the first half, i.e., the acceleration part, reaches its maximum value, and (3) whether the absolute value of the acceleration in the second half, i.e., the deceleration part, reaches its maximum value.

[0062] The motion pattern determination unit 13 stores, for example, an extended motion pattern determination table in advance and determines the extended motion pattern by referring to this extended motion pattern determination table. Figure 22 is a diagram showing the extended motion pattern determination table for extended positioning operations (velocity (arbitrary) and acceleration (0)) that the motion pattern determination unit 13 stores in advance. As shown in Figure 22, the extended positioning operations of each axis that satisfy the motion characteristics acquired by the motion characteristics acquisition unit 11 and the motion limits acquired by the motion limit acquisition unit 12 are classified into eight extended motion patterns 1 to 8 when represented on a graph with time (s) on the horizontal axis and velocity (mm / s) on the vertical axis. Based on this extended motion pattern determination table, the motion pattern determination unit 13 of this embodiment determines which of the extended motion patterns 1 to 8 the extended positioning operation of each axis corresponds to.

[0063] However, when V1 > 0, V2 > 0, and P2 - P1 > 0, if the travel distance P2 - P1 is smaller than a certain value, the movement from the starting point (P1, V1, 0) to the ending point (P2, V2, 0) will not initially be monotonically increasing. Figure 23 shows the extended movement pattern when the travel distance |P2 - P1| is smaller than a certain minimum travel distance. As shown in Figure 23, when the travel distance |P2 - P1|, which corresponds to the area enclosed by the horizontal time axis and the curve, is smaller than a certain minimum travel distance, it will start to decrease monotonically and then increase monotonically. For example, if V1 = 0, it will initially move in the opposite direction to the direction of movement. Therefore, in this embodiment, such cases will not be dealt with, and the case will be limited to when the travel distance |P2 - P1| is greater than or equal to the minimum travel distance.

[0064] Figures 24 to 31 show examples of graphs illustrating each of the eight extended operation patterns 1 to 8 shown in the extended operation pattern determination table in Figure 22. Figures 24 to 31 are diagrams illustrating extended operation patterns 1 to 8, respectively. As described above, in the extended positioning operation, if the velocity value at the moment of passing the start and end points is arbitrary and the acceleration value is 0, the extended positioning operation will be performed according to one of the extended operation patterns 1 to 8 shown in Figures 24 to 31.

[0065] Next, we consider the case in the extended positioning operation where the values ​​of velocity and acceleration at the moment of passing the start and end points are arbitrary. That is, we consider the case of moving from the start point (P1, V1, A1) to the end point (P2, V2, A2). Figure 32 is a diagram showing an example of an extended operation pattern in the extended positioning operation when moving from the start point (P1, V1, A1) to the end point (P2, V2, A2). Note that Figure 32 shows the case where P2 - P1 > 0.

[0066] In the extended positioning operation, consider a case where the values ​​of velocity and acceleration at the moment of passing the start and end points are arbitrary. For example, consider the case where the start point has an arbitrary non-zero acceleration Ap1 and an arbitrary velocity Vp1, and the end point has an arbitrary non-zero acceleration Ap2 and an arbitrary velocity Vp2. Figure 33 is a diagram in which curves passing through points with acceleration 0 and arbitrary velocities Vp1' and Vp2' are added to the extended operation pattern curve when moving from the start point (P1, Vp1, Ap1) to the end point (P2, Vp2, Ap2). In Figure 33, points with acceleration 0 and arbitrary velocities Vp1' and Vp2' are shown as gray points, and the curves passing through these gray points are shown as dashed curves. From Figure 33, it can be seen that it is as if acceleration 0 and arbitrary velocities Vp1' and Vp2' are present at the gray points, and then the time width only needs to be adjusted by the amount of the dashed curve. Using this method, even if the acceleration is an arbitrary value, it can be considered in the same way as when the velocity values ​​at the moment of passing through the starting and ending points are arbitrary and the acceleration value is 0.

[0067] Next, let's explain why the Z-axis section is divided into three parts. First, in Z-axis section 1, the cutting tool T is being withdrawn from the first hole, so it cannot move in the XY direction. However, in Z-axis sections 2 and 3, the cutting tool T has been withdrawn from the first hole, so it can move in the XY direction. Therefore, it is preferable to divide the section into the parts before and after the cutting tool T is withdrawn from the first hole, i.e., Z-axis section 1, and Z-axis sections 2 and 3.

[0068] Furthermore, depending on the shape of the cutting tool T, the boundary line between Z-axis section 1 and Z-axis section 2 may be located lower than the workpiece surface W. Figure 34 shows the position in the Z-axis direction of a cutting tool T with a conical tip. As shown in Figure 34, when the cutting tool T has a conical tip, there is no interference even if the point of the tool tip starts moving along the X-axis and / or Y-axis (hereinafter referred to as XY-axis movement) at a position slightly lower than the workpiece surface W.

[0069] Furthermore, if extended positioning is applied to the start point of Z-axis section 2 and the end point of Z-axis section 3, the Z-axis movement in Z-axis sections 2 and 3 is determined. However, if the cutting of the second hole is started before the positioning of the XY axes is completed, the tool will move in the XY axis direction while drilling, causing the tool to break. Therefore, by dividing the Z-axis section into Z-axis section 2 and Z-axis section 3 before and after reaching the maximum reach, it becomes possible to move Z-axis section 3 in the time axis direction, thereby adjusting the cutting start time. In other words, Z-axis section 3 can be adjusted by moving it in the time axis direction so that the cutting start time is after the positioning completion time of the XY axes. This is the reason for dividing Z-axis section 2 and Z-axis section 3.

[0070] In this embodiment, as described above, the Z-axis movement is divided into three parts, and extended positioning is applied to each Z-axis section. However, in order to apply extended positioning, the position, velocity, and acceleration at the moment of passing the start and end points are required. Figure 35 shows the position, velocity, and acceleration at the start and end points of each Z-axis section. As shown in Figure 35, Z-axis section 1, which is the movement section from the bottom of the first hole to a point near the top surface of the first hole, is represented as a start point (Z1, 0, Ap2) and an end point (W1, Vp, Ap). As shown in (Z1, 0, Ap2), the acceleration at the bottom of the hole is not necessarily 0. Z-axis section 2, which is the movement section from a point near the top surface of the first hole until the maximum reach is first reached, is represented as a start point (W1, Vp, Ap) and an end point (W1+h, 0, 0). The Z-axis section 3, which is the movement section from the moment the tool first starts moving downwards after reaching its maximum reach to a point near the top surface of the second hole, is represented as having a starting point of (W1 + h, 0, 0) and an ending point of (W2, -f, 0). When the hole depth is sufficiently deep, the starting point of the cutting section is (W2, -f, 0). If the hole depth is not sufficiently deep, the velocity will be less than -f, and the acceleration at that time will not be zero, so it may not be (-f, 0).

[0071] In Figure 35, the position, velocity, and acceleration at each start and end point that cannot be obtained from the machining program are shown in bold. Specifically, the velocity Vp and acceleration Ap at the end point of Z-axis section 1 and the start point of Z-axis section 2, and h in position W1+h at the end point of Z-axis section 2 and the start point of Z-axis section 3, are unknown parameters that cannot be obtained from the machining program. Conversely, the parameters shown in regular font in Figure 35 are known parameters that can be obtained from the machining program, etc. Here, h is the highest Z-axis height reached after the tool is withdrawn in Z-axis section 1, and is called the maximum reach distance.

[0072] The method for determining the unknown parameters mentioned above—velocity Vp, acceleration Ap, and maximum reach h—varies depending on the distance between the first and second holes. Figure 36 shows the distance between the two holes. As shown in Figure 36, the distance between the two holes can be classified into three cases: when it is sufficiently far, when it is sufficiently close, and when it is neither sufficiently far nor sufficiently close. Velocity Vp, acceleration Ap, and maximum reach h are determined by the determination method corresponding to these three classifications of the distance between the holes.

[0073] Here, the overall cycle time for the rapid traverse motion between drilling operations is expressed as shown in equation (1) below. In equation (1) below, CT represents the cycle time, and the amount of overlap that can occur without exceeding the given motion limits is uniquely determined.

[0074]

[0075] As shown in formula (1), the total cycle time for rapid traverse between holes is calculated by adding the larger of the cycle time for XY axis movement and the time obtained by subtracting the time during which Z-axis sections 2 and 3 can overlap from the sum of the cycle times for Z-axis section 2 and Z-axis section 3, to the cycle time for Z-axis section 1. Which is larger, the cycle time for XY axis movement or the time obtained by subtracting the time during which Z-axis sections 2 and 3 can overlap from the sum of the cycle times for Z-axis section 2 and Z-axis section 3, depends on the distance between holes. Therefore, it is necessary to consider different cases depending on the distance between holes when determining the speed Vp, acceleration Ap, and maximum reach distance h related to the total cycle time for rapid traverse between holes.

[0076] Consider the case where the cutting tool T is withdrawn as quickly as possible in Z-axis section 1. In this case, the cycle times in Z-axis sections 2 and 3 may be longer compared to the case where deceleration occurs near the hole entrance. However, if the distance between holes is greater than a certain value, even if the cutting tool T is withdrawn as quickly as possible in Z-axis section 1, the total cycle time will be the sum of the cycle time in Z-axis section 1 and the cycle time for XY axis movement, and will not depend on the cycle times of Z-axis sections 2 and 3. This is the case where the cycle time for XY axis movement is greater than the time obtained by subtracting the time during which Z-axis sections 2 and 3 can overlap from the sum of the cycle times in Z-axis sections 2 and 3. Since the cycle time for XY axis movement is large in such cases, we define this as "when the distance between holes is sufficiently large." When the distance between holes is sufficiently large, the cutting tool T can be withdrawn from the first hole at the fastest speed without deceleration in the Z-axis section 1. Therefore, the withdrawal velocity Vp and acceleration Ap can be calculated, and from there the maximum reach distance h can also be calculated. The method for calculating the maximum reach distance h will be described in detail later. Consequently, when the distance between holes is sufficiently large, the extended positioning operation can be applied.

[0077] On the other hand, by considering the Z-axis movement from the bottom of the first hole to the entrance of the second hole, the Z-axis movement is determined by applying extended positioning to the start point of Z-axis section 1 and the end point of Z-axis section 3. In this Z-axis movement, the case where the time obtained by subtracting the cycle time of Z-axis section 1 from the total cycle time is greater than the cycle time required for XY axis movement is defined as "when the distance between holes is sufficiently close." When the distance between holes is sufficiently close in this way, the total cycle time is determined only by the Z-axis movement time, so there is no need to divide the Z-axis movement into three sections, and it is sufficient to consider the Z-axis movement from the bottom of the first hole to the entrance of the second hole. Therefore, the Z-axis movement is determined by applying extended positioning to the start point of Z-axis section 1 and the end point of Z-axis section 3, and the XY axis movement can be combined with it.

[0078] Furthermore, when the distance between holes is neither sufficiently far nor sufficiently close, the velocity Vp and acceleration Ap that minimize the overall cycle time are calculated, the maximum reach h at the calculated velocity Vp and acceleration Ap is calculated, and these are used to apply the extended positioning operation. The method for calculating velocity Vp and acceleration Ap will be described in detail later.

[0079] As described above, in order to calculate the path for each axis, it is necessary to determine which of the three classifications the distance between holes falls into. Therefore, the path calculation unit 14 of the path generation device 1 according to this embodiment performs a distance between holes determination process when calculating the path. Figure 37 is a flowchart showing the procedure for the distance between holes determination process. Here, distance between holes determination refers to classifying the distance between holes into three patterns under the condition that the depth of the holes, the feed rate, and the kinetic limitations of each axis (maximum values ​​of speed, acceleration, and jerk) are fixed.

[0080] In step S21, the speed Vp and acceleration Ap at which the cutting tool T is withdrawn at the fastest possible speed are calculated. Since the depth of the hole, the acceleration AP2 at the bottom of the hole, and the maximum values ​​of the velocity, acceleration, and jerk of the Z axis are fixed, the speed Vp and acceleration Ap at which the cutting tool T is withdrawn at the fastest possible speed are uniquely determined and can be calculated. After calculation, the process proceeds to step S22.

[0081] In step S22, the maximum reach distance h is calculated using the velocity Vp and acceleration Ap calculated in step S21. After calculation, the process proceeds to step S23.

[0082] In step S23, the velocity Vp and acceleration Ap calculated in step S21, and the maximum reach distance h calculated in step S22, are used to calculate the time CT23, which is obtained by subtracting the time during which Z-axis sections 2 and Z-axis sections 3 can overlap from the sum of the cycle times CT2 and CT3 of Z-axis section 2. After calculation, the process proceeds to step S24.

[0083] In step S24, it is determined whether the time CT23, obtained by subtracting the time during which Z-axis sections 2 and Z-axis sections 3 can overlap from the sum of the cycle times CT2 and CT3 of Z-axis section 2 calculated in step S23, is less than or equal to the cycle time CTXY required for XY axis movement. If the determination is YES, the process proceeds to step S25, where it is determined that the distance between holes is sufficiently large, and this process is terminated. If the determination is NO, the process proceeds to step S26.

[0084] In step S26, considering the Z-axis movement from the bottom of the first hole to the entrance of the second hole, the cycle time CT1 for Z-axis section 1 is calculated by applying the extended positioning operation to the start point of Z-axis section 1 and the end point of Z-axis section 3. The cycle time CT1 for Z-axis section 1 is the cycle time when the Z-axis movement is determined by performing extended positioning on the start point of Z-axis section 1 and the end point of Z-axis section 3. After calculation, the process proceeds to step S27.

[0085] In step S27, considering the Z-axis movement from the bottom of the first hole to the entrance of the second hole, it is determined whether the time obtained by subtracting the cycle time of Z-axis section 1 calculated in step S26 from the total cycle time of the Z-axis movement determined by applying the extended positioning operation to the start point of Z-axis section 1 and the end point of Z-axis section 3 is greater than or equal to the cycle time required for XY axis movement. If this determination is YES, the process proceeds to step S28, where it is determined that the distance between the holes is sufficiently close, and the process ends. If this determination is NO, the process proceeds to step S29, where it is determined that the distance between the holes is neither sufficiently far nor sufficiently close, and the process ends.

[0086] As described above, when the distance between holes is sufficiently large, the cutting tool T can be withdrawn from the hole at the fastest speed, and the velocity Vp and acceleration Ap at this time are uniquely determined by the depth of the hole, the acceleration AP2 at the bottom of the hole, and the maximum values ​​of the velocity, acceleration, and jerk of the Z axis. Also, when the distance between holes is sufficiently small, there is no need to divide the Z axis motion into three parts, so there is no need to calculate the velocity Vp and acceleration Ap. On the other hand, when the distance between holes is neither sufficiently large nor sufficiently small, it is necessary to calculate the velocity Vp and acceleration Ap separately.

[0087] When the distance between holes is neither sufficiently far nor sufficiently close, there are three methods for calculating velocity Vp and acceleration Ap. The first method is to search for the combination of velocity Vp and acceleration Ap that minimizes the overall cycle time through a brute-force approach. However, this method requires a long computation time and has a high computational load.

[0088] The second calculation method involves adding constraints to the acceleration Ap. First, consider the Z-axis sections 1, 2, and 3 mentioned above. Assuming velocity Vp is a fixed value, if the hole depth is sufficiently deep, the smaller the acceleration Ap at the exit of Z-axis section 1, the shorter the cycle time for Z-axis section 1. Similarly, the smaller the acceleration Ap at the entrance of Z-axis section 2, the shorter the cycle time for Z-axis section 2. A shorter cycle time for Z-axis section 2 leads to a shorter distance traveled in Z-axis section 3, thus shortening the overall cycle time. Therefore, if velocity Vp is a fixed value, the smaller the acceleration Ap, the shorter the overall cycle time. By adding the constraint "make acceleration Ap as small as possible," acceleration Ap can be expressed as a function of velocity Vp, reducing the number of variables from two to one. By defining such a function, it is possible to calculate the velocity Vp and acceleration Ap that minimize the overall cycle time.

[0089] The third calculation method involves integrating Z-axis section 1 and Z-axis section 2. First, considering Z-axis section 1 and Z-axis section 2, as shown in Figure 35 above, Z-axis section 1 moves from the starting point (Z1, 0, Ap2) to the ending point (W1, Vp, Ap), and Z-axis section 2 moves from the starting point (W1, Vp, Ap) to the ending point (W1+h, 0, 0). Therefore, when Z-axis section 1 and Z-axis section 2 are integrated, the movement will be from the starting point (Z1, 0, 0) to the ending point (W1+h, 0, 0). Figure 38 shows the Z-axis motion pattern when Z-axis section 1 and Z-axis section 2 are integrated. In Figure 38, the area of ​​the shaded portion represents the depth of the hole, and the cutting tool T is withdrawn from the hole at the boundary point between Z-axis section 1 and Z-axis section 2. The Z-axis motion pattern shown in Figure 38 is the same as normal positioning when, for example, Ap2 = 0, so the shortest movement can be determined, and as a result, the velocity Vp and acceleration Ap during hole extraction can also be determined.

[0090] Next, we will explain how to calculate the maximum reach distance h. As mentioned above, Z-axis section 2 is the movement section from a point near the top surface of the first hole until the maximum reach distance is first reached, and Z-axis section 3 is the movement section from the moment when the object first starts moving downwards after reaching the maximum reach distance h to a point near the top surface of the second hole. Therefore, since the movement distance in Z-axis section 2 and the movement distance in Z-axis section 3 must be the same, the maximum reach distance h will be the larger of the minimum movement distance in Z-axis section 2 and the minimum movement distance in Z-axis section 3. Here, the minimum movement distance means the smallest movement distance that satisfies the given velocity and acceleration within the range of possible values ​​for velocity, acceleration, and jerk given to the starting and ending points. In other words, it is the smallest distance required to go from a state with a certain velocity and acceleration to a stationary state where both velocity and acceleration are 0. Note that if a movement distance smaller than the minimum movement distance is specified, the given velocity and acceleration cannot be satisfied by moving only within the section, and it is necessary to go outside the section to satisfy them.

[0091] The minimum travel distance in the Z-axis section 2 can be calculated based on the velocity Vp and acceleration Ap calculated as described above. That is, a certain minimum travel distance is required to decelerate from velocity Vp and acceleration Ap to velocity 0 and acceleration 0, and this minimum value is the minimum travel distance in the Z-axis section 2.

[0092] Furthermore, the minimum travel distance in the Z-axis section 3 can be calculated based on the feed rate f at the end point of the Z-axis section 3. That is, a certain minimum travel distance is required to accelerate from a velocity of 0 and acceleration of 0 to a velocity of -f and acceleration of 0, and this minimum value is the minimum travel distance in the Z-axis section 3. Note that if the hole depth is not sufficiently deep, the speed may be less than the feed rate f.

[0093] As described above, the path calculation unit 14 of the path generation device according to this embodiment calculates the path for each axis after performing a hole distance determination process. Specific examples are shown below for each case: when the hole distance is sufficiently far, when it is sufficiently close, and when it is neither sufficiently far nor sufficiently close.

[0094] Figure 39 shows the operation patterns of each axis when the distance between holes is sufficiently large. As mentioned above, when the distance between holes is sufficiently large, the cutting tool T can be withdrawn from the hole at the fastest speed. However, performing the fastest withdrawal increases the cycle time of Z-axis section 2 and Z-axis section 3 compared to when decelerating at the hole entrance. However, as shown in Figure 39, the cycle time required for XY axis movement is long enough that this increase is negligible, so it can be seen that only the effect of shortening the cycle time of Z-axis section 1 by the fastest withdrawal can be enjoyed.

[0095] Furthermore, when the distance between holes is sufficiently large, the cycle time required for XY axis movement is sufficiently long, so within the range of the cycle time required for XY axis movement, the Z-axis section 3 can be moved in the time axis direction without changing the waveform, as shown in Figure 39. Figure 40 shows the Z-axis movement pattern when Z-axis section 2 and Z-axis section 3 overlap, but in this way, it is also possible to overlap Z-axis section 3 with Z-axis section 2 by advancing the start time without changing the waveform.

[0096] Figure 41 shows the operation patterns of each axis when the distance between holes is sufficiently close. In Figure 41, the upper panel shows the relationship between time and position in Z-axis movement, and the lower panel shows the relationship between time and velocity in the movement of each axis. When the distance between holes is sufficiently close, the cycle time required for XY axis movement is shorter than a certain value. Therefore, the time required for Z-axis movement from Z-axis section 1 to Z-axis section 3 becomes the total cycle time. In this case, the operation by applying the concept of extended positioning to the start point of Z-axis section 1 and the end point of Z-axis section 3 results in the shortest Z-axis movement. Note that XY axis movement can be moved in the time axis direction without changing the waveform, within the range of the total cycle time required for Z-axis movement.

[0097] Figure 42 shows the operation patterns of each axis when the distance between holes is neither sufficiently far nor sufficiently close. As described above, the velocity Vp and acceleration Ap that minimize the overall cycle time, and the maximum reach distance h determined by these velocities Vp and acceleration Ap are searched for or calculated. This provides the information necessary to perform the extended positioning operation when the Z-axis section is divided into three parts, thus determining the operation of the Z-axis.

[0098] The coupling unit 15 of the path generation device 1 according to this embodiment combines the paths of each axis calculated as described above. Specifically, the coupling unit 15 generates a tool path, which is the movement path of the cutting tool T, by adding together, for example, the graphs representing the XY axis movement patterns and the graph representing the Z axis movement patterns, as shown in Figures 39, 41, and 42 above. As described above, the shape of each graph is determined by the extended positioning operation, but the initial times for the XY axes, Z axis section 1, Z axis section 2, and Z axis section 3 are arbitrary. Therefore, the coupling unit 15 generates a tool path, which is the movement path of the cutting tool T, by giving initial times to the XY axes, Z axis section 1, Z axis section 2, and Z axis section 3 and then combining them.

[0099] According to the path generation device 1 of the second embodiment described above, it is possible to calculate a path that minimizes the travel time of at least one axis from the rapid traverse start point to the rapid traverse end point in a drilling operation. Subsequently, by adding up the paths of each axis calculated in this way, it is possible to generate a tool path, which is the fastest possible movement path of the cutting tool T from the rapid traverse start point to the rapid traverse end point in a drilling operation.

[0100] [Third Embodiment] The third embodiment is another embodiment that takes into account the linear travel distance in route generation according to the present disclosure. The route generation device according to the third embodiment is equipped with the same functional parts as the route generation device 1 according to the first and second embodiments. There are differences in the processing content of the functional parts compared to the first or second embodiment, but for convenience, each functional part will be described below using the same reference numerals as in the first or second embodiment.

[0101] In the second embodiment, path generation was described based on the following preconditions 1) and 2). 1) No interference occurs between the cutting tool T and surrounding objects such as the workpiece or fixtures at a position above the workpiece surface. 2) The height position of the openings on the workpiece surface is the same for both the first and second holes, and there are no steps on the workpiece surface.

[0102] In contrast, the third embodiment assumes a case where the conditions of preconditions 1) and 2) described above are not met. In the third embodiment, in order to address situations where the conditions of preconditions 1) and 2) are not met, a linear movement guaranteed section is set in the path generation. This will be explained in order below.

[0103] Figure 43A is a diagram illustrating the guaranteed linear movement distance immediately before the start of cutting. Figure 43B is a diagram illustrating the guaranteed linear movement distance when the tool is withdrawn. In Figures 43A and 43B, dashed lines indicate rapid traverse movement. Solid lines indicate cutting.

[0104] A linear movement guaranteed section refers to a section in which, for example, a cutting tool T moves in a straight line. Note that the cutting tool is an example, and the type of tool is not limited to a cutting tool. Also, the purpose of movement of the axis of the industrial machine is not limited to cutting processes. In the example shown in Figures 43A and 43B, the cutting tool T moves linearly along the Z-axis direction. That is, it does not move in the XY-axis direction, but only in the Z-axis direction. However, the Z-axis direction shown here is just an example, and the direction of movement in a straight line within the linear movement guaranteed section is not limited to the Z-axis direction. The direction of movement can be any direction, such as the X-axis direction, the Y-axis direction, or an oblique direction not along these axes.

[0105] In the linear movement guaranteed section, the direction in which the cutting tool moves can be aligned with surrounding objects or steps to avoid interference. In the example shown in Figures 43A and 43B, the end face of the jig J, which is a surrounding object, is aligned with the Z-axis direction, so the direction of movement in the linear movement guaranteed section is also the Z-axis direction. The following explanation will use the case where the direction of movement in the linear movement guaranteed section is the Z-axis direction as an example.

[0106] The thick arrow in Figure 43A indicates the guaranteed linear movement distance H immediately before the start of cutting. The double-line arrow in Figure 43B indicates the guaranteed linear movement distance H when the tool is withdrawn. Figure 43A shows the Z-axis and XY-axis directions. These directions are the same in the corresponding other figures.

[0107] In the second embodiment, during movement in the Z-axis direction (tool axis direction), movement was possible in the XY-axis direction (direction perpendicular to the tool axis) in addition to the straight line before reaching the cutting start position P101 (shown in Figure 43A) and after reaching the hole extraction position P102 (shown in Figure 43B).

[0108] In contrast, in the third embodiment, movement in the XY axis direction (direction perpendicular to the tool axis) is possible before reaching position P111, which is a specific value higher than the cutting start position P101, and after reaching position P112, which is a specific value higher than the hole withdrawal position P102. The distance in the Z axis direction from the cutting start position P101 to position P111 (length of the thick arrow) is defined as the guaranteed linear movement distance H immediately before the start of cutting. The distance in the Z axis direction from the hole withdrawal position P102 to position P112 (length of the double arrow) is defined as the guaranteed linear movement distance H when the tool is withdrawn.

[0109] In the third embodiment, unlike the second embodiment, movement is restricted to a straight line only, and not to a curved line, from the cutting start position P101 to a position higher by the guaranteed linear movement distance H. Similarly, movement is restricted to a straight line only, and not to a curved line, from the hole extraction position P102 to a position higher by the guaranteed linear movement distance H. This prevents interference between the cutting tool T and surrounding objects above the workpiece surface W.

[0110] The distance of the linear movement guarantee section can be set according to the size of the surrounding objects or steps that need to be avoided. In the examples shown in Figures 43A and 43B, the linear movement guarantee distance can be determined based on the length of the jig J in the Z-axis direction. For example, setting it to be the same as that length makes it easier to avoid interference more reliably. Setting it in this way eliminates the need to separately provide an interference information acquisition unit for detecting interference, an interference determination unit for determining the presence or absence of interference, or a functional unit for resetting the motion characteristics. Note that the above statement, "determining the linear movement guarantee distance based on the length of the jig J in the Z-axis direction," is merely an example. The linear movement guarantee distance can also be the length in the direction of movement of the axis of the object to be avoided, such as a step on the machined surface.

[0111] Furthermore, the guaranteed linear movement distance may be set shorter than, for example, the height of a step or the length of the object that should be avoided due to interference (surrounding objects, steps, etc.). Even in such cases, interference may not occur. Moreover, by shortening the guaranteed linear movement distance to the minimum necessary, it becomes possible to further reduce the travel time.

[0112] Furthermore, if necessary, an interference information acquisition unit, an interference determination unit, and a linear movement guaranteed distance reset unit can be introduced. When these are introduced, it becomes possible to derive the linear movement guaranteed distance that minimizes travel time within the range where interference does not occur, similar to the case where interference is present. Here, "minimum travel time" refers to the relative minimum time in an operation where a linear movement section exists immediately after and immediately before the start of movement. It is possible that the travel time may be even shorter within the range where interference does not occur compared to other operations that do not include a linear movement section.

[0113] Figure 44 shows an example where multiple holes are drilled, and jigs J with different lengths (heights) in the Z-axis direction are placed on the workpiece top surface W (the machining surface of the workpiece). As shown in the figure, the path calculation unit generates a path that includes linear movement guarantee sections in order to avoid interference. This path usually consists of a linear section from the movement start point P211 to the linear movement guarantee point 1 (the first linear movement guarantee point (P212)), a movement section from the linear movement guarantee point 1 to the linear movement guarantee point 2 (the second linear movement guarantee point (P213)), and a linear section from the linear movement guarantee point 2 (P213) to the movement end point P214, and a path is generated for each axis.

[0114] Furthermore, the section from linear movement guarantee point 1 (P212) to linear movement guarantee point 2 (P213) does not necessarily have to be a straight line; it may be a non-linear path such as a curve. In other words, movement in the section from linear movement guarantee point 1 (P212) to linear movement guarantee point 2 (P213) does not have to be on a straight line; it may be movement on a non-linear path such as a curve.

[0115] Furthermore, the distance from the starting point P211 to the linear movement guarantee point 1 (P212) corresponds to the linear movement guarantee distance H during tool withdrawal. In contrast, the distance from the linear movement guarantee point 2 (P213) to the movement end point P214 corresponds to the linear movement guarantee distance H immediately before the start of cutting. Note that the linear movement guarantee point 2 (P213) corresponds to the starting position P103 of the cutting approach movement, and the movement end point P214 corresponds to the cutting start position P101.

[0116] As shown in Figure 44, the linear movement guaranteed distance H and linear movement guaranteed distance, H can be varied, for example, in accordance with the length of the jig J in the Z-axis direction. As mentioned above, these linear movement guaranteed distance H and linear movement guaranteed distance, H are examples. Corresponding to the length of the jig J in the Z-axis direction does not mean that the linear movement guaranteed distance H and linear movement guaranteed distance, H must be the same length as the length of the jig J in the Z-axis direction. For example, the linear movement guaranteed distance H and linear movement guaranteed distance, H may be shorter than the length of the jig J in the Z-axis direction.

[0117] As a result, even if there is a step formed by the jig J above the workpiece surface, the cutting tool T can be rapidly traversed without interfering with the step. This is because the cutting tool T moved in the XY direction while remaining in the Z-axis position of the jig.

[0118] Furthermore, as shown in Figure 44, the guaranteed linear movement distance H and the guaranteed linear movement distance,H can be set to different values ​​depending on the length of the jig in the Z-axis direction. In Figure 44, ,I indicates the initial point (initial position), and Z indicates the bottom of the hole.

[0119] In Figure 44, an example of a step is shown, which is caused by a jig J placed on the workpiece surface W. The step is not limited to a step caused by the jig J. The step may also be formed by, for example, a difference in the position of the workpiece surface W in the Z-axis direction. In this case, the linear movement guaranteed distance H and the linear movement guaranteed distance,H can be the length of the step in the Z-axis direction.

[0120] This section outlines the path generation method after setting a guaranteed linear movement distance. Figure 45 illustrates cutting a workpiece with a step on its upper surface W. In the example shown in Figure 45, there is a step between the first and second holes, formed by the difference in the Z-axis position of the workpiece upper surface W, and a step caused by the jig J placed on the workpiece upper surface W. Referring to Figure 45, the outline of the path generation method will be explained in the order of tool withdrawal and cutting start.

[0121] (Path during tool withdrawal) First, let's explain the path during tool withdrawal. The path during tool withdrawal can be created in the path generation method described in the second embodiment by changing the "entrance to the first hole" to a position that takes into account the guaranteed linear movement distance. Specifically, when creating the operation of Z-axis section 2, replace the "entrance to the first hole" with "entrance to the first hole + guaranteed linear movement distance during tool withdrawal, H".

[0122] (Path at the start of cutting) Next, we will explain how to create the path at the start of cutting. At the start of cutting, if we simply replace the "cutting start position" with "cutting start position + linear movement guarantee distance H immediately before cutting start" as in the same way as when the tool is withdrawn, an inconvenience will arise in that the cutting feed will start from a position that is higher by the linear movement guarantee distance H. Cutting is not necessary during the linear movement guarantee distance H.

[0123] There are two ways to resolve this inconvenience. First, let's explain the outline of the first method. In the first method, movement within the guaranteed linear movement distance H immediately before the start of cutting is defined as the cutting approach movement. The operation of the cutting approach movement is then determined separately from the cutting section. Specifically, the operation of the Z-axis section 3 is changed from "from the moment of first downward movement from the highest point to the cutting start position P101" in the second embodiment to "from the moment of first downward movement from the highest point to the cutting approach movement start position P103". This makes the Z-axis section 3 a section in which movement in the X and Y axes is possible. In addition, the section from the cutting approach movement start position P103 to the cutting start position P101 is defined as the cutting approach section. In the first method, the Z-axis section 3 and the cutting approach section are created separately.

[0124] • Second Method Next, an overview of the second method will be described. In the second method, as in the first method, the Z-axis section 3 and the cutting approach section are set. However, unlike the first method, in the second method, the operation is first determined by integrating the Z-axis section 3 and the cutting approach section. Then, when combining the XY axis movement and the Z-axis movement, the arrangement of the XY axis movement is adjusted. Specifically, the XY axis movement is placed within the section from the start of the Z-axis section 2 to the end of the Z-axis section 3. The first and second methods will be described in detail below.

[0125] (First Method) The first method will be explained first with reference to Figure 46. Figure 46 is a diagram illustrating the change in axis velocity over time to explain the first method. - Cutting Section The operation of the cutting section is determined from cutting-related information (Z-axis motion limit, feed rate F, hole depth), similar to the second embodiment. - Cutting Approach Section In the operation of the cutting approach section, the cutting tool T moves in a straight line. In this example, in the operation of the cutting approach section, the cutting tool T moves only along the Z axis and not along the XY axis. In addition, the operation of the cutting approach section shall satisfy the following conditions (1) to (3). (1) The distance traveled in the cutting approach section shall be the specified "guaranteed straight-line movement distance H immediately before the start of cutting". (2) The velocity graph shall connect smoothly at the end point of the cutting approach section and the starting point at the start of cutting. (3) The fastest operation that satisfies the above (1) and (2) shall be used.

[0126] After determining the operation of the cutting approach section as described above, the operation of the Z-axis section 3, which was determined in the same manner as in the second embodiment, is modified as follows. The method of the third embodiment will be explained below in comparison with the method of the second embodiment. ・Method of the second embodiment In the second embodiment, the operation of the "Z-axis section 3" is the speed and acceleration from the "highest reached position to the cutting start position P101". ・Method of the third embodiment In the third embodiment, the operation of the "Z-axis section 3" is the speed and acceleration from the "highest reached position to the cutting approach movement start position P103".

[0127] The Z-axis movement determined as described above is as follows, as shown in Figure 45: Z-axis section 1 → Z-axis section 2 → Z-axis section 3 → cutting approach section → cutting section. The relationship between time and velocity is as shown in Figure 46. Specifically, XY axis velocity is generated and XY axis movement occurs in the section "Z-axis section 1 → Z-axis section 2 → Z-axis section 3" mentioned above. The section "Z-axis section 1 → Z-axis section 2 → Z-axis section 3" where XY axis movement occurs does not overlap with the cutting approach section; in other words, no XY axis movement occurs in the cutting approach section.

[0128] Then, after the cutting approach section has elapsed, the cutting section begins. In the transition from the "cutting approach section to the cutting section," no XY axis velocities are generated; only Z-axis velocities are generated. In other words, only Z-axis movement occurs.

[0129] Furthermore, the guaranteed linear movement distance H immediately before the start of cutting is the integral of the Z-axis velocity with respect to time from the cutting approach movement start position P103 to the cutting start position P101, i.e., the area shown by region R101.

[0130] The first method described above is preferable when the maximum reach is above a certain level. If the maximum reach is not that large, it is preferable to use the second method described below. The maximum reach is the distance h, as shown in Figure 35, that is, the highest Z-axis height reached after the tool is withdrawn in Z-axis section 1.

[0131] (Second Method) Next, the second method will be described with reference to Figure 47. Figure 47 is a diagram illustrating the change in axis velocity over time for the purpose of explaining the second method. The second method uses a method similar to the method of integrating Z-axis section 1 and Z-axis section 2 described in the previous embodiment. Specifically, first, a path to the highest reach is generated and the XY axis movement time is calculated. Next, the highest reach is calculated such that the calculated XY axis movement time is greater than or equal to the XY axis movement time.

[0132] Next, the Z-axis section 3 and the cutting approach section are combined to create a Z-axis velocity profile PF. Here, the cutting start position P101 is a known position. Therefore, position P105 is determined by moving back from the cutting start position P101 by the linear movement guaranteed distance H just before the start of cutting. This position P105 is the position where the area of ​​region 102 shown in Figure 47 is equal to the linear movement guaranteed distance H just before the start of cutting. Position P105 can also be called the cutting approach movement start position P103. This allows us to determine the starting position of the cutting approach section.

[0133] Next, the XY axis movement is set so that the endpoint of the previously calculated XY axis movement profile PXY is located on the Z axis section 2 side of position P105, that is, it is located at a position that precedes position P105 on the time axis. Note that the XY axis movement time indicated by the XY axis movement profile PXY is equal to or greater than the XY axis movement time.

[0134] As described above, the Z-axis movement progresses from Z-axis section 1 → Z-axis section 2 → Z-axis section 3 → cutting approach section → cutting section, while the XY-axis movement is inserted between the start of Z-axis section 2 and the end of Z-axis section 3.

[0135] Note that the area of ​​the shaded portion shown in Figure 47 differs from the shaded portion (hole depth) shown in Figure 38 in the second embodiment; it is the distance obtained by adding the linear movement guarantee distance to the hole depth (hole depth + linear movement guarantee distance).

[0136] Next, an example of a user interface in the third embodiment will be described. Conventionally, when performing drilling operations on machine tools such as machining centers, the operation of drilling is sometimes commanded by using G-code to specify the hole position, hole depth, feed rate, etc. In this case, by commanding such G-code as arguments the linear movement guaranteed distance H immediately before the start of cutting and the linear movement guaranteed distance, H when the tool is withdrawn, respectively, the path generation of the third embodiment can be implemented as an extension of the conventional G-code.

[0137] Figure 48 shows an example of the program. In the example shown in Figure 48, the guaranteed linear movement distance H is set to 3.0, and the guaranteed linear movement distance,H is set to 3.0, etc. Also, the guaranteed linear movement distance H and the guaranteed linear movement distance,H may be specified in advance as parameters instead of being commanded as arguments.

[0138] Next, with reference to Figure 49, another example of the user interface in the third embodiment will be described. Referring to Figure 48, a method of commanding two linear movement guarantee distances using G-codes, etc., is shown. The command method is not limited to the method using G-codes, etc. As a command method that does not use G-codes, etc., there is a command method in which blanks are filled in using pictures, etc., displayed on the screen as hints, which is generally called an interactive screen. An example of such a screen is shown in Figure 49.

[0139] In the example shown in Figure 49, the left side of the screen shows the guaranteed linear movement distance H immediately before cutting starts, the guaranteed linear movement distance when the tool is withdrawn, and a diagram indicating what distance H refers to. The right side of the screen shows the input items. In this screen, in addition to the conventional hole entrance, the guaranteed linear movement distance (1) immediately before cutting starts and the guaranteed linear movement distance (2) when the tool is withdrawn are added as input items. By adding the guaranteed linear movement distance (1) immediately before cutting starts and the guaranteed linear movement distance (2) when the tool is withdrawn as input items in this way, the path generation of the third embodiment can be implemented as an extension of the conventional dialogue screen, etc.

[0140] Note that the screen shown in Figure 49 is just one example. In addition to the example shown in Figure 49, these two linear movement guaranteed distances can be commanded using various UIs.

[0141] While this disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of this disclosure or from the spirit of this disclosure derived from the claims and their equivalents. Furthermore, these embodiments can be implemented in combination. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0142] In the above embodiment, the path generation device 1 was described as generating paths for a cutting machine, but it is not limited to this. The path generation device 1 can be applied to generating paths for a wide range of industrial machines, in addition to machine tools other than cutting machines.

[0143] Furthermore, although the above embodiment described the path generation device 1 as generating a path from the rapid traverse start point S to the rapid traverse end point E, it is not limited to this. For example, the path generation device 1 can also be applied to generating a path for cutting feed movement, in which case it can generate a path from the cutting feed movement start point to the cutting feed movement end point.

[0144] Furthermore, although the above embodiment described the route generation device 1, a route generation method that defines the route generation process executed by the route generation device 1, and a computer program that causes the route generation device 1 to execute the above-mentioned route generation process are also within the scope of this disclosure.

[0145] Furthermore, although the above embodiments have described examples of application to drilling and tapping, the same can be applied to other machining processes. Specifically, the path generation method of this disclosure can be applied to chamfering, reaming, boring, and also to on-machine inspections using inspection gauges such as screw gauges.

[0146] The following additional information is disclosed regarding the above embodiments and modifications.

[0147] (Note 1) The system comprises: a motion characteristic acquisition unit (11) that acquires the motion characteristics of each axis of the industrial machine at a starting point and an ending point; a motion limit acquisition unit (12) that acquires motion limits indicating the range of values ​​that the motion characteristics of each axis can take when moving from the starting point to the ending point; a motion pattern determination unit (13) that determines the motion pattern of each axis based on the motion characteristics acquired by the motion characteristic acquisition unit (11) and the motion limits acquired by the motion limit acquisition unit (12); a path calculation unit (14) that calculates a path for each axis that satisfies the motion characteristics acquired by the motion characteristic acquisition unit (11) and the motion limits acquired by the motion limit acquisition unit (12) based on the motion pattern determined by the motion pattern determination unit (13); and a coupling unit (15) that combines the paths for each axis calculated by the path calculation unit (14). The path calculation unit (14) generates a path for each axis, which has a section of movement in a straight line from the starting point to the first linear movement guaranteed point, a section of movement from the first linear movement guaranteed point to the second linear movement guaranteed point, and a section of movement in a straight line from the second linear movement guaranteed point to the movement end point.

[0148] (Note 2) In Note 1 above, the distance traveled by the axis in at least one of the sections in which movement is performed in a straight line from the starting point to the first linear movement guaranteed point, and in the section in which movement is performed in a straight line from the second linear movement guaranteed point to the movement end point, is a distance set based on the length of the step of the machined surface in the direction of movement of the axis.

[0149] (Note 3) In Note 2 above, the step is at least one of the difference between the length of the surrounding object located on the processed surface and the position of the processed surface.

[0150] (Note 4) In any of Notes 1 to 3 above, the machining is cutting, and at least one of the starting point and ending point of the movement is the cutting start position or the tool withdrawal position.

[0151] (Note 5) In Note 2 above, the system is provided with an input means capable of setting at least one of the predetermined distance from the cutting start position and the predetermined distance from the tool withdrawal position, wherein the predetermined distance is set based on the length of the step in the direction of movement of the axis.

[0152] (Note 6) A numerical control device equipped with a path generation device (1) as described in Notes 1 to 5 above.

[0153] (Note 7) A path generation method comprising: a motion characteristic acquisition step of acquiring the motion characteristics of each axis of an industrial machine at a starting point and an ending point of movement; a motion limit acquisition step of acquiring motion limits indicating the range of values ​​that the motion characteristics of each axis can take when moving from the starting point to the ending point of movement; a motion pattern determination step of determining the motion pattern of each axis based on the motion characteristics acquired by the motion characteristic acquisition step and the motion limits acquired by the motion limit acquisition step; a path calculation step of calculating a path for each axis that satisfies the motion characteristics acquired by the motion characteristic acquisition step and the motion limits acquired by the motion limit acquisition step based on the motion pattern determined by the motion pattern determination step; and a joining step of combining the paths for each axis calculated by the path calculation step, wherein the path calculation step generates a path for each axis having a section of movement in a straight line from the starting point of movement to a first linear movement guarantee point, a section of movement from the first linear movement guarantee point to a second linear movement guarantee point, and a section of movement in a straight line from the second linear movement guarantee point to the ending point of movement.

[0154] (Note 8) The computer is made to execute the following steps: a motion characteristic acquisition step to acquire the motion characteristics of each axis of the industrial machine at the starting point and the ending point of movement; a motion limit acquisition step to acquire motion limits indicating the range of values ​​that the motion characteristics of each axis can take when moving from the starting point to the ending point of movement; a motion pattern determination step to determine the motion pattern of each axis based on the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step to calculate a path for each axis that satisfies the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step based on the motion pattern determined in the motion pattern determination step; and a combination step to combine the paths for each axis calculated in the path calculation step. A computer program that generates paths for each axis in the path calculation step, having a section of movement in a straight line from a starting point to a first linear movement guaranteed point, a section of movement from the first linear movement guaranteed point to a second linear movement guaranteed point, and a section of movement in a straight line from the second linear movement guaranteed point to a movement end point.

[0155] 1 Path generation device 11 Motion characteristic acquisition unit 12 Motion restriction acquisition unit 13 Motion pattern determination unit 14 Path calculation unit 15 Coupling unit J Jig P101 Cutting start position P102 Hole extraction position P103 Cutting approach movement start position T Cutting tool W Workpiece top surface Z Hole bottom

Claims

1. A path generation device comprising: a motion characteristic acquisition unit that acquires the motion characteristics of each axis of an industrial machine at a starting point and an ending point; a motion limit acquisition unit that acquires motion limits indicating the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point; a motion pattern determination unit that determines the motion pattern of each axis based on the motion characteristics acquired by the motion characteristic acquisition unit and the motion limits acquired by the motion limit acquisition unit; a path calculation unit that calculates a path for each axis that satisfies the motion characteristics acquired by the motion characteristic acquisition unit and the motion limits acquired by the motion limit acquisition unit based on the motion pattern determined by the motion pattern determination unit; and a coupling unit that combines the paths for each axis calculated by the path calculation unit, wherein the path calculation unit generates a path for each axis having a section of movement in a straight line from the starting point to a first linear movement guarantee point, a section of movement from the first linear movement guarantee point to a second linear movement guarantee point, and a section of movement in a straight line from the second linear movement guarantee point to the ending point.

2. The path generating device according to claim 1, wherein the distance traveled by the axis in at least one of the sections in which the device moves in a straight line from the starting point to the first linear movement guaranteed point and the section in which the device moves in a straight line from the second linear movement guaranteed point to the movement end point is a distance set based on the length of the step of the processed surface in the direction of movement of the axis.

3. The path generating apparatus according to claim 2, wherein the step is at least one of the length of a surrounding object located on the processed surface and the difference in position of the processed surface.

4. The path generation device according to claim 1 or 2, wherein the processing is cutting, and at least one of the starting point and the ending point of the movement is the cutting start position or the tool withdrawal position.

5. The path generation device according to claim 2, comprising an input means capable of setting at least one of the predetermined distance from the cutting start position and the predetermined distance from the tool withdrawal position, wherein the predetermined distance is set based on the length of the step in the direction of movement of the axis.

6. A numerical control device comprising the route generation device according to claim 1 or 2.

7. A path generation method comprising: a motion characteristic acquisition step for acquiring the motion characteristics of each axis of an industrial machine at a starting point and an ending point; a motion limit acquisition step for acquiring motion limits indicating the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point; a motion pattern determination step for determining the motion pattern of each axis based on the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step for calculating a path for each axis that satisfies the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step, based on the motion pattern determined in the motion pattern determination step; and a joining step for combining the paths for each axis calculated in the path calculation step, wherein the path calculation step generates a path for each axis having a section of movement in a straight line from the starting point to a first linear movement guarantee point, a section of movement from the first linear movement guarantee point to a second linear movement guarantee point, and a section of movement in a straight line from the second linear movement guarantee point to the ending point.

8. A computer program that causes a computer to perform the following steps: a motion characteristic acquisition step to acquire the motion characteristics of each axis of an industrial machine at a starting point and an ending point; a motion limit acquisition step to acquire motion limits indicating the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point; a motion pattern determination step to determine the motion pattern of each axis based on the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step to calculate a path for each axis that satisfies the motion characteristics acquired in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step based on the motion pattern determined in the motion pattern determination step; and a joining step to combine the paths for each axis calculated in the path calculation step, wherein in the path calculation step, a path for each axis is generated having a section of movement in a straight line from the starting point to a first linear movement guaranteed point, a section of movement from the first linear movement guaranteed point to a second linear movement guaranteed point, and a section of movement in a straight line from the second linear movement guaranteed point to the ending point.