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

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

Patent Information

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

Smart Images

  • Figure JP2025015275_22102026_PF_FP_ABST
    Figure JP2025015275_22102026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a technology which makes it possible to generate a path for reliably arriving at a prescribed point or reliably passing through the prescribed point under given constraint conditions, regardless of machining details. This path generation device comprises: a motion characteristic acquisition unit that acquires motion characteristics of axes of an industrial machine at respective movement start points and movement end points; a motion limit acquisition unit that acquires motion limits indicating ranges of possible values of the motion characteristics of the axes during movement from the movement start points to the movement end points; an operation pattern determination unit that determines operation patterns of the axes on the basis of the motion characteristics and the motion limits; a path calculation unit that calculates paths, of the axes, which satisfy the motion characteristics and the motion limits, on the basis of the operation patterns; a coupling unit that couples the calculated paths of the axes. The operation pattern determination unit obtains, with respect to the movement of each of the axes from a prescribed point to the next point between the corresponding movement start point and movement end point, a movement time shorter than a prescribed time for the axis, adjusts movement times of axes other than an axis having the longest movement time among the movement times so as to become equal to the movement time of the axis having the longest movement time, and determines the operation patterns of the axes.
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 parameter limit values. In the first place, conventional path generation technology generates paths for each axis by distributing the generated tool travel 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, there is a need for a technology that can generate paths that reliably arrive at or pass through predetermined points in the travel path while shortening the travel time. Accordingly, the present disclosure aims to provide a technology that can generate paths that reliably arrive at or pass through predetermined points under given constraints, regardless of the machining content.

[0014] This disclosure includes 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 of movement; 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 of movement; 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; and the motion characteristics acquired by the motion characteristic acquisition unit and The present invention relates to a path generation device comprising: a path calculation unit that calculates a path for each axis that satisfies the motion limit acquired by the motion limit acquisition unit; and a coupling unit that combines the paths for each axis calculated by the path calculation unit, wherein the motion pattern determination unit determines a movement time shorter than a predetermined time for each axis in the movement from a predetermined point to the next point between the start point of movement and the end point of movement, and adjusts the movement times of the axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time, thereby determining the movement pattern of each axis.

[0015] Furthermore, this disclosure includes 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 of movement; a motion limit acquisition step for acquiring motion limits that indicate 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 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; and the motion acquired in the motion characteristic acquisition step for determining the motion pattern based on the motion pattern determined in the motion pattern determination step. The present invention relates to a path generation method comprising: a path calculation step that calculates a path for each axis that satisfies the characteristics and the motion restrictions obtained in the motion restriction acquisition step; and a joining step that combines the paths for each axis calculated in the path calculation step, wherein in the motion pattern determination step, for movement from a predetermined point to the next point between the start point of movement and the end point of movement, a movement time shorter than a predetermined time is determined for each axis, and the movement times of the axes other than the axis with the longest movement time are adjusted so that they are the same as the movement time of the axis with the longest movement time, thereby determining the motion pattern of each axis.

[0016] Furthermore, this disclosure includes 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 of movement; a motion limit acquisition step for acquiring motion limits that indicate the range of possible values ​​for the motion characteristics of each axis when moving from the starting point to the ending point of movement; 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; and a motion pattern determination step for determining the motion pattern based on the motion characteristics acquired in the motion characteristic acquisition step and the motion characteristics The present invention relates to a computer program which causes a computer to perform a path calculation step to calculate a path for each axis that satisfies the motion restrictions obtained in the restriction acquisition step, and a joining step to combine the paths for each axis calculated in the path calculation step, and in the motion pattern determination step, for movement from a predetermined point to the next point between the start point of movement and the end point of movement, a movement time shorter than a predetermined time is determined for each axis, and the movement times of the axes other than the axis with the longest movement time are adjusted so that they are the same as the movement time of the axis with the longest movement time, thereby determining the motion pattern of each axis.

