Stochastic model-predictive control for uncertain systems

CN116710855BActive Publication Date: 2026-08-18MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180081863.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-10
Filing Date
2021-08-05
Publication Date
2026-08-18
Estimated Expiration
2041-08-05

AI Technical Summary

Technical Problem

在许多情况下,这种假设过于严格,因为在大量应用中,不确定性随时间变化,因此无法在执行SMPC之前离线预先确定

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116710855B_ABST
    Figure CN116710855B_ABST
Patent Text Reader

Abstract

A stochastic model predictive controller (SMPC) estimates a current state of a system and a probability distribution of uncertainty in dynamic parameters of the system based on measurements of outputs of the system; and updates a control model of the system, the control model including a dynamic function of the system modeling the uncertainty in the parameters with first and second moments of the estimated probability distribution of the uncertainty in the parameters. The SMPC determines a control input to control the system by optimizing the updated control model of the system at the current state within a prediction horizon; and controls the system based on the control input to change a state of the system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates generally to control applications, and more specifically, to a method and apparatus for model-predictive control of a system in response to uncertainty in at least one of the estimated parameters of the system. Background Technology

[0002] Optimization-based control and estimation techniques, such as model predictive control (MPC), allow for model-based design frameworks in which system dynamics and constraints can be directly considered. MPC is used in many applications to control a variety of complex dynamical systems described by a set of nonlinear differential equations, namely, systems of ordinary differential equations (ODEs), differential-algebraic equations (DAEs), or partial differential equations (PDEs). Examples of such systems include production lines, car engines, robots, CNC machine tools, satellites, and generators.

[0003] MPC is a real-time finite-bound optimization based on a system model. MPC has the ability to predict future events and take appropriate control actions. This is achieved by optimizing the system's operation within constrained future finite time bounds and implementing control only at the current time step.

[0004] MPC can predict changes in the state variables of a modeled system caused by changes in control variables. State variables define the state of a system (i.e., the state of a controlled system) and are the minimal set of state variables in the state-space representation of the control system that can represent the entire state of the system at any given time. For example, if the controlled system is an autonomous vehicle, state variables could include the vehicle's position, velocity, and heading. MPC uses the system model, current system measurements and / or state estimates, the vehicle's current state, and state and control constraints to calculate future changes in the vehicle's state. These changes are calculated to keep the state close to a target constrained by both control and state variables. MPC typically sends only the first change of each control variable to be performed by the actuators of the controlled system and repeats the calculation as the next change is needed.

[0005] Many systems to be controlled are partially unknown, or at least uncertain. For example, when controlling a vehicle, the maximum friction between the tires and the road is not known precisely, and the dependence of friction on vehicle state (e.g., vehicle speed) is also unknown. Typically, such uncertainties are estimated simultaneously with MPC (Multi-Process Control) to provide the MPC with better knowledge of the model being controlled. While MPC exhibits inherent robustness due to feedback, such controllers do not directly account for uncertainties and therefore cannot guarantee the satisfaction of safety-critical constraints in the presence of model uncertainties or external disturbances. An alternative approach is robust MPC, which relies on optimizing the control strategy in the worst-case scenario with a finite range of uncertainties. However, robust MPC achieves conservative control performance due to the extremely low probability of the worst-case scenario occurring.

[0006] Another type of MPC is Stochastic MPC (SMPC), where the uncertainty of the system is modeled as having a distribution, for example, a Gaussian distribution with a mean (center) and a covariance (uncertainty). SMPC aims to reduce the conservatism of robust MPC by directly incorporating the probabilistic description of uncertainty into the formulation of the optimal control problem (OCP). In some implementations, SMPC requires constraints to satisfy a certain probability, i.e., by formulating so-called chance constraints that allow specified but non-zero probability of constraint violation. Furthermore, SMPC has advantages in environments where high-performance closed-loop operation can be achieved near the boundary of the plant's feasible region. In general, chance constraints are computationally difficult to handle and often require approximate formulations.

[0007] Besides many systems with uncertain parameters or components, this uncertainty is often time-varying. For example, the tire friction of a vehicle will vary depending on whether the road is wet or dry, or whether there is snow or ice. In the case of time-varying uncertainty, the estimate of the uncertainty needs to be updated online (i.e., recursively). In the case of SMPC, the estimation involves determining the probability distribution of the uncertainty.

[0008] However, SMPC assumes that the uncertainty is predetermined offline, i.e., determined before the execution of the controller. In many cases, this assumption is too stringent, because in many applications, the uncertainty changes over time and therefore cannot be predetermined offline before the execution of SMPC.

[0009] Therefore, it is necessary to include the externally determined uncertainty distribution into the SMPC solver during the real-time control of the system. Summary of the Invention

[0010] Technical issues

[0011] Some implementations aim to provide a stochastic model predictive controller (SMPC) for controlling systems in a state of uncertainty (e.g., uncertainty in system parameters or general uncertainty that cannot be parameterized a priori (e.g., due to a lack of prior knowledge about the behavior of the uncertainty)). Another objective of some implementations is to provide a controller that operates concurrently with an estimator that recursively (i.e., online) estimates the uncertainty of the system. Yet another objective of some implementations is to provide such a controller when the uncertainty varies over time and is related to the system state. As used herein, the system can be any mechanical system with constraints that can be controlled to accomplish certain tasks, such as a vehicle avoiding obstacles where the uncertainty is a surface and the state includes velocity; a robot performing an installation operation where the state includes joint angles and the uncertainty is the flexibility of a robotic arm; or an air conditioning system controlling room temperature. For example, constraints could be a vehicle avoiding obstacles while avoiding abandoning the road, a robot performing an installation operation within a time limit, or an air conditioning system maintaining within specified energy efficiency limits.

[0012] Technical solution

[0013] Some implementations are based on the understanding that while SMPC assumes uncertainties are predetermined offline, many uncertainties in real-world applications cannot be determined offline because they vary over time and depend on control inputs and the system's response to those inputs. Therefore, an estimator is needed to determine the distribution of uncertainties that can be input into the SMPC for uncertainty prediction within the SMPC. Consequently, some implementations aim to incorporate externally determined uncertainty distributions into the SMPC.

[0014] Some implementations are based on the understanding that the probability distribution of uncertainty can be classified in two ways: state-independent probability distributions and state-dependent distributions. A state-independent distribution is a probability distribution of uncertainty that can be represented without knowing the system state at a given time. For example, the mass of a vehicle is independent of its motion and is therefore a state-independent uncertainty. A state-dependent distribution is a probability distribution of uncertainty that is determined as a function of the system state. For example, the friction that can occur between a tire and the road depends on the vehicle's acceleration and velocity, which form part of the vehicle's state.

[0015] One implementation recognizes that the system's control model (i.e., the system model used to determine the control commands given to the system) can be decomposed into parts that are independent of uncertainty and parts that are related to uncertainty. Some implementations recognize that state-independent uncertainty, and therefore its probability distribution, can be input into the SMPC as multipliers of the uncertainty-related part of the control model. Because uncertainty can be input as a multiplier, it preserves linearity; that is, there is no need to modify the propagation of uncertainty within the prediction time bound in the SMPC, i.e., various uncertainty propagation techniques can be used without modification.

[0016] While linearity is preserved for state-independent uncertainties, one implementation is based on the fact that such linearity preservation cannot be used for state-dependent uncertainties. For state-dependent uncertainties and therefore their probability distributions, the state-dependent distribution of the uncertainty needs to be modified at each time step within the SMPC prediction bound. Furthermore, state-dependent uncertainties are nonlinear and therefore cannot be extracted as multipliers to at least a portion of the control model.

[0017] Some implementations are based on the understanding that, similar to control models, state-dependent probability distributions can be divided into state-dependent and state-independent components. The state-dependent component can be included in the original SMPC formula, while the state-independent component is estimated online and added to the SMPC in a manner similar to that of including the state-independent probability distribution. In this way, state-dependent uncertainties can be determined online for use within the SMPC framework.

[0018] In some implementations, the probability distribution of state-related uncertainties can be viewed as a Gaussian process, i.e., a distribution over a function with a continuous domain (e.g., a space), such that the samples of the Gaussian process are continuous uncertainty functions. Representing the distribution of uncertainty as a Gaussian process can improve the accuracy of uncertainty estimation. However, estimating the uncertainty function based on the principles of Gaussian processes is a computationally challenging task, especially in online settings where a computationally fast recursive implementation is required.

[0019] Some implementations are based on the understanding of how to simplify the estimation of Gaussian processes to determine the uncertainty function and the probability distribution of the associated uncertainty. Specifically, in some implementations, uncertainty is treated as a weighted combination of basis functions, and a Gaussian process of uncertainty is captured by the Gaussian distribution of the basis function weights. It can be shown that if the weights of each basis function are modeled as a Gaussian distribution, then the weighted combination of basis functions has an interpretation of the uncertainty modeled as a Gaussian process. In other words, to update the Gaussian process, some implementations may only need to update the Gaussian distribution of these weights. In effect, treating the uncertainty function as a weighted combination of basis functions reduces the computational requirements for probabilistically estimating uncertainty.

[0020] In other implementations, the portion of the control model (i.e., the system model used for control) multiplied with the uncertainty is a nonlinear function. In another implementation, state-related uncertainty is captured by weighted basis function expansion, where the basis functions are predefined nonlinear functions of the system state, and the weights are determined online (i.e., recursively). In some implementations, the nonlinear function of the control model comprises combinations of basis functions, i.e., they can be used for SMPC without modification. In another implementation, the weights of the basis functions are multiplied with the nonlinear function of the system model; i.e., the weights capture uncertainty that is state-independent and can therefore be provided in the multipliers.

[0021] Some implementations first determine the probability distribution of uncertainty over a possible function, and then determine a specific function based on the probability distribution. This ensures that the determined uncertainty conforms to the available data and that the uncertainty from the specific function derived from the probability distribution can be quantified. This can be advantageous, for example, in vehicle control where the vehicle controller can utilize large frictional uncertainties for a specific range of states to minimize the risk of undesirable behavior in vehicle control.

