Linear-quadratic-Gaussian control

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In control theory, the linear-quadratic-Gaussian (LQG) control problem is one of the most fundamental optimal control problems. It concerns uncertain linear systems disturbed by additive white Gaussian noise, having incomplete state information (i.e. not all the state variables are measured and available for feedback) and undergoing control subject to quadratic costs. Moreover, the solution is unique and constitutes a linear dynamic feedback control law that is easily computed and implemented. Finally the LQG controller is also fundamental to the optimal control of perturbed non-linear systems.[1]

The LQG controller is simply the combination of a Kalman filter i.e. a linear-quadratic estimator (LQE) with a linear-quadratic regulator (LQR). The separation principle guarantees that these can be designed and computed independently. LQG control applies to both linear time-invariant systems as well as linear time-varying systems. The application to linear time-invariant systems is well known. The application to linear time-varying systems enables the design of linear feedback controllers for non-linear uncertain systems.

The LQG controller itself is a dynamic system like the system it controls. Both systems have the same state dimension. Therefore, implementing the LQG controller may be problematic if the dimension of the system state is large. The reduced-order LQG problem (fixed-order LQG problem) overcomes this by fixing a-priori the number of states of the LQG controller. This problem is more difficult to solve because it is no longer separable. Also the solution is no longer unique. Despite these facts numerical algorithms are available[2][3][4][5] to solve the associated optimal projection equations[6][7] which constitute necessary and sufficient conditions for a locally optimal reduced-order LQG controller.[2]

Finally, a word of caution. LQG optimality does not automatically ensure good robustness properties.[8] The robust stability of the closed loop system must be checked separately after the LQG controller has been designed. To promote robustness some of the system parameters may be assumed stochastic instead of deterministic. The associated more difficult control problem leads to a similar optimal controller of which only the controller parameters are different.[3]

Mathematical description of the problem and solution

Continuous time

Consider the continuous-time linear dynamic system

\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t) +  \mathbf{v}(t),
\mathbf{y}(t) = C(t) \mathbf{x}(t) + \mathbf{w}(t),