[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 added 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 premise of generating a two-point path using extended positioning. This figure is for explaining the flow of generating a two-point path using extended positioning. This figure illustrates the generation of a path between two points using extended positioning with a specified reference point. This figure illustrates an example of applying the generation of a path between two points with a specified reference point to drilling. This figure illustrates another example of applying the generation of a path between two points with a specified reference point to drilling. This figure shows an example of a time-extended path. This figure shows the change in Z-axis speed. 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] The embodiments of this disclosure will be described in detail below with reference to the drawings. In the description of the second 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 FIG. 1, the motion pattern determination unit 13 determines the motion pattern of each axis such that the movement time of at least one of the axes from the rapid traverse movement start point S to the rapid traverse movement end point E is minimized, 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. The motion pattern determination unit 13 of the present embodiment determines the motion pattern of each axis such that the movement time of at least one of the axes from the rapid traverse movement start point S to the rapid traverse movement end point E is minimized, according to the movement distance and the like from the rapid traverse movement start point S to the rapid traverse movement end point E. More specifically, when V1=0, V2=0, A1=0, and A2=0, the motion pattern determination unit 13 of the present embodiment classifies and determines the motion pattern, for example, based on whether the speed of each axis reaches the maximum value according to the movement distance from the rapid traverse movement start point S to the rapid traverse movement end point E. Further, the motion pattern determination unit 13 of the present embodiment further classifies and determines the motion pattern, for example, based on whether the acceleration of each axis reaches the maximum value.

[0036] The motion pattern determination unit 13 stores, for example, a motion pattern determination table in advance, and refers to this motion pattern determination table to determine the motion pattern. FIG. 8 is a diagram showing the motion pattern determination table pre-stored by the motion pattern determination unit 13. As shown in FIG. 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 characteristic acquisition unit 11 and the motion limits acquired by the motion limit acquisition unit 12, and that minimizes the movement time of at least one of the axes from the rapid traverse movement start point S to the rapid traverse movement end point E, is classified into four motion patterns 1 to 4 when represented on a graph with the horizontal axis as time (s) and the vertical axis as speed (mm / s). The motion pattern determination unit 13 of the present embodiment 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 restrictions acquired by the motion restriction acquisition unit 12 as a relation 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, an 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 the maximum and the absolute value of acceleration also reaches the maximum. This operation pattern 1 is a case where the moving distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be long, so that the absolute value of the speed can reach the maximum during the rapid traverse movement. 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 the maximum, but the absolute value of acceleration reaches the maximum. This operation pattern 2 is a case where the moving distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be short, so that the absolute value of the speed cannot reach the maximum during the rapid traverse movement. 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 the maximum, but the absolute value of acceleration does not reach the maximum. This operation pattern 3 is a case where the moving distance from the rapid traverse movement start point S to the rapid traverse movement end point E is set to be long, so that the absolute value of the speed can reach the maximum during the rapid traverse movement. 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 Figure 12, motion pattern 4 is a motion pattern in which neither the absolute value of velocity nor the absolute value of acceleration reaches its maximum. This motion pattern 4 occurs when the travel distance from the fast-forward start point S to the fast-forward end point E is set to be short, so the absolute value of velocity cannot reach its maximum during fast-forward movement. At the same time, the maximum value of acceleration is set to be large, so the absolute value of acceleration does not reach its maximum.

[0042] Next, the procedure for determining the motion pattern by the motion pattern determination unit 13 will be described. Figure 13 is a flowchart showing the procedure for determining the motion pattern by the motion pattern determination unit 13 when the velocity and acceleration applied to two points are both 0. This motion pattern determination process is performed in response to the acquisition of motion characteristics by the motion characteristics acquisition unit 11 and the acquisition of motion limits by the motion limit acquisition unit 12 when the path generation device 1 generates a path between two points. In this process, the ranges of possible values ​​for velocity, acceleration, and jerk, i.e., the motion limits, are set to -V or more and V or less, -A or more and A or less, and -J or more and J or less, respectively.

