Control device for industrial machines
By generating reverse command paths and adjusting command speeds, and using mechanical models to predict actual path deviations, the problem of non-linear path deviations in industrial machinery is solved, achieving more efficient and precise processing.
Patent Information
- Application Number
- CN202280009047.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-02-17
- Filing Date
- 2022-02-10
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-02-10
AI Technical Summary
In the control devices of industrial machinery, the command path of non-linear paths deviates significantly from the actual path, resulting in a decrease in processing efficiency and accuracy, which is especially noticeable when the command speed is high.
By generating a reverse command path that takes into account the transmission characteristics of the machine tool, using a mechanical model to predict the actual forward and reverse paths, and adjusting the command speed to reduce deviation, precise path control is achieved by employing a command path generation unit, a drive control unit, a mechanical model generation unit, a forward actual path prediction unit, a reverse command path generation unit, and a command speed adjustment unit in a numerical control device.
It effectively reduces the deviation between the actual forward and reverse paths, improving processing efficiency and accuracy, especially in reciprocating processing on non-linear paths.
Smart Images

Figure CN116685917B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a control device of an industrial machine. BACKGROUND
[0002] There is known a technique in which, in a control device of an industrial machine such as a machine tool or a robot, in a case where some problem occurs in moving a movable portion along an instruction path, the movable portion is caused to return by reversing the instruction path (for example, refer to Patent Literature 1).
[0003] PRIOR ART DOCUMENTS
[0004] PATENT LITERATURE
[0005] Patent Literature 1: Japanese Patent Application Laid-Open No. 2-259911 SUMMARY
[0006] PROBLEMS TO BE SOLVED BY THE INVENTION
[0007] For example, in a case where the above problem is under-processing, it is considered that, after causing the movable portion to return by reversing the instruction path, the movable portion is caused to move along the instruction path again to perform processing. In this case, if an actual path actually passed, that is, a forward actual path along the instruction path is the same as a reverse actual path in which the instruction path is reversed, processing can be performed also when the instruction path is reversed, and processing efficiency can be improved.
[0008] However, in a case where the instruction path includes a non-linear path and the instruction speed is relatively fast, in the non-linear path, the actual path deviates from the instruction path at times. More specifically, at times, the actual path detours from the instruction path. In this case, in the non-linear path, a detour generation portion in the forward actual path is different from a detour generation portion in the reverse actual path, and thus, at times, the forward actual path deviates from the reverse actual path.
[0009] Therefore, it is desired that a control device of an industrial machine in which deviation of a forward actual path of a movable portion from a reverse actual path can be reduced.
[0010] MEANS FOR SOLVING THE PROBLEMS
[0011] The control device for industrial machinery disclosed herein controls the movement of movable parts of industrial machinery according to a program. The program contains instructions related to the movement path of the movable part, organized in program blocks, and includes instructions related to the movement speed of the movable part. The control device comprises: an instruction path generation unit that generates an instruction path for the movement path of the movable part according to the instructions of the program; and a drive control unit that controls a drive unit that drives the movable part, and performs: forward operation of the movable part along the instruction path based on the instruction path generated by the instruction path generation unit and an instruction speed representing the movement speed according to the instructions of the program; and reverse operation based on a reverse instruction path and a reverse instruction. The system comprises: a speed for reversing the movement of the movable part in a manner that reverses the command path; a forward actual path prediction unit that uses a mechanical model related to the transmission characteristics of the industrial machinery to predict a forward actual path based on the command path; a reverse command path generation unit that generates the reverse command path by reversing the movement direction of the forward actual path; a reverse actual path prediction unit that uses the mechanical model to predict a reverse actual path based on the reverse command path; and a command speed adjustment unit that adjusts the command speed of the movement speed represented by the program in a manner that reduces the error between the reverse actual path and the reverse command path, thereby generating the reverse command speed.
[0012] Invention Effects
[0013] According to this disclosure, the deviation between the forward and reverse actual paths of the drive unit of industrial machinery can be reduced. Attached Figure Description
[0014] Figure 1 This is a diagram showing the structure of the numerical control device (control device) of the machine tool (industrial machinery) according to this embodiment.
[0015] Figure 2A This is a diagram illustrating an example of the instruction path, (forward) actual path, and reverse actual path in this embodiment.
[0016] Figure 2B This is a diagram illustrating an example of the previous instruction path, the (forward) actual path, and the reverse actual path.
[0017] Figure 3A It means Figure 2A A diagram showing an example of the instruction path and its trajectory data in the non-linear portion A.
[0018] Figure 3B It means Figure 2A A diagram showing an example of the actual forward path and its actual trajectory data in the non-linear part A.
[0019] Figure 3C is a graph showing an example of a forward actual path in the non-linear portion A of Figure 2A
[0020] Figure 3D is a graph showing an example of a reverse command path in the non-linear portion A of Figure 2A
[0021] Figure 4A is a graph showing an example of a reverse command path and a reverse actual path in the non-linear portion A of Figure 2A
[0022] Figure 4B is a graph showing a range A in which an error occurs between the reverse command path and the reverse actual path of Figure 4A
[0023] Figure 4C is a graph showing an example of a reverse command velocity of the present embodiment.
[0024] Figure 5A is a graph showing an example of a reverse command velocity of a modification example.
[0025] Figure 5B is a graph showing a range A in which an error occurs between the reverse command path and the reverse actual path of Figure 4A
[0026] Figure 6 is a graph showing an example of cutting processing by a plasma processing machine or a gas cutting machine.
[0027] Figure 7 is a graph showing an example of welding processing by a laser processing machine.
[0028] Figure 8 is a graph showing an example of laser beam forming processing by a laser processing machine. DETAILED DESCRIPTION
[0029] Hereinafter, an example of an embodiment of the present application will be described with reference to the drawings. In each drawing, the same or equivalent portions are denoted by the same reference numerals.
[0030] Figure 1 is a graph showing the structure of a numerical control device (control device) of a machine tool (industrial machine) of the present embodiment. In Figure 1 , the machine tool 100 is also shown together with the numerical control device 10.
[0031] The machine tool 100 includes a movable portion on which a tool or a workpiece is mounted, and a driving portion such as a servo motor that drives the movable portion. The machine tool 100 drives the movable portion by the driving portion, and thereby performs processing of the workpiece while relatively moving the tool with respect to the workpiece.
[0032] The numerical control device 10 controls the driving sections (e.g., servo motors) of the machine tool 100 in accordance with a machining program (program), thereby controlling the movement of the movable sections of the machine tool 100. The numerical control device 10 has a storage section 11, a program analysis section 12, an instruction path generation section 14, and a driving control section 16.
[0033] The numerical control device 10 (except for the storage section 11) is constituted by, for example, a DSP (Digital Signal Processor), an FPGA (Field-Programmable Gate Array), or the like. The various functions of the numerical control device 10 are realized, for example, by executing a prescribed software (program) stored in the storage section 11. The various functions of the numerical control device 10 can be realized by cooperation of hardware and software, or can be realized by hardware (electronic circuit) alone.
[0034] On the other hand, the storage section 11 in the numerical control device 10 is, for example, a rewritable memory such as an EEPROM. The storage section 11 stores a prescribed software (program) for executing the various functions of the numerical control device 10 described above. In addition, the storage section 11 stores, for example, a machining program inputted from the outside. The machining program contains instructions related to the movement path (e.g., the amount of movement from the current position to the end position) of the movable sections of the machine tool 100 and the maximum speed of the movement speed (e.g., the target maximum speed) of the movable sections of the machine tool 100 in units of program blocks.
[0035] The program analysis section 12 analyzes the machining program stored in the storage section 11, and reads out the instructions related to the movement path and the movement speed in units of program blocks.
[0036] The instruction path generation section 14 generates an instruction path in which the points on the movement path are interpolated at an interpolation cycle, in accordance with the instructions related to the movement path read out by the program analysis section 12. In addition, the instruction path generation section 14 generates an instruction speed (movement speed pattern) in accordance with the instructions related to the generated instruction path, the acceleration / deceleration based on the acceleration / deceleration time constant, and the maximum speed of the movement speed. The instruction path generation section 14 generates the instruction speed (movement speed pattern) for the driving sections (e.g., the X-axis servo motor, the Y-axis servo motor, the Z-axis servo motor) of the machine tool 100.
[0037] The drive control section 16 controls the drive sections of the machine tool 100 in accordance with the command path and the command speed (movement speed pattern) generated by the command path generating section 14, whereby the machine tool 100 is caused to move the movable section along the command path. The drive control section 16 can be provided in plural for the drive sections (e.g., X-axis servo motor, Y-axis servo motor, Z-axis servo motor) of the machine tool 100. The drive control section 16 is, for example, a servo control section that performs drive control of the servo motor in accordance with a position command based on the command path and the command speed (movement speed pattern) and a position feedback detected by an encoder provided to the servo motor.
[0038] In this case, in a case where a certain problem occurs in moving the movable section of the machine tool 100 along the command path, the command path is sometimes reversed to return the movable section. For example, in a case where the above-described problem is under-processing, it is considered that the movable section is moved along the command path again to perform processing after the command path is reversed to return the movable section. In this case, for the actual path actually passed, if the forward actual path along the command path is the same as the reverse actual path in the reverse of the command path, processing can be performed also in reversing the command path, and the processing efficiency can be improved.
[0039] However, as shown in FIG. 6, in a case where the command path P includes a non-linear path (a portion where the moving direction is changed by 90 degrees in the example of FIG. 6) and the command speed is relatively fast, the actual path Pactf deviates from the command path P in the non-linear path. More specifically, the actual path Pactf is sometimes more winding than the command path P. In this case, in the non-linear path, the winding generation position in the forward actual path Pactf is different from the winding generation position in the reverse actual path Pactb, whereby the forward actual path Pactf deviates from the reverse actual path Pactb sometimes. Figure 2B Figure 2B The actual path Pactf being more winding than the command path P is an influence of the transfer characteristics of the machine tool 100. Therefore, as shown in FIG. 7, it is assumed that the deviation of the forward actual path Pactf from the reverse actual path Pactb is reduced by generating a reverse command that takes into account the transfer characteristics of the machine tool 100.
[0040] The actual path Pactf being more winding than the command path P is an influence of the transfer characteristics of the machine tool 100. Therefore, as shown in FIG. 7, it is assumed that the deviation of the forward actual path Pactf from the reverse actual path Pactb is reduced by generating a reverse command that takes into account the transfer characteristics of the machine tool 100. Figure 2A
[0041] Therefore, in the present embodiment, the numerical control device 10 further has a mechanical model generating section 22, a forward actual path predicting section 24, a reverse command path generating section 26, a reverse actual path predicting section 28, and a command speed adjusting section 30.
[0042] The mechanical model generation section 22 generates a mechanical model by performing system identification based on the transfer characteristics of the machine tool 100, more specifically, the transfer characteristics of the drive section and the movable section of the machine tool 100. As a method of system identification, various known methods can be used. Hereinafter, an example of generating a state space model based on the frequency characteristics of the transfer characteristics will be described (as a method of system identification, a known prediction error method, a correlation method, or the like can be used).
[0043] The mechanical model generation section 22 previously acquires the frequency characteristics of the transfer characteristics of the machine tool 100. The mechanical model generation section 22 generates a state space model based on the frequency characteristics of the transfer characteristics of the machine tool 100.
[0044] x[t + 1] = Ax[t] + Bu[t]
[0045] y[t] = Cx[t] + Du[t]
[0046] Here, A, B, C, and D are coefficients of a state space matrix, x[t] is a state vector, u[t] is an input vector, and y[t] is an output vector.
[0047] In this state space model, if the trajectory data l[t] obtained by sampling the command path P is given as the input vector u[t], the actual trajectory data lact[t] of the actual path Pactf is obtained as the output vector y[t]. Thus, the mechanical model generation section 22 generates the following mechanical model.
[0048] x[t + 1] = Ax[t] + Bl[t]
[0049] lact[t] = Cx[t] + Dl[t]
[0050] Hereinafter, attention is paid to the non-linear portion A in Figure 2A and Figure 2B and the range A in which the error between the forward actual path Pactf and the backward actual path Pactb occurs will be described.
[0051] The forward actual path prediction section 24 predicts the forward actual path based on the command path using the above-described mechanical model. For example, as shown in Figure 2A and Figure 3A , a command path P of a non-linear path in which the moving direction is changed by 90 degrees is considered. The trajectory data obtained by sampling the command path P at time t is set to l[t]. As shown in Figure 3B , the forward actual path prediction section 24 predicts the actual trajectory data lact[t] of the forward actual path Pactf based on the trajectory data l[t] of the command path P using the above-described mechanical model. Also, as shown in Figure 3CAs shown, the forward actual path prediction section 24 predicts the forward actual path Pactf in association with the actual trajectory data lact[t] (program blocks N021-N024).
[0052] As shown, the backward instruction path generation section 26 generates the backward instruction path Pb by reversing the moving direction of the forward actual path Pactf (program blocks N021-N024). Figure 3D
[0053] Here, if the instruction speed is fast, in a non-linear path, sometimes the backward actual path Pactb also deviates from the backward instruction path Pb. More specifically, sometimes the backward actual path Pactb goes around further than the backward instruction path Pb.
[0054] Therefore, the backward actual path prediction section 28 predicts the backward actual path from the backward instruction path using the mechanical model described above. For example, as shown in FIG. 6, the trajectory data obtained by sampling the backward instruction path Pb is set as l[t]. As shown in FIG. 7, the backward actual path prediction section 28 predicts the actual trajectory data lact[t] of the backward actual path Pactb from the trajectory data l[t] of the backward instruction path Pb using the mechanical model described above. Figure 4A Figure 4A
[0055] The instruction speed adjustment section 30 adjusts the acceleration time constant in the instruction speed (moving speed pattern) in a manner to reduce the error of the backward actual path Pactb with respect to the backward instruction path Pb, and generates the backward instruction speed. The instruction speed adjustment section 30 generates the backward instruction speed (moving speed pattern) in which the instruction speed (moving speed pattern) is adjusted, for each of the driving sections (e.g., X-axis servo motor, Y-axis servo motor, Z-axis servo motor) of the machine tool 100.
[0056] For example, as shown in FIG. 8, assume that the backward instruction path Pb contains a plurality of trajectory data l[t] obtained by sampling the backward instruction path Pb at time t. Also, the backward actual path Pactb contains a plurality of actual trajectory data lact[t] corresponding to the plurality of trajectory data l[t] of the backward instruction path Pb. Figure 4B Regarding the instruction speed adjustment section 30
[0057] • calculates the Euclidean distance d l between the trajectory data l[t] of the backward instruction path Pb and the actual trajectory data lact[t] of the backward actual path Pactb, lact
[0058]
[0059] • The Euclidean distance d of the reverse command path Pb within the range A where the error between the actual trajectory data lact[t] of the reverse actual path Pactb and the trajectory data l[t] of the reverse command path Pb is above a specified value. l The sum of [t] and the Euclidean distance d of the actual reverse path Pactb lact The difference in movement is calculated by summing [t].
[0060] • The adjustment of the acceleration / deceleration time constant τa is calculated using the following equation (1) based on the difference in movement, the maximum speed v in the commanded speed (movement speed mode), and the acceleration / deceleration time constant τ.
[0061] ·like Figure 4C As shown, the acceleration / deceleration time constant τ of the instruction speed (movement speed mode) in the previous program block that generates the program block containing the actual trajectory data lactt[t] of the reverse actual path Pactb relative to the trajectory data l[t] of the reverse instruction path Pb with an error of more than a specified value within a range A is adjusted to the reverse instruction speed (movement speed mode) with an adjusted acceleration / deceleration time constant τa.
[0062] [Mathematical Expression 1]
[0063]
[0064] Here, i is the increment variable, and n is the maximum value of the increment variable, representing the number of trajectory data in range A.
[0065] For example, in Figure 4C In the above code block, when the horizontal axis is set as the X-axis and the vertical axis as the Y-axis, the movable part moves diagonally downwards to the right at the combined speed of the servo motor on the X-axis and the motor on the Y-axis. Here, when the acceleration time constant of each axis increases, the time taken to move at the combined speed decreases, and the speed change to reach the combined speed becomes slower. That is, when Σd... l <Σd lact When the relationship is such that the acceleration and deceleration time constants of the two-axis servo motors are increased, the acceleration and deceleration become slower, thus suppressing the detour of the actual trajectory in reverse (when the acceleration and deceleration become slower, the following performance of the servo motors is improved).
[0066] The drive control section 16 controls the drive section of the machine tool 100 in accordance with the reverse direction instruction path generated by the reverse direction instruction path generation section 26 and the reverse direction instruction speed (movement speed pattern) adjusted by the instruction speed adjustment section 30, for example, in correspondence with an instruction of the intention of reverse direction operation, whereby reverse direction operation of moving the movable section of the machine tool 100 in a manner of reversing the instruction path is performed. The drive control section 16 performs drive control of the servo motor, for example, in accordance with a position instruction based on the reverse direction instruction path and the reverse direction instruction speed (movement speed pattern) and a position feedback detected by an encoder provided to the servo motor.
[0067] As explained above, the numerical control device 10 of the machine tool according to the present embodiment,
[0068] • predicts the forward direction actual path from the instruction path using a mechanical model related to the transfer characteristics of the machine tool 100,
[0069] • generates the reverse direction instruction path from the predicted forward direction actual path,
[0070] • predicts the reverse direction actual path from the reverse direction instruction path using the mechanical model,
[0071] • generates the reverse direction instruction speed after adjustment of the instruction speed (movement speed pattern) in a manner of reducing the error of the reverse direction instruction path from the predicted reverse direction actual path, in other words, in a manner of making the reverse direction actual path close to the reverse direction instruction path, whereby the deviation of the forward direction actual path from the reverse direction actual path of the movable section of the machine tool 100 can be reduced. Thereby, machining can be performed also when the instruction path is reversed, and the machining efficiency can be improved. In addition, the machining accuracy when such reciprocating machining is performed can be improved.
[0072] (Modified Example 1)
[0073] In the above-described embodiment, the instruction speed adjustment section 30 generates the reverse direction instruction speed (movement speed pattern) in which the acceleration / deceleration time constant τ of the instruction speed (movement speed pattern) is adjusted to the adjusted acceleration / deceleration time constant τa in order to reduce the error of the reverse direction actual path Pactb from the reverse direction instruction path Pb. In contrast, in Modified Example 1, the instruction speed adjustment section 30 can also generate the reverse direction instruction speed (movement speed pattern) in which the maximum speed v of the instruction speed (movement speed pattern) is adjusted to the adjusted maximum speed va in order to reduce the error of the reverse direction actual path Pactb from the reverse direction instruction path Pb.
[0074] Regarding the instruction speed adjustment section 30,
[0075] • as above, the Euclidean distance d between the trajectory data l[t] of the reverse direction instruction path Pb is calculated lthe Euclidean distance d between [t] and the actual locus data lact[t] of the actual reverse path Pactb lact [t],
[0076] • the Euclidean distance d of the reverse command path Pb in the range A in which the error of the actual locus data lact[t] of the actual reverse path Pactb with respect to the locus data l[t] of the reverse command path Pb is a prescribed value or more l the sum of [t] and the Euclidean distance d of the actual reverse path Pactb lact the sum of [t] and the Euclidean distance d of the actual reverse path Pactb
[0077] • the maximum speed va of the reverse command speed (movement speed pattern) is calculated according to the following (2) formula in which the maximum speed v in the command speed (movement speed pattern) is multiplied by the deceleration rate,
[0078] • as shown in Figure 5A , the maximum speed v of the command speed (movement speed pattern) in the previous block of the block in which the error of the actual locus data lact[t] of the actual reverse path Pactb with respect to the locus data l[t] of the reverse command path Pb is in the range A in which the error is a prescribed value or more is adjusted to the reverse command speed (movement speed pattern) of the adjusted maximum speed va.
[0079] [Mathematical formula 2]
[0080]
[0081] Here, i is an increment variable, n is the maximum value of the increment variable, and indicates the number of locus data in the range A.
[0082] For example, in Figure 5A , when the lateral direction is set as the X axis and the longitudinal direction is set as the Y axis, in the previous block, the movable portion moves in the right oblique downward direction at the combined speed of the speed of the X axis servo motor and the speed of the Y axis motor. Here, the greater the error of the reverse command path with respect to the actual reverse path, the smaller the maximum speed. That is, in the relationship of l <Σd lact , the greater the difference, and the smaller the value of the adjusted maximum speed va. Thus, the detour of the actual reverse locus is suppressed.
[0083] (Modified example 2)
[0084] In the above-described modified example 1, the command speed adjusting portion 30 calculates the adjusted maximum speed va according to the sum of the Euclidean distance d1[t] of the reverse command path Pb and the Euclidean distance d lactThe sum of [t] is used to calculate the deceleration rate of the maximum speed v in the commanded speed (movement speed mode). Conversely, in variation example 2, the Euclidean distance d of the error between the actual trajectory data lact[t] of the reverse actual path Pactb and the trajectory data l[t] of the reverse commanded path Pb can also be used. err [t] becomes the Euclidean distance d of the maximum error at the point i = k. err The Euclidean distance d between [t+k] and its corresponding reverse instruction path Pb l [t+k] is used to calculate the deceleration rate.
[0085] Regarding the speed adjustment unit 30.
[0086] ·like Figure 5B As shown, the Euclidean distance d1[t] between the trajectory data l[t] of the reverse command path Pb and the Euclidean distance d1[t] between the trajectory data l[t] of the reverse command path Pb and the actual trajectory data lact[t] of the reverse actual path Pactb are calculated. err [t],
[0087] Within a range A where the error between the actual trajectory data lact[t] of the reverse actual path Pactb and the trajectory data l[t] of the reverse command path Pb is above a specified value, calculate the Euclidean distance d of the error generated in the same direction. err [t] becomes the largest point i = k (in the... Figure 5B In the example, i = k = 2),
[0088] • Based on the Euclidean distance d of the maximum error err The Euclidean distance d between [t+k] and its corresponding reverse instruction path Pb l [t+k] is used to calculate the deceleration rate.
[0089] • The adjusted maximum speed va is calculated by multiplying the maximum speed v in the commanded speed (movement speed mode) by the deceleration rate according to the following formula (3).
[0090] ·like Figure 5A As shown, the maximum speed v of the instruction speed (movement speed mode) in the program block that generates trajectory data lact[t] containing the trajectory data of the reverse actual path Pactb relative to the trajectory data l[t] of the reverse instruction path Pb is adjusted to the reverse instruction speed (movement speed mode) with the maximum speed va adjusted.
[0091] [Mathematical Expression 3]
[0092]
[0093] Here, i is an increment variable, n is a maximum value of the increment variable, and indicates the number of the track data in the range A. In addition, 0 ≤ k(i) ≤ n.
[0094] In this modification example 2, the same advantages as in the above modification example 1 can be obtained.
[0095] In addition, according to the numerical control device 10 of the above-described embodiment and modification examples, the following effects are obtained.
[0096] • In a machine tool that repeatedly processes in the same path, the accuracy of the forward direction and the reverse direction is consistent.
[0097] • It is possible to make a U-turn in the middle of a program and process.
[0098] • In the event of some problem, it is possible to make a U-turn without retracting the tool and return the tool. For example, even in a situation where the tool is not allowed to move freely, it is possible to make a U-turn without retracting the tool and return the tool.
[0099] Hereinafter, an example of a machine tool to which the numerical control device 10 of the above-described embodiment and modification examples can be appropriately applied will be described.
[0100] (Cutting processing)
[0101] Figure 6 is a view showing an example of cutting processing by a plasma processing machine or a gas cutting machine. In Figure 6 , a cutting machine T mounted on a movable portion of a plasma processing machine or a gas cutting machine that performs cutting processing on a workpiece W is shown. In such cutting processing by a plasma processing machine or a gas cutting machine, it is sometimes not possible to cut the workpiece W in one forward processing. In such a case, it is possible to perform reverse processing when the cutting machine T is made to reverse and return, and it is possible to improve the processing efficiency. In addition, even in a processing path that includes a non-linear path (for example, a corner), it is possible to improve the processing accuracy when reciprocating processing is performed.
[0102] (Welding processing)
[0103] Figure 7 is a view showing an example of welding processing by a laser processing machine. In Figure 7 , a laser T mounted on a movable portion of a laser processing machine that performs welding processing on a workpiece W is shown. In such welding processing by a laser processing machine, in order to improve the strength of a joint portion of the workpiece W, it is sometimes necessary to perform welding processing on the welding portion of the workpiece W two or more times. In such a case, it is possible to perform reverse processing when the laser T is made to reverse and return, and it is possible to improve the processing efficiency. In addition, even in a processing path that includes a non-linear path (for example, a corner), it is possible to improve the processing accuracy when reciprocating processing is performed.
[0104] (laser forming processing)
[0105] Figure 8 is a view showing an example of laser forming processing by a laser processing machine. In Figure 8 , a laser T mounted on a movable portion of a laser processing machine that performs laser forming (bending) processing on a workpiece W is shown. In laser forming processing by a laser processing machine, the more times a laser beam is irradiated on the same processing portion of a workpiece W, the greater the bending angle of the processing portion of the workpiece W. In such laser forming processing by a laser processing machine, in addition to forward processing of the laser T, reverse processing can be performed when the laser T is returned in reverse, and processing efficiency can be improved.
[0106] Here, in laser forming processing by a laser processing machine, a laser beam irradiation path for processing a workpiece W into a three-dimensional shape sometimes includes a complex non-linear path in addition to a linear path. In this way, even with a processing path that includes a complex non-linear path, processing accuracy when performing reciprocating processing can be improved.
[0107] The above describes embodiments of the present application, but the present application is not limited to the above-described embodiments, and various modifications and variations can be made. For example, in the above-described embodiments, a numerical control device of a machine tool, that is, a numerical control device that controls movement of a drive portion of a machine tool according to a processing program, moves a tool relative to a workpiece to perform processing of the workpiece was described. However, the features of the present application are not limited to this, and can be applied to a control device of a robot or the like, that is, various control devices that control movement of a drive portion of an industrial machine according to a program.
[0108] Symbol Explanation
[0109] 10 numerical control device (control device)
[0110] 11 storage portion (program)
[0111] 12 program analysis portion
[0112] 14 command path generation portion
[0113] 16 drive control portion
[0114] 22 mechanical model generation portion
[0115] 24 forward actual path prediction portion
[0116] 26 reverse command path generation portion
[0117] 28 reverse actual path prediction portion
[0118] 30 command speed adjustment portion
[0119] 100 machine tool (movable part, driving part) (industrial machine)
Claims
1. A control device of an industrial machine that controls movement of a movable portion of the industrial machine according to a program, characterized by: the program including, in units of program blocks, an instruction related to a movement path of the movable portion and an instruction related to a movement speed of the movable portion, the control device having: an instruction path generating section that generates an instruction path of the movement path of the movable portion according to the instructions of the program; a drive control section that controls a drive section that drives the movable portion and performs: a forward operation in which the movable portion is caused to move along the instruction path generated by the instruction path generating section and at an instruction speed based on the movement speed indicated by the program, and a reverse operation in which the movable portion is caused to move in a manner that reverses the instruction path; a forward actual path prediction section that predicts a forward actual path from the instruction path using a mechanical model related to a transfer characteristic of the industrial machine; a reverse instruction path generating section that generates a reverse instruction path by reversing a movement direction of the forward actual path; a reverse actual path prediction section that predicts a reverse actual path from the reverse instruction path using the mechanical model; and an instruction speed adjusting section that adjusts an instruction speed of the movement speed indicated by the instructions of the program in a manner that reduces an error of the reverse actual path with respect to the reverse instruction path, and generates the reverse instruction speed.
2. The control device of the industrial machine according to claim 1, characterized in that: the control device further has a mechanical model generating section that generates the mechanical model by performing system identification according to a transfer characteristic of the industrial machine.
3. The control device of the industrial machine according to claim 1 or 2, characterized in that: the instruction speed adjusting section adjusts a time constant of acceleration and deceleration of the instruction speed.
4. The control device of the industrial machine according to claim 3, characterized in that: the reverse instruction path includes a plurality of locus data obtained by sampling the reverse instruction path at times t, the reverse actual path includes a plurality of actual locus data corresponding to the plurality of locus data of the reverse instruction path respectively, and the plurality of actual locus data are expressed by: where i is an incremental variable, and n is a maximum value of the incremental variable.
5. The control device of the industrial machine according to claim 1 or 2, characterized in that: the instruction speed adjusting section adjusts a maximum speed in the instruction speed.
6. The control device of the industrial machine according to claim 5, characterized in that: the reverse instruction path includes a plurality of locus data obtained by sampling the reverse instruction path at times t, the reverse actual path includes a plurality of actual locus data corresponding to the plurality of locus data of the reverse instruction path respectively, and the plurality of actual locus data are expressed by: where i is an incremental variable, and n is a maximum value of the incremental variable.
7. The control device of the industrial machine according to claim 5, characterized in that: the reverse instruction path includes a plurality of locus data obtained by sampling the reverse instruction path at times t, The command speed adjustment unit calculates the Euclidean distance d between the trajectory data of the reverse command path. l The Euclidean distance d between [t] and the actual trajectory data of the actual reverse path. lact [t], the Euclidean distance d of the reverse driving instruction path, where the error between the actual trajectory data of the reverse driving actual path and the trajectory data of the reverse driving instruction path is within a specified range. l The sum of [t] and the Euclidean distance d of the actual reverse path. lact The difference in movement is calculated by summing [t]. The acceleration / deceleration time constant τa is adjusted by formula (1) below based on the difference in movement, the maximum speed v in the command speed, and the acceleration / deceleration time constant τ. The reverse command speed is generated by adjusting the acceleration / deceleration time constant τ of the command speed in the previous program block of the program block containing the actual trajectory data of the reverse actual path relative to the trajectory data of the reverse command path, which has an error of more than a specified value. The instruction speed adjustment section calculates the Euclidean distances d1[t] between the trajectory data of the reverse instruction path and the Euclidean distances d lact [t] between the actual trajectory data of the reverse actual path, and calculates a deceleration rate from the sum of the Euclidean distances d1[t] of the reverse instruction path in the range where the error of the actual trajectory data of the reverse actual path with respect to the trajectory data of the reverse instruction path is a prescribed value or more, and the sum of the Euclidean distances d lact [t] of the reverse actual path, calculates an adjustment maximum speed va by multiplying the maximum speed v of the instruction speed by the following (2) formula of the deceleration rate, generates the reverse instruction speed obtained by adjusting the maximum speed v of the instruction speed in the previous program block of the program block including the range where the error of the actual trajectory data of the reverse actual path with respect to the trajectory data of the reverse instruction path is a prescribed value or more to the adjustment maximum speed va, The actual reverse path includes a plurality of actual trajectory data corresponding to a plurality of trajectory data of the reverse instruction path respectively, The instruction speed adjustment section calculates the Euclidean distance d between the trajectory data of the reverse instruction path l [t] and the Euclidean distance d of the error of the trajectory data of the reverse instruction path and the actual trajectory data of the reverse actual path err [t], in a range where the error of the actual trajectory data of the reverse actual path with respect to the trajectory data of the reverse instruction path is above a prescribed value, the Euclidean distance d of the error generated in the same direction is found err [t] becomes the point i=k where the maximum error, the Euclidean distance d of the maximum error is found err [t+k] and the Euclidean distance d of the reverse instruction path corresponding thereto l [t+k] calculates a deceleration rate, the maximum speed v of the instruction speed is adjusted to the adjusted maximum speed va by multiplying the maximum speed v of the instruction speed by the following (3) formula, the reverse instruction speed is generated which adjusts the maximum speed v of the instruction speed in the program block which contains the trajectory data immediately before the direction of the error of the trajectory data of the reverse actual path with respect to the trajectory data of the reverse instruction path is reversed, to the adjusted maximum speed va, Here, k is 0 ≤ k ≤ n.
Citation Information
Patent Citations
Numerical controller
JP1990259911A
numerical control device
CN105388853A
procedure and control unit for detecting the direction of travel of a vehicle
DE102016219471A1