Computer-implemented method for determining a manipulated variable vector for controlling a system

The computer-implemented procedure for determining a control vector in driver assistance systems and autonomous driving addresses the issue of abrupt and destabilizing effects by integrating stability provisions, resulting in a more stable and comfortable driving experience that meets safety requirements.

WO2025068103A1PCT designated stage expired Publication Date: 2025-04-03ROBERT BOSCH GMBH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/076627
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2024-09-23
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Existing security filters in driver assistance systems and autonomous driving often cause abrupt and destabilizing effects, such as oscillating slip angles on low-friction surfaces and strong vibrations, due to their inability to integrate traditional stability properties effectively.

Method used

A computer-implemented procedure for determining a control vector that incorporates a stability provision based on a stability measure and a state vector, allowing for the calculation of a control vector that balances safety and stability requirements, thereby reducing abrupt maneuvers and destabilization effects.

Benefits of technology

The proposed solution ensures a more stable and comfortable driving experience by reducing the frequency of abrupt driving maneuvers and minimizing destabilization effects, while still meeting safety requirements, thus enhancing the performance and acceptance of security concepts in movement control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024076627_03042025_PF_FP_ABST
    Figure EP2024076627_03042025_PF_FP_ABST
Patent Text Reader

Abstract

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, generating a stability rule on the basis of a stability measure and the first state vector, receiving a manipulated variable preset vector, and calculating a manipulated variable vector on the basis of the stability rule and the manipulated variable preset vector.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]R. 407368 - 1 - Description Title COMPUTER-IMPLEMENTED METHOD FOR DETERMINING A CONTROLLED VARIABLE VECTOR FOR CONTROLLING A SYSTEM State of the Art Safety is considered one of the greatest 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), whereby a decision is made as to whether the application of the motion controller's output signals ensures safety for future points in time. 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 although safety is guaranteed, interventions are often abrupt 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. Historically, control engineering methods have focused primarily on stability guarantees. Modern control systems that enter safety-critical areas, such as driver assistance systems, autonomous driving, or robots that interact with humans, must also meet safety requirements. While safety filters, as mentioned in the previous paragraph, can be used to ensure compliance with state and R407368 - 2 - While they are designed to enforce input restrictions, 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 effects on the entire system, including destabilizing effects. Examples of this can be, for example, 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 restriction, e.g., a maximum permissible lateral force. This effect worsens when the desired and safety-filtered input varies greatly, e.g., during repeated countersteering by the safety filter. In the literature on safety filters, such oscillating effects are referred to as Zeno behavior.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 specifications are still met. There is therefore a fundamental need for improved safety filters in control engineering. Disclosure of the Invention 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, generating a stability rule based on a stability measure and the first state vector, receiving a manipulated variable specification vector, and calculating a first manipulated variable vector based on the stability rule and the manipulated variable specification vector.A second general aspect of the present disclosure relates to a computer system configured to carry out the computer-implemented method for determining a manipulated variable vector for controlling a system according to the first general aspect (or an embodiment thereof). R. 407368 - 3 - A third general aspect of the present disclosure relates to a computer program configured to carry out the computer-implemented method for determining a manipulated variable vector for controlling a system according to the first general aspect (or an embodiment thereof). 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).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 in which 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 braking, 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 making longer maintenance intervals possible. This can increase the quality of the components themselves as well as the entire vehicle. 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. Some terms are used in the present disclosure in the following way: R. 407368 - 4 - A "state controller" can comprise an algorithm, i.e., a calculation rule, which calculates a complete or partial state variable (i.e.,the internal state of the controlled system) to an input variable. A state controller can include parameters that can weight the state variable. In examples, a state controller can be executed on a computer system. A state controller can, for example, include or be part of a hardware module with inputs and outputs. A "vehicle" can be any device that transports passengers and / or freight. A vehicle can be a motor vehicle (for example, 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. Brief description of the figures 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. Fig. 3 illustrates exemplary resulting simulation results such as the controlled variable and the stability measure when an exemplary input variable is input. Detailed Description First, the techniques of the present disclosure are discussed with reference to Figs. 1 and 2. With reference to Fig. 3, possible results and advantages resulting from the method disclosed herein for determining a manipulated variable vector for controlling a system are discussed. R. 407368 - 5 - Fig. 1 is a flow chart 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 comprises determining 110 a first state vector ^(^), generating 120 a stability rule based on a stability measure ^. ^ and the first state vector ^(^), receiving 130 a manipulated variable specification vector ^ ^^^ (^), and calculating 140 a first manipulated variable vector ^ ( ^ ) based on the stability rule and the manipulated variable vector ^ ^^^(^). In examples, the system 10 can be described by means of a system function ^. For a state vector ^(^ + 1) of a subsequent time step, taking into account an external disturbance variable ^(^), the following applies: ^(^ + 1) = ^(^(^ + 1), ^(^),^(^)). In examples, the state vector ^(^) can be measured or mathematically reconstructed using an observer. In examples, the first state vector ^(^) can contain one or more state variables (^ ^,^ , ^ ^,^ , ^ ^,^ , … ). For the state vector ^(^) the following applies: ^(^) ∈ ℝ ^^ , where ^ ^is a natural number. In examples, the state vector ^(^) can be measured or mathematically reconstructed using an observer. In some examples, the computer-implemented method 100 can be part of a filter stage 12 that is connected downstream of a conventional and / or already known control system as shown in Fig. 2. In some examples, the manipulated variable specification vector ^ ^^^ (^) may include an output value of a control stage 11. In some examples, the following may apply to the first manipulated variable vector ^(^): ^(^) = ^(^(^), ^ ^^^ (^)), where ^ in this example represents the filtering of the manipulated variable vector ^ ^^^ (^) by the computer-implemented method 100. In examples, the first manipulated variable vector ^(^) and / or manipulated variable specification vector ^ ^^^ (^) one or more control variables (^ ^,^ , ^ ^,^ , ^ ^,^ , … ) or control variable default values ​​(^ ^^^,^ , ^^^^,^ , ^ ^^^,^ , … ). For the first manipulated variable vector ^(^) the following applies: ^(^) ∈ ℝ ^^ , where ^ ^ is a natural number. For the manipulated variable vector ^ ^^^ (^) can apply: ^ ^^^ (^) ∈ ℝ ^^^^^ , where ^ ^^^^ is a natural number. In some examples, the stability can be described using a reference trajectory. In some examples, the reference trajectory can be described using a reference state vector ^ ^^^ ^^^ ^ ^^ (^) = [^ ^,^ , ^^,^ , ... ] and / or a reference manipulated variable vector ^ (^) = [ ^^^ ^^^ ^ ^^ ^ ^,^, ^^,^ , ... ] can be described. In R. 407368 - 6 - examples, the reference can be obtained from a higher-level planning module or defined as the center line of the lane currently being traveled. In some examples, an instability of the system 10 can be determined by means of fluctuating, increasing, and / or oscillating deviations from the reference trajectory. In some examples, the instability can be calculated by means of weighted differences between the current state vector and / or the control vector and the reference state vector or the reference control variable vector. In some examples, the stability measure ^ ^ on a plurality of prediction state vectors ^ ^|^ , ^ ^^^|^ a plurality ^ of prediction steps. The first state vector ^(^) can be used as the initial state vector ^ ^|^the majority of prediction state vectors. In some examples, the stability measure ^ ^ by summing a plurality of cost functions ℓ over at least a first prediction step ^ and a second prediction step ^ + 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 ^ ^|^ , ^ ^^^|^ and a manipulated variable vector of a plurality of second manipulated variable vectors ^ ^|^ , ^ ^^^|^ to a respective prediction step of the first prediction step ^ or the second prediction step ^ + 1 of the plurality ^ of prediction steps. In some examples, the plurality ^ of prediction steps may be 0 to 10, 0 to 100, 0 to 500, 0 to 1000, or greater than 1000. For the calculation of the stability measure ^ ^can be valid for a summation over ^ prediction steps: ^ ^ = ∑ ^^^ ^ ^^ ℓ ^ ^^|^ , ^^|^ ^ . In some examples, the stability measure ^ ^ by a quadratic cost function ℓ. Additionally or alternatively, in some examples, a state vector of the plurality of prediction state vectors ^ ^|^ , ^ ^^^|^ with a first weighting matrix ^ and / or a manipulated variable vector of the plurality of second manipulated variable vectors ^ ^|^ , ^ ^^^|^ weighted with a second weighting matrix ^. For example, the quadratic cost function can be expressed as follows: ℓ(^, ^) ≜ ^ ^ ^^ + ^ ^ ^^. In some examples, the first weighting matrix ^ and / or the second weighting matrix ^ can be a positive definite matrix. For example, by selecting the matrices ^ and ^ as positive definite, the stability measure ^ ^indicate the future R. 407368 - 7 - deviation with respect to the reference trajectory. For example, persistent oscillations lead to ^ ^ infinite and therefore unstable, while finite values ​​of the stability measure ^ ^ can indicate stable system behavior. In some examples, the state vector ^ ^^^|^ the plurality of prediction state vectors of the second prediction step based on a system function ^, the state vector ^ ^|^ the plurality of second prediction state vectors of the first prediction step and the manipulated variable vector ^ ^|^ the plurality of second manipulated variable vectors of the first prediction step ^ are calculated. For ^ ^^^|^ can then apply: ^ ^^^|^ = ^(^ ^|^ , ^ ^|^ , 0). The system function ^ describes the system. In some examples, the first state vector ^(^) can be used as the initial state vector ^ ^|^the majority of prediction state vectors. In some examples, the stability rule may include the stability measure ^ ^ less than or equal to a first upper limit ^ ^ For example, the first upper bound ^ ^ act 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 ^ ^ cause the stability-enhancing effect of the computer-implemented method of the present disclosure to intervene only when the security of the system 10 is at risk. In contrast, lower values ​​of the first upper limit ^ ^ additional safety interventions when entries of the manipulated variable specification vector ^ ^^^(^), 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 ^ and the second prediction step ^ + 1 may result in a final cost function ^ ^ (^ ^|^ ) are added to ensure that ^ ^ the first upper limit ^ ^^^ ^ approaches. In some examples, the following may apply: ^ ^ = ∑ ^^^ No. ^ ^ ^|^ , ^ ^|^ ^ + ^ ^ (^ ^|^ ) In some examples, the computer-implemented method 100 may be repeatedly executed at least at a first time step ^ − 1 and at a second time step ^ In some examples, the stability rule may include determining a difference between a stability measure ^ ^^^ of the first time step ^ − 1 and a stability measure ^ ^of the second time step ^ can R. 407368 - 8 - is less than or equal to a second upper bound. In some examples, the stability measure ^ ^^^ of the first time step ^ − 1 serves as an input to the filter stage 12 to generate 120 the stability rule. In some examples, the second upper limit can be a minimum selected from a difference between the stability measure ^ ^^^ of the first time step ^ − 1 and the first upper limit ^ ^ or the value of a cost function based on the initial state vector ^ ^|^ and a current manipulated variable vector of the second time step. In some examples, therefore, the following may apply: The stability rule can therefore be fulfilled in the example shown if the stability measure ^ ^ less than or equal to the first upper limit ^ ^In another example, the stability requirement in the example shown can be fulfilled if the difference between the stability measure ^ ^^^ of the first time step ^ − 1 and the stability measure ^ ^ of the second time step ^ less than or equal to the cost at the initial step ^ = 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: ^ ^ − ^ ^^^ ≤ 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 ^ ^^^ of the first time step ^ − 1 and the stability measure ^ ^of the second time step ^ may increase. In examples, an increasing numerical value of the buffer variable ξ may be necessary with an increasing strength of an external disturbance. In some examples, the calculation 140 of the first manipulated variable vector ^ ( ^ ) calculating an extremum. In some examples, calculating 140 the first manipulated variable vector ^ ( ^ ) minimizing a difference between the manipulated variable vector ^ ^^^ (^) and a running manipulated variable vector variable , where the stability rule is one of a plurality of constraints. The result of the (near-)minimization can be the first manipulated variable vector ^ ( ^ ) which (almost) represents the difference between the manipulated variable vector ^ ^^^(^) and the current manipulated variable vector variable under the given plurality of R. 407368 - 9 - constraints. Minimizing the difference between the manipulated variable vector ^ ^^^ (^) and the current manipulated variable vector variable (^ ^|^ ( ^ ) ) can also reduce the difference between the manipulated variable vector ^ ^^^ (^) and the current manipulated variable vector within the plurality ^ of prediction steps. In some examples, the plurality of constraints may further comprise at least one of a state vector definition set ^ ^ and / or a manipulated variable vector definition set ^ ^ Therefore, the following applies: ^ ^|^ and / or ^ ^|^ ∈ ^ ^ . In some examples, the plurality of constraints may further define a set of definitions for a final state vector ^ ^ ^|^ ^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 of prediction steps. For example, for calculating 140 of the prediction step, the following can be set up: In one example, ^ can be a scalar. In one example, the system 10 to be controlled can be arranged for arrangement in a vehicle and / or robot, and / or be designed to control a vehicle function and / or a robot function (in particular to control a driving function). In examples, a robot can comprise a (autonomously or assisted driving) vehicle. For example, the vehicle function can be a function for autonomous and / or assisted driving. In some examples, the computer-implemented method 100 can be designed to be executed on a computer system of a vehicle (e.g., an autonomously, highly automated, or assisted driving vehicle). For example, the computer system can 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 guidance and / or longitudinal guidance of the vehicle. For example, a state variable of the state vector ^(^) may include one or more position variables, orientation angles, speed variables, and / or a yaw angle change rate. The actuating vector ^(^) and / or actuating variable specification vector ^. ^^^(^) may, for example, include a steering angle, a parameter associated with the drive train, and / or braking parameters. In other examples and as indicated above, the system 10 to be controlled may be arranged in a robot and / or configured to control and / or monitor a robot function (in particular, to control and / or monitor 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. The advantages of the techniques of the present disclosure will be explained below with reference to Figs. 3-A to 3-C.3-A to 3-C show the results of a simulation for an exemplary lateral guidance of a vehicle. Fig. 3-B shows an exemplary manipulated variable preset value 31. The manipulated variable 32 can be an output of the computer-implemented method 100 that was heavily filtered by the method 100. The manipulated variable 33 can be an output of the computer-implemented method 100 that was less heavily filtered by the method 100. Fig. 3-C shows an exemplary value of the stability measure ^. ^ . Stability measure 34 can be an example of a R. 407368 - 11 - stability measure that is at a first upper limit ^ ^ with a lower numerical value than with a stability measure 35, which is based on a first upper limit ^ ^ with a higher numerical value. Higher numerical values ​​of the upper limit ^ ^can lead to a greater fluctuation in the stability measure. Fig. 3-A shows the lateral offset of the vehicle from the reference line. The lateral offset can be the controlled variable. The lateral offset 36 can be the resulting lateral offset at the first upper limit ^ ^ with a lower numerical value. The lateral offset 37 can be the resulting lateral offset at the first upper limit ^ ^ with a larger numerical value. With a smaller numerical value of the first upper limit ^ ^ a smoother control can result than with a larger numerical value of the first upper limit ^ ^Also disclosed is a computer system configured 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. Also disclosed is a computer program configured to execute the computer-implemented method 100 for determining a manipulated variable vector for controlling a system. The computer program may, for example, be in interpretable or compiled form. It may be loaded (also in parts) into the RAM of a computer for execution, for example, as a bit or byte sequence. Also disclosed is a computer-readable medium or signal that stores and / or contains the computer program or at least a part thereof. The medium may, for example, be one of RAM, ROM, EPROM, HDD, SDD, etc.include on / in which the signal is stored.