where {\mathbf{x}} represents the vector of state variables of the system, {\mathbf{u}} the vector of control inputs and {\mathbf{y}} the vector of measured outputs available for feedback. Both additive white Gaussian system noise \mathbf{v}(t) and additive white Gaussian measurement noise \mathbf{w}(t) affect the system. Given this system the objective is to find the control input history {\mathbf{u}}(t) which at every time {\mathbf{}}t may depend only on the past measurements {\mathbf{y}}(t'), 0 \leq t' < t such that the following cost function is minimized:

 J = E\left({\mathbf{x}^\mathrm T}(T)F{\mathbf{x}}(T)+ \int_{0}^{T} {\mathbf{x}^\mathrm T}(t)Q(t){\mathbf{x}}(t) + {\mathbf{u}^\mathrm T}(t)R(t){\mathbf{u}}(t)\,dt \right),
 F \ge 0,\quad Q(t) \ge 0,\quad R(t) > 0,

where {\mathbf{}}E denotes the expected value. The final time (horizon) {\mathbf{}}T may be either finite or infinite. If the horizon tends to infinity the first term {\mathbf{x}}^\mathrm T(T)F{\mathbf{x}}(T) of the cost function becomes negligible and irrelevant to the problem. Also to keep the costs finite the cost function has to be taken to be {\mathbf{}}J/T.

The LQG controller that solves the LQG control problem is specified by the following equations:

 \dot{\hat{\mathbf{x}}}(t) = A(t)\hat{\mathbf{x}}(t) + B(t){\mathbf{u}}(t)+K(t) \left( {\mathbf{y}}(t)-C(t)\hat{\mathbf{x}}(t) \right),  \hat{\mathbf{x}}(0) = E \left( {\mathbf{x}}(0) \right),
 {\mathbf{u}}(t)= -L(t) \hat{\mathbf{x}}(t).

The matrix {\mathbf{}}K(t) is called the Kalman gain of the associated Kalman filter represented by the first equation. At each time {\mathbf{}}t this filter generates estimates \hat{\mathbf{x}}(t) of the state {\mathbf{x}}(t) using the past measurements and inputs. The Kalman gain {\mathbf{}}K(t) is computed from the matrices {\mathbf{}}A(t), C(t), the two intensity matrices \mathbf{}V(t), W(t) associated to the white Gaussian noises \mathbf{v}(t) and \mathbf{w}(t) and finally E\left({\mathbf{x}}(0){\mathbf{x}}^\mathrm T(0) \right). These five matrices determine the Kalman gain through the following associated matrix Riccati differential equation:

 \dot{P}(t) = A(t)P(t)+P(t)A^\mathrm T(t)-P(t)C^\mathrm T(t){\mathbf{}}W^{-1}(t)
C(t)P(t)+V(t),
 P(0)= E \left({\mathbf{x}}(0){\mathbf{x}}^\mathrm T(0) \right).

Given the solution P(t), 0 \leq t \leq T the Kalman gain equals

 {\mathbf{}}K(t) = P(t)C^\mathrm T(t)W^{-1}(t).

The matrix {\mathbf{}}L(t) is called the feedback gain matrix. This matrix is determined by the matrices {\mathbf{}}A(t), B(t), Q(t), R(t) and {\mathbf{}}F through the following associated matrix Riccati differential equation:

 -\dot{S}(t) = A^\mathrm T(t)S(t)+S(t)A(t)-S(t)B(t)R^{-1}(t)B^\mathrm T(t)S(t)+Q(t),
  {\mathbf{}}S(T) = F.

Given the solution {\mathbf{}}S(t), 0 \leq t \leq T the feedback gain equals

 {\mathbf{}}L(t) = R^{-1}(t)B^\mathrm T(t)S(t).

Observe the similarity of the two matrix Riccati differential equations, the first one running forward in time, the second one running backward in time. This similarity is called duality. The first matrix Riccati differential equation solves the linear-quadratic estimation problem (LQE). The second matrix Riccati differential equation solves the linear-quadratic regulator problem (LQR). These problems are dual and together they solve the linear-quadratic-Gaussian control problem (LQG). So the LQG problem separates into the LQE and LQR problem that can be solved independently. Therefore, the LQG problem is called separable.

When {\mathbf{}}A(t), B(t), C(t), Q(t), R(t) and the noise intensity matrices \mathbf{}V(t), \mathbf{}W(t) do not depend on {\mathbf{}}t and when {\mathbf{}}T tends to infinity the LQG controller becomes a time-invariant dynamic system. In that case both matrix Riccati differential equations may be replaced by the two associated algebraic Riccati equations.

Discrete time

Since the discrete-time LQG control problem is similar to the one in continuous-time, the description below focuses on the mathematical equations.

The discrete-time linear system equations are

{\mathbf{x}}_{i+1} = A_i\mathbf{x}_i + B_i \mathbf{u}_i +  \mathbf{v}_i,
\mathbf{y}_{i} = C_{i} \mathbf{x}_i + \mathbf{w}_i.

Here \mathbf{}i represents the discrete time index and \mathbf{v}_{i}, \mathbf{w}_{i} represent discrete-time Gaussian white noise processes with covariance matrices \mathbf{}V_{i}, W_{i} respectively.

The quadratic cost function to be minimized is

 J = E\left({\mathbf{x}}^\mathrm T_{N}F{\mathbf{x}}_{N}+ \sum_{i=0}^{N-1} \mathbf{x}_i^\mathrm T Q_i \mathbf{x}_i + \mathbf{u}_i^\mathrm T R_i \mathbf{u}_i \right),
 F \ge 0, Q_i \ge 0, R_i > 0. \,

The discrete-time LQG controller is

\hat{\mathbf{x}}_{i+1}=A_i\hat{\mathbf{x}}_i+B_i{\mathbf{u}}_i+K_{i+1} \left({\mathbf{y}}_{i+1}-C_{i+1}{\hat{\mathbf{x}}}_i \right), \hat{\mathbf{x}}_0=E({\mathbf{x}}_0),
 \mathbf{u}_i=-L_i\hat{\mathbf{x}}_i. \,

The Kalman gain equals

 {\mathbf{}}K_i = A_iP_iC ^\mathrm T _i(C_iP_iC ^\mathrm T _i + W_i)^{-1},

where {\mathbf{}}P_i is determined by the following matrix Riccati difference equation that runs forward in time:

 P_{i+1} = A_i \left( P_i - P_i C ^\mathrm T _i \left( C_i P_i C ^\mathrm T _i+W_i \right)^{-1} C_i P_i \right) A ^\mathrm T _i+V_i, P_0=E \left( {\mathbf{x}}_0 - \hat{\mathbf{x}}_0\right)\left({\mathbf{x}}_0- \hat{\mathbf{x}}_0\right)^\mathrm T.

The feedback gain matrix equals

 {\mathbf{}}L_i = (B^\mathrm T_iS_{i+1}B_i + R_i)^{-1}B^\mathrm T_iS_{i+1}A_i

where {\mathbf{}}S_i is determined by the following matrix Riccati difference equation that runs backward in time:

 S_i = A^\mathrm T_i \left( S_{i+1} - S_{i+1}B_i \left( B^\mathrm T_iS_{i+1}B_i+R_i \right)^{-1} B^\mathrm T_i S_{i+1} \right) A_i+Q_i, S_N=F.

If all the matrices in the problem formulation are time-invariant and if the horizon {\mathbf{}}N tends to infinity the discrete-time LQG controller becomes time-invariant. In that case the matrix Riccati difference equations may be replaced by their associated discrete-time algebraic Riccati equations. These determine the time-invariant linear-quadratic estimator and the time-invariant linear-quadratic regulator in discrete-time. To keep the costs finite instead of {\mathbf{}}J one has to consider {\mathbf{}}J/N in this case.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found. Associated software download from Matlab Central.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found. Associated software download from Matlab Central.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Green, Limebeer: Linear Robust Control, p. 27