A multi-stage iterative learning control method and medium

By employing a multi-stage iterative learning control method, combined with proportional and fractional control laws, the problem of slow convergence speed in iterative learning control methods when the tracking error is small is solved, achieving high precision and fast convergence, and improving the efficiency of control systems in industrial production.

CN116755325BActive Publication Date: 2026-07-21RENMIN UNIVERSITY OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
RENMIN UNIVERSITY OF CHINA
Filing Date
2023-06-07
Publication Date
2026-07-21

Smart Images

  • Figure CN116755325B_ABST
    Figure CN116755325B_ABST
Patent Text Reader

Abstract

The present application relates to a multi-stage iterative learning control method, comprising: S1, setting a target tracking trajectory relative to a system output and an expected tracking accuracy for a controlled control system; S2, setting an initial value of a state variable of the control system corresponding to a current iteration batch; S3, obtaining system outputs at each discrete time point in the current iteration batch and calculating system tracking errors at each discrete time point in the current iteration batch; S4, updating system inputs of a next iteration batch based on a proportional term of the system tracking errors or updating the system inputs of the next iteration batch based on a fractional order term of the system tracking errors according to sizes of the system tracking errors at each discrete time point in the current iteration batch; and S5, returning to S2 for continuous execution until the system tracking errors at each discrete time point in the current iteration batch are less than the expected tracking accuracy. The present application can greatly improve the convergence speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of automatic control technology, and in particular to a multi-stage iterative learning control method and a computer-readable storage medium. Background Technology

[0002] In actual production practice, many controlled systems complete one operation within a limited time and repeat continuously. For example, in automobile production, the completion of a car assembly by a robotic arm constitutes one operation of the control system, and subsequent assembly is a continuous repetition of the production process of the first car.

[0003] Traditional control technologies primarily rely on feedback mechanisms, using current information from the control system to manage it. These methods neglect the role of historical information. Iterative learning control algorithms, however, improve control performance by learning from historical data, enabling the control system to precisely achieve its target control tasks.

[0004] Currently, the most widely used form of iterative learning control method is the proportional control law. It has advantages such as simplicity, ease of use, and high tracking accuracy. However, the inventors of this application discovered that the proportional control law, precisely because of its simple linear form, has a slow convergence speed when the tracking error is small, thus limiting its application. In actual production practice, it is impossible to allow the control system to iterate an infinite number of times; therefore, iterative learning control algorithms with faster convergence speeds are required. Summary of the Invention

[0005] To address the aforementioned issues, the purpose of this application is to provide a multi-stage iterative learning control method that not only achieves high-precision tracking but also significantly improves convergence speed, thereby enhancing the performance of control systems in industrial production practices.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] Firstly, this application provides a multi-stage iterative learning control method, the method comprising:

[0008] S1, for the controlled system, sets the target tracking trajectory and expected tracking accuracy relative to the system output;

[0009] S2, starting from the first iteration batch, sets the initial values ​​of the state variables of the control system corresponding to the current iteration batch;

[0010] S3. Based on the initial values ​​of the state variables of the current iteration batch and the system input of the current iteration batch, obtain the system output of each discrete time point in the current iteration batch, and calculate the system tracking error of each discrete time point in the current iteration batch based on the system output of each discrete time point in the current iteration batch and the target tracking trajectory.

[0011] S4. Based on the magnitude of the system tracking error at each discrete time point of the current iteration batch, update the system input of the next iteration batch based on the proportional term of the system tracking error, or update the system input of the next iteration batch based on the fractional term of the system tracking error.

[0012] S5, return to S2 and continue execution until the system tracking error at each discrete time point of the current iteration batch is less than the expected tracking accuracy.

[0013] In one implementation of this application, the controlled system is an integer-order discrete single-input single-output linear system, specifically described as follows:

[0014]

[0015] in, These are the state variables of the control system. It is the system input of the control system. It is system output. It is the system matrix, k is the label of the iteration batch, and t = 0, 1, ..., T are the discrete time points in each iteration batch.

[0016] In one implementation of this application, setting the initial values ​​of the state variables of the control system corresponding to the current iteration batch includes:

[0017] For each iteration batch of the control system, the initial values ​​of the state variables are set to the same values.

[0018] In one implementation of this application, the system tracking error at each discrete time point of the current iteration batch is e. k (t)=y d (t)-y k (t),

[0019] Wherein, the target tracking trajectory is y d (t), t=1,2,...,T;y k (t) represents the system output of the current iteration batch.

