Numerical control device and driving system
The numerical control device adjusts acceleration and deceleration to address vibration and deviation issues in driving devices by setting a curved path at joints, maintaining precision and accuracy by adhering to specified limits.
Patent Information
- Application Number
- PCT/JP2025/000423
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-29
- Filing Date
- 2025-01-08
- Publication Date
- 2025-12-04
AI Technical Summary
Existing driving devices fail to consider the acceleration of each control axis, leading to large vibrations and deviations in the driven part during acceleration or deceleration, which can affect precision and accuracy.
A numerical control device that adjusts acceleration and deceleration of each control axis to ensure both the deviation at joints and acceleration in each axis remain within allowable limits by setting a curved path at the joint, using a command correction unit to adjust acceleration and deceleration to satisfy these limits.
The solution effectively suppresses deviations and vibrations, maintaining precision and accuracy by ensuring the deviation and acceleration remain within specified tolerances.
Smart Images

Figure JP2025000423_04122025_PF_FP_ABST
Abstract
Description
Numerical Control Devices and Drive Systems
[0001] The present invention relates to a numerical control device that controls a drive device that drives a driven part, and a drive system that includes the numerical control device.
[0002] Conventionally, driving devices that drive a driven part along a commanded path have been used in various fields. Patent Document 1 listed below describes a method for inserting a path with a continuous curvature at a joint between two paths, and setting the insertion path so that the amount of deviation between the midpoint of the inserted path and the joint is within an allowable error. It is described that this allows the driven part to move at the joint at high speed and with high precision.
[0003] Japanese Patent Application Publication No. 10-320026
[0004] Although the above method allows the upper limit of the tolerance (allowable error) to be specified, it does not take into consideration the acceleration of each control axis of the drive mechanism. As a result, when the driven part accelerates or decelerates, a large force (load) is applied to each control axis of the drive mechanism, which may cause large vibrations in the driven part.
[0005] In view of these problems, the present invention aims to provide a numerical control device and a drive system that can suppress the amount of deviation at the joints of the path within an allowable value while suppressing the acceleration in each control axis within an allowable value.
[0006] A first aspect of the present invention relates to a numerical control device for controlling a drive device that drives a driven part about at least two mutually orthogonal control axes. The numerical control device according to this aspect includes: a command acquisition unit that acquires a first command including information on a first acceleration, a first feedrate, and a first deceleration that are set to cause the driven part to perform a first linear movement; a second command including information on a second acceleration, a second feedrate, and a second deceleration that are set to cause the driven part to perform a second linear movement from an end point of the first linear movement in a direction different from the first linear movement; information on an upper limit of a deviation amount at a joint between the first linear movement and the second linear movement; and information on an upper limit of an acceleration amount for each of the control axes; and a command correction unit that corrects the first deceleration and the second acceleration, respectively, to connect the first linear movement and the second linear movement along a curved movement path that satisfies both the upper limit of the deviation amount and the upper limit of the acceleration amount.
[0007] According to the numerical control device of this aspect, a curved movement path is set at the joint between the first linear movement and the second linear movement, satisfying both the upper limit of the deviation amount and the upper limit of the acceleration amount, thereby suppressing the deviation amount at the joint of the path within an allowable value and suppressing the acceleration in each control axis within an allowable value.
[0008] A second aspect of the present invention relates to a drive system, which includes the numerical control device according to the first aspect and the drive device having the driven part.
[0009] The drive system according to this aspect can drive the driven part of the drive device so that the amount of deviation at the joints of the paths is kept within a tolerance, and the acceleration in each control axis is kept within a tolerance.
[0010] As described above, the present invention can provide a numerical control device and a drive system that can suppress the amount of deviation at the joints of the path to within an allowable value while suppressing the acceleration in each control axis to within an allowable value.
[0011] The effects and significance of the present invention will become more apparent from the following description of the embodiments, however, the embodiments shown below are merely examples of how the present invention can be implemented, and the present invention is not limited to the embodiments described below.
[0012] FIG. 1 is a side view schematically illustrating the configuration of a drive unit according to the first embodiment. FIG. 2 is a block diagram illustrating the configuration of a drive system including a drive unit and a numerical control device according to the first embodiment. FIG. 3(a) is a diagram schematically illustrating a path of a laser unit according to a first comparative example. FIG. 3(b) is a diagram schematically illustrating speed changes on the path and in the X, Y, and Z axes according to the first comparative example. FIG. 4(a) is a diagram schematically illustrating a path of a laser unit according to a second comparative example. FIG. 4(b) is a diagram schematically illustrating speed changes on the path and in the X, Y, and Z axes according to the second comparative example. FIGS. 5(a) and 5(b) are diagrams schematically illustrating an overview of a process for adjusting the acceleration and deviation amount of a laser unit according to the first embodiment. FIGS. 6(a) to 6(c) are diagrams schematically illustrating speed changes near a seam on a path according to the first embodiment. FIGS. 7(a) to 7(c) are diagrams schematically illustrating speed changes near a seam in the X-axis direction according to the first embodiment. FIGS. 8A to 8C are diagrams schematically illustrating speed changes near a seam in the Y-axis direction according to the first embodiment. FIGS. 9A to 9C are diagrams schematically illustrating speed changes near a seam in the Z-axis direction according to the first embodiment. FIGS. 10A to 10C are diagrams schematically illustrating speed changes near a seam on a path after adjustment according to the first embodiment. FIG. 11 is a flowchart showing processing by a numerical control device according to the first embodiment. FIG. 12 is a diagram schematically illustrating the configuration of an input screen displayed on the display unit of an operation terminal according to the first embodiment. FIG. 13 is a diagram schematically illustrating the configuration of a modified example of the input screen displayed on the display unit of an operation terminal according to the first embodiment. FIGS. 14A to 14C are diagrams schematically illustrating speed changes near a seam on a path according to the second embodiment. FIGS. 15A to 15C are diagrams schematically illustrating speed changes near a seam in the X-axis direction according to the second embodiment. 16(a) to 16(c) are diagrams schematically illustrating speed changes near a seam in the Y-axis direction according to embodiment 2. FIGS. 17(a) to 17(c) are diagrams schematically illustrating speed changes near a seam in the Z-axis direction according to embodiment 2. FIGS. 18(a) to 18(c) are diagrams schematically illustrating speed changes near a seam on a path after adjustment according to embodiment 2.
[0013] However, the drawings are for illustrative purposes only and do not limit the scope of the present invention.
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0015] 1 is a side view schematically illustrating the configuration of a drive device 1. For convenience, X, Y, and Z axes that are orthogonal to one another are indicated in FIG. 1. The positive direction of the Z axis corresponds to the height direction of the drive device 1.
[0016] The driving device 1 includes an X-axis transport mechanism 10, a Y-axis transport mechanism 20, a Z-axis transport mechanism 30, a laser unit 40, and a table 50. A substrate SB to be processed is placed on the upper surface of the table 50. The driving device 1 drives the X-axis transport mechanism 10, the Y-axis transport mechanism 20, and the Z-axis transport mechanism 30 to transport the laser unit 40 in the X, Y, and Z-axis directions.
[0017] The X-axis transport mechanism 10 includes an X-axis motor 101 (see FIG. 2) and supports the Y-axis transport mechanism 20. The X-axis transport mechanism 10 is configured to be able to transport the Y-axis transport mechanism 20 in the X-axis direction by driving the X-axis motor 101. The Y-axis transport mechanism 20 includes a Y-axis motor 102 (see FIG. 2) and supports the Z-axis transport mechanism 30. The Y-axis transport mechanism 20 is configured to be able to transport the Z-axis transport mechanism 30 in the Y-axis direction by driving the Y-axis motor 102. The Z-axis transport mechanism 30 includes a Z-axis motor 103 (see FIG. 2) and supports the laser unit 40 via a support plate 31. The Z-axis transport mechanism 30 is configured to be able to transport the laser unit 40 in the Z-axis direction by driving the Z-axis motor 103.
[0018] The laser unit 40 includes a light source that emits laser light of a predetermined wavelength in the negative direction of the Z axis for processing the substrate SB. The laser unit 40 is moved in the X, Y, and Z axis directions, and the light emission of the laser unit 40 is controlled, whereby the laser light from the laser unit 40 processes the substrate SB on the table 50.
[0019] FIG. 2 is a block diagram showing the configuration of a drive system 3 including a drive device 1 and a numerical control device 2.
[0020] The operation terminal 4 is, for example, an information processing device (for example, a personal computer or a tablet terminal) equipped with an input unit and a display unit. The operation terminal 4 is communicably connected to the numerical control device 2. A user operates the operation terminal 4 to input command information that defines the movement of the laser unit 40.
[0021] The command information includes two or more commands that define the linear movement of the laser unit 40, upper limit values for acceleration in the X, Y, and Z axis directions, and an upper limit value for the amount of path deviation. The command that defines the linear movement includes coordinates of the start position where the movement starts, coordinates of the end position where the movement ends, acceleration at the start of the movement, deceleration at the end of the movement, and a constant feed rate from the end of acceleration to the start of deceleration. The command information will be explained later. The command information input to the operation terminal 4 is sent to the command acquisition unit 210 of the numerical control device 2.
[0022] Although the operation terminal 4 is provided outside the drive system 3, the numerical control device 2 may include the operation terminal 4, or the drive system 3 may include the operation terminal 4 separately from the drive device 1 and the numerical control device 2.
[0023] The numerical control device 2 includes a command acquisition unit 210, a command correction unit 220, and a speed command generation unit 230. The command acquisition unit 210, the command correction unit 220, and the speed command generation unit 230 are implemented as functions of a CPU or FPGA, for example.
[0024] The command acquisition unit 210 acquires command information from the operation terminal 4 and outputs the acquired command information to the command correction unit 220. The command correction unit 220 includes an acceleration adjustment unit 221 and a path adjustment unit 222, and corrects the command information acquired by the command correction unit 220. The acceleration adjustment unit 221 adjusts the acceleration when moving the laser unit 40 based on the command information. The path adjustment unit 222 adjusts the movement path when moving the laser unit 40 based on the command information.
[0025] The speed command generation unit 230 generates control signals to be output to the X-axis servo circuit 111, the Y-axis servo circuit 112, and the Z-axis servo circuit 113 of the drive unit 1 based on the command information adjusted by the command correction unit 220, and outputs the generated control signals to each servo circuit.
[0026] The driving device 1 includes an X-axis motor 101 , a Y-axis motor 102 , a Z-axis motor 103 , an X-axis servo circuit 111 , a Y-axis servo circuit 112 , and a Z-axis servo circuit 113 .
[0027] The X-axis servo circuit 111 applies a current to the X-axis motor 101 so that the movement speed of the laser unit 40 in the X-axis direction calculated based on the rotational position of the X-axis motor 101 matches the movement speed based on the control signal received from the speed command generation unit 230. Similarly, the Y-axis servo circuit 112 applies a current to the Y-axis motor 102 so that the movement speed of the laser unit 40 in the Y-axis direction calculated based on the rotational position of the Y-axis motor 102 matches the movement speed based on the control signal received from the speed command generation unit 230. The Z-axis servo circuit 113 applies a current to the Z-axis motor 103 so that the movement speed of the laser unit 40 in the Z-axis direction calculated based on the rotational position of the Z-axis motor 103 matches the movement speed based on the control signal received from the speed command generation unit 230. In this way, the laser unit 40 moves in accordance with the command information.
[0028] 2, the drive system 3 also includes a laser unit 40 (see FIG. 1) and a controller for driving the laser unit 40. The controller for driving the laser unit 40 causes the light source of the laser unit 40 to emit laser light via a laser drive circuit.
[0029] Incidentally, as shown in Comparative Example 1 in FIG. 3A , for example, the laser unit 40 is moved sequentially to positions P0, P1, and P2 based on a first command and a second command that respectively define two consecutive linear movements. The first command and the second command are information included in command information input via the operation terminal 4. The starting point of the first command is position P0, the end point of the first command and the starting point of the second command are position P1, and the end point of the second command is position P2. In Comparative Example 1, in order to reduce the processing time, the laser unit 40 is moved without stopping at position P1, which is the intersection point of the linear movement of the first command and the linear movement of the second command.
[0030] As shown in the upper graph of Fig. 3(b), in Comparative Example 1, the movement of the laser unit 40 starts from position P0 at timing Tm0, passes position P1 at timing Tm1, and ends at position P2 at timing Tm2. The vertical axis of the upper graph of Fig. 3(b) represents the movement speed of the laser unit 40 on the path in a plane defined by the path based on the first command and the path based on the second command. The vertical axes of the second to fourth graphs of Fig. 3(b) represent the movement speed on the path resolved in the X-, Y-, and Z-axis directions, respectively.
[0031] In this case, the laser unit 40 does not stop at position P1, but continuously moves from the path specified by the first command to the path specified by the second command. When the laser unit 40 is driven in this manner, a sudden change occurs in acceleration in the X, Y, and Z axes at timing Tm1 at position P1, as shown in the second to fourth graphs in FIG. 3(b). Such a sudden change in acceleration can cause unnecessary vibrations in the laser unit 40.
[0032] 4A, the path of the laser unit 40 is set to a curved line near the position P1, deviating from the path defined by the first command and the second command. In this case, as shown in FIG. 4B, the acceleration in the X-, Y-, and Z-axis directions changes continuously near the timing Tm1 at the position P1, thereby suppressing unnecessary vibrations occurring in the laser unit 40.
[0033] However, in Comparative Example 2, the actual path deviates from the path defined by the first command and the second command (the path passing through position P1), resulting in a path error with respect to the original path, which may unintentionally reduce the accuracy of the processing performed by the laser unit 40.
[0034] In order to resolve the problems that arise in the above-described comparative examples 1 and 2, in this embodiment, the following processing is performed to suppress the acceleration of the laser unit 40 and the deviation of the actual path from the original path within a desired range.
[0035] FIG. 5A is a diagram showing a schematic overview of the process for adjusting the acceleration and deviation amount of the laser unit 40. As shown in FIG.
[0036] In this embodiment, the first command is the position P0 of the starting point (P0 x , P0 y , P0 z ) and the end point position P1 (P1 x , P1 y , P1 z ), acceleration A11 when accelerating from position P0, constant feed speed V1 when moving from position P0 to position P1, and deceleration A12 when decelerating toward position P1. Similarly, the second command includes a start point position P1 (P1 x , P1 y , P1 z ) and the end point position P2 (P2 x , P2 y , P2 z ), acceleration A21 when accelerating from position P1, constant feed speed V2 when moving from position P1 to position P2, and deceleration A22 when decelerating toward position P2. The accelerations A11 and A21, feed speeds V1 and V2, and decelerations A12 and A22 are all positive values because they are values along the path.
[0037] In this embodiment, the acceleration adjuster 221 (see FIG. 2) sets a curved path near position P1 (seam) while suppressing sudden changes in acceleration near position P1. At this time, the acceleration adjuster 221 adjusts the first command deceleration A12 and the second command acceleration A21 so as to satisfy the upper limit conditions for acceleration, as will be described later with reference to FIGS. 6A to 9C. This suppresses the acceleration in the X-, Y-, and Z-axis directions near position P1 to within desired ranges.
[0038] Next, the path adjustment unit 222 (see FIG. 2 ) calculates a distance d1 as a deviation (path error) indicating the degree to which the path after acceleration adjustment deviates from the original path (path based on the first command and the second command). The distance d1 is the distance from the joint (position P1) between the linear movement based on the first command and the linear movement based on the second command to a curved path CP near position P1. The path CP is a curved path between positions P11 and P21, where P11 is the position where the laser unit 40 deviates from the path of linear movement based on the first command, and P21 is the position where the laser unit 40 returns to the path of linear movement based on the second command. The distance d1 is the distance between position P1 and the point on the path CP closest to position P1. As described below with reference to FIGS. 10( a) to 10(c), the path adjustment unit 222 adjusts the distance d1 so that it satisfies the upper limit condition for the deviation. This suppresses the deviation of the laser unit 40 within a desired range.
[0039] As shown in Fig. 5A, the distance d11 between position P11 and position P1 and the distance d12 between position P1 and position P21 can also be used as values for determining the amount of deviation. However, as shown in Fig. 5B, when the angle between the linear movement of the first command and the linear movement of the second command is small, the value of the distance d1 may be large even though the distances d11 and d12 are small. Therefore, when determining the amount of deviation, it is preferable to use the distance d1 rather than the distances d11 and d12.
[0040] Next, when the command information includes a first command and a second command as shown in Figure 5(a), the procedure for adjusting the acceleration will be explained with reference to Figures 6(a) to 9(c), and the procedure for adjusting the deviation amount will be explained with reference to Figures 10(a) to (c).
[0041] 6A to 6C are diagrams that schematically show the change in speed near a joint (position P1) on a path.
[0042] 6A, when the first command includes a feed speed V1 and a deceleration A12, and the second command includes an acceleration A21 and a feed speed V2, the speed will be zero at the timing Tm1 of the joint based only on the input commands. If the speed becomes zero at the joint like this, it will take a long time to complete the operation.
[0043] Therefore, as shown in FIG. 6B , the acceleration adjustment unit 221 sets an overlap period T in which the deceleration period T1 of the first command and the acceleration period T2 of the second command overlap, centered on the timing Tm1 of the joint, so that the speed does not become zero at the joint. At this time, the acceleration adjustment unit 221 adjusts the deceleration A12 or acceleration A21 of one of the first and second commands so that the deceleration period T1 or acceleration period T2 of the command (one command) that has a smaller feed speed is completed within the overlap period T. The acceleration adjustment unit 221 then sets the deceleration period T1 or acceleration period T2 of the other command so that a portion of the deceleration period T1 or acceleration period T2 of the other command overlaps with the overlap period T, and so that the absolute value of the slope of the deceleration A12 or acceleration A21 of the other command is equal to the absolute value of the slope of the deceleration A12 or acceleration A21 of the one command.
[0044] As shown in FIG. 6B, when feedrate V1 is smaller than feedrate V2, the deceleration A12 of the first command is adjusted so that the deceleration of the first command is completed within the superimposition period T. The absolute value of the slope of the acceleration A21 of the second command is also adjusted so that it is equal to the absolute value of the slope of the deceleration A12 of the first command. Then, outside the superimposition period T, the straight line with the slope of the acceleration A21 is extended and intersects with the feedrate V2 at timing Tm3. During the superimposition period T, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped, thereby setting the speed of the superimposition period T.
[0045] Here, the acceleration adjustment unit 221 determines whether the acceleration and deceleration adjusted by setting the superposition period T as shown in Fig. 6(b) satisfy the condition based on the upper limit value of acceleration included in the command information input via the operation terminal 4. Specific details of this determination will be described later with reference to Figs. 7(a) to 9(c).
[0046] If the acceleration condition is not satisfied, the acceleration adjustment unit 221 increases the length of the superimposition period T around the joint timing Tm1, thereby reducing the absolute values of the slopes of the deceleration A12 and the acceleration A21, as shown in Figure 6(c).The acceleration adjustment unit 221 then determines again whether the acceleration and deceleration satisfy the acceleration condition, and increases the length of the superimposition period T until the acceleration condition is satisfied.
[0047] 6B, if the acceleration condition is satisfied, the acceleration adjustment unit 221 shortens the superimposition period T around the joint timing Tm1 and increases the absolute values of the slopes of the deceleration A12 and the acceleration A21. The acceleration adjustment unit 221 then determines again whether the acceleration and deceleration satisfy the acceleration condition, and shortens the superimposition period T as long as the acceleration condition is satisfied.
[0048] Specific determination of whether the above acceleration conditions are satisfied will be described with reference to FIGS. 7(a) to 9(c).
[0049] In this determination, whether or not the acceleration conditions are satisfied is determined in parallel for each of the X, Y, and Z axes using values obtained by breaking down the feed speeds V1 and V2, the deceleration A12, and the acceleration A21 in the X, Y, and Z axes directions. If the acceleration conditions are satisfied for all axes, it is determined that the acceleration conditions on the path are satisfied as described above.
[0050] The acceleration adjustment unit 221 adjusts the feed speed V1 in the X, Y, and Z axes directions from the feed speed V1 included in the first command based on the coordinates of the start point position P0 and the end point position P1 included in the first command. x , V1 y , V1 z and calculates the acceleration A12 in the X, Y, and Z axes from the deceleration A12 included in the first command. x , A12y , A12 z Furthermore, the acceleration adjustment unit 221 calculates the feed speeds V2 in the X, Y, and Z axes from the feed speed V2 included in the second command based on the coordinates of the start point position P1 and the end point position P2 included in the second command. x , V2 y , V2 z and calculates the acceleration A21 in the X-axis direction from the acceleration A21 included in the second command. x , A21 y , A21 z Calculate.
[0051] 7A to 7C are diagrams that schematically show the change in speed in the vicinity of the seam (position P1) in the X-axis direction.
[0052] FIG. 7A shows the feed rate V1 based on the first command. x and acceleration A12 x is shown, and the feed speed V2 based on the second command is x and acceleration A21 x is shown.
[0053] The acceleration adjustment unit 221 applies the deceleration period T1, acceleration period T2, and superimposition period T described with reference to FIG. 6B to the speed change in the X-axis direction as shown in FIG. 7B, and adjusts the first command acceleration A12 x and second command acceleration A21 x That is, during the deceleration period T1 similar to the deceleration period T1 shown in FIG. 6B, the first command speed in the X-axis direction is adjusted to V1 x During the acceleration period T2 similar to the acceleration period T2 in FIG. 6B, the second command velocity in the X-axis direction changes from zero to V2 x Acceleration A12 x , A21 x In this way, in the X-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A x is set.
[0054] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the X-axis direction included in the command information. x Using the acceleration A12 near the jointx , A21 x , A x The absolute value of the slope is the upper limit Ath x Determine whether the acceleration A12 is equal to or less than the acceleration A12. x , A21 x , A x The absolute value of the slope is the upper limit Ath x If the acceleration A12 is equal to or less than the acceleration A12, it is determined that the condition for the acceleration in the X-axis direction is satisfied. x , A21 x , A x The absolute value of the slope of either of the upper limit values Ath x If it is greater than this, it is determined that the condition for acceleration in the X-axis direction is not met.
[0055] If the condition for acceleration in the X-axis direction is not satisfied, the acceleration adjustment unit 221 widens the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 6C. Then, the acceleration adjustment unit 221 adjusts the acceleration A12 in the X-axis direction based on the reset deceleration A12 and acceleration A21. x , A21 x , A x In this case, since the superimposition period T is extended as shown in FIG. 7(c), the acceleration A12 x , A21 x , A x The absolute value of the gradient of the acceleration in the X-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the X-axis direction is satisfied.
[0056] When the acceleration adjustment unit 221 shortens the superimposition period T to increase the absolute values of the gradients of the deceleration A12 and the acceleration A21, the acceleration A12 x , A21 x , A x In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the X-axis direction is satisfied.
[0057] Such acceleration adjustment is performed not only in the X-axis direction, but also in the Y-axis direction as shown in FIGS. 8(a) to 8(c), and in the Z-axis direction as shown in FIGS. 9(a) to 9(c).
[0058] FIG. 8A shows the feed rate V1 based on the first command. y and acceleration A12 y is shown, and the feed speed V2 based on the second command is y and acceleration A21 y In the example shown in FIGS. 8(a) to 8(c), the feed rate V1 y is zero.
[0059] The acceleration adjustment unit 221 applies the deceleration period T1, acceleration period T2, and superimposition period T described with reference to FIG. 6B to the speed change in the Y-axis direction as shown in FIG. 8B, and adjusts the first command acceleration A12 y and second command acceleration A21 y That is, during the deceleration period T1 similar to the deceleration period T1 shown in FIG. 6B, the first command speed in the Y-axis direction is adjusted to V1 y During the acceleration period T2 similar to the acceleration period T2 in FIG. 6B, the second command velocity in the Y-axis direction changes from zero to V2 y Acceleration A12 y , A21 y In this way, in the Y-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A y is set.
[0060] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the Y-axis direction included in the command information. y Using the acceleration A12 near the joint y , A21 y , A y The absolute value of the slope is the upper limit Ath y Determine whether it is equal to or less than the above.
[0061] If the condition for the acceleration in the Y-axis direction is not satisfied, the acceleration adjustment unit 221 widens the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 6C. Then, the acceleration adjustment unit 221 adjusts the acceleration A12 in the Y-axis direction based on the reset deceleration A12 and acceleration A21. y , A21 y , A y In this case, since the superimposition period T is extended as shown in FIG. 8(c), the acceleration A12 y , A21 y , A y The absolute value of the gradient of the acceleration in the Y-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the Y-axis direction is satisfied.
[0062] When the acceleration adjustment unit 221 shortens the superimposition period T to increase the absolute values of the gradients of the deceleration A12 and the acceleration A21, the acceleration A12 y , A21 y , A y In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the Y-axis direction is satisfied.
[0063] FIG. 9A shows the feed rate V1 based on the first command. z and acceleration A12 z is shown, and the feed speed V2 based on the second command is z and acceleration A21 z In the example shown in FIGS. 9(a) to 9(c), the feed rate V2 z is a negative value.
[0064] The acceleration adjustment unit 221 applies the deceleration period T1, acceleration period T2, and superimposition period T described with reference to FIG. 6B to the speed change in the Z-axis direction as shown in FIG. 9B, and adjusts the first command acceleration A12 z and second command acceleration A21 z That is, during the deceleration period T1 similar to the deceleration period T1 shown in FIG. 6B, the first command speed in the Z-axis direction is adjusted to V1 zDuring the acceleration period T2 similar to the acceleration period T2 in FIG. 6B, the second command velocity in the Z-axis direction changes from zero to V2 z Acceleration A12 z , A21 z In this way, in the Z-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A z is set.
[0065] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the Z-axis direction included in the command information. z Using the acceleration A12 near the joint z , A21 z , A z The absolute value of the slope is the upper limit Ath z Determine whether it is equal to or less than the above.
[0066] If the acceleration condition in the Z-axis direction is not satisfied, the acceleration adjustment unit 221 widens the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 6C. Then, the acceleration adjustment unit 221 adjusts the acceleration A12 in the Z-axis direction based on the reset deceleration A12 and acceleration A21. z , A21 z , A z In this case, since the superimposition period T is extended as shown in FIG. 9(c), the acceleration A12 z , A21 z , A z The absolute value of the gradient of the acceleration in the Z-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the Z-axis direction is satisfied.
[0067] When the acceleration adjustment unit 221 shortens the superimposition period T to increase the absolute values of the gradients of the deceleration A12 and the acceleration A21, the acceleration A12 z , A21 z , A z In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the Z-axis direction is satisfied.
[0068] As described above, the acceleration adjustment unit 221 determines whether the acceleration conditions in the X-, Y-, and Z-axis directions are satisfied each time the deceleration A12 and the acceleration A21 are adjusted. If the acceleration adjustment unit 221 determines that the acceleration conditions are satisfied in all axes, the acceleration adjustment unit 221 then adjusts the deviation of the curved path CP (see FIG. 5A) based on the adjusted acceleration from the joint (position P1) so that the deviation is equal to or less than a predetermined upper limit.
[0069] 10A to 10C are diagrams that schematically show the speed change after adjustment near the joint (position P1) on the path.
[0070] 10A is a diagram similar to FIG. 6C and shows the state after adjustment of the deceleration A12 and the acceleration A21 has been completed. After adjustment of the deceleration A12 and the acceleration A21 has been completed, the path adjustment unit 222 calculates a distance d1 (see FIG. 5A) indicating the deviation (path error) and determines whether the distance d1 satisfies the upper limit of the deviation. That is, the path adjustment unit 222 determines whether the distance d1 is equal to or less than the upper limit of the deviation.
[0071] 10(a), if the distance d1 does not satisfy the condition, the path adjuster 222 separates the deceleration period T1 of the first command and the acceleration period T2 of the second command from each other, as shown in FIG. 10(b), thereby shortening the overlap period T. This reduces the distance d1 between the curved path CP and the joint.
[0072] In the state shown in Fig. 10(b), the path adjustment unit 222 again determines whether the distance d1 satisfies the condition for the upper limit of the deviation amount. If the distance d1 does not satisfy the condition, the path adjustment unit 222 separates the deceleration period T1 and the acceleration period T2 from each other, as shown in Fig. 10(c), and further shortens the overlap period T. The path adjustment unit 222 shortens the overlap period T until the distance d1 satisfies the condition.
[0073] Here, the upper limit of the deviation amount is set, for example, to match the upper limit of the range of deviation amounts that allows for the machining accuracy in machining by the laser unit 40 along the path CP. As a result, when the distance d1 is equal to or less than the upper limit of the deviation amount, the machining accuracy of the laser unit 40 along the path CP can be guaranteed.
[0074] FIG. 11 is a flowchart showing the processing performed by the numerical control device 2.
[0075] The command acquisition unit 210 of the numerical control device 2 acquires command information including two or more commands, upper limit values for acceleration in each of the X-, Y-, and Z-axis directions, and upper limit values for deviation amounts (S11). The command information is input to the operation terminal 4 by a user's operation on an input screen 300 shown below, for example, and the command acquisition unit 210 acquires the command information from the operation terminal 4.
[0076] FIG. 12 is a diagram schematically showing the configuration of an input screen 300 displayed on the display unit of the operation terminal 4. As shown in FIG.
[0077] The input screen 300 includes a command input area 310 , an upper limit input area 320 , and an OK button 301 .
[0078] The command input area 310 is configured to allow input of information defining a series of commands. Area 311 is an area for setting the first command of the series of commands. Area 312 is an area for setting commands subsequent to the first command.
[0079] Area 311 includes text boxes for inputting the coordinates of the start position where the movement starts, the coordinates of the end position where the movement ends, the acceleration at the start of the movement, the deceleration at the end of the movement, and the constant feed rate from the end of acceleration to the start of deceleration. Area 312, unlike area 311, does not include the text box for inputting the coordinates of the start position. The coordinates of the start position of the command indicated by area 312 are acquired as the coordinates of the end position of the previous command. Area 312 includes a button 312a for deleting the command indicated by that area. A button 313 for adding another area 312 is located at the bottom of the command input area 310. Areas 312 can be added and deleted by operating buttons 312a and 313.
[0080] The upper limit input area 320 is used to input the upper limit Ath of the acceleration in the X-axis direction. x and the upper limit Ath of the acceleration in the Y-axis direction y and the upper limit Ath of the acceleration in the Z-axis direction z and the upper limit of the amount of deviation.
[0081] When the OK button 301 is operated, information specifying two or more commands entered in the command input area 310 and each upper limit value entered in the upper limit value input area 320 are stored in the memory unit of the operation terminal 4 and transmitted from the operation terminal 4 to the command acquisition unit 210.
[0082] In addition, if the acceleration at the start of movement, the deceleration at the end of movement, and the feed speed from the end of acceleration to the start of deceleration are equal among multiple consecutive commands, the input screen 300 may be configured as shown in Figure 13.
[0083] 12, the input screen 300 in Fig. 13 is provided with a common command input area 330, which includes text boxes for inputting the acceleration, deceleration, and feed rate common to each command. In this case, area 311 is provided with only text boxes for inputting the coordinates of the start point position and the coordinates of the end point position, and area 312 is provided with only a text box for inputting the coordinates of the end point position.
[0084] 11 , when the command acquisition unit 210 acquires the command information in step S11, it performs the processes of steps S12 to S15 for each two consecutive commands among the two or more commands included in the command information. For convenience, the following description will be given of a case where the commands included in the command information are a first command and a second command, and the processes of steps S12 to S15 are performed based on the first command and the second command.
[0085] As shown in FIGS. 6A to 6C, the acceleration adjustment unit 221 adjusts the length of the superimposition period T, the deceleration A12 of the first command, and the acceleration A21 of the second command (S12). At this time, as shown in FIGS. 7A to 9C, the acceleration A12 x , A21 x , A x The absolute value of the slope is the upper limit Ath in the X-axis direction. x The following is true: In the Y-axis direction, the acceleration A12 y , A21 y , A y The absolute value of the slope is the upper limit Ath in the Y-axis direction. y The following is true: In the Z-axis direction, the acceleration A12 z , A21 z , A z The absolute value of the slope is the upper limit Ath in the Z-axis direction. z The length of the superimposition period T, the first command deceleration A12, and the second command acceleration A21 are adjusted so as to satisfy the following.
[0086] More specifically, acceleration A12 x , A21 x , A x The absolute value of the slope is the upper limit Ath in the X-axis direction. x The acceleration is A12 y , A21 y , A y The absolute value of the slope is the upper limit Ath in the Y-axis direction. y The acceleration is A12 z , A21 z , A z The absolute value of the slope is the upper limit Ath in the Z-axis direction. z This results in the state shown in FIG.
[0087] Next, the path adjustment unit 222 calculates the distance d1 (see FIG. 5A) (S13) and determines whether the calculated distance d1 is equal to or less than the upper limit of the deviation (S14). If the distance d1 is greater than the upper limit of the deviation (NO in S14), the path adjustment unit 222 separates the deceleration period T1 of the first command and the acceleration period T2 of the second command from each other, as shown in FIGS. 10B and 10C, and reduces the overlap period T by a predetermined time (e.g., 1 ms) (S15). This reduces the distance d1. After that, when the process returns to step S13, the path adjustment unit 222 again calculates the distance d1 (S13) and determines the distance d1 (S14). By repeatedly performing steps S13 to S15, the distance d1 becomes substantially equal to the upper limit of the deviation.
[0088] If the distance d1 is equal to or less than the upper limit (S14: YES), the speed command generating unit 230 generates a speed command (control signal) to be output to the X-axis servo circuit 111, the Y-axis servo circuit 112, and the Z-axis servo circuit 113 (S16).
[0089] At this time, the speed command generation unit 230 generates speed commands (control signals) to be output to the X-axis servo circuit 111, the Y-axis servo circuit 112, and the Z-axis servo circuit 113 based on the acceleration of each axis, the superposition period T, the deceleration period T1 of the first command, and the acceleration period T2 of the second command, all adjusted in steps S12 to S15, in order to drive the laser unit 40 along the curved path CP. Furthermore, the speed command generation unit 230 generates speed commands (control signals) to be output to the X-axis servo circuit 111, the Y-axis servo circuit 112, and the Z-axis servo circuit 113 based on the acceleration A11 and feed rate V1 of the first command and the feed rate V2 and deceleration A22 of the second command, in order to drive the laser unit 40 along a path other than the curved path CP. This completes the processing of FIG. 11 .
[0090] <Effects of First Embodiment> According to the first embodiment, the following effects are achieved.
[0091] The numerical control device 2 controls the drive device 1, which drives the laser unit 40 (driven part) about mutually orthogonal X-, Y-, and Z-axes (at least two control axes). The command acquisition unit 210 acquires a first command including information on an acceleration A11 (first acceleration), a feed rate V1 (first feed rate), and a deceleration A12 (first deceleration) set for performing a first linear movement of the laser unit 40 (driven part), a second command including information on an acceleration A21 (second acceleration), a feed rate V2 (second feed rate), and a deceleration A22 (second deceleration) set for performing a second linear movement of the laser unit 40 (driven part) from an end point of the first linear movement in a direction different from the first linear movement, information on an upper limit of the amount of deviation for a joint (position P1) between the first linear movement and the second linear movement, and information on an upper limit of the acceleration for each of the X-, Y-, and Z-axes (control axes). The command correction unit 220 corrects the deceleration A12 (first deceleration) and the acceleration A21 (second acceleration), respectively, and connects the first linear movement and the second linear movement along a curved path CP (movement path) that satisfies both the upper limit of the deviation amount and the upper limit of the acceleration.
[0092] According to this configuration, a curved path CP is set at the joint between the first linear movement and the second linear movement, satisfying both the upper limit of the deviation amount and the upper limit of the acceleration amount, thereby suppressing the distance d1 (deviation amount) at the joint of the path within an allowable value and suppressing the acceleration in each axis within an allowable value.
[0093] The command correction unit 220 adjusts the deceleration A12 (first deceleration) and the acceleration A21 (second acceleration) so that the absolute value of the slope of the deceleration A12 (first deceleration) and the absolute value of the slope of the acceleration A21 (second acceleration) are equal to each other, and adjusts the overlap period T in which the deceleration period T1 (period of the first deceleration) in the first linear movement and the acceleration period T2 (period of the second acceleration) in the second linear movement overlap, as well as the slope of the deceleration A12 and the slope of the acceleration A21 (each of the slopes) so that both of the above conditions are satisfied.
[0094] With this configuration, the speed on the path is equal at the start and end of the overlap period T, so the path on the first linear movement side and the path on the second linear movement side are symmetrical with respect to the position on the path CP closest to the seam. This allows the shapes of the path on the first linear movement side and the path on the second linear movement side of the curved path CP to match each other. This improves the accuracy of processing by the laser unit 40.
[0095] The command correction unit 220 calculates the upper limit values Ath of the accelerations corresponding to the X, Y, and Z axes (all control axes). x , Ath y , Ath z The following process is performed: a process of adjusting the slope of each so as to obtain the following speed change (S12 in FIG. 11); and a process of adjusting the overlap period T so that the distance d1 (amount of deviation) between the curved path CP (travel path) and the seam is equal to or less than the upper limit of the amount of deviation (S13 to S15 in FIG. 11).
[0096] According to this configuration, the acceleration of each axis and the superposition period T can be smoothly adjusted.
[0097] The command correction unit 220 calculates the upper limit values Ath of the accelerations corresponding to the X, Y, and Z axes (all control axes). x , Ath y , Ath z The gradient of the deceleration A12 and the gradient of the acceleration A21 (each gradient) are adjusted so that the absolute value that obtains the following velocity change is the maximum gradient. x , Ath y , Ath z The gradient of the deceleration A12 and the gradient of the acceleration A21 are adjusted so that the absolute value of the gradient of the acceleration for each axis becomes maximum within a range that satisfies the above condition.
[0098] With this configuration, the absolute value of the acceleration of each axis is increased to the upper limit of the acceleration of the corresponding axis, so that the time required for the first linear movement and the second linear movement at the feed rates V1 and V2 can be lengthened, thereby shortening the time required for the first linear movement and the second linear movement.
[0099] The acceleration of each axis does not need to be increased to the upper limit of the acceleration of the corresponding axis, and may be slightly smaller than the upper limit of the acceleration of the corresponding axis.
[0100] The command corrector 220 adjusts the overlap period T so that the distance d1 (amount of deviation) from the seam becomes substantially equal to the upper limit of the amount of deviation.
[0101] This configuration allows smooth cornering and quick switching from the first linear movement to the second linear movement.
[0102] The distance d1 does not need to be increased to the upper limit of the deviation amount, and may be slightly smaller than the upper limit of the deviation amount.
[0103] As shown in FIG. 2, the drive system 3 includes a numerical control device 2 and a drive device 1 having a laser unit 40 (driven part).
[0104] According to this configuration, the laser unit 40 of the drive device 1 can be driven so that the distance d1 (deviation amount) at the joint of the path is kept within an allowable value, and the acceleration in each axis is kept within an allowable value.
[0105] 6A to 6C, in the first embodiment, the deceleration A12 and the acceleration A21 are adjusted so that the absolute value of the slope of the deceleration A12 of the first command and the absolute value of the slope of the acceleration A21 of the second command are equal to each other during the superposition period T. In contrast, in the second embodiment, the deceleration A12 and the acceleration A21 are adjusted so that the deceleration period T1 of the first command and the acceleration period T2 of the second command are equal to each other during the superposition period T. The other configurations of the second embodiment are similar to those of the first embodiment.
[0106] When the command information includes a first command and a second command as shown in FIG. 5(a), the procedure for adjusting the acceleration will be described with reference to FIGS. 14(a) to 17(c), and the procedure for adjusting the deviation amount will be described with reference to FIGS. 18(a) to 18(c).
[0107] 14A to 14C are diagrams that schematically show the speed change near the joint (position P1) on the path.
[0108] As shown in Fig. 14(a), the first command includes a feed speed V1 and a deceleration speed A12, and the second command includes an acceleration speed A21 and a feed speed V2. As shown in Fig. 14(b), the acceleration adjustment unit 221 matches the deceleration period T1 of the first command with the acceleration period T2 of the second command, and sets an overlap period T in which the deceleration period T1 and the acceleration period T2 overlap. The speed of the overlap period T is set by overlapping the deceleration period T1 of the first command with the acceleration period T2 of the second command during the overlap period T.
[0109] In the second embodiment as well, the acceleration adjustment unit 221 determines whether the acceleration and deceleration adjusted by setting the superposition period T as shown in Fig. 14(b) satisfy the condition based on the upper limit value of acceleration included in the command information input via the operation terminal 4. Specific details of this determination will be described later with reference to Figs. 15(a) to 17(c).
[0110] If the acceleration condition is not satisfied, the acceleration adjustment unit 221 increases the length of the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and the acceleration A21, as shown in Fig. 14(c). The acceleration adjustment unit 221 then determines again whether the acceleration and deceleration satisfy the acceleration condition, and increases the length of the superimposition period T until the acceleration condition is satisfied.
[0111] 14B, if the acceleration condition is satisfied, the acceleration adjustment unit 221 shortens the superimposition period T and increases the absolute values of the gradients of the deceleration A12 and the acceleration A21. The acceleration adjustment unit 221 then determines again whether the acceleration and deceleration satisfy the acceleration condition, and shortens the superimposition period T as long as the acceleration condition is satisfied.
[0112] A specific determination as to whether the above acceleration conditions are satisfied will be described with reference to FIGS. 15(a) to 17(c).
[0113] In this determination, similarly to the first embodiment, whether or not the acceleration conditions are satisfied is determined in parallel for each of the X, Y, and Z axis directions using values obtained by decomposing the feed speeds V1 and V2, the deceleration A12, and the acceleration A21 in the X, Y, and Z axis directions. Then, if the acceleration conditions are satisfied for all axes, it is determined that the acceleration conditions on the path are satisfied as described above.
[0114] 15(a) to 15(c) are diagrams schematically showing the change in speed in the vicinity of the seam (position P1) in the X-axis direction. Fig. 15(a) is a diagram similar to Fig. 7(a).
[0115] The acceleration adjustment unit 221 applies the superposition period T described with reference to FIG. 14B to the speed change in the X-axis direction as shown in FIG. 15B, and adjusts the first command acceleration A12 x and second command acceleration A21 x As a result, in the X-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A x is set.
[0116] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the X-axis direction included in the command information. x Using the acceleration A12 near the joint x , A21 x , A x The absolute value of the slope is the upper limit Ath x If the condition for acceleration in the X-axis direction is not satisfied, the acceleration adjustment unit 221 widens the superposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 14(c). Then, the acceleration adjustment unit 221 adjusts the gradient of the acceleration A12 in the X-axis direction based on the reset deceleration A12 and acceleration A21. x , A21 x , A x In this case, since the superimposition period T is extended as shown in FIG. 15(c), the acceleration A12 x , A21 x , A xThe absolute value of the gradient of the acceleration in the X-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the X-axis direction is satisfied.
[0117] In addition, when the superimposition period T is shortened and the absolute values of the gradients of the deceleration A12 and the acceleration A21 are increased, the acceleration adjustment unit 221 x , A21 x , A x In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the X-axis direction is satisfied.
[0118] Such acceleration adjustment is performed not only in the X-axis direction, but also in the Y-axis direction as shown in FIGS. 16(a) to 16(c), and in the Z-axis direction as shown in FIGS. 17(a) to 17(c).
[0119] 16(a) is a diagram similar to FIG. 8(a). The acceleration adjustment unit 221 applies the superposition period T described with reference to FIG. 14(b) to the speed change in the Y-axis direction as shown in FIG. 16(b), and adjusts the acceleration A12 on the first command side. y and second command side acceleration A21 y As a result, in the Y-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A y is set.
[0120] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the Y-axis direction included in the command information. y Using the acceleration A12 near the joint y , A21 y , A y The absolute value of the slope is the upper limit Ath y Determine whether it is equal to or less than the above.
[0121] If the conditions for the acceleration in the Y-axis direction are not satisfied, the acceleration adjustment unit 221 widens the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 14C. Then, the acceleration adjustment unit 221 adjusts the acceleration A12 in the Y-axis direction based on the reset deceleration A12 and acceleration A21. y, A21 y , A y In this case, since the superimposition period T is extended as shown in FIG. 16(c), the acceleration A12 y , A21 y , A y The absolute value of the gradient of the acceleration in the Y-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the Y-axis direction is satisfied.
[0122] In addition, when the superimposition period T is shortened and the absolute values of the gradients of the deceleration A12 and the acceleration A21 are increased, the acceleration adjustment unit 221 y , A21 y , A y In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the Y-axis direction is satisfied.
[0123] 17(a) is a diagram similar to FIG. 9(a). The acceleration adjustment unit 221 applies the superposition period T described with reference to FIG. 14(b) to the speed change in the Z-axis direction as shown in FIG. 17(b), and adjusts the acceleration A12 of the first command. z and second command acceleration A21 z As a result, in the Z-axis direction, the deceleration period T1 of the first command and the acceleration period T2 of the second command are overlapped in the overlap period T, and the acceleration A z is set.
[0124] Next, the acceleration adjustment unit 221 adjusts the upper limit Ath of the acceleration in the Z-axis direction included in the command information. z Using the acceleration A12 near the joint z , A21 z , A z The absolute value of the slope is the upper limit Ath z Determine whether it is equal to or less than the above.
[0125] If the acceleration condition in the Z-axis direction is not satisfied, the acceleration adjustment unit 221 widens the superimposition period T to reduce the absolute values of the gradients of the deceleration A12 and acceleration A21, as shown in FIG. 14(c). Then, the acceleration adjustment unit 221 adjusts the acceleration A12 in the Z-axis direction based on the reset deceleration A12 and acceleration A21. z , A21 z , A z In this case, since the superimposition period T is extended as shown in FIG. 17(c), the acceleration A12 z , A21 z , A z The absolute value of the gradient of the acceleration in the Z-axis direction becomes smaller. Then, the acceleration adjuster 221 determines again whether the condition for the acceleration in the Z-axis direction is satisfied.
[0126] In addition, when the superimposition period T is shortened and the absolute values of the gradients of the deceleration A12 and the acceleration A21 are increased, the acceleration adjustment unit 221 z , A21 z , A z In this case, the acceleration adjuster 221 again determines whether the condition for the acceleration in the Z-axis direction is satisfied.
[0127] As described above, the acceleration adjustment unit 221 determines whether the acceleration conditions in the X-, Y-, and Z-axis directions are satisfied each time the deceleration A12 and the acceleration A21 are adjusted. If the acceleration adjustment unit 221 determines that the acceleration conditions are satisfied in all axes, the acceleration adjustment unit 221 then adjusts the deviation of the curved path CP (see FIG. 5A) based on the adjusted acceleration from the joint (position P1) so that the deviation is equal to or less than a predetermined upper limit.
[0128] 18A to 18C are diagrams that schematically show the speed change after adjustment near the joint (position P1) on the path.
[0129] 18A is a diagram similar to FIG. 14C, and shows a state after adjustment of the deceleration A12 and the acceleration A21 is completed. After adjustment of the deceleration A12 and the acceleration A21 is completed, the path adjustment unit 222 calculates a distance d1 (see FIG. 5A) indicating the deviation (path error), and determines whether the distance d1 satisfies the condition for the upper limit of the deviation.
[0130] 18(a), if the distance d1 does not satisfy the condition, the path adjuster 222 separates the deceleration period T1 of the first command and the acceleration period T2 of the second command from each other, as shown in FIG. 18(b), thereby shortening the overlap period T. This reduces the distance d1 between the curved path CP and the joint.
[0131] In the state shown in Fig. 18(b), the path adjustment unit 222 again determines whether the distance d1 satisfies the condition for the upper limit of the deviation amount. If the distance d1 does not satisfy the condition, the path adjustment unit 222 separates the deceleration period T1 and the acceleration period T2 from each other, as shown in Fig. 18(c), and further shortens the overlap period T. The path adjustment unit 222 shortens the overlap period T until the distance d1 satisfies the condition.
[0132] In the second embodiment, the numerical control device 2 performs processing similar to that of the first embodiment shown in Fig. 11. In this case, in step S12, the acceleration adjustment unit 221 adjusts the length of the superposition period T, the deceleration A12 of the first command, and the acceleration A21 of the second command, as shown in Fig. 14(a) to Fig. 17(c). Thereafter, in steps S13 to S15, the distance d1 is adjusted so that it is equal to or less than the upper limit value.
[0133] <Effects of Second Embodiment> According to the second embodiment, the following effects are achieved.
[0134] The command correction unit 220 adjusts the deceleration A12 (first deceleration) and the acceleration A21 (second acceleration) so that the deceleration period T1 (period of the first deceleration) in the first linear movement and the acceleration period T2 (period of the second acceleration) in the second linear movement are equal to each other, and adjusts the overlap period T in which the deceleration period T1 (period of the first deceleration) in the first linear movement and the acceleration period T2 (period of the second acceleration) in the second linear movement overlap, and the deceleration period T1 and acceleration period T2 (respective periods) of the deceleration A12 (first deceleration) and the acceleration A21 (second acceleration) so that both the conditions of the upper limit value of the deviation amount and the upper limit value of the acceleration are satisfied.
[0135] With this configuration, it is not necessary to make the absolute value of the slope of the deceleration A12 equal to the absolute value of the slope of the acceleration A21, so it is also possible to shorten the time required to transition from the first linear movement to the second linear movement.
[0136] The command correction unit 220 calculates the upper limit values Ath of the accelerations corresponding to the X, Y, and Z axes (all control axes). x , Ath y , Ath z The following process is performed: a process of adjusting the deceleration period T1 and the acceleration period T2 (each of these periods) (S12 in FIG. 11) so as to obtain the following speed change; and a process of adjusting the overlap period T (S13 to S15 in FIG. 11) so that the distance d1 (deviation amount) between the curved path CP (movement path) and the seam is equal to or less than the upper limit of the deviation amount.
[0137] According to this configuration, the acceleration of each axis and the superposition period T can be smoothly adjusted.
[0138] The command correction unit 220 calculates the upper limit values Ath of the accelerations corresponding to the X, Y, and Z axes (all control axes). x , Ath y , Ath z The deceleration period T1 and the acceleration period T2 (each period) are adjusted so as to be the minimum period that will result in the following speed change.
[0139] With this configuration, the deceleration period T1 and the acceleration period T2 are minimized, so the time required for the first linear movement and the second linear movement at the feed speeds V1 and V2 can be lengthened, thereby shortening the time required for the first linear movement and the second linear movement.
[0140] The deceleration period T1 and the acceleration period T2 do not need to be shortened to the minimum period, and may be slightly longer than the minimum period.
[0141] The command corrector 220 adjusts the overlap period T so that the distance d1 (amount of deviation) from the seam becomes substantially equal to the upper limit of the amount of deviation.
[0142] This configuration allows smooth cornering and quick switching from the first linear movement to the second linear movement.
[0143] In the second embodiment, the distance d1 does not need to be increased to the upper limit of the deviation amount, and may be slightly smaller than the upper limit of the deviation amount.
[0144] <Other Modifications> The configurations of the numerical control device 2 and the drive system 3 can be modified in various ways other than those shown in the above embodiment.
[0145] In the above embodiment, each command acquired by the command acquisition unit 210 may include information on acceleration (for example, acceleration time) instead of acceleration, or information on deceleration (for example, deceleration time) instead of deceleration. Furthermore, when each command acquired by the command acquisition unit 210 includes acceleration time and deceleration time in addition to acceleration and deceleration, the feed rate can be determined by the acceleration and acceleration time, or the deceleration and deceleration time.
[0146] In the above embodiment, the deviation of the curved path CP from the seam was distance d1, but this is not limited to this and may also be the distance between the seam of two linear movements and another point on the path CP (for example, the midpoint).
[0147] In the above embodiment, each command acquired by the command acquisition unit 210 includes the acceleration near the start point on the route and the deceleration near the end point on the route, but instead may include acceleration components in the X, Y, and Z axis directions. In this case, the deceleration A12 and acceleration A21 on the route are calculated from the acceleration components in the X, Y, and Z axis directions.
[0148] In the above embodiment, the drive device 1 drives the laser unit 40 about the X, Y, and Z axes that are orthogonal to each other, but this is not limiting, and the laser unit 40 may be driven about two control axes (for example, the X and Y axes) that are orthogonal to each other. In this case, the numerical control device 2 controls the drive device 1 in a state where, for example, the Z axis is omitted from the above embodiment.
[0149] In the above embodiment, information entered by the user via the input screen 300 on the operation terminal 4 is input to the command acquisition unit 210, but this is not limited to this, and information generated by another device may also be input to the command acquisition unit 210 via a communication network or removable media.
[0150] In the above embodiment, the drive unit 1 and the numerical control device 2 are configured as separate devices in the drive system 3, but the drive unit 1 and the numerical control device 2 may be configured as an integrated unit. Also, the numerical control device 2 and the operation terminal 4 are configured as separate devices, but the numerical control device 2 and the operation terminal 4 may be configured as an integrated unit.
[0151] In the above embodiment, the driven part driven by the drive system 3 was the laser unit 40, but this is not limited thereto, and the driven part may have another configuration. For example, the driven part may be a milling cutter of a milling machine. Furthermore, in the above embodiment, the present invention is applied to the drive system 3 for machining, but it may also be applied to a drive system 3 that performs processing other than machining.
[0152] The embodiments of the present invention can be modified in various ways as appropriate within the scope of the technical idea defined in the claims.
[0153] (Additional Notes) The above description of the embodiments discloses the following techniques.
[0154] (Technology 1) A numerical control device that controls a drive device that drives a driven part about at least two mutually orthogonal control axes, comprising: a command acquisition unit that acquires a first command including information on a first acceleration, a first feedrate, and a first deceleration that are set to cause the driven part to perform a first linear movement; a second command including information on a second acceleration, a second feedrate, and a second deceleration that are set to cause the driven part to perform a second linear movement from an end point of the first linear movement in a direction different from the first linear movement; information on an upper limit value of a deviation amount for a joint between the first linear movement and the second linear movement; and information on an upper limit value of acceleration for each of the control axes; and a command correction unit that corrects the first deceleration and the second acceleration, respectively, to connect the first linear movement and the second linear movement along a curved movement path that satisfies both the conditions of the upper limit value of the deviation amount and the upper limit value of the acceleration.
[0155] According to this technology, a curved movement path is set at the joint between the first linear movement and the second linear movement, satisfying both the upper limit of the deviation amount and the upper limit of the acceleration amount, thereby suppressing the deviation amount at the joint of the path within an allowable value and suppressing the acceleration in each control axis within an allowable value.
[0156] (Technology 2) In the numerical control device described in Technology 1, the command correction unit adjusts the first deceleration and the second acceleration so that an absolute value of a slope of the first deceleration and an absolute value of a slope of the second acceleration are equal to each other, and adjusts an overlap period in which a period of the first deceleration in the first linear movement and a period of the second acceleration in the second linear movement overlap, and the respective slopes, so that both conditions are satisfied.
[0157] According to this technology, the speed on the path is equal at the start and end of the overlap period, so the path on the first linear movement side and the path on the second linear movement side are symmetrical with respect to the position on the curved path closest to the joint, thereby making it possible to make the shapes of the path on the first linear movement side and the path on the second linear movement side of the curved path match each other.
[0158] (Technology 3) In the numerical control device according to Technology 2, the command correction unit executes a process of adjusting the inclination of each of the control axes so that a speed change that is equal to or less than an upper limit value of the acceleration corresponding to each of the control axes is obtained, and a process of adjusting the overlap period so that a deviation amount between the curved movement path and the joint is equal to or less than an upper limit value of the deviation amount.
[0159] According to this technique, it is possible to smoothly adjust the acceleration of each axis and the superposition period.
[0160] (Technology 4) In the numerical control device according to Technology 3, the command correction unit adjusts the gradient of each of the control axes so that the absolute value of the gradient that obtains a speed change that is equal to or less than the upper limit value of the corresponding acceleration becomes the maximum gradient for all of the control axes.
[0161] According to this technique, the absolute value of the acceleration of each control axis can be increased to the upper limit of the acceleration of the corresponding control axis, thereby lengthening the time required to move at the feed rate in the first linear movement and the second linear movement, thereby shortening the time required for the first linear movement and the second linear movement.
[0162] (Technology 5) In the numerical control device according to Technology 3 or 4, the command correction unit adjusts the superposition period so that the deviation amount becomes substantially equal to an upper limit value of the deviation amount.
[0163] This technique allows smooth cornering and quick switching from the first linear movement to the second linear movement.
[0164] (Technology 6) In the numerical control device described in Technology 1, the command correction unit adjusts the first deceleration and the second acceleration so that a period of the first deceleration in the first linear movement and a period of the second acceleration in the second linear movement are equal to each other, and adjusts an overlap period in which the period of the first deceleration in the first linear movement and the period of the second acceleration in the second linear movement overlap, and the periods of the first deceleration and the second acceleration, so that both conditions are satisfied.
[0165] According to this technology, since it is not necessary to make the absolute value of the slope of the first deceleration equal to the absolute value of the slope of the second acceleration, it is also possible to shorten the time required to transition from the first linear movement to the second linear movement.
[0166] (Technology 7) In the numerical control device described in Technology 6, the command correction unit executes a process of adjusting each of the periods so that a speed change that is equal to or less than an upper limit value of the acceleration corresponding to each of the control axes is obtained, and a process of adjusting the overlapping period so that a deviation amount between the curved movement path and the joint is equal to or less than an upper limit value of the deviation amount.
[0167] According to this technique, it is possible to smoothly adjust the acceleration of each axis and the superposition period.
[0168] (Technology 8) In the numerical control device according to Technology 7, the command correction unit adjusts each of the periods so that the periods are the shortest periods in which a speed change that is equal to or less than the upper limit value of the acceleration corresponding to each of the control axes is obtained.
[0169] According to this technique, the period of the first deceleration in the first linear movement and the period of the second acceleration in the second linear movement are minimized, so that the time for moving at the feed rate in the first linear movement and the second linear movement can be lengthened, thereby shortening the time required for the first linear movement and the second linear movement.
[0170] (Technology 9) In the numerical control device according to Technology 7 or 8, the command correction unit adjusts the superposition period so that the deviation amount becomes substantially equal to an upper limit value of the deviation amount.
[0171] This technique allows smooth cornering and quick switching from the first linear movement to the second linear movement.
[0172] (Technology 10) The numerical control device according to any one of technologies 1 to 9, wherein the control axes are configured by an X-axis, a Y-axis, and a Z-axis that are orthogonal to one another.
[0173] (Technology 11) A drive system comprising: the numerical control device according to any one of technologies 1 to 10; and the drive device having the driven part.
[0174] According to this technique, the amount of deviation at the joints of the paths can be suppressed to within a tolerance, and the driven part of the drive device can be driven so that the acceleration in each control axis is suppressed to within a tolerance.
[0175] REFERENCE SIGNS LIST 1 Driving device 2 Numerical control device 3 Driving system 40 Laser unit (driven part) 210 Command acquisition unit 220 Command correction unit CP Path (movement path) d1 Distance (deviation amount) P1 Position (seam) T Superposition period T1 Deceleration period (period of first deceleration) T2 Acceleration period (period of second acceleration)
Claims
1. A numerical control device that controls a drive device that drives a driven part about at least two mutually perpendicular control axes, comprising: a command acquisition unit that acquires a first command including information on a first acceleration, a first feed rate, and a first deceleration that are set to cause the driven part to make a first linear movement; a second command including information on a second acceleration, a second feed rate, and a second deceleration that are set to cause the driven part to make a second linear movement from the end point of the first linear movement in a direction different from the first linear movement; information on an upper limit value of the amount of deviation at the joint between the first linear movement and the second linear movement; and information on an upper limit value of acceleration for each of the control axes; and a command correction unit that corrects the first deceleration and the second acceleration, respectively, and connects the first linear movement and the second linear movement along a curved movement path that satisfies both the conditions of the upper limit value of the amount of deviation and the upper limit value of the acceleration.
2. A numerical control device according to claim 1, wherein the command correction unit adjusts the first deceleration and the second acceleration so that the absolute value of the slope of the first deceleration and the absolute value of the slope of the second acceleration are equal, and adjusts the overlap period during which the period of the first deceleration in the first linear movement and the period of the second acceleration in the second linear movement overlap, as well as the respective slopes, so that both of the above conditions are satisfied.
3. A numerical control device according to claim 2, wherein the command correction unit executes a process of adjusting the inclination of each of the control axes so that a speed change that is equal to or less than the upper limit of the acceleration corresponding to each of the control axes is obtained, and a process of adjusting the overlap period so that the amount of deviation between the curved movement path and the joint is equal to or less than the upper limit of the amount of deviation.
4. A numerical control device according to claim 3, wherein the command correction unit adjusts the gradient of each of the control axes so that the absolute value of the gradient that obtains a speed change that is equal to or less than the upper limit value of the corresponding acceleration becomes the maximum gradient for all the control axes.
5. A numerical control device according to claim 3, wherein the command correction unit adjusts the superposition period so that the deviation amount is substantially equal to the upper limit value of the deviation amount.
6. A numerical control device as described in claim 1, wherein the command correction unit adjusts the first deceleration and the second acceleration so that the period of the first deceleration in the first linear movement and the period of the second acceleration in the second linear movement are equal to each other, and adjusts the overlap period in which the period of the first deceleration in the first linear movement and the period of the second acceleration in the second linear movement overlap, and the periods of each of the first deceleration and the second acceleration, so that both of the above conditions are satisfied.
7. A numerical control device according to claim 6, wherein the command correction unit executes a process of adjusting each of the periods so that a speed change that is equal to or less than the upper limit of the acceleration corresponding to each of the control axes is obtained, and a process of adjusting the overlap period so that the amount of deviation between the curved movement path and the joint is equal to or less than the upper limit of the amount of deviation.
8. A numerical control device according to claim 7, wherein the command correction unit adjusts each of the periods so that the periods are the minimum periods for which a speed change that is equal to or less than the upper limit value of the acceleration corresponding to each of the control axes is obtained.
9. A numerical control device according to claim 7, wherein the command correction unit adjusts the superposition period so that the deviation amount is substantially equal to the upper limit value of the deviation amount.
10. A numerical control device according to claim 1, wherein the control axes are comprised of an X-axis, a Y-axis, and a Z-axis which are orthogonal to one another.
11. A drive system comprising: a numerical control device according to any one of claims 1 to 10; and a drive device having the driven part.
Citation Information
Patent Citations
Path interpolating method for robot
JP1994043928A
Track interpolating device for robot
JP1995064621A
Control method for track
JP1996123531A
Device and method for controlling robot
JP1996234824A
Device and method for interpolation of numerically controlled device for laser beam machine
JP1997327784A