Numerical control systems
By storing and updating pose-dependent information in the numerical control system, the problem of excessively long interference detection computation time in the prior art is solved, and fast and accurate interference detection is achieved.
Patent Information
- Application Number
- CN202180052473.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-31
- Filing Date
- 2021-08-26
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2041-08-26
AI Technical Summary
Existing numerical control devices require processing multiple groups of objects to perform interference checks, resulting in excessively long calculation times. This makes it impossible to complete all checks within the control cycle and to detect interference from mechanical elements in a timely manner.
An attitude dependency information storage unit is used to store attitude dependency information. Through an interference check unit and an attitude dependency information update unit, the attitude dependency information is updated only when the attitude information of the mechanical element does not change, thereby reducing redundant calculations and improving computational efficiency.
By reducing repetitive calculations of pose-dependent information, disturbance detection operations can be completed in a short time, improving the processing speed and detection accuracy of the numerical control system.
Smart Images

Figure CN116113896B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to numerical control systems. Background Technology
[0002] The numerical control device moves multiple mechanical elements constituting the machine tool (tools, worktables, workpiece holders, etc.) along multiple control axes according to a pre-made numerical control program, thereby machining the workpiece. In addition, the numerical control device has an interference checking function that performs interference checking calculations in parallel during machining to confirm whether the various mechanical elements of the machine tool interfere with each other (for example, see Patent Document 1).
[0003] In the technology shown in Patent Document 1, the presence or absence of interference is determined by a so-called separation axis method, which uses the presence or absence of a separation plane that separates the two mechanical elements and a separation axis orthogonal to the separation plane. Whether such a separation plane and separation axis can be defined between the two mechanical elements requires information related to the position and posture of each mechanical element. Therefore, in the technology shown in Patent Document 1, after obtaining position information related to the position and posture information related to the posture of each mechanical element at a predetermined control cycle, calculations related to the separation axis are performed.
[0004] Existing technical documents
[0005] Patent documents
[0006] Patent Document 1: Japanese Patent No. 5857803 Summary of the Invention
[0007] The problem that the invention aims to solve
[0008] However, in conventional numerical control devices, interference checks are performed to determine whether two mechanical elements constituting a defined inspection group interfere with each other. This is done by using shape information related to the shape of each mechanical element, position information related to the position of each mechanical element, and posture information related to the posture of each mechanical element. In numerical control devices, such interference checks need to be performed on multiple inspection groups, which can be time-consuming.
[0009] Therefore, if the number of inspection groups increases, it may be impossible to complete the interference inspection calculation for all inspection groups within the control cycle of the machine tool based on the numerical control device. Furthermore, it may be impossible to detect interference between mechanical elements at the appropriate time.
[0010] This disclosure was made in view of the above-mentioned problems, and provides a numerical control system that can complete the disturbance checking operation in a numerical control device in a short time.
[0011] Methods for solving problems
[0012] One aspect of this disclosure is a numerical control system that moves multiple mechanical elements of a machine tool along multiple axes according to a movement command and performs interference detection calculations between two mechanical elements constituting a predetermined inspection object group. The numerical control system includes: a posture-dependent information storage unit that stores posture-dependent information, which depends on the respective shape and posture of the two mechanical elements constituting the inspection object group; an interference detection unit that acquires the position information of the mechanical elements and performs the interference detection calculations based on the position information and the posture-dependent information stored in the posture-dependent information storage unit; and a posture-dependent information updating unit that acquires the shape and posture information of the mechanical elements and updates the posture-dependent information based on the shape and posture information. If the posture information does not change, the posture-dependent information updating unit does not update the posture-dependent information.
[0013] Invention Effects
[0014] According to one aspect of this disclosure, as part of the information required for interference checking calculations, a posture dependency information storage unit stores posture dependency information, which depends on the shape and posture of the two mechanical elements constituting the inspection object group. The interference checking unit obtains the position information of the mechanical elements moving under a movement command and performs interference checking calculations based on this position information and the posture dependency information stored in the posture dependency information storage unit. Furthermore, the posture dependency information updating unit obtains the shape and posture information of the mechanical elements and updates the posture dependency information stored in the posture dependency information storage unit based on this shape and posture information; if the posture information does not change, the posture dependency information is not updated. Therefore, according to one aspect of this disclosure, as long as the posture information of the mechanical elements does not change, the posture dependency information stored in the posture dependency information storage unit can be repeatedly used in the interference checking unit to perform interference checking calculations. Therefore, according to one aspect of this disclosure, it is not necessary to recalculate the posture dependency information each time an interference checking calculation is performed, thus enabling the interference checking calculations in the interference checking unit to be completed in a short time. Attached Figure Description
[0015] Figure 1 This is a schematic diagram of the numerical control system according to the first embodiment of this disclosure.
[0016] Figure 2 This is a diagram showing an example of a machine tool.
[0017] Figure 3 This is a diagram used to explain the algorithm for interference detection operations in the above-described embodiments.
[0018] Figure 4 This is a diagram illustrating an example of pose-dependent information in the above-described implementation.
[0019] Figure 5A This is an example of a candidate vector for the separation axis.
[0020] Figure 5B This is an example of a candidate vector for the separation axis.
[0021] Figure 6A This is a flowchart (1) showing the specific process of interference detection and handling in a numerical control device.
[0022] Figure 6B This is a flowchart (2) showing the specific process of interference detection and handling in a numerical control device.
[0023] Figure 7 This diagram illustrates the algorithm for interference detection calculation in the interference detection unit of the second embodiment of this disclosure.
[0024] Figure 8 This is a diagram illustrating an example of pose dependency information generated by the pose dependency information update unit of the above embodiment.
[0025] Figure 9A This is a flowchart (1) illustrating the specific process of interference detection processing in the numerical control device of the above-described embodiment.
[0026] Figure 9B This is a flowchart (2) illustrating the specific process of interference detection and processing in the numerical control device of the above-described embodiment.
[0027] Figure 10 This diagram illustrates the algorithm for interference detection operations in the interference detection unit of the above-described embodiment. Detailed Implementation
[0028] <First Implementation>
[0029] Hereinafter, the numerical control system of the first embodiment of the present disclosure will be described with reference to the accompanying drawings.
[0030] Figure 1 This is a schematic diagram of the numerical control system 1 of this embodiment.
[0031] The numerical control system 1 has a machine tool 2 and a numerical control device (CNC) 3 that controls the machine tool 2.
[0032] Machine tool 2 has multiple mechanical elements with a defined three-dimensional shape, such as tools, worktables, supports for supporting tools, and fixtures for holding workpieces, and multiple servo motors 2a, 2b, ..., 2n that move each mechanical element along multiple control axes. Machine tool 2 drives the multiple servo motors 2a, ..., 2n according to movement pulses sent from numerical control device 3, causing the multiple mechanical elements to move along multiple control axes, thereby machining a workpiece (not shown). Here, machine tool 2 may be, for example, a lathe, drilling machine, milling machine, grinding machine, laser processing machine, or injection molding machine, but is not limited to these.
[0033] Figure 2 This is a diagram showing an example of machine tool 2. Figure 2 The illustrated machine tool 2 enables eight mechanical elements 21, 22, 23, 24, 25, 26, 27, 28 to move along five control axes X, Y, Z, A, and C.
[0034] The eighth mechanical element 28 is a fixture that supports a workpiece (not shown). The seventh mechanical element 27 is a worktable that supports the eighth mechanical element 28. The sixth mechanical element 26 is a base that supports the seventh mechanical element 27 and the eighth mechanical element 28, for example, a base that can rotate freely about a control axis C extending in the vertical direction.
[0035] The fifth mechanical element 25 is a tool for machining a workpiece supported by the eighth mechanical element 28. The fourth mechanical element 24 is a support member at its front end that supports the fifth mechanical element 25 as a rotatable member about a control axis A extending along a horizontal plane.
[0036] The third mechanical element 23 is a support member that supports the base end of the fourth mechanical element 24 at its front end. The second mechanical element 22 is a support member that supports mechanical elements 23-25 so that they can move freely along the control axis Z, which is a control axis in the vertical direction.
[0037] The first mechanical element 21 is a support member that supports mechanical elements 22-25 so that they can move freely along the control axis X, which extends along a horizontal plane. Furthermore, this first mechanical element 21 is supported by an eighth mechanical element 28 so that it can move freely in the horizontal plane along a control axis Y orthogonal to the control axis X.
[0038] exist Figure 2 In the 5-axis machine tool 2 illustrated, the posture of the fifth mechanical element 25 changes when it moves along control axis A. Similarly, the postures of the seventh mechanical element 27 and the eighth mechanical element 28 change when they move along control axis C. Hereinafter,... Figure 2 The structure of the numerical control device 3 will be described using a 5-axis machine tool 2 as shown as an example, but this disclosure is not limited thereto.
[0039] return Figure 1 The numerical control device 3 is a computer consisting of hardware such as a CPU (Central Processing Unit) for arithmetic processing, auxiliary storage units such as HDD (Hard Disk Drive) and SSD (Solid State Drive) for storing various programs, a main storage unit such as RAM (Random Access Memory) for storing data temporarily needed by the arithmetic processing unit when executing programs, an operation unit such as a keyboard for the operator to perform various operations, and a display unit such as a display for showing various information to the operator.
[0040] The numerical control device 3 realizes various functions of the machining program memory 31, instruction parsing unit 32, interpolation unit 33, pulse generation unit 34, interference detection unit 36, mechanical element shape storage unit 37, and interference detection preprocessing device 5 through the above hardware structure.
[0041] Numerical control programs are stored in the machining program memory 31. These programs contain instructions for moving the various mechanical elements of the machine tool 2 along their respective control axes (including translational and rotary movements). The numerical control programs are described using a specified programming language (e.g., G-code).
[0042] The instruction parsing unit 32 reads and parses the numerical control program stored in the machining program memory 31 according to the program blocks, and generates movement instruction data that instructs the movement of each control axis of the machine tool 2 based on the parsing results. The instruction parsing unit 32 sends the generated movement instruction data to the interpolation unit 33.
[0043] The interpolation unit 33 generates interpolation data by performing interpolation calculations on points along the command path at a predetermined interpolation period based on the movement command data sent from the command parsing unit 32. The interpolation unit 33 then sends the generated interpolation data to the pulse generation unit 34.
[0044] The pulse generation unit 34 generates movement commands for the machine tool 2 according to the interpolation data sent from the interpolation unit 33, following the aforementioned interpolation cycle; that is, movement pulses for each servo motor 2a, ..., 2n of the machine tool 2. The pulse generation unit 34 inputs the movement pulses generated as described above to the servo motors 2a, ..., 2n, thereby causing multiple mechanical elements of the machine tool 2 to move along multiple control axes. Furthermore, if the pulse generation unit 34 determines, based on the interference detection calculation described later in the interference detection unit 36, that any one of the multiple mechanical elements is causing interference, it stops generating movement pulses and inputting them to the machine tool 2 to prevent such interference from occurring.
[0045] In addition, the pulse generation unit 34 generates a moving pulse according to the interpolation data and the interpolation cycle as described above, and sends the predetermined moving pulse to be input to the machine tool 2 in the current interpolation cycle to the interference detection unit 36 and the interference detection preprocessing device 5 before inputting it to the machine tool 2.
[0046] As described above, in this embodiment, the mechanical control unit that moves multiple mechanical elements of the machine tool 2 along multiple control axes according to the movement pulse is composed of a machining program memory 31, an instruction parsing unit 32, an interpolation unit 33, and a pulse generation unit 34.
[0047] Furthermore, the following description addresses the case where movement pulses are automatically generated based on the numerical control program stored in the machining program memory 31 and input to the machine tool 2, the interference detection unit 36, and the interference detection preprocessing device 5; in other words, it describes the case where movement pulses are generated based on the automatic operation of the numerical control device 3. However, the present invention is not limited thereto. Movement pulses input to the machine tool 2, the interference detection unit 36, and the interference detection preprocessing device 5 can also be generated according to a predetermined interpolation cycle based on the manual operation of the numerical control device 3 performed by the operator.
[0048] The mechanical element shape storage unit 37 stores shape information related to the respective shapes of the multiple mechanical elements constituting the machine tool 2. More specifically, the mechanical element shape storage unit 37 stores the surface data of each face when the shape of each mechanical element is approximated by a convex polyhedron, the data related to the normal vector of each face, and other data required for calculating the pose-dependent information described later as shape information.
[0049] Furthermore, when a moving pulse with the same interpolation cycle as the moving pulse input from the pulse generation unit 34 to the machine tool 2 is input to the interference detection unit 36 and the interference detection preprocessing device 5, as described above, it is preferable to add a small margin to the shape information stored in the mechanical element shape storage unit 37 so that even if the interference detection operation of the interference detection unit 36 cannot be completed within the interpolation cycle, interference will not occur immediately. That is, the shape information stored in the mechanical element shape storage unit 37 is preferably created based on a mechanical element that is slightly larger than the actual mechanical element.
[0050] When the interference detection unit 36 continuously inputs the moving pulse generated by the pulse generation unit 34 to the machine tool 2 as described above, it performs interference detection calculations on multiple groups of inspection targets to determine whether the multiple mechanical elements constituting the machine tool 2 interfere with each other. Here, a group of inspection targets refers to a combination of two of the multiple mechanical elements constituting the machine tool 2. Therefore, when the total number of mechanical elements constituting the machine tool 2 is N, the total number of groups of inspection targets is N(N-1) / 2.
[0051] The interference detection unit 36 calculates position information related to the positions of each mechanical element in the machine tool 2 under the control of the aforementioned mechanical control unit, based on the movement command for the machine tool 2, and more specifically, on the movement pulses sent from the pulse generation unit 34 according to the interpolation cycle. Based on the calculated position information and the posture dependency information (described later) pre-generated by the interference detection preprocessing device 5, it performs interference detection calculations for each inspection target group. If the interference detection calculation determines that interference has occurred in any inspection target group, the interference detection unit 36 notifies the pulse generation unit 34 of this situation, stopping the generation of movement pulses and the input to the machine tool 2 before interference occurs.
[0052] Figure 3 This diagram illustrates the algorithm for interference detection calculation in the interference detection unit 36 of this embodiment. For ease of understanding, the following explanation will focus on the case where the two mechanical elements E1 and E2, which are the group of objects to be inspected, are each a two-dimensional square. Furthermore, to facilitate generalization to three dimensions, detailed explanations will be omitted. Additionally, the following explanation will focus on the case where the mechanical elements have a convex shape.
[0053] like Figure 3 As illustrated, when two mechanical elements E1 and E2 are separated without interfering with each other, a separation plane S (or a separation line in the 2D case) separating the two mechanical elements E1 and E2 and a separation axis A orthogonal to the separation plane S can be defined. In other words, if there is no separation axis A with a separation plane S separating the two mechanical elements E1 and E2, it can be determined that these mechanical elements E1 and E2 are interfering with each other.
[0054] Furthermore, in the case where there is a separation axis A with the properties described above for two mechanical elements E1 and E2, the length R (hereinafter also referred to as "separation axis direction interval") between reference points O1 and O2 determined at any position (e.g., the center) inside each mechanical element E1 and E2 along the separation axis A is longer than the sum of the radius r1 (hereinafter also referred to as "separation axis direction radius") of mechanical element E1 when projecting mechanical element E1 onto the separation axis A and the separation axis direction radius r2 of mechanical element E2.
[0055] In the interference detection unit 36, for the two mechanical elements constituting the inspection object group, an interference detection operation is performed to determine whether there is a separation axis with a property that makes the separation axis direction interval R greater than the sum of the two separation axis direction radii r1 and r2 (hereinafter also referred to as "separation property"), thereby determining whether there is interference between the two mechanical elements.
[0056] return Figure 1The interference detection preprocessing device 5 includes a posture information monitoring unit 51, a posture dependency information updating unit 52, and a posture dependency information storage unit 53, which are used to generate posture dependency information referenced by the interference detection unit 36.
[0057] The posture information monitoring unit 51 monitors posture information related to the posture of each mechanical element of the machine tool 2 based on the movement command for the machine tool 2, and more specifically, based on the movement pulses sent from the pulse generation unit 34 in an interpolation cycle. The posture information monitoring unit 51 calculates posture information related to the posture of each mechanical element of the machine tool 2 based on the movement pulses sent from the pulse generation unit 34, and determines whether the posture information has changed. More specifically, the posture information monitoring unit 51 compares the posture information calculated based on the movement pulses in the previous interpolation cycle with the posture information calculated based on the movement pulses in the current interpolation cycle, thereby determining whether the posture information of each mechanical element has changed.
[0058] exist Figure 2 In the 5-axis machine tool 2 illustrated, if control axis A is moved, the posture of the fifth mechanical element 25 changes; if control axis C is moved, the postures of the seventh mechanical element 27 and the eighth mechanical element 28 change. Therefore, in Figure 2 In the example of machine tool 2 shown, when the movement pulse is a command accompanying the movement of control axis A and control axis C, the posture information monitoring unit 51 determines that the posture information has changed. If the posture information monitoring unit 51 determines that the posture information has changed through the above process, it sends this information, along with the changed posture information, to the posture dependency information updating unit 52.
[0059] The posture dependency information storage unit 53 stores the posture dependency information generated by the posture dependency information update unit 52 according to the following process, and stores it as a check object group that is the object of the interference check operation in the interference check unit 36.
[0060] The posture dependency information update unit 52 generates new posture dependency information and stores it in the posture dependency information storage unit 53 based on the shape information of each mechanical element stored in the mechanical element shape storage unit 37 and the posture information sent from the posture information monitoring unit 51, or updates the posture dependency information stored in the posture dependency information storage unit 53.
[0061] Here, posture-dependent information refers to information that depends on the shape and posture of the two mechanical elements constituting the inspection object group, but not on their respective positions, as defined by the inspection object group. That is, if the relative posture or shape of the two mechanical elements constituting the inspection object group changes, the posture-dependent information changes. Conversely, as long as the relative posture or shape of the two mechanical elements constituting the inspection object group does not change, the posture-dependent information does not change even if their respective positions change.
[0062] Next, the content of the pose-dependent information in this embodiment will be explained in detail. (Refer to...) Figure 3 As explained, in the interference detection operation of the interference detection unit 36, for the two mechanical elements constituting the inspection object group, it is determined whether there is a separation shaft with separation properties, thereby determining whether there is interference between the two mechanical elements. However, to confirm the existence of such a separation shaft, a large amount of calculation is generally required. Therefore, in the numerical control device 3, a limited number of candidates for separation shafts that are considered to have a high probability of separation properties are predetermined according to the inspection object group. Furthermore, in the interference detection unit 36, it is determined whether only these limited number of separation shaft candidates have the separation properties described above, thereby determining whether there is interference between the two mechanical elements. In addition, in the posture-dependent information update unit 52, in order to complete the interference detection operation in the interference detection unit 36 in a short time, as referred to Figure 4 As explained, pose-dependent information containing information related to these separation axis candidates is generated.
[0063] Figure 4 This is a diagram illustrating an example of pose dependency information generated by the pose dependency information update unit 52. For example... Figure 4 As shown, the posture-dependent information includes the vector values of multiple separation axis candidate vectors defined according to the inspection object group, and the respective separation axis direction radii r1 and r2 of the two constituent elements constituting the inspection object group. Here, the number of separation axis candidate vectors is appropriately determined based on the shape and relative posture of the mechanical elements constituting the inspection object group.
[0064] For example, such as Figure 5A As illustrated, when both of the two mechanical elements E1 and E2 constituting the inspection object group are cuboids and their surfaces are parallel, the number of separation axis candidate vectors can be three. That is, three independent normal vectors v1, v2, and v3 out of the total six normal vectors defined by the two mechanical elements E1 and E2 can be used as separation axis candidate vectors.
[0065] Additionally, for example, such as Figure 5BAs illustrated, when both mechanical elements E1 and E2 constituting the inspection object group are cuboid in shape and their respective surfaces are not parallel, the number of separation axis candidate vectors can be 15. That is, all combinations of the three mutually orthogonal normal vectors v1, v2, and v3 defined for one mechanical element E1, the three mutually orthogonal normal vectors v4, v5, and v6 defined for the other mechanical element E2, and the cross product of any one of the normal vectors v1, v2, and v3 of one mechanical element E1 with any one of the normal vectors v4, v5, and v6 of the other mechanical element E2 (a total of 9) can be used as separation axis candidate vectors.
[0066] As described above, for each inspection object group, the separation axis candidate vector uses multiple normal vectors determined for each mechanical element constituting the inspection object group, and a vector generated by the cross product of these normal vectors. The posture-dependent information update unit 52 calculates the vector values of the multiple separation axis candidate vectors determined for each inspection object group as described above, and the radii r1 and r2 of the two mechanical elements constituting the inspection object group along the separation axis candidate vector, based on the posture information sent from the posture information monitoring unit 51 and the shape information stored in the mechanical element shape storage unit 37.
[0067] return Figure 1 The posture dependency information update unit 52 generates posture dependency information for each inspection object group based on the shape information of each mechanical element stored in the mechanical element shape storage unit 37 and the posture information of each mechanical element sent from the posture information monitoring unit 51 at the moment when the posture information is determined to be changed in the posture information monitoring unit 51. This information includes vector values of multiple separation axis candidate vectors as described above and two separation axis direction radii for each separation axis candidate vector, and stores it in the posture dependency information storage unit 53.
[0068] Furthermore, as described above, the vector values of the separation axis candidate vectors defined for each inspection object group, and the radii of the two separation axis directions for each separation axis candidate vector, change when the shape and relative posture of the mechanical elements constituting the inspection object group change. Additionally, if the shape and relative posture of the mechanical elements constituting the inspection object group do not change, then even if the position of each mechanical element changes, the vector values of these separation axis candidate vectors and the radii of the two separation axis directions will not change.
[0069] Therefore, if the posture dependency information update unit 52 determines that the posture information has not changed in the posture information monitoring unit 51, it will not update the posture dependency information stored in the posture dependency information storage unit 53. Conversely, if the posture dependency information update unit 52 determines that the posture information has changed in the posture information monitoring unit 51, it will update the posture dependency information stored in the posture dependency information storage unit 53. More specifically, in this case, the posture dependency information update unit 52 updates the posture dependency information for the inspection object group containing posture changes (more specifically, the vector values of each separation axis candidate vector and the two separation axis direction radii r1 and r2 for each separation axis candidate vector) stored in the posture dependency information storage unit 53 for all inspection object groups, but does not update the posture dependency information for the inspection object group that does not contain posture changes.
[0070] Figure 6A as well as Figure 6B This is a flowchart illustrating the specific process of interference detection and handling in the numerical control device 3. Figure 6A as well as Figure 6B The interference detection and processing shown is initiated by the mechanical control unit, which starts the control of machine tool 2. The interference pre-processing device 5 and the interference detection unit 36 repeatedly execute the process according to the interpolation cycle. Furthermore, at the beginning... Figure 6A and Figure 6B In the posture dependency information storage unit 53 during interference detection processing, posture dependency information pre-generated by the posture dependency information update unit 52 based on the initial posture of each mechanical element at the start of control by the mechanical control unit is stored. Furthermore, hereafter, the total number of inspection object groups for which interference detection calculation is performed is set to Nc (Nc is any integer greater than or equal to 1), and the total number of separation axis candidate vectors defined for the m-th inspection object group is set to Nm.
[0071] In S1, the posture information monitoring unit 51 calculates the posture information of each mechanical element based on the movement pulse sent from the pulse generation unit 34, and then proceeds to S2. In S2, the posture information monitoring unit 51 compares the posture information calculated in the previous interpolation cycle with the posture information calculated in the current interpolation cycle, thereby determining whether the posture information of each mechanical element has changed. If the determination result of S2 is yes, the posture information monitoring unit 51 proceeds to S3.
[0072] In S3, the posture-dependent information update unit 52 determines the mechanical element with posture change among multiple mechanical elements and the inspection object group containing the mechanical element with posture change based on the posture information sent from the posture information monitoring unit 51, and then moves to S4.
[0073] In S4, the posture dependency information update unit 52 acquires the posture information sent from the posture information monitoring unit 51 and the shape information stored in the mechanical element shape storage unit 37. Based on this posture information and shape information, it updates the posture dependency information stored in the posture dependency information storage unit 53 and proceeds to S5. More specifically, the posture dependency information update unit 52 recalculates the posture dependency information (vector values of multiple separation axis candidate vectors and radii r1, r2 in the two separation axis directions along these separation axis candidate vectors) determined in S3 for the inspection object group based on the acquired posture information and shape information, and updates the posture dependency information in the posture dependency information storage unit 53 based on the recalculation result.
[0074] Furthermore, if the determination result of S2 is negative, that is, if the posture information does not change, the posture dependency information update unit 52 does not perform the processing of S3 to S4, that is, it does not update the posture dependency information stored in the posture dependency information storage unit 53, and moves to S5.
[0075] In S5, the interference detection unit 36 sets the value of the inspection target group counter m to 1 and proceeds to S6. In S6, the interference detection unit 36 calculates the position information of the two mechanical elements constituting the m-th inspection target group based on the movement pulse sent from the pulse generation unit 34 and proceeds to S7. In S7, the interference detection unit 36 sets the value of the separation shaft candidate vector counter n to 1 and proceeds to S8.
[0076] In S8, the interference detection unit 36 obtains the vector value of the nth separation axis candidate vector in the mth inspection object group and the radii r1 and r2 of the two separation axis directions along the nth separation axis candidate vector from the posture-dependent information storage unit 53, and transfers it to S9.
[0077] In S9, the interference inspection unit 36 calculates the separation axis direction interval R along the nth separation axis candidate vector between the two mechanical elements based on the position information of the two mechanical elements constituting the mth inspection object group obtained in S6 and the vector value of the nth separation axis candidate vector in the mth inspection object group obtained in S8, and then transfers to S10.
[0078] In S10, the interference detection unit 36 determines whether the separation axis direction interval R calculated in S9 is greater than the sum of the two separation axis direction radii r1 and r2 obtained in S8 (R > r1 + r2?).
[0079] If the interference checking unit 36 determines that the result of S10 is negative, it proceeds to S11 to determine whether the value of the separation axis candidate vector counter n is greater than the total number Nm of the separation axis candidate vectors defined for the m-th inspection object group. If the result of S11 is negative, the interference checking unit 36 increments the value of the separation axis candidate vector counter n by 1 in order to test the next separation axis candidate vector (see S12) and then returns to S8. If the result of S11 is positive, that is, if it is determined that all separation axis candidate vectors do not have separation properties (see S10), the interference checking unit 36 determines that interference has occurred between the two mechanical elements constituting the m-th inspection object group (see S13) and ends the interference checking process. Furthermore, if the interference checking unit 36 determines that interference has occurred in any of the first to Nc inspection object groups, it notifies the pulse generation unit 34 of this situation, stopping the generation of movement pulses and the input to the machine tool 2 before interference actually occurs.
[0080] Furthermore, if the determination result of S10 is yes, that is, if it is determined that at least the nth separation axis candidate vector in the m-th inspection object group has separation properties, the interference detection unit 36 proceeds to S14. In S14, the interference detection unit 36 determines whether the value of the inspection object group counter m is greater than the total number of inspection object groups Nc. If the determination result of S14 is no, the interference detection unit 36 increments the value of the inspection object group counter by 1 in order to determine the presence or absence of interference for the next inspection object group (see S15), and then returns to S6. Alternatively, if the determination result of S14 is yes, the interference detection unit 36 determines that there is no interference in all inspection object groups from the first to the Ncth (see S16), and ends the interference detection process.
[0081] According to this embodiment, the following effects are obtained.
[0082] According to this embodiment, as part of the information required for interference detection calculation, the posture dependency information storage unit 53 stores posture dependency information, which depends on the shape and posture of the two mechanical elements constituting the inspection object group. The interference detection unit 36 acquires the position information of the mechanical element moving under the movement pulse and performs interference detection calculation based on the position information and the posture dependency information stored in the posture dependency information storage unit 53. Furthermore, the posture dependency information updating unit 52 acquires the shape and posture information of the mechanical element and updates the posture dependency information stored in the posture dependency information storage unit 53 based on this shape and posture information; if the posture information does not change, the posture dependency information is not updated. Therefore, according to this embodiment, as long as the posture information of the mechanical element does not change, the posture dependency information stored in the posture dependency information storage unit 53 can be repeatedly used in the interference detection unit 36 to perform interference detection calculation. Therefore, according to this embodiment, it is not necessary to recalculate the posture dependency information each time interference detection calculation is performed, and thus, the interference detection calculation in the interference detection unit 36 can be completed in a short time.
[0083] According to this embodiment, information that depends on the shape and posture of the two mechanical elements constituting the inspection object group but not on their respective positions is stored as posture-dependent information in the posture-dependent information storage unit 53. That is, as long as the relative posture of the two mechanical elements constituting the inspection object group and the shape of each mechanical element do not change, the posture-dependent information does not change even if the individual positions change. According to this embodiment, by storing posture-dependent information defined in this way in the posture-dependent information storage unit 53, in areas with a large number of linear axes (e.g., in...),... Figure 2 In the example of machine tool 2 shown, the numerical control device 3 (such as the control axes X, Y, Z that translate mechanical elements) is particularly able to reduce the number of times posture-dependent information is updated.
[0084] According to this embodiment, the posture information monitoring unit 51 monitors the posture information of the mechanical elements based on the movement command for the machine tool 2, and more specifically, based on the movement pulses sent from the pulse generation unit 34 according to the interpolation cycle. When the posture information monitoring unit 51 determines that the posture information has changed, the posture dependency information updating unit 52 updates the posture dependency information stored in the posture dependency information storage unit 53. Therefore, the posture dependency information updating unit 52 can update the posture dependency information at an appropriate time when the posture of the mechanical elements changes.
[0085] According to this embodiment, the posture dependency information storage unit 53 stores posture dependency information according to inspection object groups. When posture information changes, the posture dependency information updating unit 52 updates the posture dependency information for inspection object groups containing mechanical elements with posture changes, but does not update the posture dependency information for inspection object groups without posture changes. Therefore, the computational load in the posture dependency information updating unit 52 can be minimized. Furthermore, this allows the interference detection operation in the interference detection unit 36 to be completed in a short time.
[0086] According to this embodiment, the posture dependency information storage unit 53 stores the vector values of multiple separation axis candidate vectors defined according to the inspection object group, and the radii r1 and r2 in the separation axis direction when the two mechanical elements constituting the inspection object group are projected onto the separation axis candidate vectors as posture dependency information. The interference inspection unit 36 determines the presence or absence of interference by judging whether the multiple pre-prepared separation axis candidate vectors have separation properties during interference inspection calculations. According to this embodiment, the presence or absence of interference can be efficiently determined with fewer calculations.
[0087] <Second Implementation>
[0088] Next, the numerical control system according to the second embodiment of this disclosure will be described. The numerical control system of this embodiment differs from the numerical control system 1 of the first embodiment in the algorithm for interference detection calculation in the interference detection unit and the content of the attitude dependency information generated by the interference detection preprocessing device. Furthermore, in the following description of the numerical control system of the second embodiment, detailed descriptions of structures identical to those of the numerical control system 1 of the first embodiment will be omitted.
[0089] Figure 7 This diagram illustrates the algorithm for interference detection operations in the interference detection unit of this embodiment. (As shown...) Figure 7 As shown, in the interference detection unit, the presence or absence of interference between the two mechanical elements E1 and E2 constituting the inspection object group is determined based on the presence or absence of interference between the surface S1 of one mechanical element E1 and the edge L1 of another mechanical element E2. More specifically, in the interference detection calculation, the interference detection unit defines an oblique coordinate system with an origin O within the surface S1 of one of the two mechanical elements E1 and E2 constituting the inspection object group. This oblique coordinate system uses two mutually orthogonal axes within a surface parallel to the surface S1 of one mechanical element E1 as the X-axis and Y-axis, and an axis parallel to the edge L1 of the other mechanical element E2 as the Z-axis. Furthermore, in the interference detection calculation, the presence or absence of interference between surface S1 and edge L1 is determined based on the coordinate values of the edge L1 of the other mechanical element E2 in this defined oblique coordinate system.
[0090] In the numerical control device of this embodiment, multiple surfaces S1, S2, ... and multiple edges L1, L2, ... that may generate interference are respectively designated as interference candidate surfaces and interference candidate edges, and are predefined according to the inspection object group. Furthermore, in the interference inspection unit, the presence or absence of interference between each interference candidate surface and each interference candidate edge is determined to ascertain the presence or absence of interference between the two mechanical elements constituting the inspection object group.
[0091] Figure 8 This diagram illustrates an example of pose dependency information generated by the pose dependency information update unit of this embodiment. Figure 8 In this context, only the pose dependency information for the m-th inspection object group out of multiple inspection object groups is represented. The pose dependency information storage unit stores information for all inspection object groups. Figure 8 The pose-dependent information shown.
[0092] like Figure 8 As shown, the posture-dependent information in this embodiment includes information related to the combination numbers of multiple interference candidate surfaces defined for one mechanical element constituting the inspection object group and multiple interference candidate edges defined for another mechanical element, and information related to the oblique coordinate systems defined for all combinations of these multiple interference candidate surfaces and multiple interference candidate edges (more specifically, information related to the vector values of the three basis vectors of these oblique coordinate systems). Here, when the total number of interference candidate surfaces in the m-th inspection object group is set to Nm and the total number of interference candidate edges is set to Mm, the total number of oblique coordinate systems defined for the m-th inspection object group is Nm×Mm.
[0093] Figure 9A as well as Figure 9B This is a flowchart illustrating the specific process of interference detection and processing in the numerical control device of this embodiment. (Regarding...) Figure 9A as well as Figure 9B The interference detection process shown is performed repeatedly by the interference pre-processing device and the interference detection unit according to the interpolation cycle, based on the situation where machine tool control has been initiated through the mechanical control unit. Furthermore, at the beginning... Figure 9A and Figure 9B In the posture dependency information storage unit during interference detection processing, posture dependency information pre-generated by the posture dependency information update unit is stored based on the initial posture of each mechanical element at the start of control by the mechanical control unit. Furthermore, the total number of inspection object groups for which interference detection calculation is performed is set to Nc (Nc is any integer greater than or equal to 1), and the total number of separation axis candidate vectors defined for the m-th inspection object group is set to Nm.
[0094] In S21, the posture information monitoring unit calculates the posture information of each mechanical element based on the movement pulse sent from the pulse generation unit, and then proceeds to S22. In S22, the posture information monitoring unit compares the posture information calculated in the previous interpolation cycle with the posture information calculated in the current interpolation cycle to determine whether the posture information of each mechanical element has changed. If the determination result of S22 is yes, the posture information monitoring unit proceeds to S23.
[0095] In S23, the posture dependency information update unit determines the mechanical element with posture change among multiple mechanical elements and the inspection object group containing the mechanical element with posture change based on the posture information sent from the posture information monitoring unit, and then moves to S24.
[0096] In S24, the posture dependency information update unit obtains the posture information sent from the posture information monitoring unit and the shape information stored in the mechanical element shape storage unit. Based on this posture information and shape information, it updates the posture dependency information stored in the posture dependency information storage unit and proceeds to S25. More specifically, the posture dependency information update unit recalculates the posture dependency information for the inspection object group determined in S23 (the vector values of the three basis vectors of the oblique coordinate system for all combinations of multiple interference candidate surfaces and multiple interference candidate edges) based on the obtained posture information and shape information, and updates the posture dependency information in the posture dependency information storage unit based on the recalculation result.
[0097] Furthermore, if the determination result of S22 is negative, that is, if the posture information does not change, the posture dependency information update unit does not perform the processing of S23 to S24, that is, it does not update the posture dependency information stored in the posture dependency information storage unit, and moves to S25.
[0098] In S25, the interference detection unit sets the value of the inspection object group counter m to 1 and proceeds to S26. In S26, the interference detection unit calculates the position information of the two mechanical elements constituting the m-th inspection object group based on the movement pulse sent from the pulse generation unit and proceeds to S27. In S27, the interference detection unit sets the value of the combination number counter n to 1 and proceeds to S28.
[0099] In S28, the interference detection unit obtains the vector values of the three basis vectors of the oblique coordinate system of the combination of the nth interference candidate surface and the interference candidate edge in the mth inspection object group from the posture-dependent information storage unit, and transfers them to S29.
[0100] In S29, the interference inspection unit calculates the starting point P1 (referring to the reference point) of the interference candidate edge in the oblique coordinate system obtained in S28, based on the vector values of the three base vectors obtained in S28, the shape information stored in the mechanical element shape storage unit, and the position information of the two mechanical elements constituting the m-th inspection object group obtained in S26. Figure 10 The coordinates along the Z-axis and the endpoint P2 (refer to) Figure 10 The interference detection unit determines whether the product of the Z-coordinate values of the starting points and the Z-coordinate values of the ending points is positive. If the determination result of S29 is negative, the interference detection unit proceeds to S30.
[0101] In S30, the interference inspection unit calculates the coordinate value along the X-axis of the starting point P1 of the interference candidate edge in the oblique coordinate system obtained in S28, based on the vector values of the three base vectors obtained in S28, the shape information stored in the mechanical element shape storage unit, and the position information of the two mechanical elements constituting the m-th inspection object group obtained in S26 (refer to...). Figure 10 The interference detection unit determines whether the absolute value of the X-coordinate of the starting point is greater than half the length of the interference candidate surface along the X-axis, and the length of the interference candidate surface along the X-axis. If the determination result of S30 is negative, the interference detection unit proceeds to S31.
[0102] In S31, the interference inspection unit calculates the Y-axis coordinate value of the starting point P1 of the interference candidate edge in the oblique coordinate system obtained in S28, based on the vector values of the three base vectors obtained in S28, the shape information stored in the mechanical element shape storage unit, and the position information of the two mechanical elements constituting the m-th inspection object group obtained in S26 (refer to...). Figure 10 The interference detection unit determines whether the absolute value of the Y-coordinate of the starting point is greater than half the length of the interference candidate surface along the Y-axis, and the length of the interference candidate surface along the Y-axis. If the determination result of S31 is negative, the interference detection unit proceeds to S32.
[0103] In step S32, the interference detection unit determines that two mechanical elements constituting the m-th inspection object group are causing interference at the n-th interference candidate surface and interference candidate edge, and terminates the interference detection process. Furthermore, if the interference detection unit determines that interference is occurring in any of the first to Nc inspection object groups, it notifies the pulse generation unit of this situation, stopping the generation of movement pulses and their input to the machine tool before interference actually occurs.
[0104] Furthermore, if any of the determinations in S29 to S31 above is yes, the interference detection unit proceeds to S33 to determine whether the value of the combination number counter n is greater than the total number Nm×Mm of the oblique coordinate systems defined for the m-th inspection object group. If the determination result in S33 is no, the interference detection unit increments the value of the combination number counter n by 1 (refer to S34) in order to try the next oblique coordinate system, and then returns to S28.
[0105] Furthermore, if the interference detection unit determines "yes" in S33, it proceeds to S35 to determine whether the value of the target group counter m is greater than the total number of target groups Nc. If the determination in S35 is "no", the interference detection unit increments the target group counter by 1 (see S36) to determine the presence or absence of interference for the next target group, and then returns to S26. Conversely, if the determination in S35 is "yes", the interference detection unit determines that there is no interference in all target groups from the first to the Ncth (see S37) and ends the interference detection process.
[0106] According to this embodiment, the following effects are obtained.
[0107] In this embodiment, the interference detection unit determines the presence or absence of interference based on the coordinate values of another mechanical element in an oblique coordinate system. This system uses two mutually orthogonal axes (X-axis and Y-axis) within a plane parallel to the surface of one of the two mechanical elements constituting the inspection object group, and an axis (Z-axis) parallel to the edge of the other mechanical element. The system stores posture dependency information in a posture dependency information storage unit. This posture dependency information includes information related to the oblique coordinate system defined according to the inspection object group. According to this embodiment, the presence or absence of interference can be efficiently determined with fewer computations.
[0108] Here, the interference detection algorithm of the second embodiment based on faces and edges is compared with the interference detection algorithm of the first embodiment based on separation axes. In the algorithm of the second embodiment, interference can be determined as long as conditions based on S29 to S31 are satisfied in any of the combinations of multiple faces and edges. In contrast, in the algorithm of the first embodiment, interference cannot be determined as long as it is determined that all of the multiple separation axis candidate vectors satisfy the condition based on S10. That is, the algorithm of the second embodiment is faster than the algorithm of the first embodiment in terms of the time spent determining that interference has occurred. Therefore, conversely, the algorithm of the first embodiment is faster than the algorithm of the second embodiment in terms of the time spent determining that there is no interference.
[0109] Therefore, in situations where the likelihood of interference is high for certain reasons, it is preferable to perform the interference detection operation according to the algorithm of the second embodiment. Situations where the likelihood of interference is high include, for example, cases where no interference was determined to be present due to a small difference in the previous interference detection operation, cases where interference was determined to be present based on shape information approximated in a manner that includes mechanical elements, and cases where the distance between two mechanical elements is close. Conversely, in situations where the likelihood of interference is low for certain reasons, it is preferable to perform the interference detection operation according to the algorithm of the first embodiment.
[0110] This disclosure is not limited to the above-described embodiments, and various changes and modifications are possible. For example, in the above embodiments, using... Figure 2 The present invention has been described using a 5-axis machine tool 2 as shown, but is not limited thereto. The present invention can be applied to machine tools with any number of axes. For example, in a 3-axis machine tool, the changes in the posture of mechanical elements are infrequent; therefore, storing posture-dependent information in a posture-dependent information storage unit is highly effective.
[0111] Symbol Explanation
[0112] 1…Numerical Control System
[0113] 2… machine tools
[0114] 3…Numerical control device
[0115] 31…Processing program memory
[0116] 32…Instruction Parsing Section
[0117] 33…Interpolation section
[0118] 34…Pulse Generation Section
[0119] 36…Interference Inspection Department
[0120] 37…Mechanical Element Shape Storage Department
[0121] 5…Interference Inspection Pre-processing Device
[0122] 51… Posture Information Monitoring Department
[0123] 52…Posture Dependency Information Update Department
[0124] 53… Posture-dependent information storage department.
Claims
1. A numerical control system that moves multiple mechanical elements of a machine tool along multiple axes according to a movement command, and performs interference inspection calculations between two mechanical elements constituting a predetermined inspection object group, characterized in that, The numerical control system has the following characteristics: The posture-dependent information storage unit stores posture-dependent information, which is information dependent on the shape and posture of the two mechanical elements constituting the inspection object group. The interference detection unit acquires the position information of the mechanical element and performs the interference detection calculation based on the position information and the posture dependency information stored in the posture dependency information storage unit. as well as The posture dependency information update unit acquires the shape information and posture information of the mechanical element, and updates the posture dependency information based on the shape information and posture information. If the posture information does not change, the posture dependency information updating unit does not update the posture dependency information.
2. The numerical control system according to claim 1, characterized in that, The posture-dependent information is information that does not depend on the respective positions of the two mechanical elements constituting the inspection object group.
3. The numerical control system according to claim 1, characterized in that, The numerical control system further includes: a posture information monitoring unit, which monitors the posture information of the mechanical elements according to the movement command. The posture-dependent information updating unit updates the posture-dependent information when the posture information monitoring unit determines that the posture information has changed.
4. The numerical control system according to any one of claims 1 to 3, characterized in that, The posture dependency information storage unit stores the posture dependency information according to the inspection object group. When the posture information changes, the posture dependency information updating unit updates the posture dependency information for the inspection object group containing the posture change, but does not update the posture dependency information for the inspection object group that does not contain the posture change.
5. The numerical control system according to any one of claims 1 to 3, characterized in that, In the interference detection operation, the interference detection unit determines the presence or absence of a separation plane that separates the two mechanical elements constituting the inspection object group and a separation axis orthogonal to the separation plane based on position information and posture dependence information, thereby determining the presence or absence of interference. The posture-dependent information includes multiple separation axis candidate vectors defined according to the inspection object group, and the radii, i.e., separation axis direction radii, when the two mechanical elements constituting the inspection object group are projected onto the separation axis candidate vectors.
6. The numerical control system according to any one of claims 1 to 3, characterized in that, The interference detection unit, in the interference detection calculation, determines the presence or absence of interference based on the coordinate values of another mechanical element in an oblique coordinate system. This system uses two mutually orthogonal axes (X-axis and Y-axis) within a plane parallel to the surface of one of the two mechanical elements constituting the inspection object group, and an axis parallel to the edge of the other mechanical element (Z-axis). The pose-dependent information includes information related to the oblique coordinate system defined according to the group of inspected objects.
Citation Information
Patent Citations
Primary radiator
JP1983057803A
Interference avoiding device
CN104923886A
Interference region setting apparatus for mobile robot
CN108177162A