[0020] In one implementation of this application, updating the system input for the next iteration batch based on the proportional term of the system tracking error includes:

[0021] Using formula

[0022] u k+1 (t)=u k (t)+βe k (t+1),

[0023] Update the system input for the next iteration batch;

[0024] Where β is the preset learning gain.

[0025] In one implementation of this application, updating the system input for the next iteration batch based on the fractional-order term of the system tracking error includes:

[0026] Using formula

[0027] u k+1 (t)=u k (t)+α|e k (t+1)| γ sgn(e k (t+1)),

[0028] Update the system input for the next iteration batch;

[0029] Where α is the preset learning gain; 0 < γ < 1 is the order of the fractional derivative; and sgn(x) is the sign function.

[0030] In one implementation of this application, for the control system, if the value of cb is known, then the tracking error e for the current batch is... k The value of (t) is used to determine if |e k (t)|∈[0,x1]∪[x2,∞) then the proportional control law given in step S4 is used to generate the control input for the next batch; if |e k If (t)|∈(x1,x2), then the fractional control law given in step S4 is used to generate the control input for the next batch, where,

[0031]

[0032] In one implementation of this application, for the control system, if the value of cb is unknown, but the boundary of cb is known, i.e. Then the tracking error e for the current batch k The value of (t) is used to determine if... Then the proportional control law given in step S4 is used to generate the control input for the next batch; if Then, the fractional-order control law given in step S4 is used to generate the control input for the next batch, wherein, For any value that satisfies the following condition:

[0033]

[0034] In one implementation of this application, the control system achieves the expected tracking accuracy after no more than K iteration batches; where K does not exceed 50.

[0035] Secondly, this application provides a computer-readable storage medium storing a computer program, wherein the computer program, when running, controls the device where the computer-readable storage medium is located to execute the multi-stage iterative learning control method described in the first aspect.

[0036] The present invention, by adopting the above technical solution, has the following advantages: In the solution of the present invention, the target tracking trajectory and expected tracking accuracy of the system output are first set for the controlled system. Then, starting from the first iteration batch, the initial values ​​of the state variables of the control system corresponding to the current iteration batch are set. Based on the initial values ​​of the state variables of the current iteration batch and the system input of the current iteration batch, the system output of each discrete time point in the current iteration batch is obtained, and the system tracking error of each discrete time point in the current iteration batch is calculated. Then, based on the magnitude of the system tracking error, the system input of the next iteration batch is updated based on the proportional term of the system tracking error, or based on the fractional term of the system tracking error, thereby obtaining a new system output again. This process is repeated until the system tracking error of each discrete time point in the iteration batch is less than the expected tracking accuracy. Therefore, compared with the prior art, a significant improvement in convergence speed can be achieved, thereby improving the efficiency of industrial production. Attached Figure Description

[0037] Figure 1 A block diagram illustrating a multi-stage iterative learning control method for an integer-order discrete linear system when system information is known, according to an embodiment of the present invention.

[0038] Figure 2 A block diagram illustrating a multi-stage iterative learning control method for an integer-order discrete linear system when system information is unknown, according to an embodiment of the present invention.

[0039] Figure 3 The graph shows the evolution of the system tracking error along the iteration axis for an integer-order discrete linear system when the system information is known, using proportional control law, fractional control law, and multi-stage iterative learning control law respectively.

[0040] Figure 4This is a graph showing the evolution of the system tracking error along the iteration axis for an integer-order discrete linear system when system information is unknown, obtained by applying proportional control law, fractional control law, and multi-stage iterative learning control law at different switching points. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the described embodiments of the present invention are within the scope of protection of the present invention.

[0042] To address the problem that existing iterative learning control methods suffer from slow convergence speeds that limit their application, this application provides a multi-stage iterative learning control method and medium. The method comprises: a multi-stage iterative learning control method, characterized by: setting a target tracking trajectory relative to the system output and an expected tracking accuracy for the controlled control system; starting from the first iteration batch, setting initial values ​​for the state variables of the control system corresponding to the current iteration batch; obtaining the system output at each discrete time point in the current iteration batch based on the initial values ​​of the state variables and the system input of the current iteration batch, and calculating the system tracking error at each discrete time point in the current iteration batch based on the system output at each discrete time point in the current iteration batch and the target tracking trajectory; updating the system input of the next iteration batch based on the proportional term of the system tracking error, or updating the system input of the next iteration batch based on the fractional term of the system tracking error, based on the magnitude of the system tracking error at each discrete time point in the current iteration batch; returning to continue execution until the system tracking error at each discrete time point of the current iteration batch is less than the expected tracking accuracy. The technical solution of this application not only achieves high-precision tracking, but also significantly improves the convergence speed, thereby enhancing the working efficiency of control systems in industrial production practices.

