COMPUTER-IMPLEMENTED METHOD FOR DETERMINING A CONTROL VECTOR FOR REGULATING A SYSTEM
A computer-implemented procedure for determining a maneuver vector addresses stability and comfort issues in driver assistance systems by integrating stability measures, reducing abrupt maneuvers and extending component lifespan.
Patent Information
- Application Number
- DE102023211873
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-28
- Publication Date
- 2025-01-30
- Estimated Expiration
- 2043-11-28
AI Technical Summary
Existing driver assistance systems and autonomous driving technologies face challenges in ensuring stability and comfort while meeting safety requirements, as traditional security filters can cause abrupt vehicle maneuvers and destabilizing effects, particularly on low-friction surfaces.
A computer-implemented procedure for determining a maneuver vector that integrates stability measures into safety specifications, using a stability regulation based on a stability measure and a reference trajectory to minimize destabilizing effects and enhance comfort.
The proposed procedure reduces the frequency of abrupt maneuvers, increases passenger comfort, and extends the lifespan of system components by minimizing destabilizing interventions, while maintaining safety requirements.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
State of the art
[0001] Safety is considered one of the most significant challenges in driver assistance systems and autonomous driving. Previous techniques describe various extensions of an approach in which an input signal from a given motion controller is checked for safety using a backup controller (safety path), deciding whether applying the motion controller's output signals will ensure safety at future points in time.
[0002] While these extensions enable a basic design and efficient implementation of the desired safety mechanism on control units, the resulting safety interventions only guarantee safety specifications such as minimum / maximum lateral forces or acceleration / deceleration. Real-world tests have shown that while safety is guaranteed, the interventions often occur abruptly and can have a destabilizing effect on the system. To improve the performance and acceptance of such safety concepts for motion control, it is desirable to integrate traditional stability properties into the safety specifications that are not supported by the existing state of the art.
[0003] Historically, control engineering methods have primarily focused on stability guarantees. Modern control systems that move into safety-critical areas, such as driver assistance systems, autonomous driving, or robots that interact with humans, must also meet safety requirements. While safety filters can be used, as mentioned in the previous paragraph, to enforce state and input constraints, their application in motion control can have the following undesirable side effects: They can cause abrupt vehicle maneuvers, including strong steering and acceleration or braking interventions with unpleasant consequences for the entire system, including destabilizing effects. Examples of this can include oscillating slip angles on low-friction roads (wet, icy).Safety filters can also cause strong oscillations in the vehicle's motion when operated near a safety constraint, such as a maximum permissible lateral force. This effect is exacerbated when the desired and safety-filtered inputs vary significantly, such as during repeated countersteering by the safety filter. In the literature on safety filters, such oscillating effects are referred to as Zeno behavior.
[0004] These properties are undesirable in most control systems. Furthermore, they can be particularly problematic in autonomous driving, as the effects can be perceived as potentially dangerous and / or uncomfortable, even if formal safety requirements are still met. Therefore, there is a fundamental need for improved safety filters in control engineering. Disclosure of the invention
[0005] A first general aspect of the present disclosure relates to a computer-implemented method for determining a manipulated variable vector for controlling a system. The method comprises determining a first state vector, receiving a reference trajectory specification vector, receiving a manipulated variable specification vector, generating a stability rule based on a stability measure and the first state vector, and calculating a manipulated variable vector based on the stability rule, the manipulated variable specification vector, and the reference trajectory specification vector.
[0006] A second general aspect of the present disclosure relates to a computer system configured to execute the computer-implemented method for determining a manipulated variable vector for controlling a system according to the first general aspect (or an embodiment thereof).
[0007] A third general aspect of the present disclosure relates to a computer program configured to execute the computer-implemented method for determining a manipulated variable vector for controlling a system according to the first general aspect (or an embodiment thereof).
[0008] A fourth general aspect of the present disclosure relates to a computer-readable medium or signal storing and / or containing the computer program according to the third general aspect (or an embodiment thereof).
[0009] The method proposed in this disclosure according to the first general aspect (or an embodiment thereof) can be used to provide modular safety control architectures. For example, the proposed method can be particularly advantageous in architectures where safety interventions have a predetermined and limited destabilizing effect on the overall system. The proposed method and the associated improvements can ensure a certain degree of comfort in motion control while observing safety requirements in the context of the established concept of stability. The proposed method can reduce the frequency of abrupt driving maneuvers, such as sharp steering, acceleration, or deceleration, and thus increase passenger comfort. The occurrence of undesirable destabilizing effects can thereby be reduced.A further advantage may be that system components, in particular system components for power transmission, are protected by reducing abrupt and strong control interventions, thus extending their service life and / or enabling longer maintenance intervals. This can increase the quality of the components themselves as well as of the entire vehicle. Furthermore, the techniques of the present disclosure can provide a method that determines a manipulated variable vector based on stability specifications in relation to a reference trajectory, which may be variable. In certain cases, the reference trajectory may be (temporally) variable due to constant replanning or re-planning, for example of paths due to curved profiles and / or obstacles, e.g. in autonomous driving. In these cases, the disclosed method can advantageously take the variable reference trajectory into account when determining the manipulated variable.A further advantage can be seen in the fact that the computer-implemented method can be integrated into existing systems and, for example, can be loaded into existing control units and / or can be provided via cloud and / or edge computing.
[0010] Some terms are used in this disclosure as follows: A "state controller" may comprise an algorithm, i.e., a calculation rule, that maps a complete or partial state variable (i.e., the internal state of the controlled system) back to an input variable. A state controller may comprise parameters that can weight the state variable. In examples, a state controller may be executed on a computer system. A state controller may, for example, comprise or be part of a hardware module with inputs and outputs.
[0011] A "vehicle" can be any device that transports passengers and / or cargo. A vehicle can be a motor vehicle (e.g., a car or a truck), but also a rail vehicle. A vehicle can also be a motorized two- or three-wheeler. However, floating and flying devices can also be vehicles. Vehicles can be at least partially autonomous or assisted. Short description of the characters Fig. 1 schematically illustrates a computer-implemented method for determining a manipulated variable vector for controlling a system. Fig. 2 schematically illustrates an exemplary control loop according to one or more embodiments of the present disclosure. Detailed description
[0012] Fig. 1 is a flowchart showing possible method steps of the computer-implemented method 100 for determining a manipulated variable vector for controlling a system. The computer-implemented method 100 for determining a manipulated variable vector for controlling a system 10 includes determining 110 a first state vector x(k), receiving 120 a reference trajectory specification vector r des (k), receiving 130 a manipulated variable vector u des (k), generating 140 a stability rule based on a stability measure V k and the first state vector x(k), and calculating 150 a manipulated variable vector u(k) on the basis of the stability rule, the manipulated variable specification vector u des (k) and the reference trajectory vector r ges(k). In examples, system 10 can be described by a system function f. For a state vector x(k + 1) of a subsequent time step, taking into account an external disturbance w(k), the following applies: x(k+1)=f(x(k),u(k),w(k)).
[0013] In examples, the state vector x(k) can be measured or mathematically reconstructed using an observer. In examples, the first state vector x(k) can contain one or more state variables (x k,1 , x k,2 , x k,3 , ...). For the state vector x(k) the following applies: x(k) ∈ ℝ nx , where n x is a natural number. In some examples, the computer-implemented method 100 may be part of a filter stage 12 that is connected downstream of a conventional and / or already known control system as in Fig. 2. In some examples, the manipulated variable vector u ges(k) comprise an output value of a control stage 11. In examples, the manipulated variable specification vector u des (k) comprise an output value of a non-safe and / or non-certified control level 11. In examples, the manipulated variable specification vector u des (k) comprise an input value entered by a human user, for example in a driver assistance system. In some examples, the reference trajectory specification vector r des (k) comprise an output value of a control stage 11. In examples, the reference trajectory specification vector r ges (k) may be non-zero, or it may be advantageous for the techniques of the present disclosure if the reference trajectory specification vector r des (k) is not equal to zero.
[0014] In some examples, the first manipulated variable vector u(k) can be: u(k) = κ(x(k), u des (k), r des(k)), where κ in this example represents the filtering of the manipulated variable vector u des (k) by the computer-implemented method 100. In examples, the first manipulated variable vector u(k) and / or manipulated variable specification vector u des (k) one or more control variables (u k,1 , and k,2 , and k,3 , ...) or control variable default values (u des,1 , and des,2 , and des,3 , ...). For the first manipulated variable vector u(k) the following applies: u(k) ∈ ℝ nu , where n u is a natural number. For the manipulated variable vector u des (k) may apply: udes(k)∈ℝnudes, where n udes is a natural number. The method 100 includes receiving (120) the reference trajectory specification vector r des(k). In examples, the reference trajectory vector can be obtained from a higher-level planning module or defined as the centerline of the lane currently being traveled. Instability of the system 10 can, in some examples, be detected by fluctuating, increasing, and / or oscillating deviations from the reference trajectory vector r. des (k) can be determined.
[0015] In some examples, the instability can be calculated using weighted differences between the current state vector and / or the control vector and the reference state vector or the reference control variable vector.
[0016] In examples, the stability measure V k on a plurality of prediction state vectors x i|k , x i+1|k a plurality N of prediction steps. The first state vector x(k) can be referred to as the initial state vector x 0|kthe majority of prediction state vectors. In examples, this may mean that, starting from the currently measured / observed state vector x 0|k and a planned future control variable trajectory u i|k , and i+1|k the future prediction state vectors x i|k , x i+1|k can be predicted. This can provide the basis for calculating the stability measure V k .
[0017] In examples, the received reference trajectory specification vector (r des (k)) may be variable and / or time-dependent. In examples, the stability measure V k on a plurality of prediction trajectory vectors (r i|k , r i+1|k ) of a plurality of prediction steps, wherein the majority of the prediction trajectory vectors (r i|k , r i+1|k) achievable trajectories determined using a system description of the system. In examples, the majority of prediction trajectory vectors (r i|k , r i+1|k ) for a state controller and / or the filter stage 12 achievable trajectories. In examples, the state controller may comprise the filter stage 12. It may be advantageous because the received reference trajectory, described by the reference trajectory specification vector r des (k), an unreachable trajectory represents an artificial prediction trajectory described by the plurality of prediction trajectory vectors r i|k , r i+1|k , which is achievable. Based on this achievable prediction trajectory, the stability measure V k In examples, a first component of a prediction trajectory vector r i|k the majority of prediction trajectory vectors ri|k , r i+1|k a reachable prediction state vector x s,i|k and a second component of a prediction trajectory vector r i|k the majority of prediction trajectory vectors r i|k , r i+1|k an achievable prediction manipulated variable vector u s,i|k For example, the following may apply: r i|k = [x s,i|k , and s,i|k ] T . In examples, the prediction trajectory vector r i|k be non-zero or it may be advantageous for the techniques of the present disclosure if the prediction trajectory vector r i|k is not equal to zero. In general, system-related safety requirements may require the restriction of possible states x(k) and / or manipulated variables u(k). For the states x(k), a subset X of all (theoretically) possible states can be defined: X ⊂ ℝ nx. For the manipulated variables u(k) a subset U of all (theoretically) possible manipulated variables can be defined: U ⊂ ℝ nu . A reachable prediction trajectory r(k) can be restricted to a subspace Z r For example, this subspace Z r from a subset X r ⊂ X and a subset U r ⊂ U compose: r(k) ∈ Z r ≙ X r × U r . A prediction trajectory r(k + 1) of a subsequent time step k + 1 can be defined to lie within the set R(r(k)), which can be based on the system function f and for which: R(k) = {r(k + 1) ∈ Z r |x s (k + 1) = f(x s (k), u s(k) , 0)}.
[0018] In examples, the stability measure V kby summing a plurality of cost functions over at least a first prediction step i and a second prediction step i + 1 of the plurality of prediction steps. In examples, each cost function of the plurality of cost functions can be calculated using a prediction state vector of the plurality of prediction state vectors x i|k , x i+1|k and a prediction manipulated variable vector of a plurality of prediction manipulated variable vectors u i|k , and i+1|k to a respective prediction step of the first prediction step i or the second prediction step i + 1. In some examples, the plurality N of prediction steps may be 0 to 10, 0 to 100, 0 to 500, 0 to 1000, or greater than 1000. In examples, the plurality of cost functions may be based on the plurality of prediction trajectory vectors (r i|k , r i+1|k ). For the calculation of the stability measure V kcan apply to a summation over N prediction steps: Vk=∑i=0N−1l(xi|k,ui|k,ri|k). . In examples, the cost function ℓ(x i|k , and i|k , r i|k ) a difference between a predicted trajectory x i|k ,u i|k a prediction step i in a time step k and an achievable prediction trajectory r i|k of the same prediction step i in the same time step k.
[0019] In some examples, the stability measure V k by a quadratic cost function ℓ. Additionally or alternatively, the difference between a predicted state vector x i|k the majority of prediction state vectors x i|k ,x i+1|k and a reachable prediction state vector x s,i|k in some examples with a first weighting matrix Q and / or a difference between a predicted manipulated variable vector ui|k the majority of the second manipulated variable vectors u i|k , and i+1|k and an achievable prediction control variable vector u s,i|k weighted with a second weighting matrix R. For example, the quadratic cost function can be expressed as follows: l(xi|k,ui|k,ri|k))≜(xi|k−cs,i|k)TQ(xi|k−xs,i|k)+(ui|k−us,i|k)TR(ui|k−us,i|k). In some examples, the first weighting matrix Q and / or the second weighting matrix R may be a positive definite matrix. For example, by selecting the matrices Q and R as positive definite, the stability measure V k indicate the future deviation with respect to the reference trajectory. For example, persistent oscillations lead to V k can be infinite and therefore unstable, while finite values of the stability measure V k can indicate stable system behavior.
[0020] In some examples, the state vector xi+1|k the plurality of prediction state vectors of the second prediction step based on a system function f, the state vector x i|k the plurality of prediction state vectors of the first prediction step and the manipulated variable vector u i|k the plurality of second manipulated variable vectors of the first prediction step i are calculated. For x i+1 / k can then apply: x i+1|k = f(x i|k , and i|k , 0). The system function f describes the system. In some examples, the first state vector x(k) can be used as the initial state vector x 0|k the majority of prediction state vectors.
[0021] In some examples, the stability rule may include that the stability measure V k less than or equal to a first upper limit c v For example, the first upper bound c vact as a design parameter that determines the maximum tolerated deviations from a purely stabilizing controller. In some examples, a larger value of the first upper limit c v result in the stability-enhancing effect of the computer-implemented method of the present disclosure only being activated when the security of the system 10 is at risk. In contrast, lower values of the first upper limit c v cause additional safety interventions if entries of the manipulated variable specification vector u des (k) have a destabilizing effect on the system 10. In some examples, the summation of the plurality of cost functions ℓ over at least the first prediction step i and the second prediction step i + 1 may result in a final cost function V f (x N|k ) are added to ensure that V k the first upper limit c vIn some examples, the following may apply: Vk=∑i=0N−1l(xi|k,ui|k,ri|k,)+Vf(xN|k,rN|k).
[0022] In some examples, the computer-implemented method 100 may be repeatedly executed at least at a first time step k - 1 and at a second time step k. In some examples, the stability rule may include determining a difference between a stability measure V k-1 of the first time step k - 1 and a stability measure V k of the second time step k is less than or equal to a second upper bound. In some examples, the stability measure V k-1 of the first time step k - 1 serve as an input to the filter stage 12 for generating 140 the stability rule. In some examples, the second upper limit may be a minimum selected from a difference between the stability measure V k-1 of the first time step k - 1 and the first upper limit cv or the value of a cost function based on the initial state vector x 0|k , an initial prediction trajectory vector r 0|k , and / or a running manipulated variable vector variable u 0|k (k) of the second time step. In some examples, therefore, the following may apply: Δlk=min(Vk−1−cv,l(x0|k,u0|k,r0|k)) Vk−Vk−1≤−Δlk.
[0023] The stability rule can therefore be fulfilled in the example shown if the stability measure V k less than or equal to the first upper limit c v In another example, the stability requirement in the example shown can be fulfilled if the difference between the stability measure V k-1 of the first time step k - 1 and the stability measure V k of the second time step k is less than or equal to the cost ℓ(x 0|k , and 0|k , r 0|k)) at the initial step i = 0. In one example, in the case of a disturbance event, the second upper limit can be adjusted by adding a buffer variable ξ. The following can then apply: V k - V k-1 ≤ -Δℓ k + ξ. In one example, the buffer variable ξ can only be non-zero if it is necessary to relax the stability rule. By increasing the numerical value ξ, the difference between the stability measure V k-1 of the first time step k - 1 and the stability measure V k of the second time step k. In examples, an increasing numerical value of the buffer variable ξ may be necessary with an increasing strength of an external disturbance.
[0024] In some examples, calculating 140 the first manipulated variable vector u(k) may include calculating an extremum. In some examples, calculating 140 the first manipulated variable vector u(k) may include minimizing a difference between the manipulated variable specification vector u des (k) and a current manipulated variable vector u 0|k (k). In some examples, the stability rule may be one of a plurality of constraints. In some examples, calculating (150) the manipulated variable vector (u(k)) may include (nearly) minimizing a difference between the reference trajectory specification vector (r des (k)) and a respective prediction trajectory vector of the plurality of prediction trajectory vectors (r i|k , r i+1|k ). The result of the (near) minimization can be the first manipulated variable vector u(k), which (nearly) represents the difference between the manipulated variable vector u des(k) and the current manipulated variable vector u 0|k (k) under the given plurality of constraints. Minimizing the difference between the manipulated variable vector u des (k) and the current manipulated variable vector (u 0|k (k)) can also be the maximum possible reduction of the difference between the manipulated variable vector u des (k) and the current manipulated variable vector u 0|k (k) within the plurality N of prediction steps. In some examples, the plurality of constraints may further comprise at least one of a state vector definition set X i and / or a manipulated variable vector definition set U i Therefore, the following can apply: x i|k ∈ X i and / or u i|k ∈ U i . In some examples, the plurality of constraints may further define a set of definitions for a final state vector (x N|k) of the plurality of prediction state vectors. The final state vector can be the result of calculating the state vector in the last of the plurality N of prediction steps. For example, the following optimization problem can be set up for calculating 150 the manipulated variable vector u(k): min{ui|k}i=0N−1,ξ≥0,{ri|k}i=0N−1‖udes(k)−u0|k‖+w∑i=0N−1‖Δri|k‖+ρ‖ξ‖ st x0|k∈x(k) xN|k∈Xf(rN|k)
[0025] For all i = 0,1,...,N - 1: Δri|k=ri|k−rdes,i|k ri|k=[xs,i|k,us,i|k]T∈Xr×Ur xs,i+1|k=f(xs,i|k,ui|k,0) xi+1|k=f(xi|k,ui|k,0) xi|k∈Xi ui|k∈Ui Vk=∑i=1N−1l(xi|k,ui|k,ri|k)+Vf(xN|k,rN|k) Δlk=min(Vk−1−cv,∈l(x0|k,u0|k,r0|k)) Vk−Vk−1≤−Δlk+ξ
[0026] In one example, ρ can be a scalar. In one example, ε can be a design parameter that represents the decay of the stability measure. In examples, ε can be between 0 and 1. For example, ε ∈ (0,1). In examples, the optimization problem can be the difference between the received reference trajectory vector r ges (k) and the prediction trajectory vector of the plurality of prediction trajectory vectors r determined in each prediction step i|k , r i+1|k (almost) minimize: w∑i=0N−1‖Δri|k‖. In examples, this term can be weighted with a weight w.
[0027] In examples, the system 10 to be controlled may be configured for placement in a vehicle, a robot, a building, a power tool, and / or a household appliance, and / or may be configured to control a vehicle function, a robot function, a building automation function, a power tool automation function, and / or a household appliance automation function.
[0028] For example, the vehicle function may be a function for autonomous and / or assisted driving. In some examples, the computer-implemented method 100 may be designed for execution on a computer system of a vehicle (e.g., an autonomous, highly automated, or assisted vehicle). For example, the computer system may be implemented locally in the vehicle or (at least partially) implemented in a backend that is communicatively connected to the vehicle. For example, the computer system may include a control unit on which the computer-implemented method 100 and / or the filter stage 12 may be executed. In some examples, the vehicle may include a computer system with a communication interface that enables communication with a backend. For example, the computer-implemented method 100 may be executed in this backend.In one example, the system 10 to be controlled may be a system for lateral and / or longitudinal guidance of the vehicle. For example, a state variable of the state vector x(k) may include one or more position variables, orientation angles, velocity variables, and / or a yaw rate of change. The manipulated variable vector u(k) and / or manipulated variable command vector u. des (k) may include, for example, a steering angle, a powertrain-associated parameter, and / or braking parameters.
[0029] In other examples and as indicated above, the system 10 to be controlled may be arranged in a robot and / or configured to control a robot function (in particular, to control a movement function of a robot). For example, the system to be controlled may be a system for lateral guidance and / or longitudinal guidance of the robot. In some examples, the computer-implemented method 100 may be executed on a computer system of a robot. For example, the computer system may be implemented locally in the robot or (at least partially) implemented in a backend that is communicatively connected to the robot.
[0030] In one example, the system to be controlled may be designed for placement in a building and / or for controlling building functions (in particular for controlling building automation functions). For example, the building function may be a function for controlling room temperature, lighting, and / or security equipment. In some examples, the computer-implemented method 100 may be designed for execution on a computer system within the building. For example, the computer system may be implemented locally in the building or (at least partially) implemented in a backend communicatively connected to the building. For example, the computer system may comprise a control system or a building automation control device on which the computer-implemented method 100 may be executed.In examples, the building may have a computer system with a communication interface that enables communication with an external backend. For example, the computer-implemented method 100 may be executed in this backend. In examples, a state vector x(k) may contain variables based on information such as room temperature, brightness, or the presence of people. In some cases, the state vector x(k) may include a relative temperature difference, illuminance, or distance to a specific location or object in the building. An example of a state vector x(k) in the context of building automation could contain variables based on parameters such as heating control, lighting settings, ventilation speed, or security alarms. In examples, information may originate from a network, such as sensor data or settings from other buildings or building components.This information can be provided through communication between buildings or building sections or via an external backend. In one example, an input variable of the control variable specification vector could be... des (k) may include, for example, a temperature and / or lighting specification, for example in the form of a voltage signal and / or current signal.
[0031] In other examples, the system 10 to be controlled may be configured for arrangement in a power tool and / or configured to control a power tool function (in particular, to control a work function of the power tool). In some examples, the computer-implemented method 100 may be executed on a computer system of the power tool. For example, the computer system may be implemented locally in the power tool or (at least partially) implemented in a backend communicatively connected to the power tool.
[0032] In other examples, the system 10 to be controlled may be configured for placement in a household appliance and / or configured to control a household appliance function (in particular, to control a working function of the household appliance). In some examples, the computer-implemented method 100 may be executed on a computer system of the household appliance. For example, the computer system may be implemented locally in the household appliance or (at least partially) implemented in a backend communicatively connected to the household appliance.
[0033] In further examples, the system 10 to be controlled may be designed for placement in a machine tool, a personal assistant, an access control system, and / or a medical device.
[0034] Furthermore, a computer system is disclosed that is designed to execute the computer-implemented method 100 for determining a manipulated variable vector for controlling a system. The computer system may comprise at least one processor and / or at least one main memory. The computer system may further comprise a (non-volatile) memory. In examples, the computer system may be part of an overall system. For example, the overall system may comprise, in addition to the computer system, the system 10 to be controlled. The overall system may, for example, as mentioned above, comprise a vehicle, a robot, a building, a power tool, a household appliance, a machine tool, a personal assistant, an access control system, and / or a medical device.
[0035] Also disclosed is a computer program designed to execute the computer-implemented method 100 for determining a manipulated variable vector for controlling a system. The computer program can be present, for example, in interpretable or compiled form. It can be loaded (even in parts) into the RAM of a computer for execution, for example, as a bit or byte sequence.
[0036] Also disclosed is a computer-readable medium or signal that stores and / or contains the computer program or at least a portion thereof. The medium may, for example, comprise one of RAM, ROM, EPROM, HDD, SDD, etc., on / in which the signal is stored.
Claims
[1] Computer-implemented method (100) for determining a manipulated variable vector for controlling a system (10) comprising - determining (110) a first state vector (x(k)), - receiving (120) a reference trajectory specification vector (r des (k)), - Receiving (130) a manipulated variable specification vector u des (k)), - generating (140) a stability rule based on a stability measure (V k ) and the first state vector (x(k)), and - Calculating (150) a manipulated variable vector (u(k)) on the basis of the stability rule, the manipulated variable specification vector (u des (k)) and the reference trajectory vector (r des (k)). [2] Computer-implemented method (100) according to claim 1, wherein the stability measure (V k ) on a plurality of prediction state vectors (x i|k , x i+1|k) of a plurality of prediction steps, wherein the first state vector (x(k)) is used as the initial state vector (x 0|k ) of the majority of prediction state vectors. [3] Computer-implemented method (100) according to claim 1 or 2, wherein the stability measure (V k ) on a plurality of prediction trajectory vectors (r i|k , r i+1|k ) of a plurality of prediction steps, wherein the majority of the prediction trajectory vectors (r i|k , r i+1|k ) achievable trajectories determined using a system function of the system (10). [4] Computer-implemented method (100) according to claim 1, 2 or 3, wherein the stability measure (V k) by summing a plurality of cost functions over at least a first prediction step (i) and a second prediction step (i + 1) of the plurality of prediction steps, wherein each cost function of the plurality of cost functions is calculated by means of a prediction state vector of the plurality of prediction state vectors (x il|k , xi+1|k ) and a prediction manipulated variable vector of a plurality of prediction manipulated variable vectors (u i|k ,u i+1|k ) to a respective prediction step of the first prediction step (i) or the second prediction step (i + 1). [5] A computer-implemented method (100) according to claim 4, wherein the plurality of cost functions are based on the plurality of prediction trajectory vectors (r i|k ,r i+1|k ) are based. [6] Computer-implemented method (100) according to one of the preceding claims, wherein the stability rule comprises that the stability measure (V k ) less than or equal to a first upper limit (c v ) is. [7] Computer-implemented method (100) according to one of the preceding claims, wherein calculating (140) the manipulated variable vector (u(k)) comprises calculating an extremum. [8] Computer-implemented method (100) according to one of the preceding claims, wherein calculating (140) the manipulated variable vector (u(k)) comprises minimizing a difference between the manipulated variable specification vector (u des (k)) and a current manipulated variable vector (u 0|k (k)), wherein the stability requirement is one of a plurality of constraints. [9] Computer-implemented method (100) according to one of the preceding claims, wherein calculating (140) the manipulated variable vector (u(k)) comprises minimizing a difference between the reference trajectory specification vector (r des (k)) and a respective prediction trajectory vector of the plurality of prediction trajectory vectors (r i|k ,r i+1|k ) includes. [10] Computer-implemented method (100) according to one of the preceding claims, wherein the system to be controlled (10) is designed for arrangement in a vehicle, a robot, a building, a power tool and / or a household appliance, and / or is designed for controlling a vehicle function, a robot function, a building automation function, a power tool automation function, and / or a household appliance automation function. [11] Computer system adapted to carry out the computer-implemented method (100) for determining a manipulated variable vector for controlling a system according to any one of the preceding claims 1 to 10. [12] Computer program comprising instructions which, when the computer program is executed by a computer system, cause the computer system to execute the computer-implemented method (100) for determining a manipulated variable vector for controlling a system according to one of the preceding claims 1 to 10. [13] A computer-readable medium or signal storing and / or containing the computer program according to claim 12.