LQOutputRegulatorGains

LQOutputRegulatorGains[ssm,{q,r}]

gives the optimal state feedback gain matrix for the StateSpaceModel ssm and the quadratic cost function, with output and control weighting matrices q and r.

LQOutputRegulatorGains[ssm,{q,r,p}]

includes the output-control cross-coupling matrix p in the cost function.

LQOutputRegulatorGains[{ssm,sensors},{}]

specifies sensors as the measured outputs of ssm.

LQOutputRegulatorGains[{ssm,sensors,finputs},{}]

specifies finputs as the feedback inputs of ssm.

Details and Options

  • The standard state-space model ssm can be given as StateSpaceModel[{a,b,c,d}], where a, b, c, and d represent the state, input, output, and transmission matrices in either a continuous-time or a discrete-time system:
  • continuous-time system
    discrete-time system
  • The descriptor state-space model ssm can be given as StateSpaceModel[{a,b,c,d,e}] in either continuous time or discrete time:
  • continuous-time system
    discrete-time system
  • LQOutputRegulatorGains also accepts nonlinear systems specified by AffineStateSpaceModel and NonlinearStateSpaceModel.
  • For nonlinear systems the operating values of state and input variables are taken into consideration, and the gains are computed based on the approximate Taylor linearization and returned as a vector.
  • The argument sensors is a list of integers specifying the positions of the measured outputs in .
  • Similarly, finputs is a list of integers specifying the positions of the feedback inputs in .
  • LQOutputRegulatorGains[ssm,{}] is equivalent to LQOutputRegulatorGains[{ssm,All,All},{}].
  • The cost function is:
  • continuous-time system
    discrete-time system
  • In LQOutputRegulatorGains[ssm,{q,r}], the cross-coupling matrix p is assumed to be zero.
  • The optimal control is given by , where is the computed feedback gain matrix.
  • For continuous-time systems, the optimal feedback gain is computed as kappa=TemplateBox[{{r, _, 1}}, Inverse].x_1, where and . The matrix is the solution of the continuous Riccati equation a.x_r+x_r.a-x_1.TemplateBox[{{r, _, 1}}, Inverse].x_1+c_s.q.c_s=0.
  • For discrete-time systems, the optimal feedback gain is computed as kappa=TemplateBox[{{r, _, 1}}, Inverse].x_1, where and . The matrix is the solution of the discrete Riccati equation a.x_r.a-x_r-x_1.TemplateBox[{{r, _, 1}}, Inverse].x_1+c_s.q.c_s=0.
  • The subscript denotes the submatrix associated with the feedback inputs , and the subscript denotes the submatrix associated with the sensors .

Examples

open allclose all

Basic Examples  (2)

A set of optimal output-weighted state feedback gains for a continuous-time system:

LQ output regulator gains for a discrete-time system:

Scope  (7)

Compute a set of optimal output-weighted state feedback gains of a continuous-time system:

The gains for a cost function with input-output coupling:

The gains for a discrete-time system:

The gains computed using only the first output as the measurement:

Use all outputs as measurements:

The gains using only the first input as the feedback input:

Find the optimal gains for a descriptor state-space model:

The gains for an AffineStateSpaceModel:

The closed-loop system:

The closed-loop system is stabilized at the specified operating value:

However it eventually settles at a new operating point:

Applications  (2)

Construct an output-weighted state-feedback gain matrix for an aircraft model:

Plot the closed-loop output response:

Plot the control signals:

A two-loop circuit modeled as a descriptor system:

The circuit has a large magnitude response at certain frequencies:

Find an optimal closed-loop system for unity cost matrices:

The closed-loop response is attenuated:

Properties & Relations  (3)

Equivalent output regulator gains can be computed using LQRegulatorGains:

LQOutputRegulatorGains gives the same result:

Compute the LQ output regulator gains by solving the underlying Riccati equation:

LQOutputRegulatorGains gives the same result:

Compute the gains for a discrete-time system using DiscreteRiccatiSolve:

LQOutputRegulatorGains gives the same result:

Wolfram Research (2010), LQOutputRegulatorGains, Wolfram Language function, https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html (updated 2014).

Text

Wolfram Research (2010), LQOutputRegulatorGains, Wolfram Language function, https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html (updated 2014).

BibTeX

@misc{reference.wolfram_2020_lqoutputregulatorgains, author="Wolfram Research", title="{LQOutputRegulatorGains}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html}", note=[Accessed: 03-March-2021 ]}

BibLaTeX

@online{reference.wolfram_2020_lqoutputregulatorgains, organization={Wolfram Research}, title={LQOutputRegulatorGains}, year={2014}, url={https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html}, note=[Accessed: 03-March-2021 ]}

CMS

Wolfram Language. 2010. "LQOutputRegulatorGains." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html.

APA

Wolfram Language. (2010). LQOutputRegulatorGains. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LQOutputRegulatorGains.html