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
    "InputCount"number of inputs u of sys
    "MeasuredOutputs"measured outputs ym of sys
    "OpenLoopPoles"poles of the Taylor linearized sys
    "OutputCount"number of outputs y of sys
    "SamplingPeriod"sampling period of sys
    "StateEstimatorModel"model sem
    "StateOutputEstimatorModel"model soem
    "StateCount"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  (8)

Construct an EstimatorRegulator:

An estimator regulator for a discrete-time model:

An estimator regulator for a nonlinear system:

An estimator regulator with specified measurements and feedback inputs:

An estimator regulator with optimal gains:

A set of optimal regulator gains:

And a set of optimal estimator gains:

The estimator regulator:

The controller data object:

Obtain additional properties:

An estimator regulator for a tracking problem:

Compute the gains:

The estimator regulator:

Stabilize an unstable system:

Compute the gains of the estimator regulator:

The estimator regulator:

The open-loop poles and closed-loop poles:

Scope  (30)

Basic Uses  (8)

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 only the feedback gains optimally:

Compute the estimator gains using pole placement:

Assemble the estimator-regulator:

The feedback data object can be also specified:

A set of 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 regulator controller:

Assemble an estimator regulator:

The closed-loop system tracks the reference:

Closed-Loop System  (3)

The closed-loop system based on a nonlinear model:

Compute the closed-loop system based on the linearized design:

Compare the response of the two designs:

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

The unmerged closed-loop system:

When merged, it gives the same result as before:

Merge the closed-loop system explicitly:

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  (11)

Mechanical Systems  (3)

Design a controller for a partially controllable double cart-spring system:

A model of the system:

The system is not controllable:

Obtain the controllable subsystem:

The response of the open-loop system:

Compute a set of optimal feedback gains:

And a set of estimator gains:

Assemble the estimator-regulator:

Obtain the closed-loop system:

The horizontal positions of the masses are controlled:

While the vertical position of is not:

Obtain controller model:

The controller effort:

Dampen the oscillations of a three-mass system:

A model of the system:

The open-loop response is highly oscillatory:

Compute a set of optimal regulator gains:

And a set of estimator gains:

Assemble the estimator-regulator:

Obtain the closed-loop system:

The oscillations are suppressed by the feedback controller:

Obtain the controller model:

The controller effort:

Dampen the oscillations of a coupled pendulum:

A model of the system:

The undamped open-loop response:

Compute a set of estimator gains:

Compute a set of optimal gains:

Assemble the estimator-regulator:

Obtain the closed-loop system:

The pendulums' oscillations are damped:

Obtain the controller model:

The control effort:

Aerospace Systems  (3)

Stabilize the orbit of a spacecraft near a circular orbit of mean motion ω:

A model of the system:

Discretize the system with a sampling time of :

The satellite's orbit is unregulated to a perturbation in the states:

Compute a set of regulator gains:

And a set of estimator gains:

Assemble the estimator regulator:

Obtain the closed-loop system:

The satellite's orbit is stabilized:

Obtain the controller model:

The control effort:

Stabilize a helicopter:

A model of the system:

It is unstable:

Compute a set of regulator gains:

And a set of estimator gains:

Assemble the estimator regulator:

Obtain the closed-loop system:

The helicopter is stabilized:

The control effort:

Control a quadcopter drones altitude:

A model of the drone:

Without any input, the drone is in free fall:

A set of LQ regulator weights that consider the maximum motor voltage of v:

Compute the optimal regulator:

And a set of estimator gains:

Assemble the estimator-regulator:

Obtain the closed-loop system:

The drone tracks the reference altitude:

Obtain the controller model:

The controller inputs:

The controller effort does not exceed volts:

Biological Systems  (1)

Regulate the blood-glucose level in the human body:

The Bergman model of the system:

The system is slow with poles close to the axis:

Hence the glucose level in the open-loop system takes a long time to settle:

Set the exogenous insulin infusion rate as the feedback input and compute a set of optimal gains:

And a set of estimator gains:

Assemble an estimator-regulator:

Obtain the closed-loop system:

The blood-glucose level settles much faster:

Obtain the controller model:

The control effort:

Chemical Systems  (2)

Regulate the biomass concentration in an isothermal constant-volume fermenter: »

A model of the fermenter:

The biomass concentration of the unregulated system:

Compute a set of regulator gains:

Compute a set of estimator gains:

Assemble an estimator regulator:

The closed-loop system:

The biomass concentration is regulated:

The control effort:

Improve the response of a mixing tank process:

A model of the system:

The output response takes to stabilize:

The systems fast and slow modes are controllable:

Compute a set of state feedback gains:

And a set of estimator gains:

The estimator regulator:

Obtain the closed-loop system:

The response of the closed-loop system only takes to stabilize:

Obtain the controller model:

The control effort:

Electrical Systems  (2)

Regulate a DC motor driven by a buck converter:

A model of the system:

The system has poles close to the imaginary axis:

Therefore the response of the system to an initial perturbation is slow:

Compute a set of regulator gains:

And a set of estimator gains:

Assemble the estimator regulator:

Obtain the closed-loop system:

The closed-loop response is faster:

Obtain the controller model:

The control effort:

Dampen the response of the terminal voltage of a power system:

A model of the system:

The system has two lightly damped poles:

The open-loop response is therefore highly oscillatory:

Compute a set of regulator gains:

And a set of estimator gains:

Assemble the estimator-regulator:

Obtain the closed-loop system:

The closed-loop response to a perturbation in the synchronous machine is damped and is faster:

Compute the controller model:

The control effort:

Properties & Relations  (7)

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

The poles of the estimator design:

The poles of the state-feedback design:

An estimator-regulator assembled using gains from StateFeedbackGains and EstimatorGains:

A set of estimator gains:

A set of feedback gains:

The estimator-regulator can be assembled using the gains or the controller data object:

An estimator-regulator assembled using gains from LQRegulatorGains and EstimatorGains:

A set of estimator gains:

A set of optimal feedback gains:

The estimator-regulator can be assembled using the gains or the controller data object:

An estimator-regulator assembled using gains from DiscreteLQRegulatorGains and DiscreteLQEstimatorGains:

A set of optimal discrete-time estimator gains:

A set of optimal discrete-time feedback gains:

The estimator-regulator:

LQGRegulator is assembled using EstimatorRegulator:

The state feedback gains:

The estimator gains:

The LQG regulator:

They are the same:

The uncontrollable poles of a stabilizable system are not affected by an estimator-regulator:

The stable pole is uncontrollable:

A set of estimator gains:

A set of regulator gains:

The poles of the closed-loop system:

The regulator's poles:

The uncontrollable pole is unchanged:

Larger estimator gains result in a faster response but amplify noise:

A set of state feedback gains:

A set of increasing estimator gains:

The closed-loop systems:

A measurement noise signal:

The responses of the closed-loop systems:

As the estimator gains increase, the response is faster but the effects of the noise are more pronounced:

The plot of the norm of the estimator gains versus output response:

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_2023_estimatorregulator, author="Wolfram Research", title="{EstimatorRegulator}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/EstimatorRegulator.html}", note=[Accessed: 29-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_estimatorregulator, organization={Wolfram Research}, title={EstimatorRegulator}, year={2021}, url={https://reference.wolfram.com/language/ref/EstimatorRegulator.html}, note=[Accessed: 29-March-2024 ]}