DEVICE AND METHOD FOR TESTING A PROCESS

20250362670 ยท 2025-11-27

    Inventors

    Cpc classification

    International classification

    Abstract

    A device and a method for testing a process. A state variable of the process is controllable using a control input from a controller. The method includes determining successive values of the state variables without control input, starting from an initial value of the state variables, and a set of the successive values of the state variables, which can be calculated, until the quadratic Lyapunov function for the value of the state variables reaches a predetermined threshold value, and determining that the process is robust with respect to the set of successive values without control input.

    Claims

    1-7. (canceled)

    8. A method for testing a process, wherein a state variable of the process is controllable using a control input from a controller, the method comprising the following steps: determining successive values of the state variables without control input, starting from an initial value of the state variables, and a set of the successive values of the state variables, which can be calculated, until a quadratic Lyapunov function for the value of the state variables reaches a predetermined threshold value; and determining that the process is robust with respect to the set of successive values without control input.

    9. The method according to claim 8, further comprising: determining an array of sets of successive values of the state variables without control input until the quadratic Lyapunov function for the value of the state variables reaches the predetermined threshold value, starting from different initial states of the state variables, and determining that the process is robust with respect to the sets of successive values without control input.

    10. The method according to claim 8, further comprising guiding the process to the initial value of the state variables using control input.

    11. The method according to claim 8, further the values of the state variables are determined using the process, wherein the process is carried out on a computer-controlled machine.

    12. The method according to claim 8, further comprising: receiving the control input from a remote controller; determining the state variables using the process; and activating a local controller for controlling the process upon detection that a maximum number of successive values of the control input is missing.

    13. A device for testing a process, wherein the device is configured to test a process, wherein a state variable of the process is controllable using a control input from a controller, the device configured to: determine successive values of the state variables without control input, starting from an initial value of the state variables, and a set of the successive values of the state variables, which can be calculated, until a quadratic Lyapunov function for the value of the state variables reaches a predetermined threshold value; and determine that the process is robust with respect to the set of successive values without control input.

    14. A non-transitory computer-readable medium on which is stored a computer program, including computer-readable instructions for testing a process, wherein a state variable of the process is controllable using a control input from a controller, the instructions, when executed by a computer, causing the computer to perform the following steps: determining successive values of the state variables without control input, starting from an initial value of the state variables, and a set of the successive values of the state variables, which can be calculated, until a quadratic Lyapunov function for the value of the state variables reaches a predetermined threshold value; and determining that the process is robust with respect to the set of successive values without control input.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0011] FIG. 1 schematically shows a communication network.

    [0012] FIG. 2 is a process diagram comprising steps of a method for controlling a process using a controller depending on a state variable of the process, according to an example embodiment of the present invention.

    [0013] FIG. 3 is a flowchart with steps of a method for testing the process, according to an example embodiment of the present invention.

    [0014] FIG. 4 shows an exemplary system that carries out the process, according to an example embodiment of the present invention.

    [0015] FIG. 5 shows an exemplary behavior of a quadratic Lyapunov function, according to an example embodiment of the present invention.

    DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

    [0016] FIG. 1 schematically shows a communication network 100.

    [0017] The communication network 100 comprises a first device 102 and a second device 104.

    [0018] The communication network 100 connects the first device 102 and the second device 104.

    [0019] The communication network 100 can comprise one or more intermediate stations, e.g., switches, between the first device 102 and the second device 104.

    [0020] The first device 102 is a local device with respect to at least one sensor which monitors the process 110 and with respect to at least one actuator which acts in the process 110. In this context, local means that the first device 102 has direct access to the at least one sensor and the at least one actuator. Direct access can mean that a delay in access is negligible compared to a delay in the communication network 100.

    [0021] According to one example, a process 110 is carried out on the first device 102, and a controller 112 for controlling the process 110 is executed on the second device 104.

    [0022] The process 110 controls a system on a local device, e.g., the first device 102. The local device performs input and/or output operations. For example, the local device reads inputs from sensors to monitor the system or the environment of the system. The local device controls, for example, actuators to control the system. The system can be an industrial machine, a software-defined vehicle, a device in the Internet of Things (IoT), or in the intelligent IoT (IIoT).

    [0023] For example, the process 110 includes controlling a computer-controlled machine, such as a software-defined vehicle. The controller 112 may be an edge device or a cloud-based controller.

    [0024] The communication network 100 comprises, for example, a CAN (Controller Area Network) bus. The communication network 100 comprises, for example, a local area network, LAN. The communication network 100 comprises, for example, a wireless local area network, WLAN. The communication network 100 comprises, for example, a wide area network, WAN.

    [0025] The communication network 100 may include a combination of CAN, LAN, WLAN, WAN.

    [0026] The first device 102 and the second device 104 may comprise a microcontroller and a memory, in particular a transient and a non-volatile memory. For example, a computer program can be provided on the transient and non-volatile memory, wherein the computer program comprises computer-readable instructions that, when executed by a computer, e.g., the microcontroller, cause the computer to carry out a method for controlling the process 110 using the controller 112.

    [0027] According to the example, the process 110 is represented and linearized by a system in the form of a discrete state space:

    [00001] x k + 1 = A x k + B u k

    where x.sub.k represents a value of the state variables of the process 110, u.sub.k represents a value of the control input of the process 110, A represents the system matrix of the process 110, and B represents the input matrix of the process 110.

    [0028] The system defines the behavior of the process 110.

    [0029] In the example, the system models a technical system of the real world in the form of a discrete state space.

    [0030] According to the example, the controller 112 is a controller with state feedback

    [00002] u k = - K x k

    where K is the control intensification matrix.

    [0031] The quadratic Lyapunov function for this system is

    [00003] V ( x ) = x T P x

    where P is a positive semidefinite matrix which, assuming that A is asymptotically stable, is derived from

    [00004] ( A - B K ) T P ( A - B K ) - P = - Q

    where Q is a symmetric positive definite matrix.

    [0032] For example, Q is the identity matrix, i.e., ones on the diagonal elements of the matrix and zeros everywhere else. Using the identity matrix makes calculations easier.

    [0033] The system is quadratically bounded if

    [00005] x T P x > .fwdarw. ( A x k + B K d k ) T P ( A x k + B K d k ) - x k T P x k < 0 , .Math. d .Math. and k 0

    where is a threshold value and d.sub.k is a disturbance.

    [0034] The quadratic boundedness property ensures robustness with respect to limited disturbances, since for every value outside the ellipsoid,

    [00006] = { x n .Math. "\[LeftBracketingBar]" x T P x }

    the controller 112 is able to counteract the effects of the disturbance d.sub.k.

    [0035] According to the example, the disturbance d.sub.k is a missing value u of the control input 206. The value u of the control input 206 may be missing due to problems in the communication network 100.

    [0036] According to the example, the disturbance d.sub.k is acceptable until the value V(x) of the quadratic Lyapunov function exceeds the threshold value , i.e., V(x)>.

    [0037] For example, a latency of the communication network 100 is modeled as disturbances d.sub.k, and as long as the disturbances d.sub.k are limited, the controller 112 restores the process 110, i.e., the system, to stability.

    [0038] Instead of latency, or in addition to latency, the disturbances d.sub.k can be used to model and monitor the network delay of the communication network 100, or to model uncertainties or other disturbances.

    [0039] In the absence of updates, the system can be described as an asymptotically stable system that is subjected to an external disturbance d.sub.k

    [00007] x k + 1 = A f x k + B K d k

    wherein

    [00008] A f = ( A - B K )

    [0040] According to the example, the states of the process 110 are measurable, observable or estimable.

    [0041] FIG. 2 is a process diagram comprising steps of the method for controlling the process 110 using the controller 112 depending on a state variable 202 of the process 110.

    [0042] In the example, the process 110 sends a value x of the state variables 202 via the communication network 100 to the controller 112.

    [0043] In a step 204, the controller 112 determines a value u of a control input 206 for the process 110 depending on the value x of the state variables 202.

    [0044] In the example, the controller 112 sends the value u of the control input 206 to the process 110 via the communication network 100.

    [0045] In a step 208, the process 110 is carried out depending on the received value u of a control input 206.

    [0046] The steps 202, 204, 206, 208 are carried out cyclically and repeatedly when the process 110 is controlled using the controller 112.

    [0047] During the control, it can happen that the process 110 does not receive a value u.sub.i of the control input 206 in a cycle i. According to the example, the process 110 is configured to retain the previously received value u.sub.i-1 of the control input 206 if the process 110 does not receive a value u.sub.i of the control input 206.

    [0048] During the control, it can happen that the process 110 does not receive a plurality of successive values u.sub.i-k, . . . , u.sub.i of the control input 206. In this case, the process 110 is configured to retain the last received value u.sub.i-k of the control input 206.

    [0049] Due to a disturbance of the communication network 100, the process 110 may not be able to receive the value u.sub.i or the successive values u.sub.i-k, . . . , u.sub.i of the control input 206. The fact that the value u.sub.i or the successive values u.sub.i-k, . . . , u.sub.i of the control input 206 are not received can lead to system instability.

    [0050] To observe whether the system can be pushed beyond the limits of .sub., the update of the control input 206 is stopped in a test j for a set k.sub.j of successive values u.sub.i-k.sub.j, . . . , u.sub.i of the control input 206.

    [0051] FIG. 3 shows a flowchart with steps of a method for testing the process 110.

    [0052] In the process 110, the state variable 202 of the process 110 is controllable using the control input 206 from the controller 112.

    [0053] In the example, the test is carried out using a system in the form of a discrete state space in the test. The test can be carried out using the actual system in the test or in a simulation of the actual system, wherein the system is utilized in a discrete state space form, instead of utilizing the actual system in the test.

    [0054] According to one example, the state variable 202 comprises at least one state of the computer-controlled machine, and the values of the state variables 202 are determined using the process 110 while the process 110 is carried out on the computer-controlled machine.

    [0055] The method for testing comprises a step 300.

    [0056] Step 300 comprises providing an initial value x.sub.0 of the state variables 202.

    [0057] Step 300 comprises providing a predetermined threshold value custom-character for the quadratic Lyapunov function V(x) for the values x of the state variables 202. The method in the example is based on a predefined robustness for the system. The value of is, for example, chosen to match the predefined robustness.

    [0058] For example, an initial state x.sub.0 is provided where the value of the quadratic Lyapunov function V(x.sub.0) is close to the predetermined threshold value .

    [0059] In this sense, the system is initialized very close to the limit of its robustness in order to estimate the worst-case scenario, namely a delay that occurs while the system is operating at the edge of its robustness.

    [0060] For an algorithm for numerically testing the robustness of the system, a threshold value can be chosen that is smaller than the threshold value near the limit.

    [0061] For example, an operator of the process knows, for a process, the maximum permissible deviation from the initial state x.sub.0 that is tolerable. For example, in the case of a pendulum on a cart, it is undesirable for the cart to move a certain distance from the center, or for the pendulum rod to be inclined by more than a certain angle. In general, such deviations are known because they are linked to performance or quality in actual processes.

    [0062] If this initial state x.sub.0 is known, the Lyapunov function V(x.sub.0) is calculated and the threshold value for the algorithm is determined depending on the Lyapunov function V(x.sub.0), in particular V(x)=. The algorithm examines the system at the edge of the threshold value and therefore does not lose stability, since threshold value <threshold value .

    [0063] The method for testing comprises a step 302.

    [0064] Step 302 comprises guiding the process 110 to the initial value x.sub.0 of the state variables 202 using the control input 206.

    [0065] The method for testing comprises a step 304.

    [0066] Step 304 comprises determining successive values of the state variables 202 without control input 206, starting from the initial value of the state variables 202.

    [0067] Step 304 comprises determining a set of successive values of the state variables 202, which can be calculated, until the quadratic Lyapunov function V(x) for the value x of the state variables 202 reaches the predetermined threshold value .

    [0068] According to one example, step 304 comprises determining an array k.sub.i of sets of successive values of the state variables 202 without control input 206, starting from different initial states of the state variables 202.

    [0069] An exemplary algorithm for numerically testing the robustness of the system is provided below.

    TABLE-US-00001 Input: , x.sub.0, N Output: k.sub.j, V(x.sub.k) k 1 x.sub.k x.sub.0 for j = 1 to N do if V(x.sub.k) < then x.sub.k+1 Ax.sub.k BKx.sub.0 k k + 1 else x.sub.k+1 = A.sub.fx.sub.k k.sub.j k k 1 end if x.sub.k x.sub.k+1 [00009] V ( x k ) x k T Px k end for

    [0070] The algorithm runs over N time steps. The control input is updated if V(x.sub.k)<. Every time the control input is updated, the algorithm stores the value of k in the array k.sub.i, which represents the maximum sequence of missing values of the control input 206 before the value of the state variables 202 leaves the ellipsoid .sub..

    [0071] The method for testing comprises a step 306.

    [0072] Step 306 comprises determining that the process 110 is asymptotically stable for the maximum set of successive missing values of the control input 206 when the set of successive values of the state variables reaches the maximum set or differs from the maximum set by less than a predetermined tolerance.

    [0073] According to one example, the controller 112 is a remote controller, and a local controller is available to control the process 110. The method for controlling the process 110 in this example can comprise receiving the control input 206 from the remote controller 112 and determining the state variable 202 using the process 110. The method for controlling the process 110 comprises, for example, activating the local controller for controlling the process 110 upon detection that the maximum set k* of successive values of the control input 206 is missing.

    [0074] FIG. 4 shows an exemplary system 400 that carries out the process, namely an inverted pendulum 400.

    [0075] The physical model of the inverted pendulum is given by the following system of second-order ordinary differential equations:

    [00010] L .Math. = g sin - y .Math. cos - k m L . ( M + m ) y .Math. = mL . 2 sin - m L .Math. cos - b y . + F

    where the mass of the rope is negligible, and [0076] m [Kg]: mass of the pendulum 402, [0077] M [Kg]: mass of the cart 404, [0078] L [m]: length of the pendulum from the pivot to the pendulum body, [0079] b [Ns/m]: friction coefficient of the cart 404, [0080] k [Nsm/Rad]: friction coefficient of the pendulum 402, [0081] [Rad]: angle formed by the pendulum with the vertical axes passing through the pivot, =0 represents the upright position, [0082] y [m]: position of the cart 404, [0083] F [N]: force exerted on the cart 404, [0084] g=9.81 [m/s.sup.2]: acceleration due to gravity.

    [0085] The inverted pendulum 400 is modeled for the state space variables x.sup.1=, x.sup.2={dot over ()}, x.sup.3=y, x.sup.4={dot over (y)} and approximations such as 00

    [00011] x = A x + B F

    wherein

    [00012] A = [ 0 1 0 0 M _ g LM - M _ ( kL m ) LM 0 b LM 0 0 0 1 - gm M ( k m ) M 0 - b M ]

    where M=M+m and the control input u is the force F exerted on the cart 404.

    [00013] B = [ 0 - 1 ML 0 1 M ] T

    [0086] FIG. 5 shows an exemplary behavior of the quadratic Lyapunov function V(x.sub.k) for the inverted pendulum in the test for a threshold value . In the example, the threshold value is =10. FIG. 5 shows 23 successive disturbances d.sub.k, which are caused by a missing value u of the control input. The control input in the example is the force F exerted on the cart 404. The disturbances in the example are caused by the missing force F exerted on the cart 404.

    [0087] According to the example, a received control input 502 is followed by 22 successive missing control inputs 504. FIG. 5 shows the time steps k=0, . . . , 45.

    [0088] In the case of 22 successive missing control inputs 504, the test confirms that the exemplary system 400 is asymptotically stable.

    [0089] FIG. 5 shows a first sequence of 22 successive missing control inputs 504 between a first received control input 502 and a second received control input 502. FIG. 5 shows a second sequence of 22 successive missing control inputs 504 between the second received control input 502 and a third received control input 502.