[0022] Some implementations are based on SMPC, which propagates the covariance extracted from a determined probability distribution in discrete-time instances. In other implementations, the specific function determined from the probability distribution is the mean of the probability distribution, which is used to propagate the system state forward within the SMPC control time bound.

[0023] Some implementations are based on the understanding that feedback control actions should be considered in the forward propagation of uncertainties toward predicted state values. Some implementations use time-invariant or time-varying sequences of affine feedback gains to pre-stabilize nonlinear system dynamics, deriving covariance propagation equations that directly consider the future impact of feedback control actions on uncertainties. For example, an infinite-time-bounded linear quadratic tuner used to linearize system dynamics can be used in the formulation of a pre-stabilized stochastic nonlinear optimal control problem (OCP) with reference steady state and input values. In some implementations, uncertainty is related to both the system state and the feedback control action. Therefore, the state and control action are inserted into the basis functions, i.e., the state- and control-related parts of the uncertainty. This ensures that the weights of the basis functions remain state- and control-independent.

[0024] In some implementations, SMPC includes probabilistic chance constraints based on the discretization of the nonlinear differential equations describing the system's control model and the discrete-time propagation of uncertainties in the nonlinear system dynamics. Each probabilistic chance constraint is designed to ensure that the probability of violating the corresponding inequality constraint is below a certain probability threshold.

[0025] Some implementations use formulas based on probabilistic chance constraints tightened for each inequality constraint, depending on the following terms: the backoff coefficient value, the constraint Jacobian matrix, and the covariance matrix of the predicted state values ​​at a specific time step. Some implementations of the present invention are based on the understanding that the covariance matrix can be efficiently computed for the state values ​​at each time step within the control bound using covariance propagation based on approximate linearization, where the covariance propagation includes the covariance of uncertainties. The covariance equation can be based on the discretization of continuous-time nonlinear system dynamics based on linearized uncertainty propagation. Alternatively, discrete-time covariance propagation can be performed directly based on the linearization of the discretized set of nonlinear dynamic equations.

[0026] Some implementations use a particle filter that maintains a set of particles, each particle including an estimate of the system state, an estimate of the probability distribution function of the uncertainty, and a weight indicating the probability of the particle.

[0027] Other implementations are based on the understanding that the state of the system and the probability distribution function of the uncertainty of each particle can be updated in each particle to match the measurement results and control inputs based on the system's motion model and measurement model.

[0028] In one implementation, the probability distribution function of the uncertainty is determined as a weighted combination of the probability distribution functions of the uncertainty in each particle.

[0029] Therefore, one embodiment discloses a stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: at each control step, determine an estimate of the current state of the system and an estimate of the probability distribution of uncertainties in the system's dynamic parameters, based on measurements of system outputs indicating a transition of the system's state from a previous state to the current state; update a control model of the system, the control model including a dynamic function of the system modeling the uncertainties in the parameters using the first and second moments of the probability distribution estimated from the uncertainties in the parameters; determine a control input for the control system by optimizing the updated control model of the system in the current state within a prediction time bound; and control the system based on the control input to change the state of the system.

[0030] Another embodiment discloses a stochastic model predictive control (SMPC) method for a control system, wherein the method uses a processor coupled to stored instructions implementing the method, wherein the instructions, when executed by the processor, implement the steps of the method, the steps including: at each control step, determining an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters based on measurements of system outputs indicating a transition of the system's state from a previous state to the current state; updating the control model of the system, the control model including a dynamic function of the system modeling the uncertainty of the parameters with the first and second moments of the probability distribution estimated by the uncertainty of the parameters; determining the control input of the control system by optimizing the updated control model of the system in the current state within a prediction time bound; and controlling the system based on the control input to change the state of the system. [Image Description]

[0031] [ Figure 1A ]

[0032] Figure 1A An example system with uncertainty connected to a stochastic model prediction controller (SMPC) according to some implementations is shown.

[0033] [ Figure 1B ]

[0034] Figure 1B An example system with uncertainty is shown, connected to the SMPC via a state estimator and an uncertainty estimator.

[0035] [ Figure 1C ]

[0036] Figure 1C Examples of uncertainty classification based on some implementation methods are shown.

[0037] [ Figure 1D ]

[0038] Figure 1D This demonstrates how the system model used in SMPC can be updated based on estimates of the probability distribution of system uncertainties, according to certain principles.

[0039] [ Figure 1E ]

[0040] Figure 1E A flowchart of an SMPC for a control system, executed by at least one processor, is shown.

[0041] [ Figure 1F ]

[0042] Figure 1F An example is shown where the multiplier's requirement for the control model is state-independent.

[0043] [ Figure 1G ]

[0044] Figure 1G An example is shown illustrating how state-dependent uncertainty can be explained by decomposing uncertainty into state-dependent and state-independent components.

[0045] [ Figure 1H ]

[0046] Figure 1H A schematic diagram is shown of a method for updating the probability distribution of uncertainty using system state according to some implementations.

[0047] [ Figure 1I ]

[0048] Figure 1I A graph illustrating the probability distribution function of the defined uncertainty feasible space according to one embodiment is shown.

[0049] [ Figure 2A ]

[0050] Figure 2A A block diagram of a method for estimating uncertainty according to some embodiments is shown.

[0051] [ Figure 2B ]

[0052] Figure 2B A block diagram of a method for updating particle states according to some embodiments is shown.

[0053] [ Figure 2C ]

[0054] Figure 2C A block diagram of another method for updating particle states according to some embodiments is shown.

[0055] [ Figure 2D ]

[0056] Figure 2D A simplified schematic diagram showing the result of three iterations in generating updated states in a particle is shown.

[0057] [ Figure 2E ]

[0058] Figure 2E It shows Figure 2D The possible assignment probabilities of the five states during the first iteration.

[0059] [ Figure 2F ]

[0060] Figure 2FA block diagram of a method for updating the uncertainty probability distribution in each particle, according to one embodiment, is shown.

[0061] [ Figure 3A ]

[0062] Figure 3A An example of the use of a weighted basis function according to one implementation is shown.

[0063] [ Figure 3B ]

[0064] Figure 3B An example of the effect of basis function weights is shown.

[0065] [ Figure 3C ]

[0066] Figure 3C A block diagram of one iteration of a method for updating the uncertainty probability distribution in each particle, according to one embodiment, is shown.

[0067] [ Figure 3D ]

[0068] Figure 3D A block diagram is shown of a method for updating the weights of a weighted combination of basis functions in each particle, according to one embodiment.

[0069] [ Figure 4A ]

[0070] Figure 4A A block diagram of a method for updating a system model according to one embodiment is shown.

[0071] [ Figure 4B ]

[0072] Figure 4B A block diagram of an SMPC according to some implementations is shown.

[0073] [ Figure 4C ]

[0074] Figure 4C A block diagram illustrating an exemplary implementation of the two-stage optimization process is shown.

[0075] [ Figure 5A ]

[0076] Figure 5A A block diagram of the system and method for implementing SMPC is shown.

[0077] [ Figure 5B ]

[0078] Figure 5B A block diagram of an SNMPC controller for solving constrained optimal control structured nonlinear programming problems is shown.

[0079] [ Figure 6A ]

[0080] Figure 6A A block diagram is shown that formulates one or more constraints according to some implementation methods.

[0081] [ Figure 6B ]

[0082] Figure 6B A block diagram is shown to illustrate linearized state covariance propagation for a set of discrete-time nonlinear system dynamics.

[0083] [ Figure 7A ]

[0084] Figure 7A Examples of some principles for adapting constraints to a probability distribution in response to uncertainty are shown, where the uncertainty is related to at least a subset of the full state.

[0085] [ Figure 7B ]

[0086] Figure 7B Examples of some principles for adapting constraints to a probability distribution in response to uncertainty are shown, where the uncertainty is related to at least a subset of the full state.

[0087] [ Figure 7C ]

[0088] Figure 7C Examples of some principles for adapting constraints to a probability distribution in response to uncertainty are shown, where the uncertainty is related to at least a subset of the full state.

[0089] [ Figure 8A ]

[0090] Figure 8A A schematic diagram of a vehicle employing the principles of SMPC in several implementation methods is shown.

[0091] [ Figure 8B ]

[0092] Figure 8B A schematic diagram illustrating the interaction between an SMPC and a vehicle controller according to some implementations is shown.

[0093] [ Figure 8C ]

[0094] Figure 8C A schematic diagram of an autonomous or semi-autonomous controlled vehicle is shown.

[0095] [ Figure 8D ]

[0096] Figure 8D A schematic diagram of a vehicle controlled by an SMPC is shown.

[0097] [ Figure 9A ]

[0098] Figure 9A This diagram illustrates how the forces on a vehicle's tires change as the slip value varies.

[0099] [ Figure 9B ]

[0100] Figure 9B It shows Figure 9A The two-dimensional equivalent diagram, where the force has been used as the normal force for the wheel.

[0101] [ Figure 9C ]

[0102] Figure 9C An example is given of the adaptation of slip value constraints to the estimated tire friction function according to some implementation methods.

[0103] [ Figure 9D ]

[0104] Figure 9D An example is given of the adaptation of slip value constraints to the estimated tire friction function according to some implementation methods.

[0105] [ Figure 10A ]

[0106] Figure 10A A schematic diagram of a simplified front-wheel-drive monorail model of the vehicle is shown.

[0107] [ Figure 10B ]

[0108] Figure 10B A schematic diagram of a dual-rail model that models all four wheels according to one embodiment is shown. Detailed Implementation

