Computer-implemented method for determining a control variable vector for closed loop control of a system
By using a computer-implemented method to determine the control variable vector and adopting a modular safety closed-loop control architecture, the problems of sudden maneuvering and instability in closed-loop control technology are solved, improving the comfort and stability of driver assistance systems and autonomous driving, and extending the life of system components.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2024-09-17
- Publication Date
- 2026-06-26
AI Technical Summary
In existing closed-loop control technologies for driver assistance systems and autonomous driving, the application of safety filters may lead to sudden vehicle maneuvers and instability, affecting the comfort and stability of the system and making it difficult to meet the requirements of both safety and comfort simultaneously.
By determining the first state vector, receiving the preset vector of the reference trajectory and the preset vector of the control variables, and calculating the vector of the control variables based on stability metrics and stability rules, a modular safety closed-loop control architecture is adopted to reduce sudden driving maneuvers, improve comfort, and reduce the destructive impact on system components.
This approach achieves the goal of reducing the frequency of sudden driving maneuvers, improving passenger comfort, extending the lifespan of system components, and reducing undesirable destabilizing effects while adhering to safety requirements.
Smart Images

Figure CN122295628A_ABST
Abstract
Description
Background Technology
[0001] Safety is considered one of the greatest challenges in driver assistance systems and autonomous driving. Current technologies describe various extensions of the approach where a backup controller (safe path) is used to examine the input signals of a given motion closed-loop controller in terms of safety, determining whether the application of the motion closed-loop controller's output signals ensures safety at future points in time.
[0002] While these extended solutions achieve the principled design and efficient implementation of desired safety mechanisms on control devices, the resulting safety interventions only ensure safety presets, such as minimum / maximum lateral forces or acceleration / deceleration. Real-world testing has shown that while safety is ensured, interventions often occur abruptly and can have destabilizing effects on the system. To improve the performance and acceptance of such safety concepts for motion control, it is desirable to integrate traditional stability characteristics into safety specifications that are not supported in existing technologies.
[0003] Historically, closed-loop control techniques have primarily focused on stability assurance. Modern closed-loop control systems, entering safety-critical domains such as driver assistance systems, autonomous driving, or robots interacting with humans, must additionally meet safety requirements. While safety filters, as mentioned in the previous paragraph, can be used to satisfy state and input constraints, their application in motion-based closed-loop control can have undesirable side effects: they may induce sudden vehicle maneuvers, including sharp steering and acceleration or braking interventions, producing uncomfortable effects on the entire system, including destabilizing effects. An example of this could be oscillating sideslip angles on low-friction roads (wet, icy). Safety filters may also induce strong vibrations in vehicle motion when operating close to safety constraints (e.g., maximum permissible lateral force). This effect is exacerbated when the desired and safety-filtered input changes drastically, such as when the safety filter repeatedly reverses its direction. In the literature on safety filters, such oscillating effects are referred to as Zeno behavior.
[0004] These characteristics are undesirable in most closed-loop control systems. Furthermore, these characteristics can be particularly problematic in autonomous driving, as these effects may be perceived as potential hazards and / or discomfort even when formal safety presets are met. Therefore, there is a fundamental need for improved safety filters in closed-loop control technology. Summary of the Invention
[0005] A first general aspect of this disclosure relates to a computer-implemented method for determining a control variable vector for closed-loop control of a system. The method includes: determining a first state vector; receiving a preset reference trajectory vector; receiving a preset control variable vector; generating a stability rule based on a stability metric and the first state vector; and calculating the control variable vector based on the stability rule, the preset control variable vector, and the preset reference trajectory vector.
[0006] The second general aspect of this disclosure relates to a computer system designed to perform a computer-implemented method, according to the first general aspect (or an embodiment thereof), for determining a vector of control variables for closed-loop control of the system.
[0007] The third general aspect of this disclosure relates to a computer program designed to perform a computer-implemented method, according to the first general aspect (or an embodiment thereof), for determining a vector of control variables for closed-loop control of a system.
[0008] The fourth general aspect of this disclosure relates to a computer-readable medium or signal that stores and / or contains a 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 its embodiments) can be used to provide a modular, safety-oriented closed-loop control architecture. For example, the proposed method may be particularly advantageous in architectures where safety interventions have a predetermined and limited destructive stability effect on the entire system. The proposed method and its associated improvements can ensure a certain level of comfort in motion control while adhering to safety requirements within the context of a given stability concept. The proposed method can reduce the frequency of sudden driving maneuvers, such as sharp steering, acceleration, or braking, thereby improving passenger comfort. This can reduce the occurrence of undesirable destructive stability effects. Another advantage may be that system components, particularly those used for power transmission, are protected due to the reduction in sudden and strong closed-loop control interventions, thereby extending their lifespan and / or enabling greater maintenance intervals. This can improve the quality of the components themselves and the vehicle as a whole. Furthermore, the technology of this disclosure can provide a method for determining a control variable vector based on stability rules associated with a variable reference trajectory. In certain situations, the reference trajectory may be variable (in time) due to continuous replanning or replanning (e.g., path replanning or replanning due to curve shape and / or obstacles, as in autonomous driving). In these cases, the disclosed method can advantageously take into account the variable reference trajectory when determining control variables. Another advantage can be considered is that the computer-implemented method can be integrated into existing systems and, for example, can be installed in existing control devices and / or can be provided with the aid of cloud computing and / or edge computing.
[0010] Some terms are used in this disclosure as follows: A "state-closed-loop controller" may include an algorithm, or a calculation rule, that feeds back complete or partial state variables (i.e., the internal states of the closed-loop controlled object) to input variables. The state-closed-loop controller may include parameters capable of weighting the state variables. In the example, the state-closed-loop controller may execute on a computer system. The state-closed-loop controller may, for example, include a hardware module with inputs and outputs, or a portion of such a hardware module.
[0011] "Vehicle" can be any device that transports passengers and / or goods. A vehicle can be a motor vehicle (e.g., a PKW (passenger car) or LKW (truck)), but it can also be a rail vehicle. A vehicle can also be a motorized two-wheeled or three-wheeled vehicle. However, floating and flying devices can also be vehicles. A vehicle can be at least partially autonomous or auxiliary. Attached Figure Description
[0012] Figure 1 The method for determining the control variable vector for closed-loop control of a system is illustrated schematically.
[0013] Figure 2 An exemplary closed-loop control loop according to one or more embodiments of this disclosure is illustrated schematically. Detailed Implementation
[0014] Figure 1 This is a flowchart illustrating possible method steps of a computer-implemented method 100 for determining a control variable vector for closed-loop control of a system 10. The computer-implemented method 100 for determining a control variable vector for closed-loop control of system 10 includes: determining 110 a first state vector. Receive 120 reference trajectory preset vector Receive 130 control variable preset vectors Based on stability metrics and the first state vector Generate 140 stability rules, and a preset vector of control variables based on the stability rules. and reference trajectory preset vector Calculate the vector of 150 control variables In the example, System 10 can utilize system functions. To describe. For the state vector of subsequent time steps. When considering external disturbance variables In the following circumstances, it may be applicable: .
[0015] In the example, the state vector It can be measured or mathematically reconstructed using an observer. In the example, the first state vector... It can include one or more state variables For the state vector Applicable to: ,in It is a natural number. In some examples, the computer-implemented method 100 may be part of a filter stage 12 connected after a conventional and / or known closed-loop control, such as... Figure 2 As shown. In some examples, the control variable is preset as a vector. This can include the output value of closed-loop control level 11. In the example, the control variable preset vector... This can include the output values of non-safe and / or uncertified closed-loop control level 11. In the example, the control variable preset vector This can include input values from human users, such as in driver assistance systems. In some examples, the reference trajectory preset vector... This can include the output value of closed-loop control level 11. In the example, the reference trajectory preset vector It can be non-zero, or it can be a preset vector of the reference trajectory. Not equal to zero may be advantageous for the technology disclosed herein.
[0016] In some examples, for the first control variable vector Applicable to: In this example Method 100, representing computer-implemented methods, pairs of preset vectors of control variables. Filtering. In the example, the first control variable vector... and / or control variable preset vector It may include one or more control variables Or preset values of control variables For the first control variable vector Applicable to: ,in It is a natural number. For the preset vector of control variables... Applicable to: ,in It is a natural number. Method 100 includes: receiving (120) a preset vector of the reference trajectory. In the examples, the reference trajectory preset vector can be obtained from the parent planning module or defined as the centerline of the lane to be traveled. In some examples, it can be used relative to the reference trajectory preset vector. The instability of system 10 is determined by the fluctuating, increasing, and / or oscillating deviations.
[0017] In some examples, instability can be calculated using the weighted difference between the current state vector and / or control vector and the reference state vector or reference control variable vector.
[0018] In the example, stability metric It can be based on multiple predicted state vectors of a prediction step of number N. First state vector It can be used as the initial state vector of the plurality of predicted state vectors. In the example, this could mean the state vector measured / observed at the current time. and the trajectory of the planned future control variables Starting from this point, we can predict the future state vector. This can serve as a stability measure. This provides the foundation for calculations.
[0019] In the example, the received reference trajectory preset vector It can be variable and / or time-dependent. In the example, the stability metric... Multiple predicted trajectory vectors can be used based on multiple prediction steps. The plurality of predicted trajectory vectors This includes reachable trajectories determined using the system's system description. In the example, the plurality of predicted trajectory vectors... This can include a trajectory reachable by the state closed-loop controller and / or filter stage 12. In the example, the state closed-loop controller can include filter stage 12. This is because a preset vector is used to reference the trajectory. The received reference trajectory described represents an unreachable trajectory, therefore the determination is made via the plurality of predicted trajectory vectors. Describing an reachable, artificially predicted trajectory may be advantageous. Based on this reachable predicted trajectory, a stability metric can be determined. In the example, the plurality of predicted trajectory vectors The predicted trajectory vector in The first component may include the reachable prediction state vector And the multiple predicted trajectory vectors The predicted trajectory vector in The second component may include the reachable prediction control variable vector. For example, it can be applied to: In the example, the predicted trajectory vector... It can be non-zero, or the predicted trajectory vector. A value not equal to zero may be advantageous for the technology disclosed herein. Typically, system-determined security requirements may necessitate consideration of possible states. and / or control variables Apply constraints. For the state... Generally, we can define a subset X of all (theoretically) possible states: For control variables Generally, a subset U of all (theoretically) possible control variables can be defined: Reachable Predictable Trajectory In the example, it can be constrained to a subspace. For example, this subspace Can be derived from subsets and subsets composition: The predicted trajectory at subsequent time step k+1. It can be defined as being located in a set Within this set, the collection can be based on system functions. And it is applicable to this set: .
[0020] In the example, stability metric It can be achieved through at least the first prediction step among the plurality of prediction steps. Second prediction step The calculation is performed by summing multiple cost functions. In the example, each of the multiple cost functions can be calculated using the multiple predicted state vectors. China's first prediction step Or the second prediction step The corresponding prediction step's prediction state vector and multiple prediction control variable vectors China's first prediction step Or the second prediction step The prediction control variable vectors for the corresponding prediction steps are used to form the prediction function. In some examples, the number of prediction steps N can be 0 to 10, 0 to 100, 0 to 500, 0 to 1000, or greater than 1000. In the example, the multiple cost functions can be based on the multiple prediction trajectory vectors. For stability metrics The calculation is applicable when summing over N prediction steps: In the example, the cost function This can include time steps Middle Prediction Step Predicted trajectory With the same time step Same prediction step Reachable predictable trajectory The difference between them.
[0021] In some examples, stability measures It can be achieved through a quadratic cost function To calculate. Additionally or alternatively, in some examples, the plurality of predicted state vectors The predicted state vector in With reachable predictable state vector The difference between them can be calculated using the first weight matrix. Weighted, and / or multiple second control variable vectors The vector of predictive control variables With the reachable predictive control variable vector The difference between them can be calculated using the second weight matrix. Weighted. For example, a quadratic cost function can be expressed as follows: In some examples, the first weight matrix and / or the second weight matrix It can be a positive definite matrix. For example, by using the matrix... and Choose positive definiteness, stability measure It can indicate future deviations relative to a reference trajectory. For example, sustained oscillations can lead to... It becomes infinite and therefore may be unstable, while stability measures A finite value can indicate stable system behavior.
[0022] In some examples, the state vectors of the plurality of predicted state vectors in the second prediction step Can be based on system functions The state vectors of the plurality of predicted state vectors in the first prediction step and the first prediction step The control variable vector of the plurality of second control variable vectors To calculate. For Then it can be applied: Here, the system function The system is described. In some examples, the first state vector... It can be used as the initial state vector for the plurality of predicted state vectors. .
[0023] In some examples, stability rules may include stability metrics. Less than or equal to the first upper limit For example, the first upper limit. This can be used as a design parameter, determining the maximum allowable deviation relative to a purely stable closed-loop controller. In some examples, the first upper limit... A larger value may cause the stability enhancement effect of the computer-implemented method of this disclosure to intervene only when the security of system 10 is compromised. Conversely, when the control variable is preset vector When an entry has a destructive effect on the stability of system 10, the first upper limit... Lower values may trigger additional security interventions. In some examples, at least the first prediction step can be... Second prediction step +1 The above-mentioned multiple cost functions Summation plus the final cost function To ensure Approaching the first upper limit This may be applicable in some examples: .
[0024] In some examples, the computer-implemented method 100 can be implemented at least in the first step. The second time step k is then executed repeatedly. In some examples, the stability rule may include the first time step... Stability measurement Stability measure with the second time step k The difference between them is less than or equal to the second upper limit. In some examples, the first time step Stability measurement This can be used as an input variable in filter stage 12 to generate the 140 stability rule. In some examples, the second upper limit can be calculated from a minimum value selected from the first time step. Stability measurement With the first upper limit The difference between them or based on the initial state vector of the second time step Initial predicted trajectory vector and / or the current control variable vector variable The value of the cost function. Therefore, it may be applicable in some examples: .
[0025] Therefore, in the example shown, if in one example the stability measure Less than or equal to the first upper limit Then the stability rule can be satisfied. In another example, in the example shown, if the first time step... Stability measurement Stability measure with the second time step k The difference between them is less than or equal to the initial step. Cost of time If so, the stability rule can be satisfied. In one example, when a disturbance event occurs, the second upper limit can be adjusted by adding it to the buffer variable ξ. Thus, the following can be applied: In one example, the buffer variable ξ can only become non-zero if the stability rule must be relaxed. Due to the addition of the numerical value ξ, the first time step... Stability measurement Stability measure with the second time step k The difference between them may increase. In the example, as the intensity of external disturbances increases, it may be necessary to have an increased value for the buffer variable ξ.
[0026] In some examples, the first control variable vector The calculation 140 may include calculating extrema. In some examples, the first control variable vector The calculation 140 may include minimizing the preset vector of control variables. With the current control variable vector variable The difference between them. In some examples, the stability rule can be one of multiple constraints. In some examples, the control variable vector... The calculation (150) can include (almost) minimizing the reference trajectory preset vector. With the multiple predicted trajectory vectors The difference between the predicted trajectory vectors in the vector is (almost) minimized. The result can be the first control variable vector. It (almost) minimizes the preset vector of control variables under given multiple constraints. With the current control variable vector variable The difference between them. Minimize the preset vector of the control variables. With the current control variable vector variable The difference between them can also be included within the range of N prediction steps to minimize the preset vector of control variables. With the current control variable vector variable The difference between them. In some examples, multiple constraints may further include the domain of the state vector. and / or the domain of the control variable vector At least one of them. Therefore, it is applicable to: and / or In some examples, the multiple constraints may further include a final state vector for the multiple predicted state vectors. The domain of definition. The final state vector can here be the result of calculating the state vector of the last prediction step in a series of N prediction steps. For example, for the control variable vector... Based on the calculation of 150, the following optimization problems can be proposed: Right now: For all In one example It can be a scalar. In one example, These can be design parameters that describe the decay of a stability metric. In the example, It can be between 0 and 1. For example, it can be applied to: In the example, the optimization problem can (almost) minimize the received reference trajectory preset vector. With the plurality of predicted trajectory vectors determined in each prediction step The difference between the predicted trajectory vectors: In the example, this item can be weighted using a weight w.
[0027] In the example, the system 10 to be controlled in a closed loop can be designed to be arranged in a vehicle, robot, building, power tool and / or household appliance, and / or designed to perform closed-loop control of vehicle functions, robot functions, building automation functions, power tool automation functions and / or household appliance automation functions.
[0028] For example, vehicle functions may be functions for autonomous and / or assisted driving. In some examples, the computer-implemented method 100 may be designed to execute on a computer system of the vehicle (e.g., an autonomous, highly automated, or assisted driving vehicle). For example, the computer system may be implemented locally in the vehicle, or (at least partially) in a backend that is communicatively connected to the vehicle. For example, the computer system may include a control device on which the computer-implemented method 100 and / or filter stage 12 may be executed. In some examples, the vehicle may include a computer system having a communication interface that enables communication with the backend. For example, the computer-implemented method 100 may be executed in this backend. In one example, the system 10 to be closed-loop controlled may be a system for lateral and / or longitudinal guidance of the vehicle. For example, state vectors The state variables can include one or more position variables, azimuth angles, velocity variables, and / or yaw rate of change. For example, the control variable vector... and / or control variable preset vector This may include steering angle, parameters associated with the drivetrain, and / or braking parameters.
[0029] In other examples, and as implied above, the system 10 to be controlled in a closed loop may be located within the robot and / or designed to provide closed-loop control of robot functions (especially the robot's motion functions). For example, the system to be controlled in a closed loop may be a system for lateral and / or longitudinal guidance of the robot. In some examples, the computer-implemented method 100 may be executed on the robot's computer system. For example, the computer system may be implemented locally within the robot, or (at least partially) in a backend that is communicatively connected to the robot.
[0030] In one example, the system to be controlled in a closed loop can be designed to be located within a building and / or used for closed-loop control of building functions (especially building automation functions). For example, building functions could be functions for closed-loop control of room temperature, lighting, and / or safety features. In some examples, the computer-implemented method 100 can be designed to be executed on a computer system within the building. For example, the computer system can be implemented locally within the building, or (at least partially) implemented in a back-end system communicatively connected to the building. For example, the computer system can include a control system or building automation control device on which the computer-implemented method 100 can be executed. In the example, the building can have a computer system with a communication interface that enables communication with an external back-end system. For example, the computer-implemented method 100 can be executed in this back-end system. State Vector Examples can include variables based on information such as room temperature, brightness, or the presence of people. In some cases, the state vector... This can include relative temperature difference, illuminance, or distance to a specific location or object within the building. State vectors in the context of building automation. Examples can include variables based on parameters such as heating closed-loop control, lighting settings, ventilation speed, or security alarms. In these examples, information can originate from networks, 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, the control variable preset vector... The input variables may include, for example, temperature presets and / or lighting presets, in the form of voltage signals and / or current signals.
[0031] In other examples, the system 10 to be controlled in a closed loop may be designed to be located within the power tool and / or designed to provide closed-loop control of the power tool's functions (especially its operating functions). In some examples, the computer-implemented method 100 may be executed on the power tool's computer system. For example, the computer system may be implemented locally within the power tool or (at least partially) in a back-end system that is communicatively connected to the power tool.
[0032] In other examples, the system 10 to be controlled in a closed loop may be designed to be located within a household appliance and / or designed to perform closed-loop control of the appliance's functions (especially its operating functions). In some examples, the computer-implemented method 100 may be executed on the computer system of the household appliance. For example, the computer system may be implemented locally within the household appliance or (at least partially) in a back-end system that is communicatively connected to the household appliance.
[0033] In another example, the system 10 to be closed-loop controlled can be designed to be arranged in a machine tool, personal assistant, access control system and / or medical device.
[0034] A computer system is further disclosed, designed to perform a computer-implemented method 100 for determining a vector of control variables for closed-loop control of a system. The computer system may include at least one processor and / or at least one working memory. The computer system may further include (non-volatile) memory. In the example, the computer system may be part of an entire system. For example, in addition to the computer system, the entire system may also include a system 10 to be closed-loop controlled. For example, as previously described, the entire system may include a vehicle, robot, building, power tool, home appliance, machine tool, personal assistant, access control system, and / or medical device.
[0035] A computer program is further disclosed, designed to execute a computer-implemented method 100 for determining a vector of control variables for closed-loop control of the system. The computer program may exist, for example, in an interpretable or compileable form. It may (also in part) be loaded into the computer's RAM for execution, for example, as a sequence of bits or bytes.
[0036] A computer-readable medium or signal is further disclosed, which stores and / or contains the computer program or at least a portion thereof. The medium may include, for example, one of RAM, ROM, EPROM, HDD, SDD, etc., on which the signal is stored / in which.
Claims
1. A computer-implemented method (100) for determining a vector of control variables for closed-loop control of a system (10). - Determine (110) the first state vector ( ), - Receive (120) reference trajectory preset vector ( ), - Receive (130) control variable preset vector ( ), - Based on stability metrics ( ) and the first state vector ( Generate (140) stability rules, and - Based on the stability rule and the preset vector of the control variables ( ) and the reference trajectory preset vector ( ) Calculate the control variable vector (150) ).
2. The computer-implemented method (100) according to claim 1, wherein, The stability measure ( Based on multiple prediction state vectors across multiple prediction steps ( ), where the first state vector ( ) is used as the initial state vector of the plurality of predicted state vectors. ).
3. The computer-implemented method (100) according to claim 1 or 2, wherein, The stability measure ( Multiple predicted trajectory vectors based on multiple prediction steps ( ), wherein the plurality of predicted trajectory vectors ( This includes the reachable trajectory determined using the system function of the system (10).
4. The computer-implemented method (100) according to claim 1, 2 or 3, wherein, The stability measure ( ) through at least the first prediction step of the plurality of prediction steps ( ) and the second prediction step ( The calculation is performed by summing multiple cost functions over (+1), where each of the multiple cost functions is calculated using the multiple predicted state vectors (+1). In the first prediction step () ) or the second prediction step ( The predicted state vector and multiple predicted control variable vectors for the corresponding prediction step of (+1). In the first prediction step () ) or the second prediction step ( The corresponding prediction step's prediction control variable vector is formed by +1).
5. The computer-implemented method (100) according to claim 4, wherein, The multiple cost functions are based on the multiple predicted trajectory vectors ( ).
6. The computer-implemented method (100) according to any one of the preceding claims, wherein, The stability rules include the stability metric ( ) less than or equal to the first upper limit ( ).
7. The computer-implemented method (100) according to any one of the preceding claims, wherein, Calculate the control variable vector (140) This includes calculating extreme values.
8. The computer-implemented method (100) according to any one of the preceding claims, wherein, Calculate the control variable vector (140) This includes minimizing the preset vector of the control variables ( ) and the current control variable vector variable ( The difference between ), where the stability rule is one of a plurality of constraints.
9. The computer-implemented method (100) according to any one of the preceding claims, wherein, Calculate the control variable vector (140) This includes minimizing the preset vector of the reference trajectory ( ) and the multiple predicted trajectory vectors ( The difference between the predicted trajectory vectors in ).
10. The computer-implemented method (100) according to any one of the preceding claims, wherein, The system (10) to be closed-loop controlled is designed to be arranged in vehicles, robots, buildings, power tools and / or household appliances, and / or is designed to perform closed-loop control of vehicle functions, robot functions, building automation functions, power tool automation functions and / or household appliance automation functions.
11. A computer system designed to perform a computer-implemented method (100) for determining a vector of control variables for closed-loop control of a system, according to any one of claims 1 to 10.
12. A computer program comprising instructions that, when executed by a computer system, cause the computer system to perform a computer-implemented method (100) for determining a vector of control variables for closed-loop control of a system, according to any one of claims 1 to 10.
13. A computer-readable medium or signal that stores and / or contains a computer program according to claim 12.