[0043] In step S11, A is (V J) 1/2 It is determined whether the value is smaller and the distance between the two points is greater than V(A / J + V / A). 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 its maximum value V, and the absolute value of the acceleration also reaches its maximum value A. Therefore, the process proceeds to step S12, where it is determined that the operation pattern is operation pattern 1, and this process ends. If this determination is NO, the process proceeds to step S13.

[0044] In step S13, A is (V J) 1/2 If smaller and the distance between the two points is less than or equal to V(A / J + V / A), then 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 motion pattern 1 as an example. As shown in Fig. 9, the time-velocity relationship curve in motion pattern 1 has two linear portions where the absolute value of acceleration reaches the maximum and the velocity changes linearly, one linear portion where the absolute value of the velocity reaches the maximum and the velocity is constant, and four non-linear portions that connect these linear portions and the point of zero velocity and in which the velocity 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 of the sections of these linear portions and non-linear portions.

[0048] FIG. 14 is a diagram showing the position function of the X-axis path in motion 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 equations 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 represents the initial value of time, V represents the maximum value of velocity, A represents the maximum value of acceleration, and J represents the maximum value of jerk. The equations 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 following two values ​​to the cycle time of Z-axis section 1: the cycle time for movement on the X and Y axes, 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. Which of these is larger depends on the distance between holes. Therefore, it is necessary to consider different cases for the velocity Vp, acceleration Ap, and maximum reach h related to the total cycle time for rapid traverse between holes, depending on the distance 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 decelerating 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 an embodiment in which a route is generated in such a way as to pass through predetermined points in the 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 third embodiment, the extended positioning method described above is used to generate a path for moving as quickly as possible between two points, for example. Figure 43 is a diagram illustrating the premise for generating a path between two points using extended positioning in the third embodiment. As shown in Figure 43, we consider a path that moves as quickly as possible from point 1 to point 2 in the XYZ coordinate system. Here, "movement to point 2" means arriving at or passing through point 2 without fail.

[0102] Conventionally, when considering movement from point 1 to point 2 as shown in Figure 43, the first step was to determine a three-dimensional path in the XYZ coordinate system. Next, the time required to move from point 1 to point 2 was shortened by moving along that path as quickly as possible along the X, Y, and Z axes.

[0103] In contrast, in the third embodiment, the shortest travel time (cycle time) from point 1 to point 2 is calculated for each axis using the extended positioning described above. Next, based on the calculated cycle time, the path is adjusted so that each axis can reliably reach point 2. In this way, in the third embodiment, the path from point 1 to point 2 is determined based on a path that moves the X, Y, and Z axes as quickly as possible.

[0104] Figure 44 illustrates the process of generating a path between two points using extended positioning. As shown in Figure 44, at point 1 and point 2, position (p), velocity (v), and acceleration (a) are set for each of the X, Y, and Z coordinate axes. Specifically, for point 1, the values ​​are (p1x, p1y, p1z), (v1x, v1y, v1z), and (a1x, a1y, a1z), and for point 2, the values ​​are (p2x, p2y, p2z), (v2x, v2y, v2z), and (a2x, a2y, a2z). These values ​​are distributed to each axis in order to determine the path between the two points using the extended positioning method described earlier.

[0105] Next, we determine the fastest cycle time for each axis to reach point 2. For the calculation of the fastest cycle time, each axis is assumed to operate within the following conditions, as in the previously described embodiment: -V ≤ velocity ≤ V, -A ≤ acceleration ≤ A, -J ≤ jerk ≤ J. However, this is not a limitation; the absolute values ​​of the maximum and minimum values ​​of velocity, acceleration, and jerk may be different.

[0106] To reliably reach point 2, the X, Y, and Z axes must arrive at point 2 simultaneously. If the cycle times for each axis are equal, then each axis will arrive at point 2 simultaneously. Therefore, by combining the fastest paths for each axis, a path from point 1 to point 2 can be generated.

[0107] In contrast, if the cycle times for the X, Y, and Z axes are not equal, the cycle time for each axis is adjusted to match the longest cycle time. This adjustment equalizes the cycle times for each axis, allowing all axes to reach point 2 simultaneously. This ensures that each axis reaches point 2 reliably.