[0109] Figure 1AAn example system 120 with uncertainty 125 is illustrated, connected to a stochastic model predictive controller (SMPC) 110 via a state estimator 131 according to some embodiments. The SMPC is programmed according to a dynamic model 140 (i.e., a control model of the system). This model may be a set of equations representing the changes in the state and output 103 of the system 120 over time, as a function of current and previous inputs 111 and previous outputs 103. The model may include constraints 142 representing physical and operational limitations of the system. During operation, the controller receives a command 101 instructing the desired behavior of the system. This command may be, for example, a motion command. In response to receiving the command 101, the controller generates a control signal 111, which serves as an input to the real system 120 with uncertainty 125. In response to the input, the system updates the system output 103. Based on measurements of the system output 103 and the output of an estimated model 150, which is typically different from the control model 140, the estimator 131 updates the estimated state 121 and uncertainty 125 of the system. These estimates 121 of the system provide state feedback to the controller 110.

[0110] As referred to herein, system 120 can be any machine or device controlled by certain manipulating input signals 111 (inputs) that may be associated with physical quantities such as voltage, pressure, force, and torque, and returning certain controlled output signals 103 (outputs) that may be associated with physical quantities such as position, current, flow rate, and velocity indicating a transition of the system state from a previous state to the current state. The output value is related in part to the system's previous output value and in part to both the previous and current input values. The correlation between the previous inputs and previous outputs is encoded in the system state. The operation of the system (e.g., the movement of system components) may include a sequence of output values ​​generated by the system after certain input values ​​are applied.

[0111] Uncertainty 125 can be any time-varying uncertainty, including any external disturbance, force or torque acting on system 120, any unmodeled dynamics, or any uncertainty in physical quantities such as uncertain coefficients of friction, friction functions, object mass, system center of gravity, or uncertainty coefficients and parameters in control model equations describing the physical behavior of the real system 120. For example, in some implementations, SMPC 110 uses a simplified control model 140, leaving a large amount of physical behavior in the real system unmodeled to reduce the computational complexity of the controller, or because some physical behavior is too complex to be modeled by first principles. This simplified modeling may result in or contribute to uncertainty 125. Note that time-independent uncertainties can be estimated or learned online or offline as part of the state and parameter estimator 131.

[0112] In various implementations, estimator 131 is an online estimator that determines the uncertainty 125 and / or the confidence level regarding the estimated uncertainty in real time (i.e., during the control of system 120). In this way, some implementations increase the accuracy of the estimation of uncertainty 125 relative to the accuracy of the offline estimation of uncertainty, because uncertainty 125 varies over time and can depend on the control input and the system's response to that control input.

[0113] Control model 140 may include a dynamic model that defines the dynamics of system 120. Control model 140 of system 120 may include a set of mathematical equations describing how the system output changes over time as a function of current inputs and previous inputs and outputs. The state of the system is any set of information that is typically time-varying, such as a suitable subset of current inputs and previous inputs and outputs, which, together with the system model and future inputs, can uniquely define the future motion of the system. Real system 120 may be subject to physical and regulatory constraints 142 that limit the range of possible system outputs, inputs, and states. In various embodiments, the control model of the system includes a dynamic function of the system containing parameters with uncertainty 125. In this way, uncertainties acting on system 120 can be captured by model 140. Examples of parameters with uncertainty include the stiffness state of vehicle tires, peak friction of vehicle tires, a friction function capturing frictional behavior as a function of vehicle handling behavior, vehicle mass, and vehicle inertia.

[0114] The controller 110 may be implemented in hardware or as a software program that executes in a processor (e.g., a microprocessor), which receives the estimated state 121 of the system and the desired motion command 101 at fixed or variable control cycle sampling intervals and uses the information to determine inputs for the operating system, such as control signals 111.

[0115] The estimator 131 can be implemented in hardware or as a software program that executes in the same or a different processor than the controller 110. It receives the system output 103 at fixed or variable control cycle sampling intervals and uses new and previous output measurements to determine the estimated state and uncertainty 121 of the system 120.

[0116] Figure 1BAn example system 120 with uncertainty 125 is illustrated, connected to an SMPC 110 via a state estimator 131 and an uncertainty estimator 132 according to some implementations. In some implementations, the SMPC is programmed according to a control model 140 of the system 120 with uncertainty. The control model includes an uncertainty model 141 that models the uncertainty 125 and its relationship to system behavior. The uncertainty model 141 includes a model of the linear and / or nonlinear relationship between the uncertainty and the control model equations describing the dynamic behavior of the system. Additionally, the uncertainty model includes a model of the probability distribution of each time-varying uncertainty in the control model.

[0117] For example, in some embodiments, the uncertainty parameter is the slope of the tire friction curve, such that the probability distribution model defines an uncertainty distribution of possible values ​​for the slope. In some embodiments, the control model 140 of the SMPC 110 may include one or more probabilistic chance constraints 143. As used herein, a chance constraint is a constraint that defines a physical or geometric limitation on the uncertainty of different aspects of the control model of the system. For example, a chance constraint may define a constraint on the lateral displacement of a vehicle on a road. Different embodiments may formulate one or more of any physical limitations and specification constraints of the system into one or more probabilistic chance constraints 143, which are designed to force the probability of violating the corresponding constraint to be below a certain probability threshold.

[0118] In some embodiments, the uncertainty estimator 132 provides an estimate 122, such as a probability distribution of the uncertainty, or the first and higher moments of the probability distribution. In some embodiments of the invention, the state estimator 131 and the uncertainty estimator 132 are implemented together in an estimator assembly 130 that receives the system output 103 at fixed or variable control period sampling intervals and uses new and previous output measurements to determine the estimated state 121 and estimated uncertainties 122 and 125 of the system 120. In some embodiments, the estimator 130 consists of a particle filter 131 and the uncertainty estimator 132, which models the uncertainty as a weighted sum of basis functions associated with the state and / or control inputs, where the weights are estimated by the uncertainty estimator. In other embodiments, the uncertainty estimator 132 models the uncertainty as a Gaussian distribution with unknown mean and covariance, where the mean and covariance are state-independent. In some implementations, the weights of the basis functions are modeled as a Gaussian distribution with unknown mean and variance. That is, the weights can be treated as uncertainties modeled as Gaussian distributions (i.e., state-independent).

[0119] Figure 1CExamples of the classification of uncertainties according to some implementations are shown. Some implementations are based on the understanding that uncertainties, and therefore the probability distributions of uncertainties, can be classified in two ways: state-independent probability distributions 115c and state-dependent distributions 125c. A state-independent distribution 115c is a probability distribution of uncertainty that can be represented without knowing the system state when determined. For example, the mass of a vehicle is independent of its motion and is therefore a state-independent uncertainty. A state-dependent distribution 125c is a probability distribution of uncertainty that is determined as a function of the system state. For example, the friction 120c that can occur between a tire and the road depends on the vehicle's acceleration and velocity.

[0120] Some implementations recognize that the control model 140 of system 120 (i.e., the system model for determining control commands 111 to the system) can be decomposed into uncertainty-independent and uncertainty-dependent parts. Other implementations recognize that state-independent uncertainty, and therefore its probability distribution, can be input into the SMPC as multipliers of the uncertainty-dependent part of the control model. Because uncertainty can be input as a multiplier, it preserves linearity, i.e., there is no need to modify the propagation of uncertainty within the prediction time bound in the SMPC; that is, standard uncertainty propagation techniques can be used without modification.

[0121] Figure 1D This illustrates how the system model used in SMPC can be updated based on estimates of the system's uncertainty probability distribution according to certain principles. Control model 110 is described by a set of mathematical equations, where the model can be decomposed into at least two components, each describing the state x in the system typically at time step k. k and control commands u k The related parts are possible nonlinear functions. At each control step, estimator 130 estimates the probability distribution of uncertainty 120d. Uncertainty can be input into the control model as a multiplier for the dynamic function 110d of the system associated with the uncertainty.

[0122] Figure 1EA flowchart of an SMPC for a control system, executed by at least one processor, is shown. At each time step of the control, SMPC 110 estimates, for example, the probability distribution of uncertainty 122 and the state 121 of the system based on measurements of the system output 103, which indicates a change in the system state from a previous state to the current state. SMPC 110 updates the control model 140 of the system 120 with the estimated uncertainties included in the updated model; using the updated model 121e, SMPC 110 determines the control input 130e to the system by optimizing the updated model of the system at the prediction time bound; and finally, using the determined control input 111, SMPC controls the system based on the control input to change the state of the system.

[0123] In various implementations, the system's control model 140 includes the system's dynamics function, which models the parameter uncertainties using the first and second moments of the probability distributions estimated from the parameter uncertainties. For example, the first and second moments of the probability distributions estimated from the parameter uncertainties are included in the control model as multipliers of the system's dynamics function, such that updates to the control model include updates to the multipliers. In this way, the parameter uncertainties can be updated effectively for optimization details at the prediction time bounds. In some implementations, such updates can be effectively introduced without even modifying the SMPC solver.

[0124] Figure 1F This illustrates an example where the requirement for multipliers in the control model is state-independent; that is, uncertainty is added to the control model as multipliers, thus requiring no changes to the SMPC implementation. Figure 1F In the model 140, the uncertainty 122 output by the estimator 130 is state- and / or control-related. Therefore, it cannot be used as a multiplier input to the control model 140 because the uncertainty 122, represented by the probability distribution 125c, depends on the state. That is, any optimization occurring in the SMPC 110 will affect the value of the uncertainty 122, thus requiring its inclusion in the SMPC solver. Furthermore, the state-related uncertainty is nonlinear and therefore cannot be extracted as a multiplier into the control model.

[0125] Some implementations are based on the understanding that the state-dependent probability distribution can be divided into a state-dependent component and a state-independent component. The state-dependent component can be included in the original SMPC formula, while the state-independent component is estimated online and added to the SMPC in a manner similar to including the state-independent probability distribution.

[0126] Therefore, in some implementations where the probability distribution of parameter uncertainty is related to the system state, the probability distribution of parameter uncertainty is divided into a state-dependent part, which is represented as a function of the system state in the control model, and a state-independent part, which is independent of the system state representation. The state-dependent part is contained within the system's dynamic function, while the state-independent part is contained in multipliers outside the system's dynamic function. For example, the state-dependent part is contained within function 110d, while the state-independent part is included as at least a part of multiplier 120d.

