EstimatorRegulator

EstimatorRegulator[sspec,{l,κ}]

gives the output feedback controller with estimator and regulator gains l and κ for the system specification sspec.

EstimatorRegulator[,"prop"]

gives the value of the property "prop".

Details and Options

  • EstimatorRegulator is also known as observer controller or estimator controller.
  • EstimatorRegulator is used to assemble a control system consisting of an estimator and a regulating or tracking controller.
  • A regulating controller aims to maintain the system at an equilibrium state despite disturbances pushing it away. 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.
  • A tracking controller aims to track a reference signal despite disturbances 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 system specification sspec is the system sys together with the uf, ue, yt and yref 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"sysany one of the models
    "FeedbackInputs"Allthe feedback inputs uf
    "ExogenousInputs"Nonethe exogenous inputs ue
    "MeasuredOutputs"Allthe measured outputs ym
    "TrackedOutputs"Nonetracked outputs yt
  • The inputs and outputs can have the following forms:
  • {num1,,numn}numbered inputs or outputs numi used by StateSpaceModel, AffineStateSpaceModel and NonlinearStateSpaceModel
    {name1,,namen}named inputs or outputs namei used by SystemModel
    Alluses all inputs or outputs
    Noneuses none of the inputs or outputs
  • The estimator gains l can be computed using EstimatorGains, LQEstimatorGains or DiscreteLQEstimatorGains.
  • The feedback gains κ can be computed using StateFeedbackGains, LQRegulatorGains, LQOutputRegulatorGains or DiscreteLQRegulatorGains.
  • EstimatorRegulator[,"Data"] returns a SystemsModelControllerData object cd that can be used to extract additional properties using the form cd["prop"].
  • EstimatorRegulator[,"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 closed-loop system
    "ControllerModel"model cm with , ue, ym as input and uf as output
    "Design"type of controller design
    "DesignModel"model used for the design
    "EstimatorGains"gain matrix
    "EstimatorRegulatorModel"model erm
    "ExogenousInputs"deterministic and non-feedback inputs ue of sys
    "FeedbackGains"gain matrix κ or its equivalent
    "FeedbackGainsModel"model gm or {gm1,gm2}
    "FeedbackInputs"inputs uf of sys used for feedback
    "InputModel"input model sys
    "InputsCount"number of inputs u of sys
    "MeasuredOutputs"measured outputs ym 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 yt of sys that are tracked
  • Possible keys for cspec include:
  • "InputModel"input model in csys
    "Merge"whether to merge csys
    "ModelName"name of csys
    "NoisyOutputs"subset of ym that are noisy
  • The diagram of the regulator layout.
  • The diagram of the tracker layout.

Examples

open allclose all

Basic Examples  (1)

Construct a state-feedback regulator from known estimator and state-feedback gains:

Scope  (29)

Basic Uses  (7)

A system with one feedback input and one measurement:

The feedback input and measurement are inputs to the estimator-regulator:

A system with one noisy input as well:

Noisy inputs are not inputs to the estimator-regulator:

A system with one feedback and one exogenous input:

The exogenous input is an input to the estimator-regulator:

A system where only some of the outputs are measured:

Only the feedback input and measured output are fed to the estimator-regulator:

Compute the gains using pole placement:

Assemble the estimator-regulator:

Compute the gains optimally:

Assemble the estimator-regulator:

Compute the feedback gains optimally:

Use pole placement to compute the estimator gains:

Assemble the estimator-regulator:

Plant Models  (5)

A continuous-time StateSpaceModel:

The controller for a set of gains:

The closed-loop system:

Compute it automatically:

The poles of the closed-loop system:

A discrete-time StateSpaceModel:

The controller for a set of gains:

Its closed-loop system:

And poles:

A descriptor StateSpaceModel:

The controller has the same descriptor matrix:

Its closed-loop system:

And poles:

An AffineStateSpaceModel with a set of gains:

Its controller:

The closed-loop system:

Its poles are that of the Taylor linearized model:

A NonlinearStateSpaceModel with a set or gains:

Its controller:

The closed-loop system:

Its poles are that of the Taylor linearized system:

Properties  (9)

By default, EstimatorRegulator returns the controller comprising the estimator and regulator:

The controller can also be obtained as a property:

The estimator model:

The feedback gains model:

The closed-loop system:

The closed-loop poles:

The estimator-regulator 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 closed-loop system differs from the computed one only in the input matrix:

The design method:

Properties related to the input model and gains:

Get the controller data object:

The list of available properties:

The value of a specific property:

Tracking  (5)

Design a tracking controller:

First design a state feedback controller and estimator:

Assemble the tracking controller:

The closed-loop system tracks the reference signal :

Design a tracking controller for a discrete-time system:

First design a state feedback controller and estimator:

Assemble the tracking controller:

The closed-loop system tracks the reference signal :

Track multiple outputs:

Design an optimal state feedback controller:

And an estimator using pole placement:

Assemble the tracking controller:

The closed-loop system tracks two different reference signals:

Compute the controller effort:

Design an optimal state feedback controller:

And an estimator:

Assemble the tracking controller:

The controller model:

The controller inputs:

The controller effort:

Track a desired reference signal:

The reference signal is of order 2:

And sinusoidal:

Set the reference as the sum of sinusoids:

Design a controller to track one output of a first-order system:

The dimensions of the state weighting matrix qq are k+m q:

Compute the controller:

The closed-loop system tracks the reference:

Closed-Loop System  (3)

Compute the closed-loop system based on a linear design:

Assemble the closed-loop system with the nonlinear model:

Compare the response of the two systems:

Assemble the merged closed loop of a plant with an EstimatorRegulator:

The unmerged closed-loop system:

When merged, it gives the same result as before:

Explicitly specify the merged closed-loop system:

Create a closed-loop system with a desired name:

The closed-loop system has the specified name:

The name can be directly used to specify the closed-loop model in other functions:

The simulation result:

Applications  (3)

A state-feedback regulator for the discrete-time model of a satellite's attitude control system:

A regulator for a simple pendulum:

Design a regulator:

Design an estimator:

Assemble the estimator-regulator:

An LQ regulator for a system with one feedback input and one measured output:

Design an optimal estimator:

Design an optimal regulator:

Assemble the estimator-regulator:

Properties & Relations  (2)

The closed-loop poles are the poles of the state-feedback and estimator subsystems:

The poles of the closed-loop system with state feedback matrix k:

The poles of the estimator with gain matrix l:

These make up the closed-loop poles for the system with the estimator-regulator:

Construct an LQG regulator using optimal estimator gains and state-feedback gains:

LQGRegulator gives the same result:

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

Text

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

CMS

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

APA

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

BibTeX

@misc{reference.wolfram_2022_estimatorregulator, author="Wolfram Research", title="{EstimatorRegulator}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/EstimatorRegulator.html}", note=[Accessed: 05-October-2022 ]}

BibLaTeX

@online{reference.wolfram_2022_estimatorregulator, organization={Wolfram Research}, title={EstimatorRegulator}, year={2021}, url={https://reference.wolfram.com/language/ref/EstimatorRegulator.html}, note=[Accessed: 05-October-2022 ]}