Control device and control method
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2025-01-29
- Publication Date
- 2026-08-06
Smart Images

Figure JP2025002753_06082026_PF_FP_ABST
Abstract
Description
Control device and control method
[0001] This disclosure relates to a control device and a control method for controlling the trajectory of a movable part of a machine, where the movable part is driven by multiple axes and the motors of the multiple axes are controlled simultaneously.
[0002] When machining using machines such as machine tools or laser processing machines, the position of the tool relative to the workpiece is controlled to follow a commanded path. This control is called "trajectory control." Generally, trajectory control is performed by servo control, which is a control method that makes the actual position of each axis in the machine follow the position command for each axis, which is determined from the commanded path.
[0003] One problem in trajectory control is that the actual trajectory deviates from the commanded path due to response delays in the axis control system of the control device. Normally, control is performed for each axis of the machine, and errors caused by response delays in the axis control system cause the servo system response of each axis to move later than the position command. In this case, trajectory deviation occurs between multiple axes due to variations in response delay time. Generally, trajectory deviation is undesirable because it causes the machined shape to not match the original shape. Therefore, it is desirable to suppress trajectory deviation in this type of control device.
[0004] As a conventional technique for suppressing trajectory deviation, Patent Document 1 discloses a technique for a servo control device having multiple axes in which a position command is generated such that the response delay time of the reference servo motor is matched to the response delay time of the dependent servo motor, and a correction is applied by subtracting an amount proportional to the product of the square of the delay time and the acceleration of each servo motor.
[0005] Japanese Patent Publication No. 2019-164838
[0006] However, the technology described in Patent Document 1 calculates the delay time for synchronizing servo axes between multiple axes from the servo gain of each axis, and uses the calculated delay time to synchronize the start timing of movement for each axis. In other words, since the technology described in Patent Document 1 targets trajectory deviation caused by variations in response delay time between multiple axes, it has the problem that it cannot suppress trajectory deviation caused by delay time due to changes in characteristics such as communication delay or aging.
[0007] This disclosure has been made in view of the above, and aims to provide a control device capable of suppressing trajectory deviations caused by delays due to changes in characteristics such as communication delays and aging.
[0008] To solve the above-mentioned problems and achieve the objective, the control device according to this disclosure controls the trajectory of a movable part of a machine by driving a plurality of axes and simultaneously controlling the motors of the plurality of axes. The control device comprises a control unit for operating the plurality of axes, a response delay time calculation unit, and a command value changing unit. The response delay time calculation unit calculates a response delay time for at least two of the plurality of axes, based on observation data observed when the plurality of axes are operated. This response delay time is the difference between a first delay time until one axis actually starts operating based on a command value assigned to that axis, and a second delay time until another axis different from the first axis actually starts operating. The command value changing unit changes the command value for at least one of the at least two axes based on the response delay time to suppress trajectory deviation between the at least two axes.
[0009] The control device described herein has the effect of suppressing trajectory deviations caused by delays due to changes in characteristics such as communication delays and aging.
[0010] Figures illustrating the axis control system including the control device according to Embodiment 1; Figures illustrating the operation image when the timing of the start of movement is adjusted by the correction amount calculated by the correction amount calculation unit of Embodiment 1; Flowchart illustrating the control processing by the control device according to Embodiment 1; Figures illustrating the processing of step S13 in Figure 3; Figures illustrating the processing of step S14 in Figure 3; Figures illustrating the processing of step S15 in Figure 3; Figures illustrating the time synchronization processing with the previous operation in the control device according to Embodiment 1; Figures illustrating the simulation results on an actual machine using the control device according to Embodiment 1; Figures illustrating an axis control system different from Figure 1, including the control device according to Embodiment 1; Figures illustrating an example configuration of the control device according to Embodiment 2; Flowchart illustrating the learning process of the control device according to Embodiment 2; Flowchart illustrating the inference process of the control device according to Embodiment 2; Figures illustrating the variations in axis selection in Embodiment 3; Figures illustrating an example configuration of the axis control system by the third variation of Figure 13; Figures illustrating an embodiment by the variation in axis selection in Embodiment 4; Figures illustrating the control processing by the control device according to Embodiment 4; Block diagrams illustrating an example of a hardware configuration that realizes the functions of the control devices according to Embodiments 1 to 4.
[0011] The control device and control method according to the embodiments of this disclosure will be described in detail below with reference to the attached drawings.
[0012] Embodiment 1. Figure 1 is a diagram illustrating an axis control system including a control device 1 according to Embodiment 1. The control device 1 is configured to have a computer that controls machines such as machine tools and robots. The computer stores a program for executing the operation of the control device 1. The program causes the computer to execute a procedure or method of the control device 1.
[0013] Figure 1 shows two axis control systems controlled by the control device 1. One axis control system consists of a motor 50 that drives the first axis 52 and an observer 54 that observes the position of the first axis 52, and the other axis control system consists of a motor 60 that drives the second axis 62 and an observer 64 that observes the position of the second axis 62. These two axis control systems drive the motor 50 of the first axis 52 and the motor 60 of the second axis 62, thereby controlling the position of the movable parts of the machine.
[0014] When the control device 1 controls a machine tool, the first axis 52 is, for example, a spindle, and the second axis 62 is, for example, a servo axis. When the control device 1 controls a robot, the first axis 52 is, for example, a linear axis, and the second axis 62 is, for example, a slewing axis. These are just examples and the control device is not limited to these examples. For example, in a machine tool, both the first axis 52 and the second axis 62 may be servo axes. In a robot, both the first axis 52 and the second axis 62 may be linear axes, or both the first axis 52 and the second axis 62 may be slewing axes.
[0015] The control device 1 forms one feedback loop between the motor 50, the first shaft 52, and the observation device 54, and forms another feedback loop between the motor 60, the second shaft 62, and the observation device 64.
[0016] The control device 1 comprises a control unit 2, a response delay time calculation unit 3, a command value generation unit 4, and a storage unit 5. The command value generation unit 4 includes a command value modification unit 40, which in turn includes a correction amount calculation unit 42. The response delay time calculation unit 3 receives observed values representing the axis positions observed by the observation instruments 54 and 64. In this paper, the data representing the axis positions observed by the observation instruments 54 and 64 is referred to as "observation data." The correction amount calculation unit 42 may be located outside the command value generation unit 4.
[0017] The response delay time calculation unit 3 calculates a first delay time using the observed value observed when a command value is applied to the first axis 52. The first delay time is the delay time from when the command value for the first axis 52 is output from the command value generation unit 4 until the first axis 52 actually starts operating. Similarly, the response delay time calculation unit 3 calculates a second delay time using the observed value observed when a command value is applied to the second axis 62. The second delay time is the delay time from when the command value for the second axis 62 is output from the command value generation unit 4 until the second axis 62 actually starts operating. The response delay time calculation unit 3 uses the first and second delay times to calculate the difference between the first axis 52 and the second axis 62 as the response delay time.
[0018] The command value changing unit 5 changes the command value for at least one of the first axis 52 or the second axis 62 based on the response delay time to suppress trajectory deviation between the first axis 52 and the second axis 62. Trajectory deviation is the error between the trajectory of the command path based on the command value indication and the actual trajectory. Trajectory deviation includes a tangential component and a normal-tangential component with respect to the command path.
[0019] The command value change by the command value change unit 5 can be performed using the correction amount calculated by the correction amount calculation unit 42. Specifically, the correction amount calculation unit 42 in Embodiment 1 calculates a correction amount that adjusts the timing of the start of movement of at least one of the first axis 52 or the second axis 62, based on the response delay time calculated by the response delay time calculation unit 3, so as to suppress trajectory deviation between the first axis 52 and the second axis 62.
[0020] The correction amount calculated by the correction amount calculation unit 42 is stored in the storage unit 5. The command value changing unit 5 changes the command value for the second axis 62 using the correction amount stored in the storage unit 5. The command value changed by the command value changing unit 5 is input to a motor control unit (not shown), and the motor control unit controls the motor 60 so that the timing of the start of movement of at least one of the first axis 52 or the second axis 62 is controlled by the changed command value.
[0021] Figure 2 is a diagram illustrating the operation when the timing of the start of movement is adjusted by the correction amount calculated by the correction amount calculation unit 42 of Embodiment 1. In the upper left of Figure 2, the time-varying waveforms of each command value applied to the first axis 52 and the second axis 62 during the first operation are shown as solid lines, and the time-varying waveforms of each observed value during the first operation are shown as dashed lines. In the upper right of Figure 2, the waveform representing the relationship between the command value of the first axis 52 and the command value of the second axis 62 during the first operation in two-dimensional coordinates is shown as a solid line, and the waveform representing the relationship between the observed value of the first axis 52 and the observed value of the second axis 62 during the first operation in two-dimensional coordinates is shown as a dashed line. In the lower left of Figure 2, the time-varying waveforms of each command value applied to the first axis 52 and the second axis 62 during the second operation are shown as dashed lines, and the time-varying waveforms of each observed value during the second operation are shown as solid lines. Furthermore, in the lower right of Figure 2, a solid line shows the waveform representing the relationship between the command value of the first axis 52 and the command value of the second axis 62 during the second operation, expressed in two-dimensional coordinates. A dashed line shows the waveform representing the relationship between the observed value of the first axis 52 and the observed value of the second axis 62 during the second operation, also expressed in two-dimensional coordinates. For comparison, the waveform of the observed value during the first operation, shown in the upper right of Figure 2, is also shown in the lower right of Figure 2.
[0022] In the upper and lower left diagrams of Figure 2, the white arrows represent the delay time for each axis, that is, the delay time until each axis actually starts operating, and the hatched arrows represent the delay time correction amount calculated from the delay time of the first operation. In the example in Figure 2, during the second operation, the timing of outputting the command value of the first axis 52 is delayed by the length of the hatched arrow relative to the timing of outputting the command value of the second axis 62. In other words, during the second operation, the operation timing is controlled so that the timing of the start of movement of the first axis 52 and the timing of the start of movement of the second axis 62 coincide. As shown in Figure 2, the delay time correction amount is the time shift amount, and the command value of the first axis 52 is output with a delay of the time shift amount. As a result, as shown in the two-dimensional coordinate diagram on the upper right of Figure 2, during the first operation, synchronization between the first axis 52 and the second axis 62 was not achieved, resulting in a trajectory discrepancy between the command value trajectory and the observed value. However, during the second operation, the trajectory discrepancy between the command value trajectory and the observed value became smaller, and the observed values of the first axis 52 and the second axis 62 followed the command value trajectory.
[0023] In the example shown in Figure 2, during the second operation, the timing of outputting the command value of the first axis 52 is delayed by the length of the hatched arrow relative to the timing of outputting the command value of the second axis 62. However, the control is not limited to this. Alternatively, the timing of outputting the command value of the first axis 52 may remain unchanged, while the timing of outputting the command value of the second axis 62 may be advanced by the length of the hatched arrow relative to the timing of outputting the command value of the first axis 52. In either control, by synchronizing the operation timing, the difference in response delay time between each axis is reduced, making it possible to suppress trajectory deviations between the command value trajectory and the actual trajectory.
[0024] Figure 3 is a flowchart illustrating the control process by the control device 1 according to Embodiment 1. The control device 1 executes a program (step S11) and stores operation data in the storage unit 5 (step S12). The operation data consists of command values and observation data corresponding to the command values. The response delay time calculation unit 3 calculates the aforementioned response delay time based on the delay time of each axis (step S13). The process in step S13 will be further explained with reference to Figure 4. Figure 4 is a diagram illustrating the process in step S13 of Figure 3.
[0025] In Figure 4, the command value, which changes sinusoidally, is shown by a solid line, and the observed data corresponding to that command value is shown by a dashed line. The waveform data shown on the left is the operation data stored in the memory unit 5. The response delay time calculation unit 3 shifts the observed data or command value in units of 1 Ts for each axis and calculates the amount of time shift that minimizes the RMSE (Root Mean Squared Error) between the command value and the observed data. Ts is the sampling time when digitally processing the command value and observed data. The delay time is affected by the gain of each axis, as well as by changes in characteristics such as communication delay and aging of each axis, so it is calculated for each axis.
[0026] The left side of Figure 4 shows the relationship between the command value and observed data when the time shift amount is 0 Ts, the center shows the relationship when the time shift amount is 23 Ts, and the right side shows the relationship when the time shift amount is 50 Ts. In the example shown in Figure 4, the RMSE is evaluated as smallest when the time shift amount is 23 Ts, and the response delay time calculation unit 3 calculates this time shift amount of 23 Ts as the response delay time.
[0027] Let's return to the explanation of the flowchart in Figure 3. After step S13, the control device 1 performs inter-axis response delay time synchronization processing (step S14). The process in step S14 will be explained further with reference to Figure 5. Figure 5 is a diagram used to explain the process in step S14 of Figure 3.
[0028] Above FIG. 5, the command values and observed data when the delay time of the first axis 52 is 20 Ts and the command values and observed data when the delay time of the second axis 62 is 40 Ts are shown. At this time, the correction amount calculation unit 42 calculates, based on the delay times of the first axis 52 and the second axis 62, a correction amount for suppressing the locus deviation between the two axes as 40 Ts - 20 Ts = 20 Ts. In the case of the example of FIG. 5, the correction amount of 20 Ts is the time shift amount that makes the operation of the second axis 62 earlier than the operation of the first axis 52. Also, it can be rephrased that this correction amount of 20 Ts is the time shift amount that makes the operation of the first axis 52 later than the operation of the second axis 62.
[0029] Below FIG. 5, an example of the synchronization process for making the operation of the second axis 62 20 Ts earlier than the operation of the first axis 52 is shown. Thereby, it becomes possible to match the start of movement of the second axis 62 with the start of movement of the first axis 52.
[0030] Returning to the description of the flowchart of FIG. 3. The correction amount calculated in step S14 is stored in the storage unit 5. The command value change unit 5 performs the change process of the command value based on the correction amount stored in the storage unit 5 (step S15). The process of step S15 will be further described with reference to FIG. 6. FIG. 6 is a diagram for explaining the process of step S15 of FIG. 3.
[0031] In FIG. 6, the command value corrected by the correction amount is shown by a solid line, and the observed data, which is the data of the observed value observed by the command value before correction, is shown by a broken line. In this paper, the difference between the corrected command value and the observed data is called "residual". The residual is the error amount between the corrected command value and the observed data.
[0032] The command value changing unit 5 changes the command value of the first axis 52 so that the trajectory misalignment between the first axis 52 and the second axis 62 is reduced. Specifically, when the command value of the second axis 62 is corrected by the amount of time shift, the command value changing unit 5 changes the command value of the first axis 52 by adding or subtracting the residual, which is the difference between the previous command value of the first axis 52 and the observed data based on the previous command value of the first axis 52, to the previous command value of the first axis 52. The changed command value becomes the command value when the system is operated next time. The relationship between the first axis 52 and the second axis 62 is equivalent, and the first axis 52 and the second axis 62 are interchangeable. That is, the command value of at least one of the axes, the first axis 52 and the second axis 62, is changed by the processing of the command value changing unit 5 so that the trajectory misalignment between the first axis 52 and the second axis 62 is reduced.
[0033] Let's return to the explanation of the flowchart in Figure 3. The control device 1 determines whether the residual, which is the amount of error between the corrected command value and the observed data, has reached the target error, that is, whether it has reached a value less than or equal to the target error (step S16). The target error is a threshold used to determine whether the inter-axis response delay time synchronization process in step S14 can be terminated. If the residual has reached the target error (step S16, Yes), the process in the flowchart of Figure 3 is terminated. If the residual has not reached the target error (step S16, No), the process in steps S11 to S16 is repeated.
[0034] Let's elaborate on the processing shown in the flowchart of Figure 3. In step S16, if the residual has not reached the target error, the processing shown in the flowchart of Figure 3 is continued. However, if the residual has increased compared to the previous time, or if the residual is showing an increasing trend, the process may be terminated without continuing the processing shown in the flowchart of Figure 3. In this case, the command value can be changed based on the response delay time when the residual was closest to the target error, and the processing can be continued.
[0035] Furthermore, for example, if the control target of control device 1 is a machine tool, the flowchart in Figure 3 can be performed during a dry run with the actual machine running without a workpiece, or it can be performed during actual operation with a workpiece in place. On the other hand, when performing the operation during actual operation, it is difficult to perform the operation at the same timing as the previous operation due to the influence of the aforementioned approach and other operations. In this case, it is necessary to synchronize the timing with the previous operation.
[0036] Figure 7 is a diagram illustrating the time synchronization process with the previous operation in the control device 1 according to Embodiment 1. In Figure 7, the time change waveform of the command value during the previous operation is shown by a solid line, and the time change waveform of the command value during the current operation is shown by a dashed line. If there is a time difference between the previous operation and the current operation as shown in the left-hand diagram, it is desirable to adjust the operation to occur at the same timing and perform a time synchronization process to synchronize the start time of the machining process.
[0037] Figure 8 shows the simulation results from an actual machine using the control device 1 according to Embodiment 1. Figure 8 shows the waveform of the observed data when a simulation was performed using a certain command value. In Figure 8, the solid line represents the command value, the dashed line represents the first observed value, the dashed line represents the second observed value, and the dashed line represents the third observed value. The first observed value is the value before the inter-axis response delay time synchronization processing was performed, and it deviates significantly from the command value. On the other hand, the second observed value is the value when the inter-axis response delay time synchronization processing was performed for the first time, and it can be seen that it is approaching the command value. Furthermore, the third observed value is the value when the inter-axis response delay time synchronization processing was performed again, and it can be seen that it is even closer to the command value than the second observed value.
[0038] Figure 9 is a diagram illustrating a different axis control system from Figure 1, which includes a control device 1 according to Embodiment 1. Components identical or equivalent to those in Figure 1 are denoted by the same reference numerals. Figure 9 shows the configuration of the axis control system when the number of second axes 62 is N. The axis control system consists of N second axes 62 1 ~Second axis 62 N It is composed of N motors 60 in accordance with this configuration. 1 ~60N and N sensors 64 1 to 64 N are shown.
[0039] The response delay time calculation unit 3 uses the observed values of the first axis 52 and the second axis 62 1 to calculate the response delay time between the first axis 52 and the second axis 62 1 The correction amount calculation unit 42 calculates, based on the response delay time between the first axis 52 and the second axis 62 1 a time shift amount for accelerating or delaying the operation of the first axis 52, or a time shift amount for accelerating or delaying the operation of the second axis 62 1 as a correction amount. The command value change unit 5 changes the command value of at least one of the axes of the first axis 52 and the second axis 62 1 based on the time shift amount. These processes are performed on the second axis 62 2 to the second axis 62 N as necessary.
[0040] As described above, the control device according to Embodiment 1 controls the locus of the movable part of the machine by driving the movable part by a plurality of axes and simultaneously controlling the motors of the plurality of axes. The control device includes a control unit that operates a plurality of axes, a response delay time calculation unit, and a command value change unit. The response delay time calculation unit calculates, based on the observation data observed when the plurality of axes are operated, a first delay time from when a command value applied to one axis actually starts operating until the one axis actually starts operating, and a second delay time from when another axis different from the one axis actually starts operating until the other axis actually starts operating, and calculates the response delay time, which is the difference between the two, for at least two of the plurality of axes. The command value change unit changes the command value of at least one of the at least two axes so as to suppress the locus deviation between the at least two axes based on the response delay time. By using the control device according to Embodiment 1, even if a component due to a delay time caused by a change in characteristics such as communication delay or secular deterioration is included in the locus error, an effect that the component can be suppressed can be obtained.
[0041] The control device according to Embodiment 1 does not perform synchronous control based on servo gain, but rather based on the dead delay time obtained from the actual operation of the machine. Furthermore, the control device according to Embodiment 1 does not calculate a correction value, but rather changes the command value itself using a command value changing unit. If correction is performed after the command value is generated and issued to each axis, the response delay time may vary due to the correction process in each axis. On the other hand, when the command value is directly changed by a command value changing unit, as in the control device according to Embodiment 1, no correction process is performed after the command value is generated and issued to each axis, thus reducing the variation in response delay time caused by the correction process in each axis.
[0042] In the control device according to Embodiment 1, the command value changing unit may be configured to change the command value of at least one of the first and second axes in real time each time the response delay time of the first and second axes is calculated. If the command value changing unit is configured to change the command value in real time, it is possible to obtain the effect of being able to respond not only to long-term characteristic changes such as changes in characteristics due to aging, but also to short-term characteristic changes in the control system of each axis.
[0043] Furthermore, the control method according to Embodiment 1 is a control method that uses a control device that controls the trajectory of a movable part of a machine by simultaneously controlling the motors of multiple axes, with the movable part of the machine being driven by multiple axes. The control method according to Embodiment 1 can be a process that includes the following first to third steps. The first step is to operate the multiple axes. The second step is to calculate a response delay time for at least two of the multiple axes, based on the observation data observed when the multiple axes are operated, which is the difference between a first delay time until one axis actually starts operating based on a command value assigned to that axis, and a second delay time until another axis different from the first axis actually starts operating. The third step is to change the command value for at least one of the at least two axes based on the response delay time so as to suppress trajectory deviation between the at least two axes. According to the control method according to Embodiment 1, similar to the control device according to Embodiment 1, even if a component caused by delay time due to changes in characteristics such as communication delay or aging is included in the trajectory error, it is possible to suppress such component.
[0044] Embodiment 2. Embodiment 2 describes a configuration in which the control device 1 according to Embodiment 1 is equipped with a learning function and an inference function. Figure 10 is a diagram showing an example of the configuration of the control device 1A according to Embodiment 2. Components that are the same as or equivalent to those in Figure 1 are denoted by the same reference numerals. The configuration of the axis control system is the same as in Figure 1.
[0045] As shown in Figure 10, the control device 1A according to Embodiment 2 comprises a control unit 2, a model storage unit 5A, a command value generation unit 4, a learning unit 6, and an inference unit 7. The command value generation unit 4 includes a command value modification unit 40. The inference unit 7 includes a correction amount inference unit 8. The learning unit 6 includes the response delay time calculation unit 3 and the model generation unit 24 described in Embodiment 1. The functions of the response delay time calculation unit 3 and the command value modification unit 40 are the same as in Embodiment 1, and explanations of redundant content will be omitted as appropriate.
[0046] The model generation unit 24 acquires response delay time, observed values, and command values as input data, and learns the correction amount described in Embodiment 1 based on this input data. The response delay time is calculated data calculated by the response delay time calculation unit 3, and the observed values are observed data observed by the observers 54 and 64. The command values are correct answer data (training data) in machine learning generated by the command value generation unit 4. The model generation unit 24 learns the correction amount based on the training data created based on the combination of these response delay time, observed values, and command values. That is, the model generation unit 24 generates a trained model that infers the optimal correction amount from the input response delay time, observed values, and command values. Here, the training data is data in which the response delay time, observed values, and command values are related to each other.
[0047] The correction amount inference unit 8 acquires the response delay time and observed values as input data and infers a correction amount based on this input data. That is, the correction amount inference unit 8 can output a correction amount inferred from the response delay time and observed values by inputting the acquired response delay time and observed values into the trained model stored in the model storage unit 5A.
[0048] Figure 11 is a flowchart illustrating the learning process of the control device 1A according to Embodiment 2. The model generation unit 24 acquires response delay time, observed values, and command values as input data (step S21). Note that these data do not need to be acquired simultaneously; they may be acquired at different timings as long as they can be acquired in association.
[0049] The model generation unit 24 learns correction amounts and generates a trained model by so-called supervised learning, according to training data created based on the combination of response delay time, observed values, and command values (step S22). The model storage unit 5A stores the trained model generated by the model generation unit 24 (step S23).
[0050] In Embodiment 2, the correction amount was described as being output using a trained model learned by the learning unit 6 of the control device 1A. However, a trained model generated by another control device 1A, i.e., a trained model acquired from an external source, may be stored in the model storage unit 5A, and the correction amount may be output using the stored trained model.
[0051] Figure 12 is a flowchart illustrating the inference process of the control device 1A according to Embodiment 2. The correction amount inference unit 8 acquires the response delay time and observed values as input data (step S31). The correction amount inference unit 8 has previously acquired a trained model stored in the model storage unit 5A, and inputs the acquired response delay time and observed values into this trained model (step S32) to output the inference result (step S33). The inference result is the correction amount described in Embodiment 1, that is, the correction amount that suppresses the trajectory deviation between at least two axes.
[0052] The subsequent processing is the same as in Embodiment 1. The command value changing unit 5 changes the command value based on the correction amount, which is the inference result of the correction amount inference unit 8. The command value changed by the command value changing unit 5 is input to a motor control unit (not shown), and the motor control unit controls at least one of the motors 50 and 60.
[0053] As described above, the control device according to Embodiment 2 controls the trajectory of a movable part of a machine by simultaneously controlling the motors of the multiple axes, with the movable part being driven by multiple axes. The control device comprises a control unit for operating the multiple axes, a response delay time calculation unit, a correction amount inference unit, and a command value changing unit. The response delay time calculation unit calculates a response delay time for at least two of the multiple axes, based on observation data observed when the multiple axes are operated. This response delay time is the difference between a first delay time until one axis actually starts operating based on a command value assigned to that axis, and a second delay time until another axis, different from the first axis, actually starts operating. The correction amount inference unit inputs the acquired response delay time and observed values into a stored trained model and infers a correction amount to suppress trajectory deviation between at least two axes. The command value changing unit changes the command value for at least one of the at least two axes based on the correction amount. The control device according to Embodiment 2, similar to Embodiment 1, performs synchronous control based on the response delay time obtained from the actual operation of the device, and changes the command value itself without calculating a correction value. Therefore, using the control device according to Embodiment 2, similar to Embodiment 1, even if components caused by delay time due to changes in characteristics such as communication delay or aging are included in the trajectory deviation, it is possible to suppress such components.
[0054] In the control device according to Embodiment 2, the trained model stored in the model storage unit may be a trained model acquired from an external source. If a trained model acquired from an external source is used, the model generation unit becomes unnecessary, thus simplifying the configuration of the control device.
[0055] Furthermore, in the control device according to Embodiment 2, the stored trained model may be a trained model generated internally by the control device. In this configuration, the control device includes a model generation unit that generates a trained model according to training data created based on a combination of response delay time, observed values, and command values. By generating and maintaining a trained model, the accuracy of the trained model can be improved over time, thereby improving the accuracy of trajectory deviation suppression.
[0056] Embodiment 3. Embodiment 3 describes variations in axis selection. Figure 13 is a diagram illustrating the variations in axis selection in Embodiment 3. The variations in axis selection shown in Figure 13 are applicable to both the control device 1 of Embodiment 1 and the control device 1A of Embodiment 2. The following describes the case where it is applied to the control device 1 of Embodiment 1.
[0057] The upper part of Figure 13 shows the first variation of axis selection. The first variation is the case where the control target of the control device 1 is only the axis controlled by the self-control device, and the axis of control includes the principal axis. When correcting for delay time, there are axes that are not time-shifted and axes that are time-shifted, but the reference axis is the axis that is not time-shifted, and the dependent axes are the axes that are time-shifted. The first variation is an example in which the first axis, which is the principal axis, is the reference axis, and the two second axes, which are servo axes, are the dependent axes.
[0058] The upper middle section of Figure 13 shows a second variation of axis selection. The second variation is the case where the control target of the control device 1 is only the axis controlled by the self-control device, and the axis of control does not include the principal axis. In this example, one of the three servo axes is designated as the first axis (reference axis), and the remaining two servo axes are designated as second axes (dependent axes).
[0059] The middle and lower sections of Figure 13 show a third variation of axis selection. The third variation is a case where the control target of the control device 1 includes an axis controlled by an external control device, in which one of the two servo axes controlled by the self-control device is designated as the first axis (reference axis), and the remaining servo axis of the self-control device and the servo axis of the external control device are designated as the second axis (dependent axis).
[0060] The lower part of Figure 13 shows a fourth variation of axis selection. The fourth variation is the case where the control target of the control device 1 is only the axes controlled by the external control device, and in this example, one of the three servo axes controlled by the external control device is designated as the first axis (reference axis), and the remaining two servo axes are designated as second axes (dependent axes).
[0061] Figure 14 shows an example of the configuration of the axis control system according to the third variation of Figure 13. First, the basic configuration of the control device 1 is the same as in Figure 1. Furthermore, the configuration of the axis control system corresponds to the case where the number n of the second axis 62 is set to n=2 in the axis control system of Figure 9. Note that components that are the same or equivalent as those in Figures 1 and 9 are denoted by the same reference numerals, and explanations of redundant content are omitted as appropriate.
[0062] Furthermore, Figure 14 shows a robot control device 100 as an external control device. The robot control device 100 includes a command value generation unit 102. The control axis of the robot control device 100 is the second axis 62 2 And motor 60 2 is the second axis 62 2 It drives the observation instrument 64 2 is the second axis 62 2 Observe its position.
[0063] The control device 1 according to Embodiment 3 includes a first axis 52 and a second axis 62, which are control axes controlled by the self-control device. 1 This is not limited to the control device 1, but also includes the second axis 62, which is a control axis controlled by the robot control device 100, which is an external control device connected to the control device 1. 2 For this as well, trajectory control is performed to maintain synchronization with the first axis 52. Second axis 62 2The calculation processing for controlling the trajectory is performed on the control device 1 side. The robot control device 100 receives information from the control device 1 to change the command value. The command value generation unit 102 of the robot control device 100 generates the second axis 62 based on the information received from the control device 1. 2 The command value to motor 60 is changed. 2 via the second axis 62 2 It drives the engine.
[0064] In Figure 14, one robot control device 100 is shown as the external control device, but there may be multiple external control devices. Also, although Figure 14 shows an example of the configuration of the axis control system according to the third variation of Figure 13, it goes without saying that it is also applicable to the axis control system according to the first, second, or fourth variation. The axis control system according to the first and second variations is as described in Embodiment 1.
[0065] As described above, the control device according to Embodiment 3 can perform trajectory control by using the functions of the control device according to Embodiment 1 or Embodiment 2, with the axis controlled by the self-control device as the first axis and at least one of the axes controlled by the external control device connected to the self-control device as the second axis. With the control device according to Embodiment 3, there is no need to add the functions of the control device according to Embodiment 1 or Embodiment 2 to the external control device, so it is possible to enjoy the effects of Embodiment 1 or Embodiment 2 while also enjoying cost benefits.
[0066] Embodiment 4. Embodiment 4 describes an application example to two or more axes moving in the same direction, as an extension of the axis selection variations described in Embodiment 3. Figure 15 is a diagram showing an example of an embodiment using the axis selection variations in Embodiment 4. Figure 15 shows robot control devices 112a and 112b that control robots 110a and 110b, respectively, moving in the same direction, as an extension of the axis selection variations described in Embodiment 3. Robot 110a moves along the travel axis 104a, and robot 110b moves along the travel axis 104b. The travel axes 104a and 104b are parallel to each other. Note that the extension of axis selection variations shown in Figure 15 is applicable to either the control device 1 of Embodiment 1 or the control device 1A of Embodiment 2. The following describes the case when applied to the control device 1 of Embodiment 1.
[0067] Figure 16 is a diagram illustrating the control process by the control device 1 according to Embodiment 4. The left side of Figure 16 shows the travel trajectory before trajectory deviation correction, and the right side of Figure 16 shows the travel trajectory after trajectory deviation correction. The horizontal axis in each figure indicates the position of the travel axis 104a, and the vertical axis in each figure indicates the position of the travel axis 104b. The dashed line shows the ideal travel trajectory, and the solid line shows the actually observed travel trajectory.
[0068] The control processing by the control device 1 is as described in Embodiment 1 or Embodiment 2. Based on the response delay time of each of the travel axes 104a and 104b, a correction amount is calculated to suppress trajectory deviation between travel axis 104a and travel axis 104b, and the command value of at least one travel axis is changed based on this correction amount. By controlling the robot control devices 112a and 112b in this way, it becomes possible to bring the actual travel trajectory closer to the ideal travel trajectory, as shown on the right side of Figure 16.
[0069] As described above, the control device according to Embodiment 4 can perform trajectory control while utilizing the functions of the control device according to Embodiment 1 or Embodiment 2, even if the first axis and the second axis are axes that move in the same direction. Furthermore, the control device 1 according to Embodiment 4 may be an external control device, and the first axis and the second axis that move in the same direction may be axes controlled by the external control device. With such an embodiment, there is no need to add the functions of the control device according to Embodiment 1 or Embodiment 2 to the self-control device, so it is possible to enjoy the effects of Embodiment 1 or Embodiment 2 while also enjoying cost benefits.
[0070] Finally, the hardware configuration for realizing the functions of the control devices 1 and 1A described above will be explained with reference to Figure 17. Figure 17 is a block diagram showing an example of a hardware configuration for realizing the functions of the control devices 1 and 1A according to embodiments 1 to 4.
[0071] When implementing some or all of the functions of the control devices 1 and 1A according to embodiments 1 to 4, the configuration may include, as shown in Figure 17, a processing circuit 90 that performs calculation and control processing, an interface 91 that performs input and output of signals and data, and a storage device 94 that performs the functions of the storage unit 5 and model storage unit 5A described above and stores the data input and output by the interface 91. Furthermore, the processing circuit 90 may include a processor 92 and a memory 93 that stores the program read by the processor 92.
[0072] The processor 92 is an example of a arithmetic means. The processor 92 may be a arithmetic means called a microprocessor, microcomputer, CPU (Central Processing Unit), or DSP (Digital Signal Processor). The memory 93 can be exemplified by non-volatile or volatile semiconductor memories such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), or EEPROM® (Electrically EPROM).
[0073] Memory 93 stores a program that executes the functions of the control devices 1 and 1A according to Embodiments 1 to 4. The processor 92 exchanges necessary information via the interface 91, executes the program stored in memory 93, and performs the above-described processing by referring to the data stored in memory 93, as well as the trained model and training data stored in the storage device 94. The calculation results by the processor 92 can be stored in memory 93 or storage device 94.
[0074] Alternatively, instead of a configuration comprising a processor 92 and memory 93, the processing circuit 90 may be composed of a single circuit, a composite circuit, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a circuit combining these. Information input to and output from the processing circuit 90 can be exchanged via the interface 91. Furthermore, the control devices 1 and 1A may include a processor 92 and memory 93 while also comprising a processing circuit 90 composed of a single circuit, a composite circuit, an ASIC, or an FPGA.
[0075] The configurations shown in the above embodiments are merely examples, and it is possible to combine them with other known technologies, combine different embodiments, and omit or modify parts of the configuration without departing from the gist of the invention.
[0076] 1, 1A Control device, 2 Control unit, 3 Response delay time calculation unit, 4, 102 Command value generation unit, 5 Storage unit, 5A Model storage unit, 6 Learning unit, 7 Inference unit, 8 Correction amount inference unit, 24 Model generation unit, 40 Command value change unit, 42 Correction amount calculation unit, 50, 60, 60 1 ,60 2 ,60 N Motor, 52; First shaft, 54, 64, 64 1 ,64 2 ,64 N Observation instrument, 62, 62 1 ,62 2,62 N Second axis, 90 processing circuit, 91 interface, 92 processor, 93 memory, 94 storage device, 100, 112a, 112b robot control device, 104a, 104b travel axis, 110a, 110b robot.
Claims
1. A control device for which a movable part of a machine is driven by a plurality of axes, and the trajectory of the movable part is controlled by simultaneously controlling the motors of the plurality of axes, comprising: a control unit for operating the plurality of axes; a response delay time calculation unit for at least two of the plurality of axes, which is the difference between a first delay time until one of the axes actually starts operating based on a command value assigned to that axis, and a second delay time until another axis different from the one axis actually starts operating, based on observation data observed when the plurality of axes are operated; and a command value changing unit for changing the command value for at least one of the at least two axes in order to suppress trajectory deviation between the at least two axes based on the response delay time.
2. The control device according to claim 1, wherein any one of the at least two axes is set as the first axis, and at least one axis other than the first axis is set as the second axis, and the command value changing unit changes the command value of at least one of the first axis and the second axis so that the trajectory deviation between the first axis and the second axis is reduced.
3. The control device according to claim 2, characterized in that the response delay time calculation unit calculates the response delay time between the first axis and the second axis using the observed values of the first axis and the second axis; the command value changing unit calculates a time shift amount to speed up or delay the operation of the first axis or the operation of the second axis as a correction amount based on the response delay time; and the command value changing unit changes the command value of at least one of the first axis and the second axis based on the time shift amount.
4. The control device according to claim 3, characterized in that the command value changing unit changes the command value of at least one of the first axis and the second axis in real time each time the response delay time is calculated.
5. The control device according to claim 3 or 4, characterized in that when the command value changing unit corrects the command value of the second axis by the time shift amount, it adds or subtracts the residual, which is the difference between the previous command value of the first axis and the observed data based on the previous command value of the first axis, to the previous command value of the first axis to change the command value of the first axis.
6. A control device for which a movable part of a machine is driven by a plurality of axes, and the trajectory of the movable part is controlled by simultaneously controlling the motors of the plurality of axes, comprising: a control unit for operating the plurality of axes; a response delay time calculation unit that calculates a response delay time for at least two of the plurality of axes, which is the difference between a first delay time until one of the axes actually starts operating based on a command value assigned to that axis, and a second delay time until another axis different from the one axis actually starts operating, based on observation data observed when the plurality of axes are operated; a correction amount inference unit that inputs the acquired response delay time and observed values into a stored trained model and infers a correction amount to suppress trajectory deviation between at least two axes; and a command value changing unit that changes the command value for at least one of the at least two axes based on the correction amount.
7. The control device according to claim 6, wherein any one of the at least two axes is set as the first axis, and at least one axis other than the first axis is set as the second axis, and the command value changing unit changes the command value of at least one of the first axis and the second axis so that the trajectory deviation between the first axis and the second axis is reduced.
8. The control device according to claim 6 or 7, further comprising a model generation unit that generates the trained model according to training data created based on the combination of the response delay time, the observed value, and the command value.
9. The control device according to claim 6 or 7, characterized in that the stored learned model is a learned model acquired from an external source.
10. The control device according to claim 2 or 7, characterized in that the first axis is an axis controlled by an automatic control device, and at least one of the second axes is an axis controlled by an external control device connected to the automatic control device.
11. The control device according to claim 2 or 7, characterized in that the first axis and the second axis are axes that move in the same direction.
12. A control method using a control device that controls the trajectory of a movable part of a machine by simultaneously controlling the motors of the multiple axes, comprising: a first step of operating the multiple axes; a second step of calculating a response delay time for at least two of the multiple axes, which is the difference between a first delay time until one of the multiple axes actually starts operating based on a command value assigned to that axis, and a second delay time until another axis different from the first axis actually starts operating, based on observation data observed when the multiple axes are operated; and a third step of changing the command value for at least one of the at least two axes based on the response delay time so as to suppress trajectory deviation between the at least two axes.