[0127] In some implementations, the probability distribution of state-related uncertainties can be viewed as a Gaussian process, i.e., a distribution over a function with a continuous domain (e.g., a space), such that the samples of the Gaussian process are continuous uncertain functions. Representing the distribution of uncertainty as a Gaussian process can improve the accuracy of uncertainty estimation. However, estimating the uncertainty function according to the principles of Gaussian processes is a computationally challenging task, especially in online settings that require computationally fast recursive implementations.

[0128] Some implementations are based on the understanding that simplifying the estimation of Gaussian processes is necessary to determine the uncertainty function and the associated uncertainty probability distribution. Specifically, in some implementations, uncertainty is treated as a weighted combination of basis functions, and the Gaussian process of uncertainty is captured by the Gaussian distribution of the basis function weights. In other words, to update the probability distribution of uncertainty, some implementations may only update the Gaussian distribution of these weights. In effect, treating the uncertainty function as a weighted combination of basis functions reduces the computational requirements for probabilistically estimating uncertainty.

[0129] Figure 1G An example of state-dependent uncertainty is illustrated by decomposing the uncertainty into a state-dependent part and a state-independent part. The state-dependent part is captured by a predefined and deterministic set of basis functions 110g. The weights 120g of the basis functions capture the distribution of the uncertainty, and because it is state-independent, it can be provided to the nonlinear function of the dynamics in the multipliers; that is, it can be added to the SMPC in a similar manner to state-independent uncertainty.

[0130] Therefore, in some implementations, the probability distribution of parameter uncertainty is represented as a weighted combination of basis functions that depend on the system state, such that the state-related part of the probability distribution of parameter uncertainty includes a combination of basis functions that capture the correlation with the system state, while the state-independent part of the probability distribution of parameter uncertainty includes a weighted combination of basis functions that are independent of the system state and derived from the first and second moments of the probability distribution estimated from the parameter uncertainty.

[0131] For example, in one implementation, the probability distribution of parameter uncertainty can be modeled as a Gaussian distribution with unknown mean and covariance, which is estimated by SMPC as first and second moments during system control.

[0132] Some implementations determine the probability distribution of uncertainty to increase the probability of determining the current state that reconciles the differences between the motion model and the measurement model in the state estimation of the system. When determining the probability distribution of uncertainty, since uncertainty cannot be directly measured but can only be observed indirectly through the system state, uncertainty is correlated with the system state by establishing a relationship between the system state and the uncertainty through the system's motion model. Measurement may or may not directly include uncertainty, but it indicates a noisy system state. Therefore, states determined using the motion model and states determined using the measurement model can be compared because, when compared with measurements, states determined using the motion model that includes uncertainty indicate the quality of the probability distribution of uncertainty. Due to the presence of noise, comparing the trajectories of states rather than individual states is more reliable.

[0133] However, in real-time operation, sensor measurements are collected recursively for each time step of the control. Therefore, the trajectory of the states can be compared by comparing individual states, where each comparison includes components weighted in previous individual state comparisons. Such comparisons reduce the uncertainty of comparisons that indicate uncertainty, because the comparisons are not performed sample-by-sample, but over a longer time span encompassing multiple states across consecutive time steps of the control.

[0134] Figure 1H A schematic diagram illustrates a method for updating the probability distribution of uncertainty using system states according to some embodiments. The embodiments determine the system state for each time step of control that is matched with the measurement 120h based on the measurement model 130h and the control input 110h based on the motion model 111h, which includes samples of uncertainty. In other words, the embodiments compare the system states determined by the two models at 140h to update the probability distribution of uncertainty, thereby minimizing the error in estimating the differences. For example, by comparing the state determined using the motion model, which includes sampled uncertainty, with the state determined using the measurement model, the probability distribution of uncertainty can be updated to improve the sample of uncertainty, thereby matching the control input 110h and the measurement 120h. In some embodiments, such a comparison is performed probabilistically to account for noise and model errors acting on one or a combination of the motion and measurement models.

[0135] Figure 1IA graph illustrating a probability distribution function 140i that defines an uncertainty feasible space 100i according to one embodiment is shown. The shape of the probability distribution 140i is updated in each iteration of method 140e. For example, if the distribution of uncertainty is Gaussian for each value, then the shape of distribution 140i is a “Gaussian hat” shape for each value, and the uncertainty is a Gaussian distribution function, i.e., a Gaussian process. As used herein, values ​​of uncertainty are sampled to plot values ​​with probabilities defined by distribution 140i. For example, according to distribution 140i, the probability of drawing or sampling sample 120i is higher than the probability of sample 150i. Such a representation allows the probability distribution of uncertainty 160i to be iteratively updated to produce an updated distribution 145i that defines the updated feasible space for sampling uncertainty in the next step.

[0136] In some implementations, the probability distribution of the uncertainty is updated using a Kalman filter-type method. In other implementations, the probability distribution of the uncertainty is estimated using a particle filter. Other implementations use other nonlinear estimators.

[0137] Figure 2A A block diagram of a method for estimating uncertainty 110e according to some embodiments is shown, wherein the probability distribution for estimating the uncertainty is performed using a particle filter. This embodiment updates at least one particle in the particle filter in response to a measurement to align the particle with the measurement. The method begins by sampling uncertainty 250a from the probability distribution of uncertainty in the particles to produce sampled uncertainty 255a. For example, in one implementation, the sample is the mean of the distribution determined during a previous iteration. Then, using the sampled uncertainty, the system's motion model 245a, and the control input 247a to the system, the method updates state 260a to produce updated state 265a. Using the updated state 265a, the measurement model 266a, and the measurement at the current time step of the control, i.e., the indication state 267a, the method updates the weights of particles 270a to reduce the error between the state and the indication state. Next, the method updates the probability distribution 285a of uncertainty 280a.

[0138] In some implementations, the system's motion model is of the form x k+1 =f(x) k u k )+g(x k u k )w(x k u k The nonlinear function of the system state, where x k It is a state, u k It is the control input, f(x)k u k )+g(x k u k ) represents the determinism of the known parts in the motion model, while w(x) represents the determinism of the known parts. k u k ) represents uncertainty, that is, in general, the relationship with state x k and control input u k Related.

[0139] One implementation generates samples of uncertainty for each particle for both the control input and the measurement, where each sample of uncertainty corresponds to a particle with its own uncertainty and a belief in its previous state. At each time step of the control corresponding to the time step of the control input and the measurement, one implementation samples one or more uncertainties. That is, multiple samples are drawn from the uncertainty. Therefore, each control input yields a slightly different trajectory, i.e., a slightly different state. Thus, the difference in the indicated state determined from the measurement will vary depending on the uncertainty of the different samples. Each sample of uncertainty forms a particle for probabilistically evaluating the fit between the control input and the measurement.

[0140] Figure 2B A block diagram of a method for updating the state of particle 260a according to some embodiments is shown. The method updates the state of 260a probabilistically. The method inserts a sampled uncertainty 246b and a control input 247b into a motion model 245b of the system and evaluates the motion model of 260b under the previous state of the system to produce an updated state 265b of the system. In some embodiments, the system motion model is a control model 140, while in other embodiments, the system motion model is a simplified model compared to the control model. Particles are determined for each step of control and measurement, thereby forming a particle trajectory representing the trajectory of the system state. The particles include a probability distribution of the uncertainty, the state of the system, and weights indicating the mass of the system.

[0141] The particle state can be updated in several ways. When used in a particle filter, the updated state can be based on a sample of the uncertainty distribution from the incorporated measurement information, or it can be updated based solely on information about the uncertainty without incorporating the measurement. This is because the information in such a scenario implicitly determines the update of the probability distribution of the uncertainty for each particle.

[0142] Figure 2CA block diagram of another method for updating the state of particle 260a according to some embodiments is shown, wherein measurements are explicitly incorporated into the state update of each particle. The method updates the state of 260a probabilistically. The method inserts a sampled uncertainty 246c and a control input 247c into a motion model 245c of the system and evaluates the motion model 260c with the values ​​of the previous state to generate an updated state 265c from the motion model of the system. Next, the method inserts the state 265c obtained from the motion model into a measurement model 266c and determines 270c the difference between the estimated state and the measurement indicating the state 267c. Finally, the method corrects 280c the state 265c based on the difference 275c between the measurement and the state from the motion model into the measurement model to generate an updated state 285c.

[0143] Figure 2D A simplified schematic diagram of the result of three iterations of generating updated states in particles, with five particles generated each iteration, is shown according to one embodiment. Using a motion model, the input to the system, and uncertainties sampled on a probability distribution of possible uncertainties for that particle, an initial state 210d is predicted forward at time 211d to produce five next states 221d, 222d, 223d, 224d, and 225d. Probabilities are determined as a function of a measurement 226d and the deviation 227d from the measurement 226d. At each controlled time step, the aggregation of probabilities is used to generate an aggregated state 220d and an aggregation of parameter estimates, such as an aggregated tire friction function. For example, in one embodiment, the aggregated tire friction function is a weighted combination of tire friction functions in each particle. In another embodiment, the aggregated tire friction function is a function of the particle with the highest probability.

[0144] Figure 2E It shows Figure 2D The possible assignment probabilities of the five states during the first iteration. Those probabilities 221e, 222e, 223e, 224e, and 225e are reflected in the magnitude of the points chosen to represent the states 221e, 222e, 223e, 224e, and 225e in the diagram.

[0145] Using motion and measurement models, the particle filter recursively determines the probability distribution of states as a weighted combination of the states of each particle at each time step k in the control. Where δ(·) is the mass of the Dirac delta. It refers to weights. Using a motion model that includes uncertainty, one implementation propagates the state forward in time and according to... To determine the weights, where It is a measurement model written as a probability distribution and likelihood. Once such propagation occurs multiple times, this implementation forms a state trajectory.

[0146] In some implementations, the set of states generated from the particle states includes a weight for each state, where the weight reflects the error between the state and the indicator state, used to update the probability distribution of uncertainty for each particle by reducing the error between the state and the state resulting from the use of the motion model. This error reflects the error caused by uncertainty error and can be used to update the probability distribution of uncertainty because the probability distribution of uncertainty can be determined as a weighted combination of the uncertainty probability distributions for each particle. This is possible because the indicator state has already been used to determine the state and is influencing the weight of each state.