[0043] Referring to the accompanying drawings, in one aspect of an embodiment of this application, a multi-stage iterative learning control method is provided.

[0044] like Figure 1 This is a control block diagram of the multi-stage iterative learning control method of this application. The method of this application specifically includes:

[0045] S1, for the controlled system, sets the target tracking trajectory and expected tracking accuracy relative to the system output;

[0046] Specifically, the controlled control system (such as...) Figure 1 The controlled system in the text is an integer-order discrete single-input single-output linear system, specifically described as follows:

[0047]

[0048] in, These are the state variables of the control system. It is the system input of the control system. It is system output. It is the system matrix, k is the label of the iteration batch, and t = 0, 1, ..., T are the discrete time points in each iteration batch.

[0049] In this embodiment, the target tracking trajectory and expected tracking accuracy are set manually according to actual needs.

[0050] For example, based on actual control requirements, the system tracking target trajectory is set as follows: y d (t), t=1,2,...,T. Meanwhile, the tracking accuracy of the system can be set to ε according to actual needs.

[0051] S2, starting from the first iteration batch, sets the initial values ​​of the state variables of the control system corresponding to the current iteration batch;

[0052] Specifically, in this embodiment of the application, for each iteration batch of the control system, the initial value of the state variable is set to the same value, that is:

[0053] x k (0)=x k+1 (0), k = 0, 1, ...

[0054] Setting the state parameters in each iteration batch to the same arbitrary value can eliminate the influence of the initial tracking error on system control.

[0055] Furthermore, the control input for the initial iteration is set to an arbitrary value, i.e., u0(t) = m t ,t=1,2,…,T, where m t It is an arbitrary constant.

[0056] S3. Based on the initial values ​​of the state variables of the current iteration batch and the system input of the current iteration batch, obtain the system output of each discrete time point in the current iteration batch, and calculate the system tracking error of each discrete time point in the current iteration batch based on the system output of each discrete time point in the current iteration batch and the target tracking trajectory.

[0057] Specifically, based on the initial values ​​of the state variables of the current iteration batch and applying the system input of the current batch, the system output of each discrete time point of the current iteration batch can be obtained at the system output terminal.

[0058] Furthermore, based on the system output and the target tracking trajectory, the system tracking error can be calculated:

[0059] e k (t)=y d (t)-y k (t)

[0060] Wherein, the target tracking trajectory is y d (t), t=1,2,...,T;y k (t) represents the system output of the current iteration batch.

[0061] S4. Based on the magnitude of the system tracking error at each discrete time point of the current iteration batch, update the system input of the next iteration batch (proportional control law) based on the proportional term of the system tracking error, or update the system input of the next iteration batch (fractional control law) based on the fractional derivative of the system tracking error.

[0062] Specifically, two types of update control laws are set: proportional control law and fractional control law. The parameters in the two control laws can be set according to actual needs.

[0063] The selected proportional control law can be controlled by the control input u of the current batch. k (t) and tracking error e k (t)=y d (t)-y k (t), generating the control input u for the next batch. k+1 (t), and the corresponding generation rule is:

[0064] u k+1 (t)=u k (t)+βe k (t+1),

[0065] Where β is the learning gain, and to ensure the convergence of the control, the range of the learning gain is selected as follows:

[0066] 0 < 1 - βcb < 1;

[0067] The selected fractional-order control law can be controlled by the control input u of the current batch. k (t) and tracking error e k (t)=y d (t)-y k (t), generating the control input u for the next batch. k+1(t), and the corresponding generation rule is:

[0068] u k+1 (t)=u k (t)+α|e k (t+1)| γ sgn(e k (t+1)),

[0069] Where α is the learning gain, which is selected in the range αcb > 0, 0 < γ < 1 is the fractional value, and f(x) = sgn(x) is the sign function, which is defined as follows:

[0070]

[0071] In this embodiment of the application, under the current iteration batch, the magnitude of the system tracking error value at each time point is judged, and then the proportional control law or fractional control law in step S4 is selected to generate the control input for the next batch.