Claims

R. 407368 - 12 - Claims 1. Computer-implemented method (100) for determining a manipulated variable vector for controlling a system (10), comprising: - determining (110) a first state vector (^(^)), - generating (120) a stability rule on the basis of a stability measure (^ ^ ) and the first state vector (^(^)), - receiving (130) a manipulated variable specification vector (^ ^^^ (^)), and - calculating (140) a manipulated variable vector (^ ( ^ ) ) based on the stability rule and the manipulated variable vector (^ ^^^ (^)).

2. Computer-implemented method (100) according to claim 1, wherein the stability measure (^ ^ ) on a plurality of prediction state vectors (^ ^|^ , ^ ^^^|^ ) of a plurality of prediction steps, wherein the first state vector (^(^)) is used as the initial state vector ^ ^ ^|^ ^the plurality of prediction state vectors.

3. Computer-implemented method (100) according to claim 2, wherein the stability measure (^ ^ ) by summing a plurality of cost functions over at least a first prediction step (^) and a second prediction step (^ + 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 (^ ^|^ , ^ ^^^|^ ) and a manipulated variable vector of a plurality of second manipulated variable vectors (^ ^|^ , ^ ^^^|^ ) to a respective prediction step of the first prediction step (^) or the second prediction step (^ + 1).

4. The computer-implemented method (100) according to claim 1, 2, or 3, wherein the stability rule comprises that the stability measure (^ ^) less than or equal to a first upper limit (^ ^ ) is. R. 407368 - 13 - 5. Computer-implemented method (100) according to one of claims 1 to 4, wherein the method is repeated at least at a first time step (^ − 1) and at a second time step ( ^ ) is carried out, and the stability rule includes that a difference between a stability measure (^ ^^^ ) of the first time step (^ − 1) and a stability measure ( ^ ^ ) of the second time step (^) is less than or equal to a second upper limit.

6. The computer-implemented method (100) according to claim 5, wherein, in the event of a disturbance event, the second upper limit is adjusted by means of an addition with a buffer variable (ξ).

7. The computer-implemented method (100) according to one of the preceding claims, wherein the calculation (140) of the manipulated variable vector (^ ( ^ )) comprises calculating an extremum.

8. Computer-implemented method (100) according to one of the preceding claims, wherein calculating (140) the manipulated variable vector (^ ( ^ ) ) minimizing a difference between the manipulated variable vector (^ ^^^ (^)) and a running manipulated variable vector variable wherein the stability rule is one of a plurality of constraints.

9. 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 and / or a robot, and / or is designed for controlling a vehicle function and / or a robot function.

10. Computer-implemented method (100) according to claim 9, wherein the system to be controlled is a system for lateral guidance and / or longitudinal guidance of the vehicle.

11. Computer system, designed 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.

12. Computer program, comprising instructions which, when the computer program is executed by a computer system, cause the computer system to R. 407368 - 14 - 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. Computer-readable medium or signal that stores and / or contains the computer program according to claim 12.

Citation Information

Patent Citations

  • Model Predictive Control with Uncertainties

    US20160357169A1

  • Systems and methods for using nonlinear model predictive control (MPC) for autonomous systems

    US20200089229A1

  • Adaptive Control of Autonomous or Semi-Autonomous Vehicle

    US20210221386A1