[0147] Figure 2F A block diagram of a method for updating the probability distribution of uncertainty in each particle, according to one embodiment, is shown. The method determines the relationship between state 209f (updated using a motion model with uncertainty) and state 201f (using a motion model without uncertainty), and updates the probability distribution of uncertainty in 220f based on this relationship 215f to reduce the error between the updated state of the system and the measurement of the state.

[0148] In some embodiments, the relationship between the updated state 209f using a motion model with uncertainty and the state 201f using a motion model without uncertainty is the division of the state with uncertainty and the state without uncertainty. In other embodiments, the relationship between the updated state 209f using a motion model with uncertainty and the updated state 201f using a motion model without uncertainty is the difference.

[0149] In some implementations, the probability distribution of the uncertainty is a Gaussian process, i.e., a distribution over a function with a continuous domain (e.g., a space), such that samples of the Gaussian process are continuous uncertainties. Representing the probability distribution of the uncertainty as a Gaussian process improves the accuracy of uncertainty estimation. However, estimating uncertainty based on the principles of Gaussian processes is a computationally challenging task.

[0150] Some implementations are based on the understanding of how to determine uncertainty by simplifying the estimation of Gaussian processes. Specifically, in some implementations, uncertainty is viewed as a weighted combination of a finite number of basis functions, where each basis function is a function of the state and / or control inputs, which is a known function of the state, and the Gaussian process of uncertainty is captured by a Gaussian distribution of the basis function weights. In other words, to update the Gaussian process, some implementations may update only these Gaussian distributions of the weights, and to sample the uncertainty, some implementations may sample only N scalar weights from the Gaussian distributions. In effect, viewing uncertainty as a weighted combination of basis functions significantly reduces the computational requirements for estimating uncertainty probabilistically.

[0151] Figure 3A An example of the use of weighted basis functions according to one implementation is shown. In the example, there are three basis functions 310a, 320a, and 330a. Uncertainty 340a is also shown. By combining the basis functions and using different weights for each basis function, they can be combined together to reproduce the uncertainty.

[0152] Figure 3B An example is shown illustrating the effect of the weights of the basis functions on a subset of uncertainty 340b according to some implementations. By making the weights of basis functions 320b and 330b very small, while the weight of 310b is large, the basis function expansion can reproduce uncertainty 340b using only a single basis function. Although Figure 3B It is a simplified diagram, but it illustrates the principle of basis functions and can be computationally efficient.

[0153] In other embodiments, uncertainty is modeled as a Gaussian process of a weighted combination of a set of basis functions, where each weight of each basis function has a Gaussian probability distribution, and where, in order to update the probability distribution of uncertainty, the processor is configured to update the Gaussian probability distribution of at least some weights of the weighted combination of the set of basis functions. For example, one embodiment models uncertainty as... According to the Laplace operator To formulate the covariance function κ(x, x′) of the Gaussian process. For the basis functions Uncertainty is The weights are Gaussian distributed.

[0154] One implementation recognizes that weighted basis functions can be used to model the motion of the system as follows:

[0155]

[0156] Where A is the weight matrix, and It is a vector of basis functions that serve as the state function. The left-hand side can be obtained as a combination of the deterministic part of the motion model and the system state in future time steps.

[0157] Figure 3C A block diagram of one iteration of a method for updating the probability distribution of uncertainty in each particle 280a according to one embodiment is shown. The method updates the weights of the weighted combination of basis functions 310c using the updated state 309c in the particle, and updates the probability distribution of uncertainty 320c based on the weighted combination of basis functions weighted with the updated weights.

[0158] Figure 3D A block diagram of a method for updating the weights of a weighted combination of basis functions in each particle, according to one embodiment, is shown. The method uses: a static function 310d stored in memory with state 309c as input; a motion model 308d of the system; and a basis function 307d that maps the input to a set of values ​​315d stored as a matrix. The method then uses the determined values ​​315d and a probability function 320d that maps the values ​​315d to a weight distribution. The updated weights can be sampled from the weight distribution, or the weight distribution can be used directly in subsequent calculations.

[0159] In one implementation, the probability function is a matrix normal distribution parameterized by numerical 315d, i.e., In another embodiment, the process noise is parameterized as an inverse-Wishart distribution.

[0160] In one implementation, the update is applied to each particle; that is, each particle determines the probability distribution of its uncertainty. The uncertainty probability distributions can then be determined as a weighted combination of the uncertainty probability distributions for each particle. This ensures that even if the uncertainty is modeled as a Gaussian process, using a number of particles can suppress the possibility that the Gaussian process assumption is unrealistic.

[0161] Figure 4A A block diagram of a method for updating a system model 120e according to one embodiment is shown. Using the current estimated state 121, the method determines a nominal control model 411a 410a by interpolating the current state 121 into a model without uncertainty. The method then decomposes the nominal model 411a 420a into uncertainty-independent and uncertainty-dependent parts to produce a decomposed model 421a. Using the decomposed model 421a and the estimated uncertainty 122, the method multiplies the uncertainty with an uncertainty-dependent dynamic nonlinear function 430a to produce a control model 431a interpolated 440a into the SMPC.

[0162] Figure 4B A block diagram of an SMPC 110 according to some embodiments is shown, whose actuation system causes the estimated state 121 and output 103 of the system to follow command 101 given an estimated uncertainty 122. The SMPC 110 includes a computer, for example, in the form of a single central processing unit (CPU) or multiple CPU processors 401 connected to a memory 402, which stores a control model 140, an uncertainty model 141, constraints 142, and probabilistic chance constraints 143 and an estimation model 144 for the operation of a real system 120 with uncertainty 125.

[0163] Figure 4C A block diagram illustrates an exemplary implementation of a two-stage optimization process for solving an inequality-constrained nonlinear dynamic optimization problem at each control step of an SMPC 110, which includes probabilistic chance constraints representing uncertainty to generate control commands. The two-stage optimization process alternates between: propagation 450c of the covariance matrix extracted from the probability distribution of the uncertainty of the probabilistic chance constraints for fixed-value state and control variables 465c within the prediction time bound, and optimization 460c of the state and control variables for fixed-value state covariance matrix 455c within the prediction time bound. Once the termination condition of the two-stage optimization process is met, the control signal 111 is computed.

[0164] In some embodiments of the invention, the two-stage optimization process 110 consists of three main computational steps. The first step prepares a linear quadratic objective function, computes the Jacobian matrix to prepare linearized equality and inequality constraints, and evaluates a nonlinear covariance propagation equation for the current trajectory of the state and control values ​​465c, propagating a trajectory 450c representing the covariance matrix of the predicted uncertainty of the state values ​​at the control time bound. The second step involves solving the resulting block-structured QP subproblem 470c by approximating each chance constraint with one or more tight inequality constraints. Finally, the third step includes a Newton-type update 475c for optimizing the current trajectory of the state and control values.

[0165] In some implementations, adjoint gradient computation is used to correct for inaccurate Jacobian information in the SMPC, and the resulting two-stage optimization process consists of three main computational steps. The first step prepares a linear quadratic objective function, computes the Jacobian matrix with respect to the state and control variables to prepare linearized equality and inequality constraints, computes an adjoint gradient-based evaluation, and numerically eliminates the covariance matrix from each objective and constraint function by propagating the trajectory of the covariance matrix 450c for the current trajectory of the predicted state and control values ​​465c. The second step involves solving the resulting block-structured QP subproblem 470c by approximating each chance constraint with one or more tight inequality constraints. Finally, the third step also includes a Newtonian update 475c for optimizing the trajectory of the state and control values, and an extension of the corresponding update of the Lagrange multipliers.

[0166] Figure 5A A block diagram of an SMPC 110, according to some embodiments of the invention, for determining a control signal 111 of 130e given an insertion model 509a and a control command 101, is shown. Specifically, the SMPC computes a control solution, for example, a solution vector 565a, which includes the future optimal or near-optimal control input sequence 560a of the system within the prediction time bound, by solving a constrained optimization problem 550a at each control time step. The data 545a of the objective function, equality, and inequality constraints in this optimization problem 550a depend on the control model and system constraints 540a determined based on the current state estimate 121 of the system, the estimated uncertainty 122, and the control command 101.

[0167] Embodiments of this invention employ a direct optimal control method to formulate the continuous-time SMPC problem as an inequality-constrained nonlinear dynamic optimization problem. Some embodiments of this invention use derivative-based optimization algorithms to solve the inequality-constrained optimization problem 550a precisely or approximately using an iterative process based on Newton-type methods and continuous linearization of the feasibility and optimality conditions of the optimization problem. Examples of such Newton-type optimization algorithms include the interior-point method (IPM) and sequential quadratic programming (SQP). Some embodiments of this invention are based on the understanding that the inequality-constrained optimization problem 550a has the form of an optimal control structured optimization problem (OCP), such that the structure implemented using derivative-based optimization algorithms can be used to compute the solution vector 565a at each control time step.

[0168] In some embodiments of the invention, the solution to the inequality-constrained optimization problem 550a uses state and / or control values ​​510a, which are exact or approximate in terms of the predicted time bound from previous control time steps and can be read from memory, as a solution conjecture to reduce the computational cost of solving the inequality-constrained optimization problem 550a in the current control time step. This concept of calculating a solution conjecture from solution information 510a from previous control time steps is called a warm start or hot start of the optimization algorithm, and it can reduce the computational cost required for SNMPC in some embodiments of the invention. Similarly, the corresponding solution vector 565a can be used to update and store the exact or approximate sequence of state and / or control values ​​560a for the next control time step.