[0072] Specifically, if the value of cb is known, the corresponding control flow is as follows: Figure 1 As shown. For the system given in step S1, the tracking error e for the current batch is... k The value of (t) is used to determine if |e k (t)|∈[0,x1]∪[x2,∞) then the proportional control law given in step S4 is used to generate the control input for the next batch; if |e k If (t)|∈(x1,x2), then the fractional control law given in step S4 is used to generate the control input for the next batch, where, Therefore, when system information is known, in the multi-stage iterative learning control method proposed in this invention, the control input u for the next batch... k+1 The generation rule for (t) is:

[0073]

[0074] If the value of cb is unknown, but the boundary of cb is known, that is... The corresponding control process is as follows: Figure 2 As shown. For the system given in step S1, the tracking error e for the current batch is... k The value of (t) is used to determine if... Then the proportional control law given in step S4 is used to generate the control input for the next batch; if Then, the fractional-order control law given in step S4 is used to generate the control input for the next batch, wherein, For any value that satisfies the following condition:

[0075]

[0076] Therefore, when system information is unknown, in the multi-stage iterative learning control method proposed in this invention, the control input u for the next batch... k+1 The generation rule for (t) is:

[0077]

[0078] S5, return to S2 and continue execution until the system tracking error at each discrete time point of the current iteration batch is less than the expected tracking accuracy.

[0079] Specifically, the above control method can rapidly improve convergence performance. For example, in one implementation, the control system achieves the expected tracking accuracy after no more than K iterations; where K does not exceed 50.

[0080] In summary, the present invention first sets the target tracking trajectory and expected tracking accuracy relative to the system output for the controlled system. Then, starting from the first iteration batch, it sets the initial values ​​of the state variables of the control system corresponding to the current iteration batch. Based on the initial values ​​of the state variables of the current iteration batch and the system input of the current iteration batch, it obtains the system output at each discrete time point in the current iteration batch and calculates the system tracking error at each discrete time point in the current iteration batch. Then, based on the system tracking error at each discrete time point in the current iteration batch and its fractional term, it updates the system input of the next iteration batch by sampling and superimposing linear terms, thereby obtaining a new system output again. This process is repeated until the system tracking error at each discrete time point in the iteration batch is less than the expected tracking accuracy. Therefore, compared with the prior art, it can achieve a significant improvement in convergence speed and improve the efficiency of industrial production.

[0081] In another aspect of the embodiments of this application, a computer storage medium is also provided, which stores a computer program that, when executed by a computer, implements the aforementioned method.

[0082] The method provided by the embodiments of this application will now be described in a specific application scenario.

[0083] Consider the following permanent magnet motor system:

[0084]

[0085] The system matrix is:

[0086]

[0087] Step A1): Determine the desired tracking trajectory of the system: Determine the desired tracking trajectory as yd (t) = sin(t), t = 1, 2, ..., T, where T = 20.

[0088] Step A2): Determine the tracking error accuracy requirement: Assume the tracking error accuracy requirement is ε = 0.1, that is, after a finite number of iterations, the tracking error needs to satisfy max 1≤t≤20 |e k (t)|<0.1.

[0089] Step B1): Determine the initial system state value: Set the initial system state value to x. k (0) = [0 0] T .

[0090] Step B2): Determine the initial iterative input of the system: The initial iterative input is set to u0(t) = 0, t = 0, 1, ..., 19.

[0091] Step C1): Select the following proportional control law:

[0092] u k+1 (t)=u k (t)+20e k (t+1),

[0093] The gain β is chosen to be β = 20. Since cb = 0.02, 1 - βcb = 0.6 < 1 is satisfied.

[0094] Step C2): Select the following fractional-order control law:

[0095] u k+1 (t)=u k (t)+80|e k (t+1)| 0.5 sgn(e k (t+1)),

[0096] The gain α is chosen to be α = 80, and the fractional order is chosen to be γ = 0.5. Therefore, the conditions αcb = 1.6 > 0 and 0 < γ < 1 are satisfied.

[0097] Step D): Obtain the control inputs and outputs of the current batch of the system. k (t), t=0,1,…,19 and y k (t), t=1,2,…,20. The system tracking error e for the current batch is calculated. k (t)=sin(t)-y k (t), t=1,2,…,20.

[0098] Step E): Based on the control input and tracking error of the current batch, the control input for the next batch of the system is obtained using a multi-stage iterative learning control method. The specific rules are as follows:

[0099] Step E1): If the value of system cb is known, then the tracking error e for the current batch... k The value of (t) is used to determine if |e k (t)|∈[0,x1]∪[x2,∞) then the proportional control law given in step C1) is used to generate the control input for the next batch; if |e k If (t)|∈(x1,x2), then the fractional control law given in step C2) is used to generate the control input for the next batch, where, In summary, when system information is known, in a multi-stage iterative learning control method, the control input u for the next batch... k+1 The generation rule for (t) is:

[0100]

[0101] Step E2): For the system given in step A), if the value of cb is unknown, but the boundary of cb is known, i.e. Then the tracking error e for the current batch k The value of (t) is used to determine if... Then the proportional control law given in step C1) is used to generate the control input for the next batch; if Then, the fractional-order control law given in step C2) is used to generate the control input for the next batch, wherein, For any value that satisfies the following condition:

[0102]

[0103] Therefore, in summary, when system information is unknown, in the multi-stage iterative learning control method, the control input u for the next batch... k+1 The generation rule for (t) is:

[0104]

[0105] The next iteration is executed based on the input and tracking error of the next iteration.

[0106] Step F): Return to step D) and repeat until the system has completed the tracking task for the given target.

[0107] Figure 3The figure shows the system tracking error as a function of the number of iterations, obtained using proportional control laws, fractional control laws, and multi-stage iterative learning control laws, all under conditions where system information is known. As can be seen from the figure, the multi-stage iterative learning control law has the fastest convergence speed and can achieve zero-error tracking of the target trajectory.

[0108] Figure 4 The figure shows the curves of system tracking error versus iteration number obtained by applying proportional control, fractional control, and multi-stage control with different switching points to the controlled system when system information is unknown. As can be seen from the figure, as long as the switching point of the multi-stage iterative learning control method is selected within a given range, its convergence speed is always faster than that of proportional and fractional control. This demonstrates the advantage of the proposed method in terms of convergence speed.

[0109] In the several embodiments provided by this invention, it should be understood that the disclosed methods can be implemented in other ways. For example, the embodiments described above are merely illustrative.

[0110] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0111] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A multi-stage iterative learning control method, characterized in that, The method includes: S1, for the controlled system, sets the target tracking trajectory and expected tracking accuracy relative to the system output; S2, starting from the first iteration batch, sets the initial values ​​of the state variables of the control system corresponding to the current iteration batch; S3. Based on the initial values ​​of the state variables of the current iteration batch and the system input of the current iteration batch, obtain the system output of each discrete time point in the current iteration batch, and calculate the system tracking error of each discrete time point in the current iteration batch based on the system output of each discrete time point in the current iteration batch and the target tracking trajectory. S4. Based on the magnitude of the system tracking error at each discrete time point of the current iteration batch, update the system input of the next iteration batch based on the proportional term of the system tracking error, or update the system input of the next iteration batch based on the fractional term of the system tracking error. For the aforementioned control system, if If the value is known, then the tracking error for the current batch is... The value is used to determine if... Then update the system input for the next iteration batch using the proportional term based on the system tracking error; if Then, the system input for the next iteration batch is updated using a fractional-order term based on the system tracking error, where, , ; For the aforementioned control system, if The value is unknown, but The boundary is known, that is The tracking error for the current batch The value is used to determine if... Then, the system input for the next iteration batch is updated using the proportional term based on the system tracking error; if Then, the system input for the next iteration batch is updated using a fractional-order term based on the system tracking error, where, For any value that satisfies the following condition: ; in, The preset learning gain; The preset learning gain; , where is the order of the fractional term; , , It is the system matrix; S5, return to S2 and continue execution until the system tracking error at each discrete time point of the current iteration batch is less than the expected tracking accuracy.

2. The multi-stage iterative learning control method according to claim 1, characterized in that, The controlled system is an integer-order discrete single-input single-output linear system, specifically described as follows: in, These are the state variables of the control system. It is the system input of the control system. It is system output. It is a system matrix. This is the label for the iteration batch. These are discrete time points within each iteration batch; The system tracking error at each discrete time point in the current iteration batch is: , Among them, the target tracking trajectory is ; This is the system output for the current iteration batch.

3. The multi-stage iterative learning control method according to claim 2, characterized in that, The step of updating the system input for the next iteration batch based on the proportional term of the system tracking error includes: Using formula Update the system input for the next iteration batch; in, This is the preset learning gain.

4. The multi-stage iterative learning control method according to claim 2, characterized in that, The process of updating the system input for the next iteration batch based on the fractional-order term of the system tracking error includes: Using formula Update the system input for the next iteration batch; in, The preset learning gain; , where is the order of the fractional term; It is a symbolic function.

5. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed, controls the device containing the computer-readable storage medium to perform the multi-stage iterative learning control method according to any one of claims 1 to 4.