LQGRegulator
LQGRegulator[sspec,cvs,wts]
gives the optimal output feedback controller for the stochastic system specification sspec with noise covariance matrices cvs that minimize a cost function with weights wts.
LQGRegulator[…,"prop"]
gives the value of the property "prop".
Details and Options
 LQGRegulator is also known as linear quadratic Gaussian controller or stochastic linear controller.
 LQGRegulator is used to compute a regulating controller or tracking controller for a system with disturbances and measurement noise modeled as zeromean, Gaussian, white noise processes.
 LQGRegulator works by minimizing a quadratic cost function of the states and feedback inputs, and the sum of the variances of the error between the actual and estimated states.
 A regulating controller aims to maintain the system at an equilibrium state despite disturbances u_{w} and u_{e} interfering with it. Typical examples include maintaining an inverted pendulum in its upright position or maintaining an aircraft in level flight.
 The regulating controller is given by a control law of the form , where is the computed gain matrix.
 The quadratic cost function with weights q, r and p of the states x and feedback inputs u_{f}:

continuoustime system discretetime system  A tracking controller aims to track a reference signal despite disturbances u_{w} and u_{e} interfering with it. Typical examples include a cruise control system for a car or path tracking for a robot.
 The tracking controller is given by a control law of the form , where is the computed gain matrix for the augmented system that includes the system sys as well as the dynamics for .
 The quadratic cost function with weights q, r and p of the augmented states and feedback inputs u_{f}:

continuoustime system discretetime system  The number of states of the augmented system is given by , where is given by SystemsModelOrder of sys, the order of y_{ref} and the number of signals y_{ref}.
 The choice of weighting matrices results in a tradeoff between performance and control effort, and a good design is arrived at iteratively. Their starting values can be diagonal matrices with entries , where z_{i} is the maximum admissible absolute value of the corresponding x_{i} or u_{i}.
 The weights wts can have the following forms:

{q,r} cost function with no crosscoupling {q,r,p} cost function with crosscoupling matrix p  The measurements y_{m} are modeled as , where and are the submatrices of and associated with , and is the noise.
 The stochastic inputs u_{w} and the measurement noise y_{v} are considered to be zeromean, white and Gaussian:

, process noise , measurement noise cross covariance  The covariance matrices cvs can have the following forms:

{w,v} covariance matrices and zero cross covariance {w,v,h} covariance and cross covariance matrices  The system specification sspec is the system sys together with the u_{f}, u_{e}, y_{t} and y_{ref} specifications.
 The system specification sspec can have the following forms:

StateSpaceModel[…] linear control input and linear state AffineStateSpaceModel[…] linear control input and nonlinear state NonlinearStateSpaceModel[…] nonlinear control input and nonlinear state SystemModel[…] general system model <… > detailed system specification given as an Association  The detailed system specification can have the following keys:

"InputModel" sys any one of the models "FeedbackInputs" All the feedback inputs u_{f} "ExogenousInputs" None the exogenous inputs u_{e} "MeasuredOutputs" All the measured outputs y_{m} "TrackedOutputs" None tracked outputs y_{t} "TrackedSignal" Automatic the dynamics of y_{ref}  The inputs and outputs can have the following forms:

{num_{1},…,num_{n}} numbered inputs or outputs num_{i} used by StateSpaceModel, AffineStateSpaceModel and NonlinearStateSpaceModel {name_{1},…,name_{n}} named inputs or outputs name_{i} used by SystemModel All uses all inputs or outputs None uses none of the inputs or outputs  LQGRegulator[…,"Data"] returns a SystemsModelControllerData object cd that can be used to extract additional properties using the form cd["prop"].
 LQGRegulator[…,"prop"] can be used to directly get the value of cd["prop"].
 Possible values for properties "prop" include:

"ClosedLoopPoles" poles of "ClosedLoopSystem" "ClosedLoopSystem" system csys {"ClosedLoopSystem",cspec} detailed control over the form of the closedloop system "ControllerModel" model cm "Design" type of controller design "EstimatorGains" gain matrix ℓ "EstimatorGainsDesignModel" model used for the estimator gains design "EstimatorRegulatorFeedbackModel" model with u_{e}, y_{m} as input and as output "EstimatorRegulatorModel" model erm with u_{f}, u_{e}, y_{m} as input and as output "ExogenousInputs" deterministic and nonfeedback inputs u_{e} of sys "FeedbackGains" gain matrix κ or its equivalent "FeedbackGainsDesignModel" model used for the feedback gains design "FeedbackGainsModel" model gm or {gm_{1},gm_{2}} "FeedbackInputs" inputs u_{f} of sys used for feedback "InputModel" input model sys "InputsCount" number of inputs u of sys "MeasuredOutputs" measured outputs y_{m} of sys "OpenLoopPoles" poles of the Taylor linearized sys "OutputsCount" number of outputs y of sys "SamplingPeriod" sampling period of sys "StateEstimatorModel" model sem "StateOutputEstimatorModel" model soem "StatesCount" number of states x of sys "TrackedOutputs" outputs y_{t} of sys that are tracked  Possible keys for cspec include:

"InputModel" input model in csys "Merge" whether to merge csys "ModelName" name of csys  The diagram of the regulator layout.
 The diagram of the tracker layout.
Examples
open allclose allBasic Examples (1)
Scope (34)
Basic Uses (4)
A system with one feedback input and one noisy measurement:
The input covariance matrix is empty because there are no noisy inputs:
A set of weights for the states and feedback input:
Compute the regulator from a full system specification:
A system with one feedback input, one noisy input and one noisy measurement:
A set of covariance matrices and weights:
A system with an exogenous deterministic input as well:
A set of covariance matrices and weights:
Plant Models (7)
Continuoustime StateSpaceModel:
Discretetime StateSpaceModel:
Descriptor StateSpaceModel:
A SystemModel with a noisy input:
Properties (15)
By default, LQGRegulator returns the controller comprising the estimator and regulator:
The model used to compute the feedback gains:
The model of the state estimator:
The model used to compute the estimator gains:
For nonlinear systems, the model used to design the estimator is the nonlinear statespace model:
The model to design the feedback gains is linear:
It is essentially the Taylor linearized statespace model:
The controller is the estimator and feedback gains in series:
The computed controller is the same:
The estimatorregulator feedback model:
In this model, the feedback input is fed back directly:
Assemble the estimator and regulator with feedback to get the same result as before:
The closedloop system differs from the computed one only in the input matrix:
Properties related to the input model:
Get the controller data object:
Tracking (5)
The closedloop system tracks the reference signal :
Design a tracking controller for a discretetime system:
The closedloop system tracks the reference signal :
The closedloop system tracks two different reference signals:
Compute the controller effort:
Track a desired reference signal:
The reference signal is of order 4:
Design a controller to track one output of a firstorder system:
ClosedLoop System (3)
Assemble the closedloop system for a nonlinear plant model:
The closedloop system with a linearized model:
Compare the response of the two systems:
Assemble the merged closedloop of a plant with an LQGRegulator:
The unmerged closedloop system:
When merged, it gives the same result as before:
Explicitly specify the merged closedloop system:
Create a closedloop system with a desired name:
Applications (2)
A statespace model with one feedback input, one noisy input and one measurement:
Obtain the closedloop system:
A descriptor system with one feedback input, one noisy input,\ and two noisy measurements:
Create Gaussian noise sequences:
Interpolate the sequences to get noise signals:
The openloop response is slow to settle:
The closedloop system has a faster settling time:
Properties & Relations (2)
The closedloop poles are the poles of the statefeedback and estimator subsystems:
The poles of the optimal state feedback subsystem:
Construct an LQG regulator from the Kalman estimator and the optimal statefeedback gains model:
Create the estimatorregulator manually:
LQGRegulator gives the same result:
Text
Wolfram Research (2010), LQGRegulator, Wolfram Language function, https://reference.wolfram.com/language/ref/LQGRegulator.html (updated 2021).
CMS
Wolfram Language. 2010. "LQGRegulator." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/LQGRegulator.html.
APA
Wolfram Language. (2010). LQGRegulator. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LQGRegulator.html