[0169] Figure 5B A block diagram of an SNMPC controller is shown. Given a current state estimate 121 of the system and an estimated uncertainty 122 provided by an interpolated updated model 509a and control commands 101, the controller solves a constrained optimal control structured nonlinear programming problem (OCP-NLP) 550a to compute a control signal 111 at each control time step. The OCP-NLP 550a includes control input variables u = [u0, u1, ..., u] within the prediction time bound. N-1 ], State variable x = [x0, x1, ..., x N The state covariance matrix variables P = [P0, P1, ..., P] N ], as variables in the optimization problem that needs to be solved at each control time step:

[0170]

[0171] Make satisfy The probability distribution of uncertainty is used to determine the state covariance matrix within the prediction time bound.

[0172] Some implementations are based on the current state estimate 121 under the following conditions: current initial state value constraints. The system dynamics model (control model) 552a with linear and / or nonlinear equality constraints is obtained; a linearized approximation 553a for uncertainty propagation of system dynamics by obtaining linear and / or nonlinear covariance propagation equations including the covariance matrix ∑ of the probability distribution of uncertainty; bounds 554a for control inputs; linear and / or nonlinear inequality constraints 555a; and a linear quadratic or nonlinear objective function 551a, each defined within the prediction time bound of the optimal control structured optimization problem. The objective function, equality and inequality constraints, and OCP-NLP data 545a in this optimization problem 550a depend on the dynamics model and system constraints 540a, the current state of the system 121, the estimated uncertainties 122, and the control commands 101. Examples of OCP-NLP data 545a include objective functions (e.g., l(·) and m(·)) and constraint functions (e.g., f(·) and h). i (·)). Other examples of OCP-NLP data 545a include constraint vectors (e.g., u min and u max ) and matrices (e.g., K, C k,i ).

[0173] In some embodiments of the present invention, nonlinear equality constraint 552a

[0174] x k+1 =f(x) k u k +Kx k ,0)

[0175] A discrete-time approximation of the system dynamics can be imposed, which can be defined by a set of continuous-time differential equations or a set of continuous-time differential algebraic equations. Examples of such discrete-time approximations of system dynamics include numerical simulation techniques, such as linear multistep methods, explicit or implicit Runge-Kutta methods, backward differential formulas, or finite element methods. When the original control model of the system is described by a set of continuous-time differential equations, some embodiments of the present invention use explicit or implicit numerical integration methods 552a to discretize the system dynamics, and linearization requires a corresponding Jacobi evaluation to construct the discrete-time or discrete covariance propagation equations 553a. In some embodiments of the present invention, the initial state covariance matrix 556a is defined as in This represents the state uncertainty corresponding to the current state estimate 121. In some embodiments of the invention, the nonlinear inequality constraint 555a can be defined by any nonlinear smoothing function including convex and / or non-convex constraints. In embodiments of the invention, one or more inequality constraints 555a can be defined as probabilistic chance constraints designed to ensure that the probability of violating the corresponding inequality constraint is below a certain probability threshold, i.e., for probabilistic chance constraints, the backoff coefficient value α... i >0; and for standard deterministic inequality constraints, the backoff coefficient value α i =0. Note that deterministic inequality constraints are designed to ensure that the expected values ​​of the trajectories for the state and control values ​​satisfy the corresponding inequality constraints.

[0176] Using an approximation of the probabilistic chance constraint 555a, based on individual tightening for each inequality constraint, a Newton-type optimization algorithm with continuous linearization based on optimality and feasibility conditions can be used to solve the resulting inequality-constrained nonlinear dynamic optimization problem. Examples of such Newton-type optimization algorithms include the interior-point method (IPM) and sequential quadratic programming (SQP). Some embodiments of the present invention are based on the understanding that the SQP algorithm solves a quadratic programming (QP) approximation of the stochastic nonlinear OCP in each iteration of the SQP optimization algorithm, based on a linear quadratic approximation of the objective function and a linearized approximation of the discrete system dynamics and discrete-time covariance propagation equations, as well as linearized approximations for each inequality constraint and for each tight probabilistic chance constraint.

[0177] In some embodiments of the invention, the stage and / or terminal costs in objective function 551a can be defined by functions including convex and / or non-convex functions, any linear, linear quadratic, and / or nonlinear smooth functions. Objective function 551a for the optimal control problem may include a cost term corresponding to each time point of the prediction time bound. In some embodiments, the objective function includes a (nonlinear) least-squares penalty for the deviation of a certain output function of the system from a sequence of reference output values ​​at each time point of the prediction time bound, resulting in a reference-tracking formula for the cost function in SMPC 110.

[0178] Figure 6A A block diagram is shown illustrating how one or more deterministic inequality constraints 601 for one or more state and / or control input variables are formulated into probabilistic chance constraints 605 and their approximations 606 by tightening the corresponding constraint bounds 610 in the constraint OCP formula of SMPC. The probabilistic chance constraints aim to ensure that violations of inequality constraints h are addressed. i (x k ,u k The probability that ≤ 0 is lower than a certain probability threshold ∈ i That is, Pr(h) i (xk ,u k )>0)<∈ i Equivalently, the probability-chance constraint aims to ensure that the inequality constraint h is satisfied. i (x k ,u k The probability of ≤0 is within a certain probability threshold 1-∈ i The above, that is, Pr(h) i (x k ,u k )≤0)≥1-∈ i .

[0179] In some embodiments of the present invention, based on the state covariance matrix P k =cov(x k ,x k 615. Constrained Jacobian Matrix and depends on the probability threshold ∈ i The retreat coefficient value α i 620. The probability distribution of uncertainty and the approximate probability distribution of the predicted state trajectory are obtained using the constraint tightening process 610.

[0180]

[0181] Approximately, 606 is used to formulate one or more probabilistic chance constraints. The state covariance matrix P can be calculated using the linearized covariance propagation equation 353. k The constrained Jacobian matrix C can be efficiently evaluated using symbolic differentiation or algorithmic differentiation (AD) tools. k,i .

[0182] In some embodiments of the invention, the Cantelli-Chebyshev inequality, which holds regardless of the underlying probability distribution but may lead to tightening of the relatively conservative constraint boundary, can be used. ), calculate the retreat coefficient α in each tightening inequality constraint. i 620. Other embodiments of the invention are based on a less conservative approximation, assuming a normally distributed state trajectory, such that the backoff coefficient value can be chosen as... Among them erf -1 (·) denotes the inverse Gaussian error function.

[0183] Figure 6B A block diagram is shown to illustrate a given time-varying estimation uncertainty w. k In the case of 625b, for a set of discrete-time nonlinear system dynamics x k+1 =f(x)k u k )+g(x k u k )w k 620b's linearized state covariance propagation. In some embodiments of this invention, uncertainty is modeled as a discrete-time random variable w. k The set of normally distributed variables ~N(0,Σ), where Σ is the covariance of the uncertainty determined from the probability distribution of the uncertainty. In other implementations, the uncertainty is modeled as a weighted combination of basis functions, where w k The probability distribution of the weights of the variables indicating uncertainty is determined. Then, the discrete-time state covariance propagation equation 630b is...

[0184]

[0185] in, It is the predicted state value x k The covariance matrix, and given the discrete-time constrained Jacobian matrix 635b

[0186]

[0187] Unlike continuous-time state covariance propagation equations, some embodiments of this invention are based on the understanding that discrete-time state covariance propagation equations 631b do not require numerical integration methods and automatically preserve the positive definiteness of the state covariance matrix. As long as the initial state covariance matrix 632b is positive definite, that is,

[0188] In some implementations, the probability distribution w of the uncertainty k Used to adapt to constraint boundary h i (x k ,u k )≤0. For example, when the variance of the uncertainty is large for some parts of the state range, making the behavior of the uncertainty unpredictable for those states, one implementation restricts the constraints on the states associated with the uncertainty to a range of sufficiently small probability distributions.

[0189] Figure 7A Examples of some principles for adapting constraints to a probability distribution in response to uncertainty, where the uncertainty relates to at least a subset of the total states, are shown. The probability distribution of the estimated uncertainty 730a includes the true uncertainty 710a. However, beyond the state values ​​730a, the uncertainty is so large that controlling the system beyond those state values ​​can affect the system's security. Therefore, in response to the wide probability distribution 730a, the states are bounded to 730a.

[0190] Figure 7B The following scenario illustrates a situation where the system has been controlled such that the estimator is able to estimate the uncertainty close to the original constraint 730a, such that the range of the probability distribution of the uncertainty has been narrowed for state values ​​near 730a. In one implementation, in response to narrowing the range of the uncertainty probability distribution for state values ​​near 730a, the state constraint is increased to 730b. Finally, at some future time step, the same process has been repeated for constraint 730b, such that... Figure 7C In this case, constraint 730b can be increased to 730c. Similarly, in one implementation, the constraint can be reduced. For example, if the control system causes a state value to remain unvisited for a period of time, the range of the uncertainty probability distribution can be increased, and the constraint can be similarly reduced to reflect this.

[0191] Figure 8A A schematic diagram of a vehicle 801, including the principles of an SMPC 802 employing some implementation methods, is shown. As used herein, vehicle 801 can be any type of wheeled vehicle, such as a passenger car, bus, or taxi. Furthermore, vehicle 801 can be an autonomous or semi-autonomous vehicle. For example, some implementations control the movement of vehicle 801. Examples of movement include lateral movement of the vehicle controlled by a steering system 803 of vehicle 801. In one implementation, steering system 803 is controlled by a controller 802. Additionally or alternatively, steering system 803 can be controlled by the driver of vehicle 801.

[0192] The vehicle may also include an engine 806, which may be controlled by the controller 802 or other components of the vehicle 801. The vehicle may also include one or more sensors 804 to sense the surrounding environment. Examples of sensors 804 include rangefinders, radar, lidar, and cameras. The vehicle 801 may also include one or more sensors 805 to sense its current motion and internal state. Examples of sensors 805 include Global Positioning System (GPS), accelerometers, inertial measurement units, gyroscopes, shaft rotation sensors, torque sensors, deflection sensors, pressure sensors, and flow sensors. The sensors provide information to the controller 802. The vehicle may be equipped with a transceiver 806, enabling the controller 802 to communicate via wired or wireless communication channels.

