Servo adjustment system
The servo adjustment system automates servo motor control parameter adjustments using a virtual environment, reducing costs and errors while achieving high precision and speed, suitable for industrial machinery.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2022-04-25
- Publication Date
- 2026-06-02
AI Technical Summary
Existing servo motor control parameter adjustment techniques require additional devices, increasing costs and impose a heavy workload on users, leading to operational errors and prolonged adjustment times.
A servo adjustment system that utilizes a servo motor model, virtual control device, and servo adjustment device to perform adjustments based on virtual feedback information, eliminating the need for additional devices and automating the process for high precision and speed.
Enables high-precision, automated servo adjustments in a short time without additional devices, reducing user burden and operational errors, and allowing adjustments to be performed during the design stage without downtime.
Smart Images

Figure 0007869306000001 
Figure 0007869306000002 
Figure 0007869306000003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a servo adjustment system. [Background technology]
[0002] Conventionally, servo motor control parameter adjustment techniques such as gain filter adjustment, feedforward adjustment, and acceleration / deceleration adjustment (hereinafter referred to as servo adjustment) are known. These servo adjustment techniques require both improved adjustment accuracy and reduced adjustment time.
[0003] By the way, in order to perform servo adjustments, feedback information from when the servo motor or machine tool being controlled is actually operating is necessary. Therefore, the controlled object cannot be used for other purposes while servo adjustments are being performed. Also, the time required to actually operate the controlled object and acquire feedback information cannot be shortened.
[0004] In response to this, a technique has been proposed to perform servo adjustment so that the movement of the tool tip and the command match (see, for example, Patent Document 1). Furthermore, a technique has been proposed to assist servo adjustment using a virtual model (see, for example, Patent Document 2). [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2006-172149 [Patent Document 2] Japanese Patent Publication No. 2017-167607 [Overview of the Initiative] [Problems that the invention aims to solve]
[0006] However, the technology described in Patent Document 1 requires additional devices such as acceleration sensors, which increases costs. Furthermore, the technology described in Patent Document 2 requires the user to determine parameter values, which places a heavy workload on the user and can lead to operational errors.
[0007] This disclosure has been made in view of the above, and aims to provide a servo adjustment device that does not require additional devices and can automatically adjust servos with high precision and in a short amount of time. [Means for solving the problem]
[0008] One aspect of the present disclosure is a servo adjustment system for adjusting control parameter setting information of a servo motor controlled by a control device of an industrial machine, comprising: a servo motor model that virtualizes the operation of the servo motor; a virtual control device that virtually controls the servo motor model by executing an evaluation program based on the control parameter setting information; and a servo adjustment device that determines the control parameter setting information based on virtual feedback information obtained by executing the evaluation program multiple times based on different control parameter setting information in the virtual control device. [Effects of the Invention]
[0009] According to this disclosure, it is possible to provide a servo adjustment device that can automatically adjust servos with high precision and in a short time without requiring additional devices. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram showing the configuration of the servo adjustment system according to the first embodiment. [Figure 2] This flowchart shows the procedure for the servo adjustment process performed by the servo adjustment system according to the first embodiment. [Figure 3] This is a flowchart showing the procedure for generating feedback information. [Figure 4] This is a diagram showing servo parameter information. [Figure 5] It is a diagram showing servo motor model information. [Figure 6] It is a diagram showing control target model information. [Figure 7] It is a diagram showing command information. [Figure 8] It is a diagram showing servo motor model operation information considering the motor friction coefficient. [Figure 9] It is a diagram showing servo motor model operation information considering the motor friction coefficient and the feed shaft friction coefficient. [Figure 10] It is a flowchart showing the procedure of the determination process of parameter setting. [Figure 11] It is a diagram showing an example of parameter adjustment. [Figure 12] It is a block diagram showing the configuration of the servo adjustment system according to the second embodiment. [Figure 13] It is a block diagram showing the configuration of the servo adjustment system according to a modification example of the second embodiment. [Figure 14] It is a flowchart showing the procedure of the servo adjustment process executed by the servo adjustment system according to the second embodiment. [Figure 15] It is a flowchart showing the procedure of the tentative determination process of parameter setting. [Figure 16] It is a diagram showing an example of a parameter setting pattern. [Figure 17] It is a diagram showing an example of parameter setting applied to a plurality of virtual environments. [Figure 18] It is a flowchart showing the procedure of the determination process of parameter setting. [Figure 19] It is a diagram showing an example of learning results.
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second and third embodiments, the same reference numerals are given to the configurations common to the first embodiment, and the description thereof will be omitted as appropriate.
[0012] [First Embodiment] The servo adjustment system 1 according to the first embodiment is a system that adjusts the control parameter setting information (hereinafter referred to as parameter setting information) of a servo motor controlled by a control device of industrial machinery such as a machine tool. Figure 1 is a block diagram showing the configuration of the servo adjustment system 1 according to the first embodiment. As shown in Figure 1, the servo adjustment system 1 according to the first embodiment comprises a servo adjustment device 10, a virtual control device 20, a servo motor model 30, and a controlled object model 40. The virtual control device 20, the servo motor model 30, and the controlled object model 40 constitute a virtual environment 50.
[0013] The servo adjustment device 10 and the virtual control device 20 are computers composed of hardware such as a CPU (Central Processing Unit) and other arithmetic processing means, an auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various computer programs, a main memory means such as RAM (Random Access Memory) for storing data temporarily required by the arithmetic processing means to execute computer programs, an operating means such as a keyboard for the operator to perform various operations, and a display means such as a display that shows various information to the operator. These servo adjustment device 10 and virtual control device 20 can send and receive various signals from each other, and the communication method is not particularly limited.
[0014] The servo adjustment device 10 and / or virtual control device 20 are communicatively connected to a computerized numerical control device (CNC) (not shown) that corresponds to the control device of industrial machinery such as machine tools. The servo parameter information necessary for servo adjustment in this embodiment, which will be described later, is part of the CNC parameters stored in the numerical control device and is obtained from this numerical control device. Furthermore, the parameter setting information after servo adjustment in this embodiment is transmitted to this numerical control device and used for controlling the actual machine.
[0015] The servo adjustment device 10 performs servo motor control parameter adjustments (hereinafter referred to as servo adjustment), such as gain filter adjustment, feedforward adjustment, and acceleration / deceleration adjustment. Specifically, the servo adjustment device 10 acquires virtual feedback information (hereinafter referred to as virtual FB information) obtained by executing an evaluation program multiple times based on different parameter setting information in the virtual control device 20 described later, and performs servo adjustment by determining parameter setting information based on this information. The adjusted parameter setting information is transmitted to the virtual control device 20 and the numerical control device.
[0016] Accordingly, the servo adjustment device 10 includes a virtual feedback information acquisition unit (not shown) that acquires virtual FB information transmitted from the virtual control device 20, a parameter setting determination unit (not shown) that determines parameter setting information based on a plurality of virtual FB information obtained by performing operations with different parameter setting information, and a parameter setting transmission unit (not shown) that transmits the determined parameter setting information to the virtual control device 20 or the numerical control device.
[0017] The virtual control unit 20 virtually controls the servo motor model 30 by executing an evaluation program multiple times based on different parameter setting information and generating command information to be passed to the servo motor model 30, which will be described later. In addition, the virtual control unit 20 virtually drives the controlled object model 40, such as a machine tool, which will be described later. The virtual control unit 20 transmits feedback information (hereinafter also referred to as FB information) obtained by virtually controlling the servo motor model 30 and the controlled object model 40 to the servo adjustment device 10. The current parameter setting information transmitted from the servo adjustment device 10 is applied to the virtual control unit 20.
[0018] Here, the evaluation program is a program designed to perform servo adjustments quickly and efficiently, separate from the actual machining program, which generally has a longer machining time. Specifically, the evaluation program specifies the axial movement distance, feed rate, etc., according to various machining shapes such as circles, squares, and squares with corners. However, it is also possible to use the actual machining program that the user will be using for machining as the evaluation program instead.
[0019] The servo motor model 30 is a model that virtualizes the operation and characteristics of a servo motor. That is, the virtual environment 50 of this embodiment includes the servo motor model 30, which virtualizes the operation of a servo motor in a machine tool or the like. Specifically, the servo motor model 30 is a virtualized model that takes into account at least one of the following: undamped natural angular frequency, damping coefficient, lead command time, motor inertia, and motor friction coefficient. This makes it possible to perform operation simulations close to those of the actual machine in the virtual environment 50, and to obtain virtual feedback information (hereinafter also referred to as virtual FB information) that is close to that of the actual machine when it is in operation.
[0020] The controlled object model 40 is a virtualized model of the operation and characteristics of industrial machinery, such as machine tools. That is, the virtual environment 50 of this embodiment includes a controlled object model 40 that virtualizes industrial machinery such as machine tools. Specifically, the controlled object model 40 is a virtualized model that takes into account at least one of the following: spring constant, feed axis inertia, feed axis friction coefficient, and disturbance torque. This makes it possible to perform operation simulations that are closer to those of the actual machine in the virtual environment 50, and to obtain virtual feedback information that is closer to that of the actual machine when it is in operation.
[0021] Thus, in this embodiment, the generation of command information for the servo motor model 30 in the virtual control device 20 and the generation of virtual FB information in the servo motor model 30 and the controlled model 40 do not require real time, making high-speed execution of servo adjustment possible.
[0022] Next, the procedure for the servo adjustment process performed by the servo adjustment system 1 according to this embodiment will be described in detail with reference to Figure 2. Figure 2 is a flowchart showing the procedure for the servo adjustment process performed by the servo adjustment system 1 according to the first embodiment. This servo adjustment process is started, for example, in response to input operations from the user to the servo adjustment device 10.
[0023] In step S11, the virtual control unit 20 analyzes and executes the evaluation program. More specifically, the virtual control unit 20 executes the evaluation program based on the servo motor parameter setting information (hereinafter also simply referred to as parameter setting) currently applied to the virtual control unit 20. After that, the process proceeds to step S12. Note that this parameter setting is adjusted and changed by the servo adjustment process according to this flow.
[0024] In step S12, the virtual control unit 20 generates command information for the servo motor. Specifically, in step S11 described above, the virtual control unit 20 analyzes and executes the evaluation program, thereby generating command information for the servo motor. After that, the process proceeds to step S13.
[0025] In step S13, the virtual control unit 20 generates virtual feedback information. Specifically, based on the command information for the servo motor generated in step S12, the virtual control unit 20 generates virtual feedback information by virtually controlling and operating the servo motor model 30 and the controlled model 40. The process then proceeds to step S14. This virtual feedback information generation process will be described in detail later.
[0026] In step S14, the virtual control unit 20 transmits the virtual FB information generated in step S13 to the servo adjustment device 10. Then, the process proceeds to step S15.
[0027] In step S15, the servo adjustment device 10 acquires virtual FB information transmitted from the virtual control device 20. Then, the process proceeds to step S16.
[0028] In step S16, the servo adjustment device 10 determines the parameter settings based on the acquired virtual FB information. The process then proceeds to step S17. The details of this parameter setting determination process will be described later.
[0029] In step S17, the servo adjustment device 10 transmits the parameter settings determined in step S16 to the virtual control device 20. Then, the process proceeds to step S18.
[0030] In step S18, the virtual control unit 20 acquires the parameter settings transmitted from the servo adjustment device 10. The newly acquired parameter settings are stored in the virtual control unit 20 and applied to the next servo adjustment process. Then, the process proceeds to step S19.
[0031] In step S19, the servo adjustment device 10 determines whether or not the servo adjustment is complete. Specifically, for example, the servo adjustment device 10 maintains a list of adjustment parameters and determines whether or not the servo adjustment is complete based on whether or not the adjustment of all parameters in this list has been completed. Furthermore, for each parameter adjustment, it is determined that the adjustment is not complete until the parameter setting decision based on different virtual FB information has been made at least two or more times, i.e., multiple times. As described later, for example, it is determined that the adjustment is complete when the adjustment amount of the parameter becomes 1% or less. However, the determination of whether or not the servo adjustment is complete may also be made based on the user's judgment. If this determination is NO, the process returns to step S11; if YES, the process ends.
[0032] According to the servo adjustment process described above, the parameter setting information is determined and adjusted based on virtual FB information obtained by analyzing and executing the evaluation program multiple times in the virtual control device 20 based on different parameter setting information.
[0033] Next, the virtual FB information generation process in step S13 of Figure 2 described above will be explained in detail with reference to Figures 3 to 6. Here, Figure 3 is a flowchart showing the procedure for the virtual FB information generation process.
[0034] In step S21, the virtual control device 20 adds servo parameter information to the virtual FB information generation element. That is, servo parameter information is added to the virtual FB information generation element regardless of whether the servo motor model 30 or the controlled object model 40 is present or not. The process then proceeds to step S22.
[0035] Here, the virtual FB information generation element is the information necessary to generate virtual FB information in the virtual environment 50. The servo parameter information added as the virtual FB information generation element is the basis of the virtual FB information generation element. This servo parameter information is included in the CNC parameters stored in a numerical control device (CNC) (not shown) that is communicably connected to the servo adjustment system 1 of this embodiment, and is transmitted from the numerical control device and stored in the virtual control device 20.
[0036] Figure 4 shows servo parameter information. As shown in Figure 4, examples of servo parameter information include servo loop gain, speed integral gain, speed proportional gain, phase compensation gain, speed loop gain multiplier during cutting, gain multiplier during high-speed HRV (High Response Vector) current control, shift amount of speed integral gain, shift amount of speed proportional gain, load inertia ratio, amplifier maximum torque, feedforward coefficient, feedforward coefficient when using EGB (electronic gearbox), speed feedforward coefficient, feedforward coefficient during cutting, and speed feedforward coefficient during cutting.
[0037] Returning to Figure 3, in step S22, the virtual control device 20 determines whether or not the servo motor model 30 is present in the virtual environment 50. In the servo adjustment system 1 of this embodiment, the servo motor model 30 is provided in the virtual environment 50, so this determination is YES, and the process proceeds to step S23. On the other hand, if the configuration does not include the servo motor model 30, this determination is NO, and the process proceeds to step S26, where the virtual control device 20 generates virtual FB information based on the virtual FB information generation element including servo parameter information, and the process ends.
[0038] In step S23, the virtual control device 20 adds servo motor model information to the virtual FB information generation element. As a result, the virtual FB information generation element now includes servo parameter information and servo motor model information. The process then proceeds to step S24.
[0039] Here, unlike the servo parameter information described above, servo motor model information is not included in the CNC parameters, but is registered separately through input from a file or user screen operation, and is stored in the virtual control device 20. Figure 5 shows the servo motor model information. As shown in Figure 5, examples of servo motor model information include undamped natural angular frequency, damping coefficient, lead command time, motor inertia, motor friction coefficient, etc.
[0040] Returning to Figure 3, in step S24, the virtual control device 20 determines whether or not the controlled model 40 exists in the virtual environment 50. In the servo adjustment system 1 of this embodiment, the controlled model 40 is provided in the virtual environment 50, so this determination is YES, and the process proceeds to step S25. On the other hand, if the controlled model 40 is not provided, this determination is NO, and the process proceeds to step S26, where the virtual control device 20 generates virtual FB information based on virtual FB information generation elements including servo parameter information and servo motor model information, and the process ends. In this case, since virtual FB information is generated based on virtual FB information generation elements including servo motor model information, it is possible to generate virtual FB information that is closer to what would occur if the actual machine were in operation.
[0041] In step S25, the virtual control device 20 adds the controlled model information to the virtual FB information generation element. As a result, the virtual FB information generation element now includes servo parameter information, servo motor model information, and controlled model information.
[0042] Here, the controlled model information, like the servo motor model information described above, is not included in the CNC parameters, but is registered separately through input from a file or user screen operation, and is stored in the virtual control device 20. Figure 6 is a diagram showing the controlled model information. As shown in Figure 6, examples of controlled model information include spring constant, feed axis inertia, feed axis friction coefficient, disturbance torque, etc.
[0043] Returning to Figure 3, after the execution of step S25, the process proceeds to step S26, where the virtual control device 20 generates virtual FB information based on virtual FB information generation elements including servo parameter information, servo motor model information, and controlled object model information, and then terminates this process. In this case, since virtual FB information is generated based on virtual FB information generation elements including servo motor model information and controlled object model information, it is possible to generate virtual FB information that is even closer to what would occur when the actual machine is in operation.
[0044] Regarding the virtual FB information generation process of this embodiment described above, an example in which the virtual control device 20 generates virtual FB information by calculating the error amount, which is the difference (pulse number difference or time difference) between the command information and the servo motor model operation information, will be explained in detail with reference to Figures 7 to 9. Here, Figure 7 is a diagram showing the command information. Figure 8 is a diagram showing the servo motor model operation information considering the motor friction coefficient. Figure 9 is a diagram showing the servo motor model operation information considering the motor friction coefficient and the feed axis friction coefficient. In Figures 8 and 9, among the hatched areas that differ from the pulse hatching of the command information in Figure 7, the lightly hatched areas represent areas where the number of pulses has decreased compared to the number of pulses of the command information, and the darkly hatched areas represent areas where the number of pulses has increased compared to the number of pulses of the command information.
[0045] As shown in Figure 8, the pulses of the servo motor model operation information, which take into account the motor friction coefficient included in the servo motor model information, have a time Δt longer than the pulses of the command information shown in Figure 7. a It can be seen that there is a delay of several minutes. This is because, taking into account the motor friction coefficient of the servo motor model 30, there is a delay time Δt between the command information and the actual rotation / stopping of the servo motor model 30. a This is because it results in [the following].
[0046] Furthermore, as shown in Figure 9, the pulse of the servo motor model operation information, which takes into account not only the motor friction coefficient included in the servo motor model information but also the feed axis friction coefficient included in the controlled object model information, has a time Δt greater than the pulse of the command information shown in Figure 7. a Time Δt greater than b It can be seen that there is a further delay of several minutes. This is because, taking into account the motor friction coefficient of the servo motor model 30 and the feed axis friction coefficient of the controlled model 40, there is a delay time Δt between the command information and the actual rotation / stopping of the servo motor model 30. b This is because it results in [the following].
[0047] Therefore, for example, focusing on time t4, the number of pulses in the command information is 4, while the number of pulses in the servo motor model operation information, which takes into account the motor friction coefficient of the servo motor model 30, is 3, and the difference between the two, an error amount of 1, can be calculated. Similarly, the number of pulses in the servo motor model operation information, which takes into account the motor friction coefficient of the servo motor model 30 and the feed axis friction coefficient of the controlled object model 40, is 2, and the difference from the command information, an error amount of 2, can be calculated. In this way, the error amount, which is the difference from the command information, can be calculated, and virtual FB information can be generated based on the calculated error amount.
[0048] Next, the parameter setting determination process in step S16 of Figure 2 described above will be explained in detail with reference to Figures 10 and 11. Here, Figure 10 is a flowchart showing the procedure for determining the parameter settings.
[0049] In step S31, the servo adjustment device 10 selects the parameter to be adjusted (hereinafter referred to as the adjustment parameter). The servo adjustment device 10 has a list of adjustment parameters stored in advance and automatically selects an adjustment parameter from the stored list. Alternatively, it may select an adjustment parameter according to information input from the user. After that, the process proceeds to step S32.
[0050] Here, the adjustment parameter refers to the parameter whose setting value is to be changed from the parameter setting determined by acquiring virtual FB information during the previous servo adjustment process. In this embodiment, only one parameter is adjusted at a time. However, it is not limited to this, and it is also possible to adjust multiple parameters simultaneously.
[0051] Furthermore, once an adjustment parameter is selected, it usually remains selected until the servo adjustment device 10 determines that the adjustment is complete, following a predetermined rule, such as continuing the adjustment until the adjustment amount of the adjustment parameter falls below 1%. In other words, this parameter setting determination process is repeatedly executed, for example, until the adjustment amount of the adjustment parameter falls below 1%. However, it is also possible to forcibly interrupt the adjustment based on user input and allow the user to select the next adjustment parameter.
[0052] In step S32, the servo adjustment device 10 determines whether or not this is the first time the selected adjustment parameter has been changed. Specifically, the servo adjustment device 10 stores the number of times the parameter setting determination process has been executed for each adjustment parameter, and based on this stored information, it determines whether or not this is the first time the parameter setting determination process has been performed for the adjustment parameter selected in step S31. If this determination is YES, the device proceeds to step S33; otherwise, it proceeds to step S34.
[0053] In step S33, since this is the first time the selected adjustment parameter has been changed, the parameter setting is determined according to a predetermined rule 1, for example, rule 1 which changes the adjustment parameter to +10% of the initial value. After that, this process is terminated.
[0054] In step S34, since this is not the first time the selected adjustment parameters have been changed, the servo adjustment device 10 determines whether the virtual FB information generated and acquired by the virtual control device 20 is a better result than the previous parameter setting. For example, in this embodiment, if the error amount, which is the difference between the command information and the virtual FB information, is smaller than the previous parameter setting, it is determined to be a good result; conversely, if it is larger, it is determined to be a bad result. If this determination is YES, the process proceeds to step S35; otherwise, it proceeds to step S36.
[0055] In step S35, since the current virtual FB information is better than the previous parameter setting, the parameter setting is determined according to Rule 2, which is predetermined. For example, Rule 2 adds 80% of the previous adjustment amount to the previous value in the same direction as the previous parameter setting (if it's the second time, it's an addition of +8% of the initial value +10%). After that, this process is terminated.
[0056] In step S36, since the current virtual FB information is worse than the previous parameter setting, the parameter setting is determined according to Rule 3, which is predetermined. For example, Rule 3 subtracts 80% of the previous adjustment amount from the previous value in the opposite direction to the previous parameter setting (if it's the second time, it's a subtraction of -8% of +10% of the initial value). After that, this process is terminated.
[0057] Figure 11 shows an example of the parameter adjustment described above. As shown in Figure 11, the initial value of the selected adjustment parameter is, for example, 300. If it is the first time the adjustment parameter is changed, adjusting it according to Rule 1 to, for example, +10% of the initial value results in an adjusted value of 330. Next, if it is not the first time the adjustment parameter is changed, for example, the second time, and the current virtual FB information is better than the previous parameter setting, adjusting it according to Rule 2 by adding 80% of the previous adjustment amount to the previous value in the same direction as the previous parameter setting results in an adjusted value of 354. Also, if it is not the first time the adjustment parameter is changed, for example, the second time, and the current virtual FB information is worse than the previous parameter setting, adjusting it according to Rule 3 by subtracting 80% of the previous adjustment amount from the previous value in the opposite direction to the previous parameter setting results in an adjusted value of 306. In this way, the parameter setting determination process is repeatedly executed until, for example, the adjustment amount of the adjustment parameter is 1% or less.
[0058] The servo adjustment system 1 according to this embodiment provides the following effects.
[0059] The servo adjustment system 1 according to this embodiment comprises a servo motor model 30 that virtualizes the operation of a servo motor, a virtual control device 20 that virtually controls the servo motor model 30 by executing an evaluation program based on control parameter setting information, and a servo adjustment device 10 that determines the control parameter setting information based on virtual FB information obtained by executing the evaluation program multiple times based on different control parameter setting information in the virtual control device 20.
[0060] Furthermore, in the servo adjustment system 1 according to this embodiment, preferably, the system further includes a control target model that virtualizes an industrial machine, and the servo adjustment device 10 is configured to acquire virtual FB information by having a servo motor model 30, which is virtually controlled by a virtual control device 20, drive the control target model 40.
[0061] As a result, according to this embodiment, servo adjustment can be automatically performed based on virtual feedback information from a virtual environment 50 that utilizes a servo motor model 30 including the operation and characteristics of the servo motor, and a controlled object model 40 including the operation and characteristics of the industrial machine, enabling high-precision and automatic determination of parameter settings. Therefore, virtual feedback information closer to that of the actual machine can be generated, and servo adjustment closer to that of the actual machine can be performed. Furthermore, compared to when the user determines the parameter settings, the burden on the user can be reduced, and operational errors can be prevented.
[0062] Furthermore, according to this embodiment, servo adjustment is possible using the virtual environment 50, and high-speed execution in the virtual environment 50 enables automatic servo adjustment in a short time. Therefore, downtime of the equipment can be reduced by not requiring the actual machine, and servo adjustment work can be performed at the design stage.
[0063] Furthermore, according to this embodiment, by constructing a virtual environment 50 that accurately reflects the dimensions, friction, and mechanical rigidity of the industrial machine, it becomes possible to simulate the movement of the tool tip from virtual FB information, i.e., the operation of the servo motor model, eliminating the need for additional devices such as acceleration sensors.
[0064] Furthermore, according to this embodiment, since the evaluation program is executed on the virtual control device 20 to generate virtual FB information, it is possible to easily obtain virtual FB information for different command information by changing the evaluation program. In addition, it is possible to use the actual machining program (or a part thereof) used by the user for machining as the evaluation program, eliminating the need to separately prepare axis movements for evaluation, and making it easy to obtain the actual movements to be adjusted.
[0065] [Second Embodiment] Figure 12 is a block diagram showing the configuration of the servo adjustment system 1A according to the second embodiment. As shown in Figure 12, the servo adjustment system 1A according to the second embodiment differs from the servo adjustment system 1 according to the first embodiment in that it includes a machine learning device 60 and a learning data memory 70, while the other configurations are the same as those of the first embodiment.
[0066] The machine learning device 60, like the servo adjustment device 10A and the virtual control device 20, is a computer composed of hardware such as a CPU and other arithmetic processing means, an HDD or SSD and other auxiliary storage means for storing various computer programs, a RAM and other main memory means for storing data temporarily required by the arithmetic processing means to execute computer programs, an operating means such as a keyboard for the operator to perform various operations, and a display means such as a display for displaying various information to the operator. The machine learning device 60 and the learning data memory 70 are capable of sending and receiving various signals to and from each other with the servo adjustment device 10A and the virtual control device 20, and the communication method is not particularly limited.
[0067] The machine learning device 60 acquires virtual FB information from the virtual environment 50 via the servo adjustment device 10A, and executes servo adjustment by machine learning based on the acquired virtual FB information. That is, in the first embodiment, the control parameter setting information of the servo adjustment device 10 is determined according to a predetermined rule based on the virtual FB information obtained based on a plurality of different parameter settings, whereas in this embodiment, the control parameter setting information is determined by machine learning using the machine learning device 60.
[0068] The learning data memory 70 acquires and registers machine learning data including the learning results executed by this machine learning device 60. The learning results include, for example, the pass / fail judgment results corresponding to the above-described error amount that is the difference between the virtual FB information and the command information for the servo motor model. This learning result will be described in detail later.
[0069] Note that the machine learning data registered in the learning data memory 70 is shared between the virtual environment 50 and the actual environment composed of a servo motor, a machine tool, a numerical control device, etc. (not shown). As a result, it becomes possible to execute servo adjustment by more efficient machine learning, and servo adjustment with higher precision and in a shorter time can be realized.
[0070] Here, the machine learning executed by the machine learning device 60 is not particularly limited, and examples include supervised learning, unsupervised learning, reinforcement learning, etc. Among them, for example, reinforcement learning similar to the reinforcement learning described in Japanese Patent Application Laid-Open No. 2018-180764 can be preferably applied to the machine learning device 60 of this embodiment.
[0071] Specifically, the machine learning device 60 is configured to perform reinforcement learning on parameters (for example, parameter a i , b j (i, j ≧ 0)) of the control parameter setting information that is the object of servo adjustment. More specifically, the machine learning device 60 has parameters a i , b jThe value of, virtual FB information obtained when the virtual control device 20 executes the evaluation program, and command information to the servo motor model 30 are defined as state s, and the parameter a related to this state s i , b j The system is configured to perform Q-learning, where the adjustment of is defined as action a. As is well known to those skilled in the art, in Q-learning, given a state s, the action a with the highest value Q(s,a) is selected as the optimal action from among the possible actions a. This makes it possible to select optimal control parameter setting information. A more detailed explanation is provided in Japanese Patent Publication No. 2018-180764, so a detailed explanation is omitted here.
[0072] Figure 13 is a block diagram showing the configuration of a modified servo adjustment system 1B according to the second embodiment. As shown in Figure 13, the servo adjustment system 1B according to the modified second embodiment differs from the servo adjustment system 1A according to the second embodiment in that it has multiple virtual environments 51, 52, ... 50n and the servo adjustment device 10B has multiple environment management units 11, while the other configurations are the same as those of the second embodiment.
[0073] Each of the multiple virtual environments 51, 52, ... 50n has the same configuration as the virtual environment 50 of the first and second embodiments. That is, each of the multiple virtual environments 51, 52, ... 50n has the same configuration. Therefore, in addition to the virtual control devices 21, 22, ... 20n all having the same configuration, the servo motor models 31, 32, ... 30n all having the same configuration, and the controlled object models 41, 42, ... 40n all having the same configuration. As a result, by virtually operating the same machine tool model and servo motor model in multiple virtual environments, it is possible to acquire virtual FB information in parallel, and since machine learning can be performed in parallel, high-speed learning is possible.
[0074] The multiple environment management unit 11 of the servo adjustment device 10B manages control parameter setting information applicable to multiple virtual environments 51, 52, ... 50n. More specifically, the multiple environment management unit 11 manages the parameter settings to be sent to the multiple virtual environments 51, 52, ... 50n. That is, the multiple environment management unit 11 manages which parameters, or which parameter setting patterns (described later), are to be executed in which virtual environment.
[0075] This makes it possible to run evaluation programs with different parameter settings in each virtual environment 51, 52, ... 50n and acquire virtual FB information. Furthermore, by collecting virtual FB information as training data from multiple virtual environments 51, 52, ... 50n and performing machine learning simultaneously, registering the obtained training results in the training data memory 70, and sharing this among the multiple virtual environments 51, 52, ... 50n, faster machine learning becomes possible.
[0076] Next, the servo adjustment process performed by the servo adjustment system 1A according to the second embodiment will be described in detail with reference to Figure 14. Here, Figure 14 is a flowchart showing the procedure for the servo adjustment process performed by the servo adjustment system 1A according to the second embodiment. This servo adjustment process is started, for example, in response to input operations from the user to the servo adjustment device 10A. The servo adjustment process performed by the servo adjustment system 1B according to a modified example of the second embodiment is the same as the procedure shown in Figure 14.
[0077] In step S51, the servo adjustment device 10A provisionally determines the parameter settings. Then, the process proceeds to step S52. This provisional parameter setting determination process will be described in detail later.
[0078] In step S52, the servo adjustment device 10A transmits the parameter settings provisionally determined in step S51 to the virtual control device 20 of the virtual environment 50. Then, the process proceeds to step S53.
[0079] In step S53, the virtual control device 20 acquires the parameter settings that have been provisionally determined and transmitted by the servo adjustment device 10A. Then, the process proceeds to step S54.
[0080] Steps S54 to S58 correspond to steps S11 to S15 of the servo adjustment process according to the first embodiment, respectively, and the same process is executed. That is, in this embodiment, virtual FB information is generated by analyzing and executing an evaluation program in the virtual control device 20 based on the parameter settings provisionally determined by the servo adjustment device 10A. Then, the process proceeds to step S59.
[0081] In step S59, the machine learning device 60 performs machine learning based on virtual FB information derived from multiple different control parameter setting information transmitted and acquired from the servo adjustment device 10A, and generates learning results. The process then proceeds to step S60.
[0082] In step S60, the learning data memory 70 acquires the learning results obtained by machine learning performed by the machine learning device 60 and registers the acquired learning results in the data memory. Then, the process proceeds to step S61.
[0083] In step S61, the servo adjustment device 10A determines whether or not machine learning by the machine learning device 60 has been completed. If the determination is YES, the process proceeds to step S62; otherwise, the process returns to step S51.
[0084] In step S62, the servo adjustment device 10A determines the parameter settings. Then, the process proceeds to step S63. The process of determining these parameter settings will be described in detail later.
[0085] Steps S63 and S64 correspond to steps S17 and S18 of the servo adjustment process according to the first embodiment, respectively, and the same process is executed. After the execution of step S64, this process is terminated.
[0086] Next, the provisional determination process for parameter settings in step S51 described above will be explained in detail with reference to Figure 15. Here, Figure 15 is a flowchart showing the procedure for the provisional determination process for parameter settings.
[0087] In step S71, the servo adjustment device 10A generates a setting pattern for the target parameters only on the first attempt. More specifically, the machine learning device 60 determines one or more parameters for which the optimal value is to be sought, i.e., the parameters targeted for servo adjustment (adjustment parameters), and generates a setting pattern for the parameters for which the evaluation program is executed. After that, the process proceeds to step S72.
[0088] Here, Figure 16 shows an example of a parameter setting pattern. As shown in Figure 16, a two-dimensional setting pattern is generated by defining minimum, maximum, and step values for each of two parameters, X and Y. The parameter setting pattern shown in Figure 16 is just an example and is not limited to two dimensions; a three-dimensional setting pattern may also be used. This setting pattern is automatically determined by the servo adjustment device 10A. However, the user may be allowed to determine this parameter setting pattern.
[0089] Returning to Figure 15, in step S72, the servo adjustment device 10A determines whether there are multiple virtual environments. In the servo adjustment system 1A according to the second embodiment, there is only one virtual environment, virtual environment 50, and the determination is NO, so the system proceeds to step S73. On the other hand, in the servo adjustment system 1B according to a modified example of the second embodiment, there are multiple virtual environments such as virtual environments 51, 52, ... 50n, and the determination is YES, so the system proceeds to step S74.
[0090] In step S73, since there is only one virtual environment as in the second embodiment, the servo adjustment device 10A tentatively determines the parameter settings to be applied to the virtual environment 50 based on the parameter setting pattern shown in Figure 16, for example, and then terminates this process.
[0091] In step S74, since there are multiple virtual environments as in the modified version of the second embodiment, the multiple environment management unit 11 of the servo adjustment device 10B provisionally determines the parameter settings to be applied to each of the multiple virtual environments 51, 52, ... 50n based on the parameter setting pattern shown in Figure 16, for example, and then terminates this process.
[0092] Here, Figure 17 shows an example of parameter settings applied to multiple virtual environments. The parameter settings shown in Figure 17 are obtained by dividing the two-dimensional parameter setting pattern consisting of parameters X and Y shown in Figure 16 into four parts and applying them to each of the virtual environments 1 to 4. In the servo adjustment system 1B according to a modified example of the second embodiment, since there are n virtual environments, the two-dimensional parameter setting pattern consisting of parameters X and Y shown in Figure 16 may be divided into n parts and applied to each of the virtual environments 51, 52, ... 50n. Alternatively, if there are many parameters to be targeted, a configuration may be used in which completely different patterns are assigned to each virtual environment, such as parameter X and parameter Y in virtual environment 51, and parameter N and parameter M in virtual environment 52, to acquire virtual FB information and perform machine learning.
[0093] Next, the process of determining the parameter settings in step S62 described above will be explained in detail with reference to Figure 18. Here, Figure 18 is a flowchart showing the procedure for determining the parameter settings.
[0094] In step S81, the servo adjustment device 10A determines the parameter settings that yield the best judgment result from the learning results registered in the learning data memory 70. The criteria for judgment include, for example, the good or bad judgment result according to the error amount, which is the difference between the command information to the servo motor model and the virtual FB information. After that, this process is terminated.
[0095] Here, Figure 19 shows an example of the learning results. As shown in Figure 19, specific good / bad judgment results include, for example, judgments for each parameter setting in order from the smallest error amount to "best," "very good," "good," "acceptable," and "unacceptable." In the example shown in Figure 19, the parameter setting with parameter X at 160 and parameter Y at 35 is judged to be the best, so the servo adjustment device 10A decides on this parameter setting.
[0096] In actual operation, the optimal values determined in a virtual environment may not perfectly match those in the real environment. Therefore, it is preferable to perform machine learning again in the real environment, limiting the results to the range determined as "best" and "very good," as mentioned above.
[0097] The servo adjustment systems 1A and 1B according to this embodiment provide the following effects.
[0098] In the servo adjustment system 1A according to this embodiment, a machine learning device 60 is further provided to learn control parameter setting information using virtual FB information, and the servo adjustment device 10A is configured to determine the control parameter setting information based on the learning results from the machine learning device 60.
[0099] This allows servo adjustment to be performed using machine learning by the machine learning device 60, based on virtual FB information obtained through virtual control of the servo motor model 30 in the virtual environment 50. Therefore, according to this embodiment, it is possible to automatically perform servo adjustment with higher precision and in a shorter time.
[0100] Furthermore, the servo adjustment system 1B according to this embodiment is configured to have multiple virtual environments 51, 52, ... 50n, each having a virtual control device 21, 22, ... 20n, a servo motor model 31, 32, ... 30n, and a controlled object model 41, 42, ... 40n. In addition, the servo adjustment device 10B has a multiple environment management unit 11 that manages control parameter setting information applied to the multiple virtual environments 51, 52, ... 50n, and the machine learning device 60 is configured to machine learn the control parameter setting information using virtual FB information obtained from the multiple virtual environments 51, 52, ... 50n.
[0101] This allows for the simultaneous and parallel virtual operation of the controlled models 41, 42, ... 40n and the servo motor models 31, 32, ... 30n in multiple virtual environments 51, 52, ... 50n, thereby enabling the simultaneous acquisition of virtual feedback information. Consequently, according to this embodiment, machine learning based on virtual feedback information can be performed at a higher speed, and servo adjustments can be automatically performed with higher accuracy and in a shorter time.
[0102] This disclosure is not limited to the above-described embodiments, and any modifications or improvements that can achieve the purpose of this disclosure are included.
[0103] For example, in the above embodiment, a machine tool was used as an example of an industrial machine, but the invention is not limited to this. This disclosure is also applicable to other industrial machines, such as robots equipped with servo motors.
[0104] Furthermore, although the above embodiment, for example, is configured such that the virtual environment 50 includes a controlled model 40, the disclosure is not limited to this configuration. This disclosure can also be applied to virtual environments that do not include a controlled model 40.
[0105] Furthermore, in the modified version of the second embodiment described above, for example, the virtual environments 51, 52, ... 50n are all configured to have servo motor models 31, 32, ... 30n and controlled object models 41, 42, ... 40n. However, the invention is not limited to this. The configuration may include at least one of the multiple virtual environments having servo motor models or controlled object models, while the other virtual environments do not have servo motor models or controlled object models. [Explanation of symbols]
[0106] 1,1A,1B Servo Adjustment System 10, 10A, 10B Servo Adjustment Device 11. Multiple Environment Management Department 20,21,22,20n Virtual control unit 30, 31, 32, 30n Servo Motor Model 40, 41, 42, 40n Controlled Models 50, 51, 52, 50n virtual environments 60 Machine Learning Devices 70 Training data memory
Claims
1. A servo adjustment system that adjusts the control parameter setting information of a servo motor controlled by a control device of industrial machinery, A servo motor model that virtualizes the operation of the servo motor by taking into account at least one of the following: undamped natural angular frequency, damping coefficient, lead command time, motor inertia, and motor friction coefficient, A virtual control device that virtually controls the servo motor model by executing an evaluation program based on the control parameter setting information, A servo adjustment device that determines the control parameter setting information based on virtual feedback information obtained by executing the evaluation program multiple times based on different control parameter setting information in the virtual control device, The system includes a machine learning device that uses the virtual feedback information to learn the control parameter setting information, The servo adjustment device determines the control parameter setting information based on the learning results from the machine learning device. The system comprises multiple virtual environments, each having the aforementioned virtual control device and at least one of the servo motor models. The servo adjustment device has multiple environment management units that manage the control parameter setting information applied to the multiple virtual environments, The machine learning device is a servo adjustment system that uses virtual feedback information obtained by executing the evaluation program with different control parameter setting information in each of the multiple virtual environments to learn the control parameter setting information.
2. The aforementioned industrial machine is further provided with a virtualized controlled model, The servo adjustment system according to claim 1, wherein the servo adjustment device acquires the virtual feedback information by having the servo motor model, which is virtually controlled by the virtual control device, drive the model to be controlled.
3. The servo adjustment system according to claim 1 or 2, wherein the multiple environment management unit manages which of the multiple virtual environments executes a two-dimensional or three-dimensional parameter setting pattern that defines a combination of multiple control parameters.