Tool path generation method and device
Patent Information
- Application Number
- PCT/JP2026/009643
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-14
- Filing Date
- 2026-03-12
- Publication Date
- 2026-09-17
Smart Images

Figure JP2026009643_17092026_PF_FP_ABST
Abstract
Description
Tool path generation method and apparatus
[0001] The present invention relates to a tool path generation method and apparatus for generating tool paths for a machine tool having three orthogonal linear feed axes and two rotary feed axes.
[0002] In a five-axis machine tool having three orthogonal linear feed axes and two rotary feed axes, it is necessary to determine the tool orientation after the tool path has been determined. For example, Patent Document 1 describes a tool path generation method in which one machining point on a series of tool paths obtained by sequentially connecting multiple machining points with straight lines is set as the target machining point, machining points within a predetermined range centered on the target machining point are selected as points of interest, and the tool orientation of the target machining point is calculated by averaging the tool orientations at the selected points of interest.
[0003] International Publication No. 2018 / 179401
[0004] According to the invention of Patent Document 1, even when the tool position changes across multiple tool paths, the tool position can be effectively corrected, and small steps caused by changes in tool position are less likely to occur on the workpiece surface.
[0005] However, the method for smoothing tool posture changes described in Patent Document 1 does not take into account the mechanical structure of the machine tool, particularly the movement and load on the feed axis. As a result, there is a problem in that the actual feed speed decreases when the feed axis, which has poor motion performance, such as when a heavy workpiece is mounted on a table, is moved significantly.
[0006] The present invention aims to solve the problems of the prior art described above, and to provide a method and apparatus for generating a tool path that reduces the load on a selected feed axis (reduces acceleration and speed) and facilitates the smooth operation of the selected feed axis by optimizing the distribution of speed and acceleration of each feed axis determined from the NC program, without changing the tool path which does not include tool posture information.
[0007] To achieve the above object, according to the present invention, there is provided a tool path generation method for generating a tool path for a machine tool (100) having three orthogonal linear feed axes (X, Y, Z) and two rotary feed axes (A, B), the method comprising: inputting tool information representing a shape of a tool, workpiece information representing a shape of a workpiece, and machine information representing a mutual positional relationship between each of said linear feed axes and said rotary feed axes; generating a tool position path represented by sequentially arranging coordinate values (X tcpi , Y tcpi , Z tcpi ) in said three orthogonal axis directions representing a position of a tip point of the tool based on said tool information and said workpiece information; selecting two feed axes (α-axis, β-axis) to be optimized from among said three linear feed axes (X, Y, Z) and said two rotary feed axes (A, B); for each of the coordinate values (X tcpi , Y tcpi , Z tcpi ) representing said tool position path, calculating, based on said machine information, said tool information and said workpiece information, a range (R tcpi , Y tcpi , Z tcpi ) of possible coordinate values that said selected two feed axes (α-axis, β-axis) can take when the tool is located at said coordinates (X i ); within the range (R i ) of each coordinate value that said selected two feed axes (α-axis, β-axis) can take, selecting one set of coordinate values (α mci , β mci ) for said selected two feed axes (α-axis, β-axis) that satisfies conditions that a change in coordinate values is smooth along the order of the tool position path and no interference occurs between the tool (T) and the workpiece (W); and providing a tool path generation method configured such that data (X mci , β mci ) of the one set of selected coordinate values for said selected two feed axes (α-axis, β-axis) is combined with each of the coordinate values (X tcpi , Y tcpi , Z tcpi ) representing said tool position path, and sequentially arranged data (X tcpi , Y tcpi , Z tcpi , α mci , β mci ) is used as the tool path.
[0008] According to the present invention, it is possible to generate a tool path such that the change in the coordinate values of the selected feed axis is smooth, and the movement of one of the two selected feed axes is reduced.
[0009] This is a block diagram showing a tool path generation device according to a preferred embodiment of the present invention. This is a schematic side view showing a machine tool to which the present invention is applied. This is a schematic side view of a machine tool for illustrating changes in the orientation of the tool. This is a schematic side view of a machine tool for illustrating changes in the orientation of the tool. This is a schematic diagram for illustrating the configuration space.
[0010] Hereinafter, preferred embodiments of the present invention will be described with reference to the attached drawings. First, referring to Figure 2, an example of a machine tool to which the present invention is applied is shown. In Figure 2, the machine tool 100 according to a preferred embodiment of the present invention comprises a bed 102 as a base fixed to the floor of a factory, a table 104 on which a workpiece W is fixed, which is provided on the upper surface of the front portion of the bed 102 (left side in Figure 1) so as to be movable in the front-rear direction or in the Y-axis direction (left-right direction in Figure 2), a column 106 erected and fixed on the upper surface of the bed 102 at the rear end side of the bed 102 (right side in Figure 1), a saddle 108 provided on the front surface of the column 106 so as to be movable in the left-right direction or in the X-axis direction (direction perpendicular to the plane of the paper in Figure 2), and a Z-axis slider 110 mounted on the front surface of the saddle 108 so as to be movable in the up-down direction or in the Z-axis direction.
[0011] A B-axis head 112 is mounted at the tip of the Z-axis slider 110 so as to be rotatable around a rotation axis Ob extending in the horizontal front-rear direction, as indicated by arrow B. The B-axis head 112 has a pair of arms 112a, and a spindle head 114 that rotatably supports the spindle 116 is mounted between the arms 112a. The spindle head 114 has a pivot axis 114a, and is mounted on the arms 112a of the B-axis head 112 so as to be rotatable around a rotation axis Oa that extends perpendicular to the rotation axis Ob. The rotation axis Oa extends in the horizontal left-right direction when the B-feed axis is at the origin (when the coordinate value of the B-axis is 0).
[0012] The spindle head 114 supports the spindle 116 so that it can rotate around a rotation axis O that is perpendicular to the rotation axis Oa. A tapered hole (not shown) is formed at the tip of the spindle 116 into which a tool T is inserted. In the example in Figure 1, the tool T is mounted at the tip of the spindle 116 via a tool holder TH.
[0013] Note that in Figure 1, the position of the center Ot of the tool T in the work coordinate system (X tcp , Y tcp Z tcp ) and the orientation of the tool T are aligned with the direction vector (I) along the axis of rotation O as viewed from the center Ot of the tool T. tcp J tcp _K tcp This is shown by [the diagram]. The center Ot of the tool T is predetermined for each tool T, such that if the tool T is a ball end mill (not shown), it is the center of the ball at the tip, or if the tool T is a square end mill (not shown), it is the center of the tip face.
[0014] The table 104 is mounted on the upper surface of the bed 102 so as to be able to reciprocate along a pair of Y-axis guide rails (not shown) that extend horizontally in the Y-axis direction (left-right direction in Figure 1). The bed 102 is equipped with a Y-axis feed device that drives the table 104 to reciprocate along the Y-axis guide rails, which includes a ball screw (not shown) extending in the Y-axis direction and a Y-axis servo motor 120 (see Figure 1) connected to one end of the ball screw. The table 104 is fitted with a nut (not shown) that engages with the ball screw. The table 104 is also fitted with a Y-axis scale (not shown) for measuring the coordinate position of the table 104 in the Y-axis direction.
[0015] The saddle 108 is mounted to reciprocate along a pair of X-axis guide rails (not shown) extending in the X-axis direction on the front surface of the upper portion of the column 106. The column 106 is equipped with an X-axis feed device that drives the saddle 108 to reciprocate along the X-axis guide rails, which consists of a ball screw (not shown) extending in the X-axis direction and an X-axis servo motor 118 (see Figure 1) connected to one end of the ball screw. The saddle 108 is fitted with a nut (not shown) that engages with the ball screw. The column 106 is also fitted with an X-axis scale (not shown) for measuring the coordinate position of the saddle 108 in the X-axis direction.
[0016] The Z-axis slider 110 is mounted on the front surface of the saddle 108 so as to be able to reciprocate along a pair of Z-axis guide rails that extend in the Z-axis direction (vertical direction in Figure 1). The saddle 108 is equipped with a Z-axis feed device that drives the Z-axis slider 110 to reciprocate along the Z-axis guide rails, which includes a ball screw (not shown) extending in the Z-axis direction and a Z-axis servo motor 122 (see Figure 1) connected to one end of the ball screw. The Z-axis slider 110 is fitted with a nut (not shown) that engages with the ball screw. The saddle 108 is also fitted with a Z-axis scale (not shown) for measuring the coordinate position of the Z-axis slider 110 in the Z-axis direction.
[0017] The Z-axis slider 110 is equipped with a B-axis servo motor 126 (see Figure 1) as a B-axis feed device that rotates the B-axis head 112 around the rotation axis Ob. The B-axis servo motor 126 is fitted with a rotary encoder (not shown) that measures the rotational position (coordinate position in the B-axis direction) of the B-axis head 112.
[0018] The B-axis head 112 is equipped with an A-axis servo motor 124 (see Figure 1) as an A-axis feed device that rotates the spindle head 114 around the rotation axis Oa. The A-axis servo motor 124 is fitted with a rotary encoder (not shown) that measures the rotational position (coordinate position in the A-axis direction) of the spindle head 114.
[0019] The X-axis servo motor 118, Y-axis servo motor 120, Z-axis servo motor 122, A-axis servo motor 124, B-axis servo motor 126, and the rotary encoders for the X-axis scale, Y-axis scale, Z-axis scale, A-axis servo motor Ma, and B-axis servo motor Mb are connected to an NC device 200 that controls the machine tool 100. The NC device 200 controls the power (current value) supplied to the X-axis servo motor 118, Y-axis servo motor 120, Z-axis servo motor 122, A-axis servo motor 124, and B-axis servo motor 126.
[0020] Thus, the machine tool 100 is a five-axis controlled machine tool having three orthogonal linear feed axes (X feed axis, Y feed axis, Z feed axis) and two rotary feed axes (A feed axis, B feed axis).
[0021] Referring to Figure 1, a block diagram of a tool path generation device according to a preferred embodiment of the present invention is shown. In Figure 1, the tool path generation device 10 comprises a tool position path generation unit 12, a C-Space generation unit 14, an optimized path generation unit 15, and a kinematics conversion unit 18 as its main components. The tool path generation device 10 can consist of a computer and associated software including a CPU (Central Processing Unit), memory devices such as RAM (Random Access Memory) and ROM (Read Only Memory), storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive), input / output ports, and a bidirectional bus that interconnects these, and in particular, it can be configured as software as part of a general CAM (Computer Aided Manufacturing) device.
[0022] Information related to the workpiece shape and tool shape is input from the input unit 20 to the tool position path generation unit 12. The workpiece shape includes the shape of an unprocessed workpiece and the shape of a processed workpiece. The workpiece shape can be input from a CAD (Computer Aided Design) device via a network such as a LAN. The tool shape may include the length and diameter of the tool used for machining, the position of the center Ot of the tool T, and the shape of the tool holder used to mount the tool on the spindle (length, diameter, shape of the tapered section (length, angle)). The tool shape can be input from the CAD device that inputs the workpiece shape or from a computer independent of the CAD device.
[0023] The tool position path generation unit 12 generates a tool position path in a manner known in the field of CAM, based on the input information related to the workpiece shape and tool shape. The tool position path is (X tcp1 , Y tcp1 Z tcp1 ), (X tcp2 , Y tcp2 Z tcp2 ), (X tcp3 , Y tcp3 Z tcp3 ), ... (X tcpi , Y tcpi Z tcpi It is generated by a series of coordinates of the position of the center Ot of the tool T used in machining, as shown below (where i is a natural number). At this time, the direction vector of the rotation axis O representing the orientation of the tool T (I tcp J tcp _K tcp ) has not been decided.
[0024] Figures 3 and 4 are schematic diagrams of the same machine tool 100 as in Figure 2. In Figures 2 to 4, the center Ot of the tool T is at the same coordinate position, but the orientation of the tool T is different. That is, the direction vector (I) along the rotation axis O as seen from the center Ot of the tool T tcp J tcp _K tcp The coordinate values of the X, Y, and Z feed axes in the machine coordinate system (X mc , Ymc Z mc ) differs in Figures 2 to 4.
[0025] In addition to the information related to the workpiece shape and tool shape described above, machine information and the feed axis to be optimized are input from the input unit 20 to the C-Space generation unit 14. The machine information includes (1) the reference orientation of each feed axis, (2) the dependency relationships between the feed axes, and (3) the movable range of each feed axis.
[0026] (1) The reference orientation of the feed axes is the relative positional relationship (including orientation) of each feed axis when it is in the reference position. The reference orientation of the feed axes is the position of the center Ot of the tool T (X) when each feed axis is positioned at the origin (for example, when axis A is at 0 degrees). tcp , Y tcp Z tcp The vector of point PA on the rotation axis Oa of the A axis as seen from the spindle head 114 may be included, and the vector of point PB on the rotation axis Ob of the B axis as seen from point PA on the rotation axis Oa of the A axis. Note that point PA on the rotation axis Oa of the A axis can be set anywhere on the rotation axis Oa of the A axis, but the set point PA must always be in the same relative position as seen from the spindle head 114. Similarly, point PB on the rotation axis Ob of the B axis can be set anywhere on the rotation axis Ob of the B axis, but the set point PB must always be in the same relative position as seen from the B axis head 112.
[0027] (2) The dependency relationship between feed axes is the dependency relationship between axes, which feed axis is mounted on which feed axis. For example, in the machine tool 100 in Figure 2, the Z feed axis is mounted on the X feed axis, the B feed axis is mounted on the Z feed axis, the A feed axis is mounted on the B feed axis, and the spindle 116 is mounted on the A feed axis. The Y feed axis is a standalone feed axis (not mounted on any other feed axis), and the workpiece W is mounted on the Y feed axis.
[0028] (3) The range of motion of each feed axis is, for example, 0 ≤ X ≤ X max , 0 ≤ Y ≤ Y max , 0≦Z≦Z max , 0 ≤ A ≤ A max , 0 ≤ B ≤ B max As shown above, the minimum and maximum values of the operating range for each feed axis can be entered.
[0029] The operator selects two feed axes to be optimized as the feed axes to be optimized and inputs them into the C-Space generation unit 14. The selection and input of the feed axes to be optimized can be performed, for example, by displaying a dialog box (not shown) on the display screen of the computer or CAM device that constitutes the tool path generation device 10, prompting the operator to select the feed axes to be optimized, and the operator can do so through this dialog box.
[0030] The C-Space generation unit 14 generates (defines) a coordinate space (configuration space) with the two selected feed axes (α axis, β axis) to be optimized as spatial axes. The C-Space generation unit 14 uses the (X) generated by the tool position path generation unit 12. tcp , Y tcp Z tcp For each of the selected two feed axes (α axis, β axis), the movable range of the two selected feed axes is calculated. In Figure 5, shown as an example, the Y feed axis and the B feed axis are selected as the two feed axes to be optimized (α axis, β axis), and a series of coordinate values (X) representing the tool position path are used. tcp1 , Y tcp1 Z tcp1 ), (X tcp2 , Y tcp2 Z tcp2 ), (X tcp3 , Y tcp3 Z tcp3 ), ... (X tcpi , Y tcpi Z tcpi For each of the following (where i is a natural number), the movable region R of the Y feed axis and the B feed axis. 1 , R 2 , R 3 , ...R i (i is a natural number) The movable region R of the Y feed axis and B feed axis is shown. 1 , R 2 , R 3 , ...R i (i is a natural number) is the coordinate value of the Y feed axis and B feed axis in the machine coordinate system (Y mc , B mc It can be calculated using ).
[0031] The movable regions Ri of the Y feed shaft and the B feed shaft referred to herein do not simply indicate only the movable stroke ranges of the Y feed shaft and the B feed shaft when each is considered as an independent feed shaft. The movable region Ri refers to a region within the movable stroke range of the feed shafts where the Y feed shaft and the B feed shaft can move and be positioned without interference between a tool (T) and a workpiece (W). Furthermore, interference between the tool (T) and the workpiece (W) means that the tool (T), the tool holder TH, the spindle 116, the spindle head 114, and the like contact the workpiece (W) at a location other than the cutting edge portion of the tool (T).
[0032] The optimized path generating unit 16 generates the movable region R generated by the C-Space generating unit 14 1 , R 2 , R 3 , …R i (where i is a natural number), while avoiding interference between the tool T including the tool holder TH and the workpiece W, coordinates at which the two selected feed shafts (the Y feed shaft and the B feed shaft in this example) can operate are selected one for each of the coordinate values (X tcpi , Y tcpi , Z tcpi where i is a natural number) representing the tool position path generated by the tool position path generating unit 12, the selected coordinates (α mci , β mci (=Y mci , B mci where i is a natural number) are combined with the coordinate values (X tcpi , Y tcpi , Z tcpi where i is a natural number) representing the tool position path to obtain a series of coordinate values (X tcpi , Y tcpi , Z tcpi , α mci (=Y mci ), β mci (=B mci where i is a natural number), which are sequentially arranged in this form and output to the kinematics conversion unit 18. At that time, the optimized path generating unit 16 preferably interpolates and smoothly connects the selected coordinates using NURBS or B-splines.
[0033] The aforementioned coordinate values (X tcpi , Y tcpi , Z tcpiFor each of the two feed axes (in this example, the Y feed axis and the B feed axis), select one coordinate from the range in which they can operate (α mci , β mci (=Y mci , B mci When doing so, the optimization path generation unit 16 adjusts the movement of the two selected feed axes (Y feed axis and B feed axis in this example) so that it moves smoothly between adjacent movable regions (α mci , β mci (=Y mci , B mci The coordinate values of the ) are selected. As a method for obtaining this smooth motion, the optimization path generation unit 16 uses an algorithm used to find a path that allows the robot to move smoothly in the configuration space (C-Space) used to represent the posture and motion of the robot. A 5-axis machining center can be considered as a 5-degree-of-freedom robot that grips a tool, and the robot's configuration space can be applied. First, the movable region R corresponding to the first block of the tool path 0 and the movable region R corresponding to the last block of the tool path max (α mci , β mci (=Y mci , B mci Next, determine the coordinate values of the movable region R. Next, use algorithms known to be used in pathfinding in configuration space, such as RRT (Rapidly-exploring Random Tree), PRM (Probabilistic Roadmap), A* (A-star) algorithm, and Dijkstra's algorithm, to determine the movable region R. 0 and movable region R max (α) mci , β mci (=Y mci , B mci The coordinate values of ) are (α) between adjacent movable regions. mci , β mci (=Y mci , B mciThe calculation can be performed while maintaining the continuity of (α). mci , β mci (=Y mci , B mci ) is a combination that maintains continuity and changes smoothly as is, but by further smoothing using NURBS or spline (B-spline) curves, the change becomes even smoother (α mci , β mci (=Y mci , B mci ) can be combined in this way.
[0034] In this embodiment, the linear feed axis, the Y feed axis, tends to have a wider feed range than the rotary feed axis, the B feed axis. Furthermore, since the table 104 and workpiece W are mounted on the Y feed axis, it is heavier than the B feed axis, which is mounted on the spindle head 114, spindle 116, tool holder TH, and tool T. Therefore, moving the Y feed axis a large distance increases the time required for machining and requires a large force (electricity) for acceleration and deceleration. Consequently, the movable region R 1 , R 2 , R 3 , ...R i When selecting coordinates within (where i is a natural number), one of the two feed axes (the Y feed axis in this embodiment) can be preferentially selected to minimize the movement of that feed axis.
[0035] The kinematics transformation unit 18 converts a series of coordinate values (X) generated by the optimization path generation unit 16. tcpi , Y tcpi Z tcpi , Y mci , B mci (i is a natural number) A series of coordinate values (X) expressed in the work coordinate system tcpi , Y tcpi Z tcpi , I tcpi J tcpi _K tcpi The tool path generation device 10 outputs a series of coordinate values (X) to the NC device 200 of the machine tool 100. tcpi , Y tcpi Z tcpi , I tcpiJ tcpi _K tcpi The system reads and interprets the data and drives the servo motors 118, 120, 122, 124, and 126 of each feed axis.
[0036] If necessary, a post-processor 50 is placed between the tool path generation device 10 and the machine tool 100, and a series of coordinate values (X) are output from the kinematics transformation unit 18. tcpi , Y tcpi Z tcpi , I tcpi J tcpi _K tcpi The data can be converted into a format that can be read by the NC device 200.
[0037] 10 Tool path generation device 12 Tool position path generation unit 14 C-Space generation unit 15 Optimized path generation unit 16 Optimized path generation unit 18 Kinematics conversion unit 20 Input unit 50 Post-processor 100 Machine tool 102 Bed 104 Table 106 Column 108 Saddle 110 Z-axis slider 112 B-axis head 112a Arm 114 Spindle head 114a Swivel axis 116 Spindle 118 X-axis servo motor 120 Y-axis servo motor 122 Z-axis servo motor 124 A-axis servo motor 126 B-axis servo motor 200 NC device
Claims
1. A tool path generation method for generating a tool path for a machine tool having three orthogonal linear feed axes and two rotary feed axes, comprising: inputting tool information representing the shape of the tool, work information representing the shape of the workpiece, and machine information indicating the relative positions of each axis of the linear feed axis and the rotary feed axis; generating a tool position path represented by sequentially arranging coordinate values in the orthogonal three-axis direction representing the position of the tip of the tool based on the tool information and the workpiece information; selecting two feed axes to be optimized from the three linear feed axes and the two rotary feed axes; calculating the range of coordinate values that the two selected feed axes can take when the tool is at that coordinate, based on the machine information, the tool information and the workpiece information, for each coordinate value representing the tool position path; selecting one coordinate value of the two selected feed axes within the range of coordinate values that the two selected feed axes can take, such that the change in coordinate value is smooth along the order of the tool position path and the tool and workpiece do not interfere with each other. A tool path generation method characterized by sequentially arranging data by combining one selected coordinate value of the two selected feed axes with each coordinate value representing the tool position path to form the tool path.
2. The tool path generation method according to claim 1, wherein the tool path is converted into a tool path represented by the orientation of the tool as viewed from the position of the tool's center, using the machine information and the tool information, and the tool path is input to the NC device of the machine tool.
3. The tool path generation method according to claim 1, wherein selected coordinates are interpolated and connected using Nerves or B-splines so that the amount of change in coordinate values along the sequence of the tool position path is smooth.
4. A tool path generation device for a machine tool having three orthogonal linear feed axes and two rotary feed axes, comprising: an input unit for inputting tool information representing the shape of the tool, workpiece information representing the shape of the workpiece, machine information indicating the relative positions of each axis of the linear feed axis and the rotary feed axis, the three linear feed axes and two feed axes from the two rotary feed axes to be optimized; a tool position path generation unit that generates a tool position path represented by sequentially arranging coordinate values in the orthogonal three-axis direction representing the position of the tip of the tool based on the tool information and the workpiece information; and a C-Space generation unit that calculates a range of coordinate values that the two selected feed axes can take when the tool is at a given coordinate, based on the machine information, tool information and workpiece information, for each coordinate value representing the tool position path. A tool path generation device comprising: an optimization path generation unit that selects one coordinate value for the two selected feed axes within the range of coordinate values that the two selected feed axes can take, such that the change in coordinate value is smooth along the order of the tool position path and the tool and workpiece do not interfere with each other, and generates data as a tool path by sequentially arranging the selected coordinate value of the two selected feed axes in combination with the coordinate values representing the tool position path.
5. The tool path generation device according to claim 4, further comprising a kinematics conversion unit that uses the machine information and the tool information to convert the tool path into a tool path represented by the orientation of the tool as viewed from the center position of the tool, wherein the tool path is input to the NC device of the machine tool.
6. The tool path generation device according to claim 4, wherein the optimization path generation unit interpolates and connects selected coordinates using Nerves or B-splines so that the amount of change in coordinate values along the tool position path becomes smooth.