[0193] Figure 8BA schematic diagram illustrating the interaction between SMPC 802 and controller 820 of vehicle 801 according to some embodiments is shown. For example, in some embodiments, controller 820 of vehicle 801 is a steering controller 825 and a brake / throttle controller 830 that control the rotation and acceleration of vehicle 810. In this case, stochastic predictive controller 802 outputs control inputs to controllers 825 and 830 to control the state of the vehicle. Controller 820 may also include higher-level controllers, such as lane-keeping assist controller 835, which further processes the control inputs of stochastic predictive controller 802. In both cases, controller 820 maps the output of SMPC 802 to control at least one actuator of the vehicle (such as the vehicle's steering wheel and / or brakes) to control the movement of the vehicle.

[0194] Figure 8C A schematic diagram of an autonomous or semi-autonomous controlled vehicle 850 is shown, for which a dynamically feasible and generally optimal trajectory 855 can be calculated using embodiments of the present invention. The generated trajectory is designed to keep the vehicle within specific road boundaries 852 and to avoid other uncontrolled vehicles, i.e., obstacles 851 of the controlled vehicle 850. In some embodiments, each obstacle 851 may be represented by one or more inequality constraints in the time or space formula of the optimal control problem. For example, based on an embodiment configured to implement a stochastic model predictive controller, the autonomous or semi-autonomous controlled vehicle 850 may make decisions in real time, such as, for example, overtaking another vehicle on the left or right or remaining behind another vehicle in the current lane of road 852. Embodiments of the present invention are based on SNMPC, which directly considers uncertainties regarding the current and predicted states of the vehicle 850, uncertainties regarding parameters in the vehicle model, and uncertainties regarding the current and predicted states of the environment (e.g., including obstacles 851 within a certain distance from the position of the autonomous or semi-autonomous controlled vehicle 850).

[0195] Figure 8D A schematic diagram of a vehicle 865 controlled by SNMPC is shown. SNMPC is designed to track the dynamic feasibility and optimal trajectory 870 of a sudden lane change maneuver within the upper road boundary 860 and the lower road boundary 861 using embodiments of the present invention. Figure 8D The diagram illustrates the vehicle position 865 at a first time point, including the propagation 871 of the uncertainty of the state trajectory predicted by the SNMPC controller; the vehicle position 866 at a second time point, including the propagation 872 of the uncertainty of the corresponding predicted state; and the vehicle position 867 at a third time point, including the propagation 873 of the uncertainty of the corresponding predicted state. According to some embodiments of the invention, using SNMPC with probabilistic chance constraints allows the probability of the controlled vehicle violating road boundary constraints 860 and / or 861 to be below a certain probability threshold. More specifically, Figure 8D The stochastic tube that predicts the state trajectory 872 at the second time point reaches the road boundary constraint 860 at 875 illustrates the behavior of a stochastic predictive controller designed to satisfy both deterministic and probabilistic constraints of a controlled system under uncertain conditions.

[0196] Examples of uncertainties in the system and its environment can include any parameters related to the frictional behavior between the vehicle's tires and the road surface, such as parameters in a Pacejka tire force model that can be learned or estimated online and / or offline while controlling the vehicle. According to embodiments of the invention, the estimated parameter values ​​and the estimated uncertainties can be defined as time-varying and uncertain disturbance variables in the formula for the direct optimal control problem of a stochastic nonlinear model predictive controller.

[0197] In some implementations, the uncertainty is modeled for tire friction (i.e., friction between the tire and the road). Figure 9A A schematic diagram illustrates how the forces on a vehicle tire change when the slip value varies in both the longitudinal and lateral directions, as used in some embodiments. This case illustrates the results for two different tire friction functions, 910a and 920a. For simplicity, the longitudinal and lateral slip is assumed to be zero in the remainder of this disclosure; however, it should be understood, and will be appreciated by a reader with experience in the art, that the various embodiments described herein also cover cases of combined slip.

[0198] Figure 9B It shows Figure 9A The two-dimensional equivalent diagram is shown, where the force has been normalized as the normal force applied to the wheel. The value 913 where the force reaches its maximum value is called peak friction 912. Peak friction 912 is known to be useful in several automotive control systems. For example, knowledge of peak friction is crucial to knowing how much braking torque can be applied to a particular wheel in an Electronic Stability Control (ESC) system. The peak friction value and the corresponding slip value 913 can be used in an Anti-lock Braking System (ABS) to achieve optimal braking force. The initial slope 911 of the force curve 910 is commonly referred to as tire stiffness. During normal driving with small slippage, the force curve can be approximated by tire stiffness 911. As used herein, normal driving is defined as conventional driving, such as daily driving in urban areas, where the vehicle avoids emergency braking and evasive steering maneuvers.

[0199] Normal driving can be contrasted with aggressive driving when large forces are applied to the wheels of a vehicle. As used herein, aggressive driving is defined as driving in which braking / acceleration and / or steering torque is sufficiently large that the vehicle operates close to the tire grip limits of the tire material and the road surface. For example, while the effectiveness of the linear region of the tire force function varies between different surfaces, approximating the tire force function with a linear function is appropriate for asphalt surfaces up to approximately 4 m / s². 2 The acceleration (i.e., approximately 40% of the total available force on the asphalt) is effective. As an example, production-grade electronic stability control systems use steering wheel angle and longitudinal speed to measure deviations from predicted measurements using a vehicle model that is a linear approximation of tire force functions. When the deviation exceeds a threshold, safety braking is activated. Therefore, an exemplary measure of normal driving is driving well below these activation thresholds. In other words, if driving is not aggressive, then driving is normal.

[0200] During aggressive driving, wheel slippage is greater, leading to larger force / friction changes. This change is highly nonlinear. For example, regardless of the force level and road type, there is a point of maximum friction on almost all surfaces, which occurs when the force decreases as more braking / steering torque is applied. After this point, increased wheel slippage results in less tire force. For large wheel slippage exceeding the maximum force, maintaining the required wheel slip becomes more difficult because the dynamics become unstable after exceeding the maximum force point. Therefore, frequent vehicle control is necessary to keep wheel slippage sufficiently small to avoid exceeding the peak, and for high-performance handling, it is essential to know where the peak is reached.

[0201] For real-time determination of the tire friction function, which is nonlinear for large slip values, using a deterministic tire friction function determiner, it is necessary to collect data for the entire tire friction function over a short time period. This is challenging because it requires driving in or near the unstable region of vehicle dynamics. The entire operating region is typically not accessed during normal vehicle driving, and accessing this part of the dynamics with a controller that has not yet acquired a good predictive model of vehicle behavior or is aware of the uncertainties in tire friction at this operating region can be dangerous due to the potential for closed-loop instabilities.

[0202] Some implementations are based on the understanding that while it is impossible to fully determine the tire friction curve during real-time operation, it is possible to fully determine the probability distribution of the tire friction function during real-time operation, wherein the probability distribution captures the final uncertainty for certain slip values ​​where no data collection is available, wherein the tire friction function is the uncertainty 125 of vehicle 120.

[0203] Another implementation is based on the understanding that, using a probabilistic approach, the vehicle's controller (autonomous or manual) can use this information to explore uncertain areas to gain more knowledge and thus reduce uncertainty, or to avoid areas where exploration is risky due to uncertainty.

[0204] One implementation is based on the understanding that even if a production vehicle lacks sensor equipment to directly measure the tire friction function, several sensors within the vehicle provide indirect information about the tire friction function because they measure the vehicle state or a combination of vehicle states. As used herein, the vehicle state includes the vehicle's speed and heading rate. For example, an inertial measurement unit measures the vehicle's heading rate and acceleration. Thus, inertial sensors directly measure a portion of the vehicle state. On the other hand, accelerometers measure the vehicle's acceleration, which, according to Newton's second law, is related to both the vehicle's speed and the tire friction function. For example, a vehicle's wheel speed sensor indicates the vehicle's forward speed, which can be considered part of the vehicle state.

[0205] In some implementations, only the linear portion of the tire friction function is estimated; that is, the slope 911, which is constant for small slip values ​​and is equivalently expressed in terms of stiffness, is estimated. Therefore, such an estimation yields state-independent uncertainty because the slope 911 is constant. In other implementations, the probability distribution of the full function 910 is estimated, where, for some other implementations, the uncertainty can be made state-independent by using a weighted combination of basis functions.

[0206] Estimating only the slope 911 leads to a simpler estimation problem and eliminates the need for a weighted combination of basis functions, since the uncertainty is already state-independent. However, because the tire friction function is highly nonlinear, controlling the vehicle can be dangerous for large slip values ​​when the tire friction function is modeled as a linear, state-independent slope (such as 911).

[0207] Some implementations are based on the understanding that a relationship exists between the slope 911 and the peak friction 912, which can be used to ensure the safety of the vehicle control system. In some implementations, the constraints ensuring vehicle stability are determined as follows: and in It is the heading rate of the vehicle, v x It is the longitudinal velocity of the vehicle, v y Here, is the vehicle's lateral velocity, g is the acceleration due to gravity, and μ is the peak friction, i.e., the coefficient of friction. The coefficient of friction is not estimated using the slope 911. However, some embodiments determine peak friction based on an estimate of the slope 911. In some embodiments, the estimate of the slope is determined as the mean of the uncertainty probability distribution. Other embodiments determine peak friction as... Where 'a' is a scalar constant, 'f' represents the front axle, 'r' represents the rear axle, and the subscript 'n' indicates that the stiffness C is used for the nominal value, where 'ΔC' is the estimated mean of the stiffness. Therefore, the safety of the SMPC can be ensured even without an explicit estimate of the probability distribution of peak friction. These constraints are referred to as stability constraints below.

[0208] Different types of motion models can be used in both the control model and the estimation model. For computational purposes, simple models are preferred because they facilitate rapid computational implementation. However, if model accuracy is important, high-fidelity models are preferred.

[0209] Furthermore, based on the model used in this invention, different numbers of parameters can be calibrated.

[0210] In some implementations, the uncertainty is modeled on the all-tire friction function, wherein, according to some implementations, a weighted combination of basis functions is used to decompose the friction function into state-dependent and state-independent parts.

[0211] Some implementations are based on the understanding that while estimating the tire friction function includes estimating peak friction, the amount of driving (i.e., the amount of sensor data available) affects the accuracy of the estimation. Therefore, the estimated peak may be underestimated or overestimated, or it may be estimated to occur for different slip values. In this case, allowing the SMPC to actuate the vehicle for large slip values ​​could be dangerous because the uncertainty cannot be properly determined.

[0212] Therefore, some implementations limit the slip value in SMPC to be no larger where the estimated peak occurs. Figure 9C An example illustrates the adaptation of slip value constraints to the estimated tire friction function according to some implementations. The true friction function 910c is not well estimated 920c, but the estimated distribution 930c of the friction function includes the true friction function. The uncertainty around the peak is significant, meaning that knowledge about the friction function is limited. Therefore, one implementation constrains the slip value to around the value 940c where the peak occurs.

[0213] More knowledge is gathered when the vehicle has been brought under control to near the constraint. Figure 9D An example is shown where the estimated friction function 920d responds to changes in the acquired data. More sensor measurements have arrived and been processed, resulting in improved quality of the probability distribution 930d and the estimated friction function 920d. Therefore, the slip value constraint 940d can be adjusted.

[0214] Various implementation methods determine the slip constraint in different ways.

[0215] One implementation uses the understanding that peaks occur at different slip values ​​for different surfaces. For example, on a snow-covered surface, one implementation employs nominal constraints on some small slip values ​​(e.g., 5 degrees), but as the estimator learns about the surface variations of the asphalt and the formation of peaks in the estimated friction function, the constraints can be increased to values ​​near the peaks to allow the estimator to learn more about the friction but prevent it from reaching dangerous areas.

[0216] One implementation initializes the estimator with, for example, a nominal model determined offline. In one implementation, the fit of the slip value is determined as follows:

[0217]

[0218]

[0219] Among them, F y max It is the maximum lateral force in the learning model, while μnom is the friction coefficient of the nominal model, and different constant values ​​can be adjusted, for example, by offline determination of the surface model.

[0220] Figure 10A A schematic diagram of a simplified front-wheel-drive monorail model of a vehicle according to one embodiment is shown, where two wheels on each axle are grouped together. The model depends on four tire friction functions, or stiffness during acceleration, one longitudinal and two lateral. Figure 10B In this context, 'δ' is the steering angle of the front wheels, α is the slip angle in the lateral case, and β is the vehicle body slip, which is defined as the ratio of the vehicle's forward speed to its lateral speed, and represents the longitudinal (forward) force and the lateral force, respectively.

[0221] Figure 10B A schematic diagram of a dual-track model, modeling all four wheels according to one embodiment, is shown. Using this model, eight tire friction functions influence the motion of the vehicle model.

[0222] The embodiments described above can be implemented in any of a variety of ways. For example, the embodiments can be implemented using hardware, software, or a combination thereof. When implemented in software, the software code can execute on any suitable processor or on a set of processors, whether located in a single computer or distributed across multiple computers. Such a processor can be implemented as an integrated circuit having one or more processors within an integrated circuit assembly. However, the processor can be implemented using circuitry of any suitable format.

[0223] Furthermore, the various methods or processes outlined herein can be encoded as software that executes on one or more processors employing any of a variety of operating systems or platforms. Additionally, this software can be written using any of a large number of suitable programming languages ​​and / or programming or scripting tools, and can also be compiled into executable machine language code or intermediate code that executes on a framework or virtual machine. Typically, the functionality of program modules can be combined or distributed as needed in various implementations.

[0224] Furthermore, embodiments of the present invention can be embodied as a method, examples of which have been provided. Actions performed as part of this method can be ordered in any suitable manner. Therefore, embodiments can be constructed in which actions are performed in a different order than those shown, which may include performing several actions simultaneously, even if these actions are shown as sequential actions in the exemplary embodiments.

[0225] Although the invention has been described by way of example of preferred embodiments, it should be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, the appended claims are intended to cover all such variations and modifications that fall within the true spirit and scope of the invention.

Claims

1. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The first and second moments of the probability distribution estimated from the uncertainty of the parameters are included in the control model as multipliers of the dynamic function of the system, such that updating the control model includes updating the multipliers.

2. The SMPC according to claim 1, wherein, The probability distribution of the uncertainty of the parameters is independent of the state of the system.

3. The SMPC according to claim 1, wherein, The probability distribution of the uncertainty of the parameter is related to the state of the system. The probability distribution of the uncertainty of the parameter is divided into a state-dependent part, which is represented as a state function of the system in the control model, and a state-independent part, which is independent of the state representation of the system. The state-dependent part is included inside the dynamic function of the system, and the state-independent part is included in the multipliers outside the dynamic function of the system.

4. The SMPC according to claim 3, wherein, The probability distribution of the uncertainty of the parameter is represented as a weighted combination of basis functions related to the state of the system, such that the state-related part of the probability distribution of the uncertainty of the parameter includes a combination of basis functions that capture the correlation with the state of the system, and the state-independent part of the probability distribution of the uncertainty of the parameter includes weights of the combination of basis functions derived from the first and second moments of the probability distribution of the uncertainty of the parameter, independent of the state of the system.

5. The SMPC according to claim 4, wherein, The probability distribution of the uncertainty of the parameters models the weights of the combination of basis functions as a Gaussian distribution with unknown mean and covariance estimated by the SMPC as the first and second moments during the control of the system.

6. The SMPC according to claim 1, wherein, The processor is configured to execute a probabilistic filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters, in order to reduce the error between the measured state variables and the state variables estimated by the updated control model.

7. The SMPC according to claim 6, wherein, The processor is configured to execute a particle filter to determine both the first moment and the second moment of the estimated probability distribution of the uncertainty of the parameters.

8. The SMPC according to claim 6, wherein, The processor is configured to execute a Kalman filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters.

9. The SMPC according to claim 1, wherein, The system in question is a vehicle.

10. The SMPC according to claim 9, wherein, The probability distribution of the uncertainty of the parameters models the friction between the vehicle's tires and the road on which the vehicle is traveling.

11. The SMPC according to claim 10, wherein, The probability distribution of the uncertainty of the parameters models the stiffness state of the vehicle's tires and the road on which the vehicle is traveling, and wherein at least one of the constraints is adapted based on peak friction determined according to the stiffness state of the tires.

12. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The processor is configured to execute a probabilistic filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters, in order to reduce the error between the measured state variables and the state variables estimated using the updated control model. The processor is configured to execute a particle filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters. The particle filter maintains a set of particles, each representing a weighted estimate of the probability distribution of the uncertainty of the parameter, wherein the set of particles collectively represent the first and second moments of the estimated probability distribution of the uncertainty of the parameter, and wherein, in order to update the particles, the processor is configured to: Determine the relationship between the state of the system estimated using a control model with the aforementioned uncertainty and the state of the system estimated using a motion model without uncertainty; and The probability distribution of the uncertainty of the parameters is updated based on the determined relationship in order to reduce the error between the estimated state and the measurement.

13. The SMPC according to claim 12, wherein, The relationship is one or a combination of the division between the state estimated by the system using a control model with the uncertainty and the state estimated by the system using a motion model without uncertainty, and the difference between the state estimated by the system using a control model with the uncertainty and the state estimated by the system using a motion model without uncertainty.

14. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The processor is configured to execute a probabilistic filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters, in order to reduce the error between the measured state variables and the state variables estimated using the updated control model. The processor is configured to execute a Kalman filter to determine both the first and second moments of the estimated probability distribution of the uncertainty of the parameters. The probability distribution of the uncertainty of the parameters is modeled as a Gaussian distribution with unknown mean and covariance, estimated by the Kalman filter as the first and second moments during the control of the system.

15. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The first and second moments of the probability distribution of the uncertainty estimate of the parameters are modeled as covariance matrices, such that the SMPC evaluates the nonlinear covariance propagation equation for the current trajectory of the state and control values, and propagates the trajectory of the covariance matrix within the prediction time bound.

16. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The SMPC performs constrained optimization such that the control model is updated based on the second moment of the probability distribution estimated from the uncertainty of the parameters to update the constraints.

17. A stochastic model predictive controller (SMPC) for a control system, the SMPC comprising: At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the SMPC to: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The system in question is a vehicle. The probability distribution of the uncertainty of the parameters models the stiffness state of the vehicle's tires and the road on which the vehicle is traveling, and wherein at least one of the constraints is adapted based on peak friction determined according to the stiffness state of the tires. Opportunity constraints include stability constraints.

18. A stochastic model predictive control (SMPC) method for control systems, wherein, This method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor, implement the steps of the method, the method comprising the following steps: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound; and The system is controlled based on the control input to change the state of the system. The first and second moments of the probability distribution estimated from the uncertainty of the parameters are included in the control model as multipliers of the dynamic function of the system, such that updating the control model includes updating the multipliers.

19. A non-transitory computer-readable storage medium on which a program executable by a processor is specifically implemented for performing a stochastic model predictive control (SMPC) method for a control system, the SMPC method comprising the following steps: At each control step, based on measurements of the system's output indicating a transition from a previous state to the current state, an estimate of the current state of the system and an estimate of the probability distribution of the uncertainty of the system's dynamic parameters are determined. Update the control model of the system, which includes a dynamic function of the system that models the uncertainty of the parameters using the first and second moments of the probability distribution estimated by the uncertainty of the parameters; The control input for controlling the system is determined by optimizing the updated control model of the system in the current state within the prediction time bound. as well as The system is controlled based on the control input to change the state of the system. The first and second moments of the probability distribution estimated from the uncertainty of the parameters are included in the control model as multipliers of the dynamic function of the system, such that updating the control model includes updating the multipliers.

Citation Information

Patent Citations

  • Reduced state estimator for systems with physically bounded parameters

    US7180443B1