[0108] One method for matching the cycle time of each axis to the longest cycle time is to generate a time extension path. A time extension path is a path that extends the cycle time of axes with short cycle times to match that of axes with longest cycle times. By passing through this time extension path, axes with short cycle times undergo the necessary temporal adjustment (time extension). Details regarding time adjustment will be described later with reference to Figures 48 and 49. First, other examples to which two-point path generation using extended positioning can be applied will be described with reference to Figures 45 to 47.

[0109] Based on Figure 45, we will explain how to specify reference points, particularly when specifying multiple reference points. Figure 45 shows how to generate a path between two points using extended positioning after specifying reference points. In the example shown in Figure 43, the axis moved between two points, from point 1 to point 2. In contrast, in the example in Figure 45, one or more reference points are specified on the path from the starting point to the ending point. Then, path generation between two points using extended positioning is applied to each section from the starting point to the reference point, from reference point to reference point, and from the reference point to the ending point.

[0110] In this case, similar to points 1 and 2 shown in Figures 43 and 44, the position, velocity, and acceleration along the X, Y, and Z axes at the moment of passing through each point are given for all points, including the specified reference point. Then, similar to the method shown in Figure 44, a path between any two points is generated by sequentially calculating the fastest cycle time for each axis, generating time-extended paths for axes with shorter cycle times, and connecting each axis.

[0111] Furthermore, it is possible to specify multiple reference points, as shown in Figure 45 with reference point 1 and reference point 2. In this case, two-point path generation can be applied to all adjacent points, such as from the starting point to reference point 1, from reference point 1 to reference point 2, and from reference point 2 to the ending point.

[0112] The method for generating a path between two points using multiple reference points, as explained with reference to Figure 45, can be applied to a variety of machining processes. By appropriately setting the reference points, it is possible to flexibly generate paths according to the situation. Below, we will explain an example of its application to drilling. Figures 46 and 47 both show examples of applying reference point specification in drilling, with Figure 46 showing an example where there is no step on the workpiece surface W, and Figure 47 showing an example where there is a step.

[0113] The step shown in Figure 47 is formed by the placement of the jig J on the workpiece surface W. However, the cause of step formation is not limited to this; for example, a step can also occur if there is a difference in height on the workpiece surface W itself. In this specification, drilling without a step on the workpiece surface W, as shown in Figure 46, is referred to as "drilling without interference consideration," and drilling with a step, as shown in Figure 47, is referred to as "drilling with interference consideration."

[0114] In the example of drilling without interference consideration shown in Figure 46, the starting point is the bottom Z of the first hole, and the ending point is the position corresponding to the workpiece surface W of the second hole. In this path, the position corresponding to the workpiece surface W of the first hole is designated as a reference point. By setting a reference point in this way, an appropriate path from the bottom Z to the ending point can be generated using the two-point path generation method using extended positioning described above.

[0115] Furthermore, this method of generating drilling paths can also be applied to drilling with interference considerations. As shown in Figure 47, if a step is created by a jig J placed on the workpiece surface W, a path that avoids the step can be generated by setting multiple reference points. In the example in Figure 47, reference point 1 is set to the position corresponding to the workpiece surface W of the first hole, and reference points 2 and 3 are set to the corners of the top surface of the jig J, for a total of three reference points being used. After setting multiple reference points in this way, as explained with reference to Figure 45, two-point path generation is performed between each pair of adjacent points using extended positioning. This makes it possible to appropriately generate a drilling path that takes interference into consideration.

[0116] As described above, by specifying multiple reference points along the path from the starting point to the ending point, it is possible to generate paths that accommodate a variety of conditions. However, the paths generated in this way are not necessarily the shortest paths from the starting point to the ending point.

