Numerical control device
Patent Information
- Application Number
- DE112023005337
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-09
- Publication Date
- 2025-10-23
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The present disclosure relates to a numerical control device. STATE OF THE ART
[0002] Previously, a technique was known in which a machine configuration is stored in a graph format and a coordinate value of a desired node, as seen from a coordinate system of the desired node, is commanded. This type of technique is described, for example, in patent document 1. Citation list patent document
[0003] Patent document 1: Japanese patent no. 6538761 DISCLOSURE OF INVENTION Problems to be solved by the invention:
[0004] In situations where, for example, a tool and a multitude of waves interfere with each other, it is impossible to execute a movement that has not been pre-planned. However, to obtain an avoidance command for the efficient execution of a movement, it is necessary to prepare such avoidance movements in advance, taking into account all possible types of interference. There is a need to improve this existing technique with regard to the efficient generation of an avoidance movement.
[0005] In view of the situations described above, an objective of the present disclosure is to provide a technique that makes it possible to achieve efficient avoidance of interference between interfering objects in a numerical control device that controls a machine. Means to solve the problems
[0006] The present disclosure relates to a numerical control device comprising: a graph generation unit that generates a machine configuration of a controlled object in a graph format; a control point-coordinate system insertion unit that inserts control points and a coordinate system into the machine configuration in the graph format; an intermediate element condition setting unit that specifies shapes of interfering objects in an intermediate element relationship as an intermediate element condition to be satisfied by a relationship between a first element representing a first control point and a second element representing a second control point; an intermediate element relationship output unit that outputs an interference condition equation to prevent the interfering objects from interfering with each other based on the intermediate element condition specified in the intermediate element relationship;and an inter-element relationship control unit that controls a relationship between the elements based on the inter-element relationship and the interference condition equation. Effects of the invention
[0007] According to the present disclosure, it is possible to provide a technique that makes it possible to achieve efficient avoidance of interference between interfering objects in a numerical control device that controls a machine. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 shows a view illustrating an embodiment of a numerical control device according to an embodiment of the present invention; Fig. Figure 2 is a functional block diagram of a central processing unit or CPU (control unit) included in the numerical control device according to an embodiment of the present invention; Fig. Figure 3 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention; Fig. Figure 4 is a schematic view illustrating an example of interference between interfering objects in an embodiment of the present invention; Fig. Figure 5 is a flowchart illustrating the control system for avoiding interfering objects in one embodiment of the present invention; Fig. Figure 6A is a schematic view that illustrates an example of a positional relationship between interfering objects based on a movement command; Fig. 6B is a schematic view that represents a motion target for each axis when interference in an interpolation unit is to be avoided; Fig. Figure 7A is a schematic view that illustrates an example of a positional relationship between interfering objects based on a movement command; Fig. 7B is a schematic view that represents a motion target for each axis when interference within a block unit is to be avoided; Fig. Figure 8 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention; Fig. Figure 9 is a schematic view illustrating an example of interference between interfering objects in an embodiment of the present invention; Fig. Figure 10A is a schematic view that represents a situation in which it is recognized that interference may be present; Fig. Figure 10B is a schematic view illustrating a movement to avoid interference; Fig. Figure 10C is a schematic view representing a situation in which interference is avoided; Fig. 10D is a schematic view representing normal motion after escaping interference; Fig. 11 is a schematic view that illustrates an example of a relationship between a tool and a workpiece in the embodiment of the present invention; Fig. Figure 12 is a schematic view that illustrates an example of interference between the tool and the workpiece; Fig. Figure 13 is a schematic view that represents a relationship between a movement to avoid an interfering object and a numerical equation; Fig. Figure 14 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention; Fig. Figure 15 is a schematic view illustrating an example of interference between interfering objects in the embodiment of the present invention; Fig. 16 is a schematic view showing the direction of a separation axis with respect to interfering objects; Fig. Figure 17A is a schematic view that represents a positional relationship between interfering objects in a coordinate system of a parent node; Fig. Figure 17B is a schematic view that represents a positional relationship between the interfering objects in a motor coordinate system; Fig. Figure 18A is a schematic view representing a situation in which it is recognized that interference may occur in a movement based on a command position; Fig. Figure 18B is a schematic view depicting a situation in which an evasive maneuver begins; Fig. Figure 18C is a schematic view showing a motion target for each axis when interference is avoided; Fig. Figure 19A is a schematic view that represents a relationship between a command and interfering objects before interference is avoided with respect to a separating axis; Fig. Figure 19B is a schematic view illustrating the avoidance of interference with respect to a separation axis 1; Fig. Figure 19C is a schematic view illustrating the avoidance of interference with respect to a separation axis 2; Fig. 19D is a schematic view illustrating the avoidance of interference with respect to a separation axis 3; Fig. Figure 19E is a schematic view representing the return to a command position; Fig. Figure 20 is a schematic view that shows a relationship between each axis and a movable area; Fig. Figure 21 is a schematic view that shows a relationship between a motor coordinate value and the moving range; Fig. Figure 22 is a schematic view showing an unnecessary movement that occurs in the relationship between the motor coordinate value and the moving range; Fig. Figure 23 is a schematic view illustrating the avoidance of unnecessary movement in the relationship between the motor coordinate value and the moving range; Fig. Figure 24 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention; Fig. Figure 25 is a schematic view illustrating an example of interference between interfering objects in the embodiment of the present invention; Fig. 26A is a schematic view representing a situation in which it is captured that interference may exist between an interfering object A and an interfering object B1; Fig. Figure 26B is a schematic view representing a situation in which it is captured that interference may occur between the interfering object A and an interfering object B2; Fig. 27A is a schematic view that represents a positional relationship between interfering objects in the coordinate system of the parent node; Fig. Figure 27B is a schematic view that represents a positional relationship between the interfering objects in the motor coordinate system; Fig. 28A is a schematic view representing a situation in which it is recognized that interference may exist with respect to a separation axis 1; Fig. Figure 28B is a schematic view representing a situation in which it is captured that interference may occur with respect to a separation axis 2, while interference with respect to separation axis 1 is avoided; Fig. Figure 28C is a schematic view representing a situation in which it is detected that interference may be present with respect to the separation axis 1 after the detection of interference with respect to the separation axis 2 has been removed; Fig. Figure 28D presents a schematic view depicting a situation in which interference is detected with respect to a separation axis 3 after the detection of interference with respect to separation axis 1 has been removed; Fig. Figure 28E is a schematic view representing a situation in which the detection of interference related to the dividing axis 3 is cancelled; Fig. 28F is a schematic view representing a situation in which actual movement corresponds to movement based on a movement command; Fig. Figure 29 is a functional block diagram of the CPU (control unit) included in the numerical control device according to the embodiment of the present invention; Fig. Figure 30 is a flowchart illustrating the control for avoiding interfering objects in the embodiment of the present invention; Fig. 31 is a view that shows an example of a coordinate of a motion target of each axis before and after the correction; Fig. Figure 32 is a schematic view showing a positional relationship between a motion target of each axis, a tool and a workpiece before and after the correction; Fig. Figure 33 is a functional block diagram of the CPU (control unit) included in the numerical control device according to the embodiment of the present invention; Fig. Figure 34 is a schematic view to describe a dividing axis style for a polyhedron with a variety of convex shapes; Fig. Figure 35A is a schematic view showing a calculation example of a dividing axis based on an outer product of each face of a convex polyhedron A and each face of a convex polyhedron B; Fig. Figure 35B is a schematic view that presents a calculation example for a separation axis based on a direction of a normal with respect to each surface; Fig. Figure 36 is a schematic view that represents an example of an evasive maneuver which differs depending on the shape of an interfering object; Fig. Figure 37A is a schematic view illustrating an example of an evasive maneuver in a numerical control device according to a prior art; and Fig. Figure 37B is a schematic view illustrating an example of an evasive movement in the numerical control device according to the present embodiment. PREFERRED MODE FOR EXECUTING THE INVENTION
[0008] One embodiment of the present disclosure is now described in detail with reference to the accompanying drawings. It should be noted that in each embodiment and each modification example, the same reference numerals denote identical or corresponding configurations to common configurations, and their descriptions are therefore omitted accordingly. [Basic configuration]
[0009] Fig. Figure 1 represents a configuration example of a numerical control device 100 according to the embodiment of the present invention. The numerical control device 100 essentially comprises a central processing unit (CPU) 11, a read-only memory (ROM) 12, a random access memory (RAM) 13, a complementary metal oxide semiconductor memory (CMOS) 14, interfaces 15, 18 and 19, a programmable machine controller (PMC) 16, an input / output unit (I / O) 17, shaft control circuits 30 to 34, servo amplifiers 40 to 44, a spindle control circuit 60 and a spindle amplifier 61.
[0010] The CPU 11 is a processor that fully controls the numerical control device 100. The CPU 11 reads system programs stored in ROM 12 via a bus 20 in order to fully control the numerical control device 100 in accordance with the system programs.
[0011] RAM 13 stores time calculation data, display data and various types of data that an operator has entered via a display / hand input unit (MDI) 70.
[0012] The CMOS memory 14 is backed up by a battery (not shown) and is configured to be used as non-volatile memory, retaining a saved state even if a power source of the numerical control device 100 fails. The CMOS memory 14 stores an editing program read via the interface 15 or an editing program entered, for example, via the display / MDI unit 70.
[0013] In ROM 12, various types of system programs are written beforehand for performing edits in an edit mode, which are necessary for creating or editing an edit program and an edit for automatic operation.
[0014] It is possible to input various types of machining programs, including machining programs for the execution of the present invention, e.g., via the interface 15 and the display / MDI unit 70, and to store the programs in the CMOS memory 14.
[0015] Interface 15 allows the numerical control device 100 and an external device 72 to be coupled together, for example via an adapter. A machining program and various types of parameters are read from one side of the external device 72. Furthermore, it is possible to save a machining program processed in the numerical control device 100 via the external device 72 to an external storage medium.
[0016] The programmable machine control (PMC) 16 uses a sequence program contained in the numerical control device 100 to output and control a signal to an auxiliary device (e.g., an actuator such as a robot hand for changing a tool) for a machine tool via the I / O unit 17. In addition, signals are received from various types of switches, which are arranged, for example, on a circuit board on the main body of the machine tool, and after the necessary signal processing, the signals are transmitted to the CPU 11.
[0017] The display / MDI unit 70 is a manual data input device that includes, for example, a display and a keyboard. Interface 18 receives a command and data from the keyboard of the display / MDI unit 70 and transmits the command and data to the CPU 11. Interface 19 is coupled to an operating board 71, which includes, for example, a manual pulse generator.
[0018] The wave control circuits 30 to 34 each receive motion command values from the CPU 11 for each axis and each output commands to the servo amplifiers 40 to 44 for each axis.
[0019] Upon receiving the commands, the servo amplifiers 40 to 44 drive the servo motors 50 to 54 for each axis. The servo motors 50 to 54 each contain position and velocity detectors and position and velocity feedback signals, which are supplied by the position and velocity detectors to the shaft control circuits 30 to 34 to perform feedback control for positions and velocities. Note that the parts related to the position and velocity feedback are omitted from the block diagram.
[0020] The spindle control circuit 60 receives a rotation command for a main shaft of the machine tool and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives this spindle speed signal and causes a spindle motor 62 of the machine tool to rotate at a commanded speed to drive the tool.
[0021] The spindle motor 62 is coupled to a pulse generator 63, for example, via a gearbox or a belt. The pulse generator 63 outputs a return pulse synchronously with the rotation of the main shaft. The CPU 11 reads the return pulse via bus 20.
[0022] It should be noted that the in Fig. Figure 1 shows an embodiment of the numerical control device 100 comprising five shaft control circuits, i.e., shaft control circuits 30 to 34, and servomotors related to five commands, i.e., servomotors 50 to 54. However, the present invention is not limited to this example, and it is possible to include the desired number of shaft control circuits and servomotors.
[0023] Fig. Figure 2 is a functional block diagram that represents the functions to be achieved in accordance with the system programs and application programs stored in ROM 12 when the CPU 11 (hereinafter also referred to as "control unit 11") reads the system programs and application programs via bus 20 as described above.
[0024] As in Fig. As shown in Figure 2, the CPU 11 comprises a graph generation unit 101, a control point coordinate system insertion unit 102, an instruction analysis unit 111, an intermediate element condition setting unit 112, an intermediate element relationship output unit 114, an intermediate element relationship control unit 115, a motion execution unit 140 and an interference check unit 150.
[0025] The Graph Generation Unit 101 generates a machine configuration of a controlled object in a graph format. An example of how the Graph Generation Unit 101 generates a machine configuration tree is described below. Initially, the Graph Generation Unit 101 has origins and a plurality of nodes. At this stage, the origins and the plurality of nodes are not coupled, and the names of the origins and nodes are not defined. Next, the Graph Generation Unit 101 defines an axis name (axis type) for each axis, a name for each tool, a name for each workpiece, a name for each origin, and a physical axis number (axis type) for each axis in the machine configuration.Next, graph generation unit 101 defines a parent node (axis type) for each axis, a parent node for each tool, and a parent node for each workpiece. Finally, graph generation unit 101 defines a crossing offset (axis type) for each axis, a crossing offset for each tool, and a crossing offset for each workpiece. This series of steps generates a machine configuration tree such as the one shown in [reference missing]. Fig. 3 is shown.
[0026] The Control Point Coordinate System Insertion Unit 102 inserts control points and a coordinate system into the machine configuration graph. The following describes an example of control point insertion by the Control Point Coordinate System Insertion Unit 102. The Control Point Coordinate System Insertion Unit 102 designates various positions on the machine configuration as control points and establishes coordinate systems for these locations. Coordinate systems and control points are automatically inserted for each machine origin, a multitude of axes, and, for example, a workpiece. The Control Point Coordinate System Insertion Unit 102 performs automatic insertion not only on a table but also for a series of nodes from each tool to the machine origins, i.e., for all axes and the tool.In this way, the control points and coordinate systems are automatically inserted, each corresponding to all nodes that configure the machine's configuration tree. When machining is to be performed, a coordinate system for the workpiece and each control point for the tool are typically defined. This makes it possible to respond to various scenarios, including, for example, a case where a control point for a workpiece needs to be defined when the workpiece itself is moved to a predetermined position, and a case where a coordinate system for a tool itself needs to be defined when the tool is used to polish another tool.
[0027] Furthermore, each control point and coordinate system can have an offset. This makes it possible to define a point located away from a node as a control point or as the origin of a coordinate system. Each control point and coordinate system also has a posture matrix. The posture matrix represents the posture (orientation, inclination) of a control point if the control point's posture matrix is present, and the posture of a coordinate system if the coordinate system's posture matrix is present. An offset and a posture matrix are each expressed in conjunction with a corresponding node. Additionally, each control point and coordinate system contains information on whether or not to consider the "movement" and "crossing offset" of a node that exists on a path to a root of the machine configuration tree, and this information is configurable.
[0028] The instruction analysis unit 111 reads a numerical control program stored in the CMOS memory 14 block by block, performs an analysis, and generates motion command data based on the analysis results. This data commands the movement of each control axis of the machine tool. The instruction analysis unit 111 then transmits the generated motion command data to the motion execution unit 140.
[0029] If a primary control point is designated as the "first control point" and a secondary control point as the "second control point," the intermediate element condition setting unit 112 defines the first control point as a first element, defines the second control point as a second element, and defines an intermediate element condition between the first and second elements. Note that the "first element" and "second element" are not limited to control points.
[0030] Furthermore, the intermediate element condition setting unit 112 receives shapes of interfering objects and defines them in an intermediate element relationship 113 as a condition to be satisfied by the relationship between the first element and the second element. The condition to be satisfied by the relationship between the first element and the second element relates to the shapes of the interfering objects. It should be noted that interfering objects include, for example, various types of elements that configure the machine tool, including a fixture, a tool holder, and a tool changer.
[0031] The inter-element relationship output unit 114 calculates a relationship output from the relationship between the first element and the second element. According to the present embodiment, the inter-element relationship output unit 114 includes a conditioned inter-element relationship output unit 121, which generates an interference condition equation to prevent the interfering objects from interfering with each other based on the interference condition specified in the inter-element relationship 113.
[0032] The inter-element relationship control unit 115 outputs data to the motion execution unit 140, which defines the interference condition equation based on the relationship output. According to the present embodiment, the inter-element relationship control unit 115 includes a conditioned inter-element relationship control unit 131, which outputs a motion target for each axis based on the inter-element relationship 113 and the condition equation to prevent the interfering objects from interfering with each other.
[0033] Based on the result of the analysis, the motion execution unit 140 determines a motion command value to drive each of the servomotors 50 to 54 (an X-axis servo, a Y-axis servo, etc.) for each axis. According to the present embodiment, the motion execution unit 140 includes an interpolation unit 141 and a pulse generation unit 142.
[0034] The interpolation unit 141 performs interpolation processing to generate interpolation data. This data is obtained by interpolating and calculating a point on a command route using a predetermined interpolation cycle. This data is based on the motion command data transmitted by the command analysis unit 111 and the data transmitted by the inter-element relationship control unit 115, which define the motion target of each axis. The interpolation unit 141 transmits the generated interpolation data to the impulse generation unit 142.
[0035] Based on the interpolation data transmitted by the interpolation unit 141, the pulse generation unit 142 generates a motion command for the machine tool, i.e., a motion pulse for each of the servo motors 50 to 54 (the X-axis servo, the Y-axis servo, etc.) in the machine tool for each interpolation cycle described above. The pulse generation unit 142 then transmits the motion pulse generated as described above to each of the servo motors 50 to 54 to cause each of a multitude of machine elements in the machine tool to move along each of a multitude of control axes.
[0036] The interference testing unit 150 performs processing to determine whether interference can occur between the multitude of machine elements that configure the machine tool when the motion pulse generated by the pulse generation unit 142 is continuously input into each of the servomotors 50 to 54. The interference testing unit 150 performs an arithmetic interference testing operation on a multitude of pairs of test targets to determine, for example, possible interference. A pair of test targets is configured by combining two of the multitude of machine elements that configure the machine tool. If the total number of machine elements that configure the machine tool is represented by N, the total number of test target pairs is expressed by N(N - 1) / 2. The arithmetic operation for checking for interference is based on a known interference testing algorithm (e.g.,...).B. a dividing axis style) is performed. [Interference Object Avoidance Control Example 1]
[0037] The interference object avoidance control in a Fig. 3 and Fig. The example shown in section 4 will now be described here. Fig. Figure 3 is a schematic view that illustrates an example of a relationship between a tool and a workpiece in one embodiment of the present invention. Fig. Figure 4 is a schematic view illustrating an example of interference between interfering objects in one embodiment of the present invention. Fig. 3 and Fig. Figure 4 represents, in a machine configuration with three orthogonal axes comprising an X-axis, a Y-axis, and a Z-axis, an interfering object A, which has a spherical shape and is connected to a node, and an interfering object B, which also has a spherical shape and is connected to a node. In this example, interfering object A is associated with a root node and interfering object B with a Z-axis node.
[0038] Fig. Figure 5 is a flowchart representing an interference object avoidance control in the embodiment of the present invention. In step S10, the intermediate element condition setting unit 112 stores the spherical shapes in the machine configuration tree with the orthogonal three axes in the intermediate element relationship 113. In the Fig. 3 and Fig. In the example shown in Figure 4, the intermediate element condition setting unit 112 in the machine configuration tree defines the interfering object A with the spherical shape with a radius Ra at the stem node and the interfering object B with the spherical shape with a radius Rb at a Z-axis node in the intermediate element relationship 113.
[0039] In step S11, the interference detection unit 150 determines whether there is a high probability of interference occurring. If there is a high probability of interference (step S11; Yes), the interference detection unit 150 instructs the processing to proceed to step S12. If there is no high probability of interference (step S11; No), the interference detection unit 150 instructs the processing to skip step S12 but proceed to step S13.
[0040] In step S12, the conditioned intermediate element relationship output unit 121 outputs an intermediate element relationship to the intermediate element relationship control unit 115 based on the intermediate element condition defined in the intermediate element relationship 113. In the Fig. 3 and Fig. In the example shown in section 4, output unit 121 for the conditioned inter-element relationship outputs an equation that represents, for example, an interference boundary between the spheres. An interference boundary refers to a condition under which interfering objects come into contact with each other, as shown in numerical equation 1 described below. In numerical equation 1, r shows m a motor coordinate value at the interference boundary, R a indicates the radius of the interfering object A and R b the radius of the interfering object B (see Fig. 4) In addition, the conditioned output unit 121 assigns an interference limit flag for the inter-element relationship, indicating the presence of the interference limit for the output of the inter-element relationship. [Numerical Equation 1] rm→2−(Ra+Rb)2=0
[0041] In step S13, the conditioned inter-element relationship control unit 131 uses the inter-element relationship output (interference boundary) as a constraint when calculating a motion target for each axis, with the interference boundary flag set to ON. Specifically, the conditioned inter-element relationship control unit 131 performs an inverse kinematic transformation, which is granted by the constraint. During the inverse kinematic transformation, a motion target for each axis is output based on a command coordinate value.
[0042] The inverse kinematic transformation, which uses a method of indeterminate Lagrange multipliers to grant a constraint, is described here as an example procedure for calculating a motion target for each axis, granted with a constraint based on a command coordinate value. The variables are defined as shown in numerical equation 2 described below. In numerical equation 2, a vector r represents p a variable that represents a command coordinate value (in the program coordinate system), a vector r m represents a variable that indicates a movement target for each axis (in the motor coordinate system) when a detour has taken place, and a vector r mo represents a variable that indicates a movement target for each axis (in the motor coordinate system) if no detour has taken place. [Numerical Equation 2] rp→=(xp,yp,zp)rm→=(xm,ym,zm)rmo→=(xmo,ymo,zmo)
[0043] The constraint described above represents the intermediate element relationship (numerical equation 1) that the conditioned intermediate element relationship output unit 121 has output. A value to be minimized is the square of the difference between a motion target of each axis after the avoidance and a motion target of each axis before the avoidance, and it is possible to define a value L to be minimized in the method of indeterminate Lagrange multipliers, as shown in numerical equation 3 described below. [Numerical Equation 3] L=(rm→−rmo→)2−λ(rm→2−(Ra+Rb)2)
[0044] For L in the method of indeterminate Lagrange multipliers, it is possible to use the ordinary conversion of the inverse kinematics K. -1to use to capture a motion target of each axis (in the motor coordinate system) when no bypass has occurred, as shown in numerical equation 4 described below. Numerical equation 4 described below represents a standard inverse kinematic conversion. Substituting numerical equation 4 into numerical equation 3 yields numerical equation 5. Assuming an orthogonal three-axis machine, numerical equation 6 is captured. To capture L as a minimum value in numerical equation 6, partial differentiation is performed with each of (x m , y m and z m ) and λ are performed, and one obtains the numerical equation 7. [Numerical Equation 4] rmo→=K−1rp→ [Numerical Equation 5] (rm→−K−1rp→)2−λ(rm→2−(Ra+Rb)2)=L [Numerical Equation 6] K−1=E^(rm→−rp→)2−λ(rm→2−(Ra+Rb)2)=L [Numerical Equation 7] 2(xm−xp−λxm)=02(ym−yp−λym)=02(zm−zp−λzm)=0rm→2−(Ra−Rb)2=0
[0045] Fig. Figure 6A is a schematic view that illustrates an example of a positional relationship between interfering objects based on a movement command. Fig. Figure 6B is a schematic view representing a motion target for each axis when interference in an interpolation unit is to be avoided. When the machine tool is operated based on a motion command, interference can occur, as shown in Fig. Figure 6A illustrates this. To avoid these interferences, a motion target for each axis can be set within an interpolation unit. In particular, the numerical equation 8 described below, which is captured by solving the numerical equation 7, is used to compensate for a motion target for each axis within an interpolation unit. Since the motion target for each axis is compensated within an interpolation unit, as shown in Fig. As shown in 6B, its direction of movement changes gradually, and interference is avoided. [Numerical Equation 8] rm→=(Ra+Rb)2rp→2rp→
[0046] Fig. 7A is a schematic view that illustrates an example of a positional relationship between interfering objects based on a movement command, and even in the one shown in Fig. In the example shown in Figure 7A, interference can occur when the machine tool is operated based on the motion command. To avoid this interference, a procedure exists for compensating a motion target of each axis in a block unit of a command from the command analysis unit 111. In particular, the numerical equation 9 described below, which is captured by solving numerical equation 7, is used to compensate for a motion target of each axis in a block unit. [Numerical Equation 9] rp→'=(Ra2+Rb2)rp→2rp→ (rp→ (However, this represents a movement target for each axis, which is compensated in a block unit.)
[0047] Although in the Fig. In the example shown in Figure 3, where the inter-element relationship control unit 115 is configured to output information indicating a motion target for each axis to the interpolation unit 141, the present invention is not limited to this configuration. For example, the inter-element relationship control unit 115 can output information indicating a motion target for each axis to the command analysis unit 111, and a command to avoid interference can be generated in the command block unit. Fig. Figure 7B is a schematic view representing a motion target for each axis when interference within a block unit is to be avoided. Since the motion target of each axis within a block unit is compensated, as shown in Fig. As shown in Figure 7B, a direction of movement is set to a direction in which no interference can occur at the time of the start of a movement, and interference is avoided.
[0048] If the calculation of a motion target for each axis in step S13 is successful, as described above, processing proceeds to step S14 (Step S13; Yes). In step S14, servomotors 50 to 54 are driven based on the calculated motion target for each axis. If the calculation of a motion target for each axis is unsuccessful, the conditioned intermediate element relationship control unit 131 causes processing to proceed to step S15 to generate an interference detection alarm (Step S13; No). In step S15, processing is performed to generate an interference detection alarm to notify of interference, for example, from the display / MDI unit 70, an external computer, or a sound source not shown. [Interference Object Avoidance Control Example 2]
[0049] Next, an example of a control system to avoid interference in a different case will be described. Fig. Figure 8 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention. Fig. Figure 9 is a schematic view illustrating an example of interference between interfering objects in an embodiment of the present invention. Fig. 8 and Fig. Figure 9 represents an interfering object A, which has a rectangular parallelepiped shape and is connected to a node, and an interfering object B, which also has a rectangular parallelepiped shape and is connected to a node, in a machine configuration with three orthogonal axes comprising the X-axis, the Y-axis, and the Z-axis. In this example, interfering object A is associated with the Y-axis and interfering object B with a node of the Z-axis.
[0050] Since in the Fig. 8 and Fig. The example shown in 9 illustrates a similar processing flow to the one in Fig. The following describes those that differ from those shown in the flowchart in section 5. Fig. The 5 processes shown differ.
[0051] The intermediate element condition setting unit 112 defines, in the intermediate element relationship 113, as the shapes of interfering objects, a center point and vertical and horizontal lengths of the interfering object A with the rectangular parallelepiped shape at a Y-axis node, and a center point and vertical and horizontal lengths of the interfering object B with the rectangular parallelepiped shape at the Z-axis node. It should be noted that, since the only movable axis between the interfering object B and the interfering object A in this example is the Z-axis, interference only occurs along the Z-axis.
[0052] The output unit 121 for the conditioned intermediate element relationship, when it detects that interference may exist between the shape of the cuboid and the shape of the cuboids among themselves, outputs the numerical equation 10 described below, which represents an interference boundary between the shape of the cuboid and the shape of the cuboid. One reason why the Z-axis represents an interference axis is as described above. In numerical equation 10, z m a motor coordinate value on the Z-axis, which serves as the interference boundary, la indicates the length of the interfering object A in the direction of the Z-axis, and Ib indicates the length of the interfering object B in the direction of the Z-axis (see Fig. 9) In addition, the conditioned inter-element relationship output unit 121 assigns an interference limit flag, indicating that the interference limit of the inter-element relationship output is present. [Numerical Equation 10] zm−lb+la2=0
[0053] The conditioned inter-element relationship control unit 131 performs an inverse kinematic conversion, using the method of indeterminate Lagrange multipliers to grant a constraint, and outputs a motion target for each axis. The variables are defined as shown in numerical equation 11. In numerical equation 11, (1) represents a variable indicating the motion target of a control point (in the program coordinate system), and (2) represents a variable indicating the motion target of each axis (in the motor coordinate system). For L in the method of indeterminate Lagrange multipliers, it is possible to perform the ordinary inverse kinematic conversion K. -1to use to capture a motion target for each axis (in the motor coordinate system), as shown in numerical equation 12 described below. Since an orthogonal three-axis machine is assumed, numerical equation 13 is captured by numerical equation 12. [Numerical Equation 11] rp→=(xp,yp,zp)(1)rm→=(xm,ym,zm)(2) [Numerical Equation 12] K−1=E^(rm→−K−1rp→)2−λ(zm−lb+la2)=L [Numerical Equation 13] (rm→−rp→)2−λ(zm−lb+la2)=L
[0054] To capture L as the minimum value in the numerical equation 13, a partial differentiation is performed with each of (x m , y m and z m ) and λ are performed, and one obtains numerical equation 14. The solution of numerical equation 14 yields numerical equation 15. As shown in numerical equation 15, z m on (I b + I a) / 2 set. [Numerical Equation 14] 2(xm−xp)=02(ym−yp)=02(zm−zp)−λ=0zm−lb+la2=0 [Numerical Equation 15] xm=xpym=ypzm=lb+la2
[0055] The process from the detection of interference to normal movement will now be described using the following examples: Fig. Described in sections 10A to 10D. Fig. Figure 10A is a schematic view representing a situation in which interference is detected. Fig. 10A reduces the distance z p in the direction of the z-axis between the center of the interfering object A and the center of the interfering object B, and interference can occur. Fig. Figure 10B is a schematic view illustrating a movement to avoid interference. Fig. 10B presents a situation in which, while z pis in a state where an interference condition is met, an evasive movement is performed to allow the distance in the z-axis direction between the center of interfering object A and the center of interfering object B to be a value that is determined by (I b + I a ) / 2p is captured as shown in numerical equation 15. Fig. Figure 10C is a schematic view representing a situation in which it is possible to escape interference if z p from a state in which the interference condition is satisfied to a state in which the interference condition is not satisfied. In Fig. 10C, the escape is from an area where interference can occur, such that the distance in the z-direction between the center of the interfering object A and the center of the interfering object B is greater than that from (I b + I a) / 2p recorded value. Fig. 10D is a schematic view representing normal motion after it has escaped interference. Fig. 10D represents normal movement after escape. [Interference Object Avoidance Control Example 3]
[0056] Next, an example of a control system for avoiding interference in another case will be described. Fig. Figure 11 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention. Fig. Figure 12 is a schematic view that illustrates an example of interference between the tool and the workpiece. Fig. Figure 11 presents an example where, in a machine configuration with three orthogonal axes comprising the X-axis, Y-axis, and Z-axis, the workpiece serves as interfering object A and the tool as interfering object B. An intermediate element relationship is also shown, which constrains a positional relationship between a workpiece element and a tool element. In this example, interfering object A represents the workpiece with a freely curved surface, connected to a workpiece node, and interfering object B represents a point on a tool tip, connected to a tool node. Fig. Figure 12 represents a situation in which the tool tip is in contact with the workpiece.
[0057] Since in the Fig. 11 and Fig. The example shown in section 12 illustrates a similar processing sequence to the one in Fig. The following describes those that differ from those shown in the flowchart in section 5. Fig. The 5 shown processing differs.
[0058] The intermediate element condition setting unit 112 defines the interfering object A with the free curved surface at the workpiece node and the interfering object B, represented by a point, at the tool node. The intermediate element condition setting unit 112 defines the free curved surface as a mathematical function, i.e., the numerical equation 16 described below. [Numerical Equation 16] zm=f(xm,ym)
[0059] The conditioned inter-element relationship output unit 121, when it detects that there may be interference between the workpiece and the tool, outputs the numerical equation 17 described below, which represents an interference boundary between the free curved surface of the workpiece and the point at the tip of the tool. [Numerical Equation 17] f(xm,ym)−zm=0
[0060] The conditioned inter-element relationship control unit 131 performs an inverse kinematic transformation, using the method of indeterminate Lagrange multipliers to provide a constraint, and outputs a motion target for each axis. The variables are identical to those of the numerical equation 11 described above. It is possible to display L in the method of indeterminate Lagrange multipliers by performing the ordinary inverse kinematic transformation K. -1 used, as shown in numerical equation 18 described below. Since an orthogonal three-axis machine is assumed, numerical equation 19 is captured by numerical equation 18. [Numerical Equation 18] (rm→−K−1rp→)2−λ(f(xm,ym)−zm)=L [Numerical Equation 19] K−1=E^ (rm→−rp→)2−λ(f(xm,ym)−zm)=L
[0061] It is r mto capture the value with which L is minimized in Numerical Equation 19. Since L with each of (x m , y m and z m Since ) and λ may undergo partial differentiation, numerical equation 20 is captured. From numerical equation 20, λ and z are derived. m Removed, the numerical equation 21 is subjected to a numerical value analysis, e.g. using a steepest descent method, and r m The extreme value of L, which represents an extremum, is recorded. The extremum when L is minimal, which is r m "is" is output as the movement target of each axis. [Numerical Equation 20] xm=xp+λ2∂f(xm,ym)∂xmym=yp+λ2∂f(xm,ym)∂ym zm=zp−λ2 f(xm,ym)−zm=0 [Numerical Equation 21] −xm−xpf(xm,ym)−zp=∂f(xm,ym)∂xm−ym−ypf(xm,ym)−zp=∂f(xm,ym)∂ym
[0062] Fig. Figure 13 is a schematic view that represents a relationship between a movement to avoid an interfering object and a numerical equation. Fig. 13 shows that a move towards r m , which is the nearest point between f(x m and y m ) and r p represents, is carried out. [Interference Object Avoidance Control Example 4]
[0063] Next, an example of the control system for avoiding interference in another case will be described. Fig. Figure 14 is a schematic view illustrating an example of a relationship between a tool and a workpiece in the embodiment of the present invention. Fig. Figure 15 is a schematic view illustrating an example of interference between interfering objects in an embodiment of the present invention. Fig. 14 and Fig. Figure 15 represents, in a desired machine configuration, an interfering object A, which has a rectangular parallelepiped shape and is connected to a node, and an interfering object B, which also has a rectangular parallelepiped shape and is connected to a node. In this example, interfering object A is connected to a C-axis node and interfering object B is connected to an A-axis node.
[0064] Since in the Fig. 14 and Fig. The example shown in section 15 illustrates a similar processing flow to that in the Fig. Given the flowchart shown in section 5, those who are different from the one in Fig. The 5 processes described differ.
[0065] The intermediate element condition setting unit 112 specifies in the machine configuration tree in the intermediate element relationship 113 a position and a shape (rectangular parallelepiped shape) of the interfering object A, which is linked to a C node, and a position and a shape of the interfering object B (rectangular parallelepiped shape), which is linked to an A node, for example.
[0066] Fig. Figure 16 is a schematic view showing the direction of a separation axis with respect to interfering objects. Fig. Figure 16 represents the detection of interference in the style of the dividing axis. The output unit 121 for the conditional intermediate element relation, when it is detected that interference can occur between the shape of the rectangular parallelepiped and the shape of the rectangular parallelepiped among itself, outputs the numerical equation 22 described below, which represents an interference boundary between the shape of the rectangular parallelepiped and the shape of the rectangular parallelepiped. In numerical equation 22, a vector r represents ab A vector (in the coordinate system of the parent node) leads from the center of interfering object A to the center of interfering object B. A vector I indicates the direction of a separation axis (in the coordinate system of the parent node), R a indicates a radius in the direction of the separation axis of the interfering object A, and R bIt indicates a radius in the direction of the separation axis of the interfering object B. Furthermore, the output unit 121 of the conditioned inter-element relationship sends an interference limit flag to the inter-element relationship control unit 115, indicating that the interference limit exists. [Numerical Equation 22] rab→⋅l→−(Ra+Rb)=0
[0067] The conditioned inter-element relationship control unit 131 performs an inverse kinematic conversion, using the method of indeterminate Lagrange multipliers to provide a constraint, and outputs a motion target for each axis. The variables are identical to those of the numerical equation 11 described above. It is possible to replace L in the method of indeterminate Lagrange multipliers with the ordinary inverse kinematic conversion K. -1to display as described in the numerical equation 23 below. [Numerical Equation 23] (rm→−K−1rp→)2−λ(rab→⋅l→−(Ra+Rb))=L
[0068] Fig. Figure 17A is a schematic view that represents a positional relationship between interfering objects in the coordinate system of the parent node. Fig. Figure 17B is a schematic view illustrating the positional relationship between the interfering objects in the motor coordinate system. A vector r a indicates a midpoint position of one of the interfering objects. It is possible to use a known technique related to a machine configuration tree to determine a vector r. ab using a conversion matrix F from the motor coordinate system to the coordinate system of the stem node and a vector r m to express in the motor coordinate system as described in the numerical equation 24 below. [Numerical Equation 24] rab→+ra→=F^rm→
[0069] The conditioned intermediate element relationship control unit 131 assigns an equation that defines the vector r ab based on numerical equation 24 in numerical equation 23, and allows L to perform partial differentiation with each of (x m , y m and z m ) and λ. It should be noted that by using an arithmetic operator defined by numerical equation 25, and taking into account that numerical equation (26) has been established, it is possible to capture numerical equation 27 and numerical equation 28. [Numerical Equation 25] ∇=(∂∂xm,∂∂ym,∂∂zm) [Numerical Equation 26] ∇=(F^rm→)⋅l→=Ftl→ [Numerical Equation 27] 2(rm→−K−1rp→)−λFtl→=∇L=0→ [Numerical Equation 28] −{(F^rm→−ra→)⋅l→−(Ra+Rb)}=∂L∂λ=0
[0070] Next, the conditioned intermediate element relationship control unit 131 captures λ based on Numerical Equation 27 and Numerical Equation 28. The matrix F is first multiplied by a left-hand side of Numerical Equation 27, and then a vector I is multiplied by a right-hand side to capture Numerical Equation 29. Based on the captured Numerical Equation 29 and Numerical Equation 28, Numerical Equation 30 is captured. [Numerical Equation 29] 2F^(rm→−K−1rp→)⋅l→−λ(F^F^tl→)⋅l→=0 [Numerical Equation 30] λ=−2(Ra+Rb)+(ra→−F^K−1rp→)⋅l^(F^F^tl→)⋅l→
[0071] It should be noted that if a constant k = λ / 2 is defined, it is possible to express the numerical equation 31 described below. This equation results in a motion that shifts the target of each axis towards the interference boundary in the direction of the separating axis. In numerical equation 31, K -1 The kinematic conversion is shown, the matrix F is a conversion matrix from the coordinate system of the root node to the motor coordinate system, and the vector I indicates the separation axis. Since the technique for determining the separation axis is itself a well-known technique, its details are not explained. A vector r is determined using numerical equation 31. m A movement target for each axis is generated to perform the evasive movement. [Numerical Equation 31] rm→=K−1rp→−kF^tl^
[0072] An example of a movement goal for each axis for performing evasive maneuvers will now be given with reference to the Fig. Described in sections 18A to 18C. Fig. Figure 18A is a schematic view representing a situation in which it is recognized that interference may occur in a movement based on a command position. Fig. Figure 18B is a schematic view depicting a situation in which an evasive maneuver begins. Fig. Figure 18C is a schematic view showing a motion target for each axis when interference is avoided. If it is detected that interference might occur at a command position, as in Fig. As shown in 18A, an evasive maneuver begins, as in Fig. 18B is shown, and it is positioned at a motion target of each axis, thereby avoiding interference, as in Fig. 18C shown.
[0073] Next, an evasive maneuver will be performed using the separating axes 1 to 3 based on the Fig. Described in sections 19A to 19E. Fig. Figure 19A is a schematic view that represents a relationship between a command and interfering objects before interference is avoided with respect to a separating axis. Fig. 19A represents a situation in which interference may occur during a command-based movement. Fig. Figure 19B is a schematic view illustrating the avoidance of interference with respect to separation axis 1. Before interference occurs, as in Fig. As shown in Figure 19A, when a direction parallel to a counter surface of the interfering object A is defined as a direction of the separation axis 1, the interfering object B is caused to move as shown in Figure 19A. Fig. 19B shown.
[0074] Fig. Figure 19C is a schematic view illustrating the avoidance of interference with respect to the separation axis 2. As shown in Fig. As shown in Figure 19C, a direction offset with respect to a command direction is defined as a direction of the separation axis 2, and the interfering object B is caused to move. Fig. Figure 19D is a schematic view illustrating the avoidance of interference with respect to the separation axis 3. Next, a direction parallel to a side surface adjacent to the opposite surface of the interfering object A is defined as a direction of the separation axis 3, and the interfering object B is caused to move in a direction of return to a path of motion according to a command value. Fig. Figure 19E is a schematic view illustrating the return to a command position. As in Fig. As shown in Figure 19E, the interfering object B avoids the interfering object A and returns to a position identical to one determined by the command, moving continuously. As described above, a series of steps in an evasive movement allows for the avoidance of interference between the interfering object A and the interfering object B. [Interference Object Avoidance Control Example 5]
[0075] Next, an example of interference avoidance control in another case will be described. Fig. Figure 20 is a schematic view that shows a relationship between each axis and a movable area. Fig. Figure 21 is a schematic view illustrating the relationship between a motor coordinate value and the moving range. Fig. 20 and Fig. In a desired machine configuration, a movable range A1 of the X-axis, a movable range A2 of the Y-axis, and a movable range A3 of the Z-axis are defined. This example achieves a function to prevent overrun (OT) intrusion, whereby when a command is received forcing a motor coordinate value to lie outside each of the movable ranges 1 to 3, the movement of each motor shaft is stopped, and when the motor coordinate value of the command is again within each of the movable ranges, the motor shaft is allowed to move again.
[0076] Since in the Fig. 20 and Fig. The example shown in 21 illustrates a processing sequence similar to that in Fig. The flowchart shown in section 5 now includes those who differ from those in the section shown. Fig. The 5 processes shown differ, as described here.
[0077] The intermediate element condition setting unit 112 specifies in the machine configuration tree in the intermediate element relation 113 a desired machine configuration and a movable range of a point that represents each motor coordinate value as the shape of each interfering object.
[0078] The conditioned intermediate element relationship output unit 121, when it detects that interference may occur because the motor coordinate value is supposed to lie outside the moving range, outputs the numerical equation 32 described below, which represents an interference limit. In the numerical equation, x represents ot a boundary of a movable area of an x m -axis. [Numerical Equation 32] xm−xot=0
[0079] The conditioned inter-element relationship control unit 131 performs an inverse kinematic transformation, using the method of indeterminate Lagrange multipliers to provide a constraint, and outputs a motion target for each axis. The variables are identical to those of the numerical equation 11 described above. In numerical equation 11, which defines the variables, a vector r appears. p for a movement target of a control point (in the program coordinate system) and a vector r m for a motion target of each axis (in the motor coordinate system). It is possible to display L in the method of indeterminate Lagrange multipliers by performing the usual inverse kinematic conversion K. -1 used, as shown in the numerical equation 33 described below. [Numerical Equation 33] (rm→−K−1rp→)2−λ1(xm−xot)=L
[0080] To define a vector rm To capture the value with which L is minimized in the numerical equation 33, the conditioned intermediate element relation control unit 131 L allows a partial differentiation with each of (x m , y m and z m Perform the following steps (λ1 and λ2) to derive Numerical Equation 34. Solving Numerical Equation 34 yields Numerical Equation 35. Numerical Equation 35 provides the function for preventing intrusion into the OT area in the desired machine configuration. [Numerical Equation 34] 2(rm→−K−1rp→)−(λ100)=0xm−xot=0 [Numerical Equation 35] (xmymzm)=(xot[K−1rp→]y[K−1rp→]z) [Interference Object Avoidance Control Example 6]
[0081] Next, an example of implementing a control system to avoid unnecessary movement when avoiding interference is described in Interference Object Avoidance Control Example 5. Note that the basic configuration is the same as in Interference Object Avoidance Control Example 5.
[0082] Fig. Figure 22 is a schematic view representing an unnecessary movement that occurs in the relationship between the motor coordinate value and the moving area. Fig. 22 represents a situation in which an unnecessary movement in an x p- -Direction occurs during an evasive maneuver when a motor coordinate value lies outside a moving range. Since a dangerous situation can arise if only one orthogonal axis is moved, it is better to define a coordinate value of the orthogonal axis with a command value.
[0083] The conditioned intermediate element relationship output unit 121, when it detects that interference might be present because a motor coordinate value lies outside a motion range, outputs the numerical equation 36 described below, which represents an interference limit. As shown in numerical equation 36 described below, an avoidance movement restricts an actual movement to x p , to prevent unwanted movement in the direction of x p This occurs. In numerical equation 36, K represents an ordinary forward kinematic conversion process. [Numerical Equation 36] [Krm→]x−xp=0
[0084] The conditioned inter-element relationship control unit 131 performs an inverse kinematic transformation, using the method of indeterminate Lagrange multipliers to provide a constraint, and outputs a motion target for each axis. The variables are identical to those of the numerical equation 11 described above. In numerical equation 11, which defines the variables, a vector r appears. p for a movement target of a control point (in the program coordinate system) and a vector r m for a motion target of each axis (in the motor coordinate system). It is possible to display L in the method of indeterminate Lagrange multipliers by performing the usual inverse kinematic conversion K. -1 used, as indicated in the numerical equation 37 described below. Since this example assumes an inclined three-axis machine, it is possible to K -1to express by a matrix F, as shown in numerical equation 38, and by substituting numerical equation 38 into numerical equation 37 one obtains numerical equation 39. [Numerical Equation 37] (rm→−K−1rp→)2−λ1(xm−xot)−λ2([Krm→]x−xp)=L [Numerical Equation 38] K−1=F^−1 [Numerical Equation 39] (rm→−F^−1rp→)2−λ1(xm−xot)−λ2([F^ rm→]x−xp)=L
[0085] To calculate the vector r m To find the element with which L is minimized in numerical equation 39, each element in the matrix F is denoted as that in numerical equation 40, and L is allowed to perform a partial differentiation with each of (x m , y m and z m), perform λ1 and λ2 to capture numerical equation 41. One form in which numerical equation 41 is modified, which the numerical control device 100 can solve, is numerical equation 42. [Numerical Equation 40] F^=(F11F12F13F21F22F23F31F32F33) [Numerical Equation 41] F^{rm→−12λ1(100)−12λ2(F11tF21tF31t)}=rp→xm=xot(F11,F12,F13)⋅rm→=xp [Numerical Equation 42] (F11F12F13F11[F^F^t]11F21F22F23F21[F^F^t]21F31F32F33F31[F^F^t]3110000F11F12F1300)(xmymzm−12λ1−12λ2)=(xpypzpxotxp)
[0086] Fig. Figure 23 is a schematic view illustrating the avoidance of unnecessary movement in the relationship between the motor coordinate value and the moving area. By using numerical equation 42 and performing the inverse kinematic transformation, a movement as shown in Fig. 23 is shown, achieved. Since a coordinate value of x p Since the coordinate system is defined in the orthogonal coordinate system, no unnecessary and dangerous movement is generated during this movement. [Interference object avoidance control example 7]
[0087] Next, an example of interference avoidance control will be described in another case. Fig. Figure 24 is a schematic view illustrating an example of a relationship between a tool and a workpiece in one embodiment of the present invention. Fig. Figure 25 is a schematic view illustrating an example of interference between interfering objects in an embodiment of the present invention. Fig. 24 and Fig. Figure 25 represents, in a desired machine configuration, an interfering object A, which has a rectangular parallelepiped shape and is connected to a node, as well as a plurality of interfering objects, i.e., an interfering object B1 and an interfering object B2, each also having a rectangular parallelepiped shape and both connected to a node. In this example, interfering object A is connected to a C-axis node, and interfering objects B1 and B2 are both connected to an A-axis node.
[0088] Since in the Fig. 24 and Fig. The example shown in section 25 illustrates a similar processing flow to that in the Fig. The following describes those that differ from those shown in the flowchart in section 5. Fig. The 5 processes shown differ.
[0089] The intermediate element condition setting unit 112 specifies in the machine configuration tree in the intermediate element relationship 113 a position and a shape (rectangular parallelepiped shape) of the interfering object A, which is connected to the C-axis node, as well as positions and shapes (rectangular parallelepiped shapes) of the interfering object B1 and the interfering object B2.
[0090] Fig. Figure 26A is a schematic view representing a situation where interference is detected between interfering object A and interfering object B1. When interfering object A and interfering object B1 are both captured as having a rectangular parallelepiped shape, the conditional intermediate-element-relation output unit 121 outputs the numerical equation 43 described below, which represents an interference boundary between interfering object A and interfering object B1. In numerical equation 43, a vector r represents ab1 A vector (in the coordinate system of the parent node) leads from the center of interfering object A to the center of interfering object B1. A vector I1 indicates the direction of a separation axis (in the coordinate system of the parent node), R a1indicates a radius in the direction of the separation axis of the interfering object A, and R b1 It displays a radius in the direction of the separation axis of the interfering object B1. Furthermore, the conditioned inter-element relationship output unit 121 sends an interference boundary flag to the inter-element relationship control unit 115, indicating that the interference boundary exists. [Numerical Equation 43] rab1→⋅l1→−(Ra1+Rb1)=0
[0091] Fig. Figure 26B is a schematic view depicting a situation in which interference can occur between interfering object A and interfering object B2. As shown in Fig. As shown in Figure 26B, the conditioned intermediate element relationship output unit 121 additionally outputs an interference boundary, which numerical equation 44 indicates, when it is detected that interference with the interfering object B2 may occur during an evasive maneuver using the interference boundary (intermediate element output) shown in numerical equation 43. In numerical equation 44, a vector r is shown. ab2 A vector (in the coordinate system of the parent node) leads from the center of interfering object A to the center of interfering object B2. A vector I2 indicates the direction of a separation axis (in the coordinate system of the parent node), R a2 shows a radius in the direction of the separation axis of the interfering object A, and R b2 shows a radius in the direction of the separation axis of the interfering object B2. [Numerical Equation 44] rab2→⋅l2→−(Ra2+Rb2)=0
[0092] The conditioned inter-element relationship control unit 131 performs an inverse kinematic conversion, using the method of indeterminate Lagrange multipliers to satisfy a constraint, and outputs a motion target for each axis. The variables are identical to those of the numerical equation 11 described above. It is possible to convert L in the method of indeterminate Lagrange multipliers by using the ordinary inverse kinematic conversion K. -1 to display as described in the numerical equation 45 below. [Numerical Equation 45] (rm→−K−1rp→)2−∑iλi(rabi→⋅li→−(Rai+Rbi))=Li=1.2
[0093] Fig. Figure 27A is a schematic view that represents a positional relationship between interfering objects in the coordinate system of the parent node. Fig. Figure 27B is a schematic view representing the positional relationship between the interfering objects in the motor coordinate system. A vector r b indicates a positional shift of the center of the interfering object B, and a position of the center of the interfering object B when a vector r m = 0. It is possible to use a known technique relating to a machine configuration tree to find a vector r. ab using a conversion matrix F from the motor coordinate system to the coordinate system of the root node and the vector r m to express in the motor coordinate system, as described below in numerical equation 46. [Numerical Equation 46] rab→−rb→=F^rm→
[0094] The conditioned intermediate element relationship control unit 131 assigns an equation that defines the vector rabbased on numerical equation 46, which is shown in numerical equation 45, and allows L to perform partial differentiation with each of (x m , y m and z m ) and λ. Given the numerical equation 25 and the numerical equation 26 in the example 4 of the interference object avoidance control described above, it is possible to capture the numerical equation 47 and the numerical equation 48. [Numerical Equation 47] 2(rm→−K−1rp→)−ΣiλiFtli→=∇L=0→ [Numerical Equation 48] −{(F^rm→+rbi→)⋅li→−(Rai+Rbi)}=δLδλi=0
[0095] Next, the conditioned inter-element relationship control unit 131 λ detects i Based on numerical equation 47 and numerical equation 48, the matrix F is first multiplied by the left side of numerical equation 47, and then a vector I is calculated. imultiplied from the right side to capture the numerical equation 49 described below. Based on the captured numerical equation 49 and the numerical equation 48, the numerical equation 50 is captured. [Numerical Equation 49] 2F^(rm→−K−1rp→)⋅li→−∑jλj(F^F^tlj→)⋅li→=0 [Numerical Equation 50] ((F^F^tl1→)⋅l1→(F^F^tl2→)⋅l1→(F^F^tl1→)⋅l2→(F^F^tl2→)⋅l1→)(λ12λ2 2)=−((Ra1+Rb1)−(rb1→+F^K−1rp→)⋅l1→(Ra2+Rb2)−(rb2→+F^K−1rp→)⋅l2→)
[0096] It should be noted that if a constant k is defined i = λ i / 2 is, it is possible to calculate the vector r m The movement target of each axis for the purpose of achieving avoidance can be expressed as numerical equation 51. This equation yields a movement that shifts the movement target of each axis towards the interference boundary in the direction of the separating axis. [Numerical Equation 51] rm→=K−1rp→−k1F^tl1→−k2F^tl2→
[0097] Next, an evasive maneuver will be performed using the separating axes 1 to 3 based on the Fig. 28A to 28F described. Fig. Figure 28A is a schematic view representing a situation in which it is recognized that there may be interference with respect to the separation axis 1. Fig. 28A represents a state in which the interfering object A, which moves based on a movement command, can interfere with the interfering object B2. Since it is detected that interference can occur, as in Fig. As shown in Figure 28A, an evasive movement for the interference begins with respect to the separation axis 1.
[0098] Fig. Figure 28B is a schematic view representing a situation in which it is captured that there may be interference with respect to the separation axis 2, while interference with respect to the separation axis 1 is avoided. Fig. 28B represents a state in which the interfering object A, which is moving based on the movement command, can interfere with the interfering object B2. Since it is established that interference can occur, as in Fig. As shown in 28B, the detection of interference with respect to the separation axis 1 is cancelled and an evasive movement for interference with respect to the separation axis 2 is initiated.
[0099] Fig. Figure 28C is a schematic view representing a situation in which it is detected that there may be interference with respect to the separation axis 1 after the detection of interference with respect to the separation axis 2 has been aborted. Fig. 28C represents a state in which the interfering object A, which is moving based on the movement command, can interfere with the interfering object B2. Since it is established that interference can occur, as in Fig. As shown in 28C, the detection of interference with respect to the separation axis 2 is cancelled, and an evasive movement for interference with respect to the separation axis 1 begins.
[0100] Fig. Figure 28D is a schematic view representing a situation in which it is detected that there may be interference with respect to the separation axis 3 after the detection of interference with respect to the separation axis 1 has been removed. Fig. 28D represents a state in which the interfering object A, which is moving based on the motion command, can interfere with the interfering object B2. Since it is determined that interference can occur, as in Fig. As shown in 28D, the detection of interference with respect to the separation axis 1 is cancelled, and an evasive movement for interference with respect to the separation axis 3 begins.
[0101] Fig. Figure 28E is a schematic view representing a state in which the detection of interference with respect to the separation axis 3 is canceled. Fig. 28E represents a state in which the detection of the interference related to the separation axis 3 is impaired due to the evasive movement after the in Fig. The interference shown in 28D is canceled and the interfering object A is caused to return to a position based on the movement command.
[0102] Fig. 28F is a schematic view representing a situation in which an actual movement corresponds to that based on the movement command. Fig. 28F represents a state of the interfering object A after it has returned to the position based on the movement command. With the configuration according to the present embodiment, a vector r is used. ma motion target of each axis is generated to prevent the occurrence of interference, even if there is a possibility of interference occurring with both the interfering object B1 and the interfering object B2 during a movement according to a motion command, as above with reference to the Fig. 28A to 28F described. [Interference Object Avoidance Control Example 8]
[0103] Next, an example of interference avoidance control will be described in another case. Example 8 for the avoidance control is structured similarly to the one in the Fig. 11 and Fig. Figure 12 shows Example 3 for the avoidance control. That is, it is an example where, in a machine configuration with three orthogonal axes, comprising the X-axis, the Y-axis, and the Z-axis, a workpiece serves as interfering object A and a tool as interfering object B. In this example, interfering object A represents the workpiece with a free curved surface, connected to a workpiece node, and interfering object B represents a point at a tip of the tool, connected to a tool node.
[0104] Avoidance control example 8 differs from avoidance control example 3 in that the free curved surface is provided with a program coordinate value.
[0105] Those that differ from the configuration described above are described below. Fig. Figure 29 is a functional block diagram of the CPU (control unit) containing the numerical control device according to the embodiment of the present invention.
[0106] As in Fig. As shown in Figure 29, the conditioned inter-element relationship output unit 121 contains a conditioned control point motion target generation unit 122. The conditioned control point motion target generation unit 122 outputs, as an inter-element condition output, a condition that a control point must satisfy. The conditioned inter-element relationship output unit 121 outputs the condition that the control point must satisfy, which the conditioned control point motion target generation unit 122 fulfills, as a condition equation to prevent interfering objects from interfering with each other. In this example, an equation representing an interference limit is simply a program coordinate value. Therefore, it is possible to easily achieve avoidance at a control point stage.
[0107] The conditioned inter-element relationship control unit 131 contains a conditioned each-axis motion target generation unit 132. The conditioned each-axis motion target generation unit 132 performs processing to replace a control point motion target with a conditioned each-axis motion target.
[0108] The conditioned inter-element relationship control unit 131 outputs data to the interpolation unit 141, indicating the conditioned motion target of each axis as an interpolation pulse. The interpolation unit 141 performs the interpolation processing described above and transmits feedback data to the inter-element relationship output unit 114.
[0109] Next, a flow of avoidance control will be described with reference to Fig. 30 described. Fig. Figure 30 is a flowchart representing an interference object avoidance control in the embodiment of the present invention.
[0110] In step S20, the intermediate element condition setting unit 112 stores shapes of interfering objects in the machine configuration tree with the orthogonal three axes in the intermediate element relationship 113. For example, the intermediate element condition setting unit 112 defines a free curved surface at a workpiece node in the machine configuration tree in the intermediate element relationship 113, and stores a shape of a point of the intermediate element relationship 113 at a tool node.
[0111] In step S21, the conditioned intermediate element relationship output unit 121 outputs an intermediate element relationship to the intermediate element relationship control unit 115 based on an intermediate element condition defined in the intermediate element relationship 113.
[0112] In this example, the conditioned control point motion target generation unit 122 outputs an interference boundary in the program coordinate system based on the inter-element relationship 113. The interference boundary in the program coordinate system indicates an interference boundary configured only with elements in the program coordinate system. Subsequently, the conditioned control point motion target generation unit 122 performs a conversion to an interpretable format (inter-element relationship output) by the conditioned inter-element relationship control unit 131. The free curved surface stored in the inter-element relationship 113 is converted into an interpretable format such as the numerical equation 52 described below.Furthermore, the conditioned intermediate element relationship control unit 131 assigns an interference boundary flag to the intermediate element relationship output unit in the program coordinate system, indicating that an interference boundary exists in the program coordinate system. The conditioned intermediate element relationship output unit 121 outputs the intermediate element relationship output generated by the conditioned control point motion target generation unit 122. [Numerical Equation 52] zp>f(xp,yp)
[0113] In step S22, the conditioned inter-element relationship control unit 131 uses the output unit for the inter-element relationship (the interference boundary in the program coordinate system) where the interference boundary flag is set to ON as the replacement target for the control point movement target.
[0114] Fig. Figure 31 is a view that shows an example of a coordinate of a motion target for each axis before and after correction. In this example, if a control point motion target does not satisfy a condition for an interference boundary in the program coordinate system based on numerical equation 52, the conditional each-axis motion target generation unit 132 replaces one element of the control point motion target with another based on the intermediate element relationship output to generate a motion target for each axis. As in Fig. As shown in Figure 31, the conditioned each-axis motion target generation unit 132 performs processing to replace an element matching the one on the left side in the interference boundary with an element on the right side in the interference boundary among the elements in the motion target of the control point based on the inter-element relationship output, and outputs a motion target for each axis.
[0115] Fig. Figure 32 is a schematic view illustrating the positional relationship between a motion target of each axis, a tool, and a workpiece before and after correction. As shown in Fig. As shown in 32, an avoidance movement is depicted in a z p -Direction to an interference boundary based on the numerical equation 52 for a vector r p an original movement target of a control point added to form a vector r' pto generate the movement target for each axis after the correction.
[0116] The conditioned each-axis motion target generation unit 132 allows the motion target generated by the conditioned control point motion target generation unit 122 to undergo an ordinary inverse kinematic transformation to create a vector r m to generate a motion target. Under the assumption of numerical equation 53, it is possible to determine the vector r. m The movement target is represented as numerical equation 54. In numerical equation 54, the vector r' represents p represents a conditioned movement target of the control point (in the program coordinate system), and the vector r m This represents a motion target for each axis (in the motor coordinate system). The numerical equation 54 generates the target for the control point motion where the free curved surface and the point do not interfere with each other. [Numerical Equation 53] rp→'=(xp,yp,f(xp,yp))rm→=(xm,ym,zm) [Numerical Equation 54] rm→=K−1rp→'
[0117] In step S23, each of the servomotors 50 to 54 moves to avoid a collision between the point at the tip of the tool and the free curved surface, based on the calculated motion target of each axis.
[0118] Although the example in which the conditioned intermediate element relationship output unit 121 contains the conditioned control point motion target generation unit 122 has been described, the present invention is not limited to this configuration. Fig. Figure 33 is a functional block diagram of the CPU (control unit) containing the numerical control device according to the embodiment of the present invention. As shown in Fig. As shown in Figure 33, such a configuration can be used in which the intermediate element relationship output unit 114 contains a control point motion target generation unit 123 that outputs an unconditioned motion target control point instead of the conditioned control point motion target generation unit 122. In this case, the conditioned control point motion target generation unit 122 is able to separately detect a control point condition that a control point must satisfy and generate a conditioned motion target for each axis based on a motion target control point and a control point condition.
[0119] Next, the avoidance of interference for a convex polyhedron is described. Although the above description uses a rectangular parallelepiped shape as an example of an interfering object, it is possible to use a known technique to subdivide the shape of an interfering object into shapes to which a dividing axis style can be applied to generate an avoidance command. Fig. Figure 34 is a schematic view describing the style of the dividing axis for a polyhedron with a multitude of convex shapes. For the case of an interfering object A' with two convex shapes, as in Fig. Figure 34 shows that the division into three rectangular parallelepiped forms, i.e., an interfering object A1, an interfering object A2, and an interfering object A3, allows the use of the separation axis in a method for processing a rectangular parallelepiped form.
[0120] Fig. Figure 35A is a schematic view illustrating a calculation example of a dividing axis based on the outer product of each face of a convex polyhedron A and each face of a convex polyhedron B. As shown in Fig. As shown in Figure 35A, a dividing axis is calculated based on the outer product of each face of convex polyhedron A and each face of convex polyhedron B. In this example, a direction indicated by an arrow marking representing an outer product of a vector v1 and a vector v2 serves as the dividing axis. Fig. Figure 35B is a schematic view that presents a calculation example for a separation axis based on the direction of a normal with respect to each surface. Fig. 35B serves as the dividing axis a direction indicated by an arrow marking extending in the direction of the normal line with respect to each surface.
[0121] As described above, the numerical control device 100 according to the present embodiment includes: the graph generation unit 101, which generates a machine configuration of a controlled object in a graph format; the control point coordinate system insertion unit 102, which inserts control points and a coordinate system into the machine configuration in the graph format; the intermediate element condition setting unit 112, which defines shapes of interfering objects in an intermediate element condition as an intermediate element condition to be satisfied by a relationship between a first element representing a first control point and a second element representing a second control point;the inter-element relationship output unit 114, which outputs an interference condition equation (interference limit) to prevent the interfering objects from interfering with each other based on the inter-element condition specified in the inter-element relationship 113; and the inter-element relationship control unit 115, which controls a relationship between the elements based on the inter-element relationship 113 and the interference condition equation.
[0122] In a previous technique, as in Fig. As shown in Figure 36, it was necessary to prepare arc movements, linear movements, and directions of movement in advance in order to react, for example, to the shapes and positions of interfering objects. A numerical control device 100 according to the present embodiment, which includes the configuration described above for using a machine configuration in a graph format, makes it possible to react to interferences in various cases without having to prepare avoidance commands beforehand to prevent interference between interfering objects that differ in shape.
[0123] Furthermore, in the present embodiment, the intermediate element relationship output unit 114 contains the conditioned control point motion target generation unit 122, which outputs a control point condition to be satisfied by each of the control points as an intermediate element condition, and the intermediate element relationship control unit 115 contains the conditioned each-axis motion target generation unit 132, which replaces a control point motion target with a conditioned each-axis motion target based on the control point condition. This makes it possible for an equation representing an interference boundary to represent only one program coordinate value, thus making it possible to easily generate an instruction for an avoidance motion at a control point level. Moreover, as described in Fig. 37A and Fig. As shown in Figure 37B, it is not necessary to temporarily halt a movement to reread a command block when interference is detected, similar to the previous technique. This makes it possible to avoid situations where a cycle time increases when interference is detected. Furthermore, even if an interfering object has a complex shape, it is possible to achieve an optimal movement (e.g., a wedge-shaped movement) in accordance with the shape without performing unnecessary movement in a particular direction. In the Fig. In the example shown in Figure 36B, an interference condition node stores a condition of the numerical equation 55 described below as a condition for interference, and an evasive movement is automatically performed to satisfy the numerical equation 55, where a coordinate value z pserves as a constraint on the Z-axis. [Numerical Equation 55] f(xp,yp,zp)>0
[0124] Furthermore, in the present embodiment, the inter-element relationship output unit 114 contains the control point motion target generation unit 123, which outputs a control point motion target, and the inter-element relationship control unit 115 contains the conditioned each-axis motion target generation unit 132, which generates a conditioned each-axis motion target based on the control point motion target. Even with this configuration, it is possible to avoid situations where the cycle time increases when interference is detected. Moreover, even if an interfering object has a complex shape, it is possible to achieve optimal motion (e.g., spline motion) in accordance with the shape without performing unnecessary motion in a particular direction.
[0125] Furthermore, the numerical control device 100 according to the present embodiment also includes the interpolation unit 141, which performs interpolation processing of a motion command, wherein the inter-element relationship control unit 115 outputs information to the interpolation unit 141 relating to a motion target of each axis in which an evasive movement is reflected, and the evasive movement is to be executed per interpolation pulse. Since, in the case of this configuration, one movement is changed per interpolation pulse, it is possible to perform a smooth evasive movement in accordance with the shape, even if an interfering object has a complex shape.
[0126] Furthermore, the numerical control device 100 according to the present embodiment also includes the command analysis unit 111, which analyzes a motion command. The inter-element relationship control unit 115 outputs information to the command analysis unit 111 relating to a motion target of each axis in which an evasive movement is reflected, and the evasive movement is to be executed per command block. Since, in this configuration, it is possible to incorporate an evasive movement command into a motion command by means of compensation, it is possible to generate an efficient motion route when a linear evasive movement is sufficient.
[0127] Furthermore, in the present embodiment, the interference condition equation is a condition equation that indicates an interference boundary at which interfering objects, serving as avoidance targets, interfere with each other. It is not necessary to prepare a control system beforehand for executing a complex avoidance maneuver, thus making it possible to use an interference boundary to generate an avoidance maneuver accurately and efficiently.
[0128] Furthermore, in the present embodiment, one of the interfering objects is a point, another is a free curved surface, and the interference condition equation is a condition equation that defines an interference boundary between the point and the free curved surface. This makes it possible to achieve efficient evasive movement in accordance with the shape, even if an interfering object, such as a workpiece, has a complex shape.
[0129] Furthermore, in the present embodiment, one of the interfering objects is a point representing a motor coordinate value, another is a movable area of the point representing the motor coordinate value, and the interference condition equation is a condition equation that defines an interference boundary between the point representing the motor coordinate value and the movable area. This eliminates the need to pre-prepare a control system to execute a complex evasive maneuver, thus making it possible to achieve the function of preventing intrusion into the TDC (Top Dead Center) range.
[0130] In the present embodiment, the interference condition equation further includes a condition for limiting movement in a predetermined direction. This makes it possible to define a coordinate value to limit movement in an unnecessary direction, thereby enabling a more reliable achievement of the function to prevent intrusion into the OT area.
[0131] It should be noted that, although the above description uses two pairs of control points and a coordinate system for descriptive purposes, synchronization control can be performed for three or more pairs of control points and a coordinate system.
[0132] The control process of the numerical control device 100 is achieved using software. When using software, programs that configure the software are installed on a computer (the numerical control device 100). These programs can be stored on removable media and distributed to a user, or they can be downloaded to the user's computer and distributed over a network. Alternatively, these programs can be made available to the user's computer (the numerical control device 100) as a web service over a network, rather than being downloaded.
[0133] Although the present disclosure has been described in detail, it is not limited to each embodiment described above. It is possible to make various additions, substitutions, modifications, and partial deletions to each embodiment without deviating from the core or scope of the present disclosure as defined by the content described in the claims and their equivalents. Furthermore, it is possible to implement each embodiment in a combined manner. For example, in each embodiment described above, the sequence of operations and the order of processing steps are shown only as examples, and the present disclosure is not limited to each embodiment. The same applies to cases where a numerical value or expression is used to describe each embodiment described above.
[0134] For each embodiment and each modification example described above, the notes described below are also disclosed. (Note 1)
[0135] A numerical control device (100), comprising: a graph generation unit (101) that generates a machine configuration of a controlled object in a graph format; a control point coordinate system insertion unit (102) that inserts control points and a coordinate system into the machine configuration in the graph format; an intermediate element condition setting unit (112) that specifies shapes of interfering objects in an intermediate element relationship as an intermediate element condition to be satisfied by a relationship between a first element and a second element, wherein the first element represents a first control point and the second element represents the second control point; an output unit (114) for an inter-element relation that outputs an interference condition equation to prevent the interfering objects from interfering with each other based on the interference condition specified in the inter-element relation; and an inter-element relationship control unit (115) that controls a relationship between the elements based on the inter-element relationship and the interference condition equation. (Note 2)
[0136] In the numerical control device (100) described above The intermediate element relationship output unit (114) contains a control point motion target generation unit (123) that outputs a control point motion target, and The Inter-Element Relationship Control Unit (115) contains a Conditioned Each-Axis Motion Target Generation Unit (132) that generates a Conditioned Each-Axis Motion Target based on the Control Point Motion Target. (Note 3)
[0137] In the numerical control device (100) described above, the intermediate element relationship output unit includes a conditioned control point motion target generation unit (122) that outputs a control point condition that must be satisfied by each of the control points as an intermediate element condition, and The Inter-Element Relationship Control Unit contains a conditioned each-axis motion target generation unit (132) that replaces a control point motion target with a conditioned each-axis motion target based on the control point condition. (Note 4)
[0138] In the numerical control device (100) described above Furthermore, it includes an interpolation unit (141) which performs interpolation processing for a movement command, wherein the inter-element relationship control unit (115) outputs information to the interpolation unit (141) relating to a motion target of each axis in which an evasive movement is reflected, and The evasive movement is to be executed per interpolation pulse. (Note 5)
[0139] In the numerical control device (100) described above It also includes a command analysis unit (111) that analyzes a movement command, in which the intermediate element relationship control unit (115) outputs information to the command analysis unit (111) relating to a motion target of each axis in which an evasive movement is reflected, and The evasive movement should be executed per command block. (Note 6)
[0140] In the numerical control device (100) described above The interference condition equation is a condition equation that indicates an interference limit at which interfering objects, serving as escape targets, interfere with each other. (Note 7)
[0141] In the numerical control device (100) described above The conditioned each-axis motion target generation unit generates the conditioned each-axis motion target that satisfies the interference condition equation and causes the square of a difference of a result of converting the control point motion target to a each-axis motion target using an ordinary inverse kinematics conversion to be minimal. (Note 8)
[0142] In the numerical control device (100) described above, one of the interfering objects is a point, and one of the interfering objects is a free curved surface, and The interference condition equation is a condition equation that indicates an interference boundary between the point and the free curved surface. (Note 9)
[0143] In the numerical control device (100) described above The interfering objects each have a shape that contains one or more convex polyhedra, and The interference condition equation is a condition equation that indicates an interference boundary between the convex polyhedra. (Note 10)
[0144] In the numerical control device (100) described above one of the interfering objects is a point representing a motor coordinate value, and one of the interfering objects is a movable area of the point representing the motor coordinate value, and The interference condition equation is a condition equation that indicates an interference boundary between the point representing the motor coordinate value and the moving area. (Note 11)
[0145] In the numerical control device (100), as described above, The interference condition equation contains a condition limiting motion in a predetermined direction. EXPLANATION OF REFERENCE MARKS 11 CPU (control unit) 100 Numerical control device 101 Graph generation unit 102 Control Point Coordinate System Insertion Unit 111 Command Analysis Unit 112 Intermediate element condition setting unit 113 Inter-element relationship 114 Intermediate element relationship output unit 115 Inter-element relationship control unit 121 Conditioned Inter-Element Relationship Output Unit 122 Conditioned Control Point Movement Target Generation Unit 131 Conditioned Inter-Element Relationship Control Unit 132 Conditioned Each-Axis Motion Target Generation Unit 140 Motion execution unit 141 Interpolation unit 142 Pulse generation unit QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 6538761
[0003]
Claims
[1] A numerical control device comprising: a graph generation unit that generates a machine configuration of a controlled object in a graph format; a control point coordinate system insertion unit that inserts control points and a coordinate system into the machine configuration in graph format; An intermediate element condition setting unit that defines the forms of interfering objects in an intermediate element relationship as an intermediate element condition to be satisfied by a relationship between a first element representing a first control point and a second element representing a second control point. an inter-element relationship output unit that outputs an interference condition equation to prevent the interfering objects from interfering with each other based on the inter-element condition specified in the inter-element relationship; and an inter-element relationship control unit that controls a relationship between the elements based on the inter-element relationship and the interference condition equation. [2] The numerical control device according to claim 1, wherein the intermediate element relationship output unit contains a control point motion target generation unit that outputs a control point motion target, and The inter-element relationship control unit contains a conditioned each-axis motion target generation unit that generates a conditioned each-axis motion target based on the control point motion target. [3] The numerical control device according to claim 1, wherein the inter-element relationship output unit includes a conditioned control point motion target generation unit which outputs a control point condition which must be satisfied by each of the control points as the inter-element condition, and the inter-element relationship control unit includes a conditioned each-axis motion target generation unit which replaces a control point motion target with a conditioned each-axis motion target based on the control point condition. [4] The numerical control device according to one of claims 1 to 3, which further comprises an interpolation unit that performs interpolation processing of a motion command, wherein the intermediate element relationship control unit outputs information to the interpolation unit relating to a motion target of each axis in which an evasive movement is reflected, and The evasive movement is to be executed per interpolation pulse. [5] The numerical control device according to any one of claims 1 to 3, further comprising a command analysis unit that analyzes a motion command, wherein the inter-element relationship control unit outputs information to the command analysis unit relating to a motion target of each axis in which an evasive movement is reflected, and The evasive movement should be executed per command block. [6] The numerical control device according to any one of claims 1 to 5, wherein the interference condition equation is a condition equation that indicates an interference limit at which interfering objects serving as escape targets interfere with each other. [7] The numerical control device according to any one of claims 1 to 5, wherein the conditioned each-axis motion target generating unit generates the conditioned each-axis motion target that satisfies the interference condition equation and that causes the square of a difference of a result of converting the control point motion target to an each-axis motion target using an ordinary inverse kinematic conversion to be minimal. [8] The numerical control device according to claim 6, wherein one of the interfering objects is a point and one of the interfering objects is a free curved surface, and The interference condition equation is a condition equation that indicates an interference limit between the point and the free curved surface. [9] The numerical control device according to claim 6, wherein the interfering objects each have a shape that contains one or more convex polyhedra, and The interference condition equation is a condition equation that indicates an interference limit between the convex polyhedra. [10] The numerical control device according to claim 6, wherein one of the interfering objects is a point representing a motor coordinate value, and one of the interfering objects is a movable area of the point representing the motor coordinate value, and The interference condition equation is a condition equation that indicates an interference boundary between the point representing the motor coordinate value and the moving area. [11] The numerical control device according to claim 10, wherein the interference condition equation includes a condition for limiting a movement in a predetermined direction.
Citation Information
Patent Citations
JAPANISCHESPATENTNR.6538761