[0117] The path changes depending on the position, velocity, and acceleration values ​​assigned to each reference point, and the cycle time fluctuates accordingly. Therefore, to minimize the overall cycle time from the start to the end point, it is necessary to carefully consider the number of reference points and the conditions assigned to each reference point. In other words, even if the fastest possible cycle time is achieved between any two points within the given conditions, optimizing the position, velocity, and acceleration set for each reference point is crucial to obtaining the smallest overall cycle time.

[0118] Here, we will explain an example of time extension in path generation between two points using extended positioning. Figure 48 shows an example of a time-extended path, and Figure 49 shows the change in Z-axis velocity. In the following explanation, we will use the drilling without interference consideration shown in Figure 46 as an example.

[0119] Consider the case where the cycle times for the X and Y axes are longer than the cycle time for the Z axis. In this case, the cycle time for the Z axis is extended to match the cycle times of the other two axes. Specifically, in the interference-free drilling shown in Figure 46, the movement path of the Z axis is divided into two sections: Z axis section Z2 and Z axis section Z3. This makes it possible to extend the cycle time for the Z axis.

[0120] If the cycle time required for movement along the X and Y axes is longer than that for the Z axis, the graph for the Z axis section Z3 is shifted backward on the time axis. This allows the Z axis to reach the cutting start position for the second hole at the same time that the X and Y axis positioning is completed. In other words, the X, Y, and Z axes arrive at the cutting start position simultaneously.

[0121] Figure 48 shows an example of a time extension path from the start point of section 2 (Z2S) to the end point of section 3 (Z3E). In the example shown in Figure 48, the section from the end point of section 2 (Z2E) to the start point of section 3 (Z3S) can be considered to have a velocity of 0, i.e., to be stationary.

[0122] However, a state of zero velocity is merely one example of a method for achieving time extension. For instance, time extension can also be achieved by establishing a section of constant linear motion at an intermediate velocity V' for a certain period of time, rather than having zero velocity.

[0123] In the example shown in Figure 48, the Z-axis moves at an intermediate velocity V' from the end point of section 2 (Z2E) to the start point of section 3 (Z3S), performing uniform linear motion in this section. Thus, by providing a section of movement at an intermediate velocity V', time extension becomes possible. Note that the intermediate velocity V' is not limited to a velocity of 0, as mentioned above.

[0124] By adjusting the value of the intermediate velocity V', the length of the time extension, and consequently the cycle time, can be adjusted. In other words, by setting V' to an appropriate value, it is possible to adjust the cycle time to the desired time.

[0125] This paper describes the application of two-point path generation using extended positioning to configuration space. Previous descriptions have concerned path generation between points in so-called real space, specifically in the XYZ coordinate system. However, the two-point path generation using extended positioning described in this disclosure can also be applied to configuration space. Configuration space is a multidimensional space with a one-to-one correspondence to each point in real space, and is used, for example, in motion planning for an arm-type robot.

[0126] For example, in a 6-axis arm robot, the angle (θ) of each joint 1 , θ 2 , θ 3 , θ 4 , θ 5 , θ 6 Once the configuration is determined, the robot's posture and end-effector position are also uniquely determined accordingly. By utilizing this relationship, it becomes possible to perform interference detection, which is computationally intensive in real space, within the configuration space. Based on the results of this detection, the posture and movement path in real space can be appropriately determined.

[0127] Path generation between two points using extended positioning can also be applied to configuration space. For example, a path can be generated between a start and end point in configuration space in the same way as in the case of the XYZ coordinate system described above. In this case, it is also possible to specify reference points as needed. The path thus obtained in configuration space can be mapped to the real space and used as an action path in the real space.

[0128] 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

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

[0134] (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), wherein the motion pattern determination unit (13) is A path generation device (1) determines the movement pattern of each axis by determining a movement time shorter than a predetermined time for each axis when moving from a predetermined point to the next point between the starting point and the ending point of the movement, and by adjusting the movement times of the axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time.

[0135] (Note 2) In Note 1 above, the route calculation unit (14) generates a time extension route to adjust the travel time of the other axis.

[0136] (Note 3) In Note 1 or Note 2 above, the connecting part (15) connects the paths of each axis whose travel times to the predetermined point are aligned.

[0137] (Note 4) In any of the above notes 1 to 3, the motion pattern determination unit (13) determines the shortest movement time for each axis in the movement from a predetermined point to the next point between the start point of movement and the end point of movement, and determines the motion pattern for each axis by adjusting the movement times of the axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time.

[0138] (Note 5) In Note 4 above, if the shortest travel times for each axis are the same, the coupling unit (15) combines the fastest paths for each axis. If the shortest travel times for each axis are not the same, the path calculation unit (14) generates time-extended paths for all axes except the one with the longest travel time to adjust them to be the same as the longest travel time. The coupling unit (15) then combines the fastest path for the axis with the longest travel time with the time-extended paths for the other axes.

[0139] (Note 6) In any of the above notes 1 to 5, the predetermined points are specified in multiple ways between the starting point and the ending point of movement.

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

[0141] (Note 8) The system includes: 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 values ​​that the motion characteristics of each axis can take 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 coupling step to combine the paths for each axis calculated in the path calculation step, wherein in the motion pattern determination step, a movement time shorter than a predetermined time is determined for each axis when moving from a predetermined point to the next point between the starting point and the ending point of movement, A path generation method for determining the movement pattern of each axis by adjusting the movement times of axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time.

[0142] (Note 9) The computer is made to perform 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, wherein in the motion pattern determination step, a movement time shorter than a predetermined time is determined for each axis when moving from a predetermined point to the next point between the starting point and the ending point of movement, A computer program that determines the operation pattern of each axis by adjusting the movement times of the axes other than the one with the longest movement time so that they are the same as the movement time of the axis with the longest movement time.

[0143] 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 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 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 motion pattern determination unit determines a movement time shorter than a predetermined time for each axis when moving from a predetermined point to the next point between the starting point and the ending point, and adjusts the movement times of the axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time, thereby determining the operation pattern of each axis.

2. The path calculation unit generates a time extension path for adjusting the travel time of the other axis, as described in claim 1.

3. The path generation device according to claim 1 or 2, wherein the connecting part connects the paths of each axis whose travel times to the predetermined point are aligned.

4. The path generation device according to claim 1 or 2, wherein the motion pattern determination unit determines the shortest movement time for each axis in the movement from a predetermined point to the next point between the start point of movement and the end point of movement, and adjusts the movement times of the axes other than the axis with the longest movement time so that they are the same as the movement time of the axis with the longest movement time, thereby determining the motion pattern of each axis.

5. The path generation device according to claim 4, wherein if the shortest travel times for each axis are the same, the coupling unit combines the fastest paths for each axis; if the shortest travel times for each axis are not the same, the path calculation unit generates time-extended paths for all axes except the one with the longest travel time to adjust them to be the same as the longest travel time; and the coupling unit combines the fastest path for the axis with the longest travel time with the time-extended paths for the other axes.

6. The route generation device according to claim 1 or 2, wherein a plurality of predetermined points are designated between the starting point and the ending point of movement.

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

8. 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 in the motion characteristic acquisition step and the motion limits acquired in the motion limit acquisition step; a path calculation step of 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 combination step of combining the paths for each axis calculated in the path calculation step, wherein in the motion pattern determination step, a movement time shorter than a predetermined time is determined for each axis when moving from a predetermined point to the next point between the starting point and the ending point of movement, and the movement time of the axes other than the axis with the longest movement time is adjusted so that it is the same as the movement time of the axis with the longest movement time, thereby determining the motion pattern of each axis.

9. The computer is made to perform the following steps: a motion characteristics 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 characteristics 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 characteristics 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, wherein in the motion pattern determination step, a movement time shorter than a predetermined time is determined for each axis when moving from a predetermined point to the next point between the starting point and the ending point of movement. A computer program that determines the operation pattern of each axis by adjusting the movement times of the axes other than the one with the longest movement time so that they are the same as the movement time of the axis with the longest movement time.