[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Octave Controls toolbox demo: options demos.
design demos for continuous SISO and MIMO systems and a
discrete system. The SISO system is difficult to control because
it is non-minimum-phase and unstable. The second design example
controls the jet707
plant, the linearized state space model of a
Boeing 707-321 aircraft at v=80 m/s
Inputs: (1) thrust and (2) elevator angle
Outputs: (1) airspeed and (2) pitch angle. The discrete system is a
stable and second order.
+----+ -------------------->| W1 |---> v1 z | +----+ ----|-------------+ | | | +---+ v y +----+ u *--->| G |--->O--*-->| W2 |---> v2 | +---+ | +----+ | | | +---+ | -----| K |<------- +---+ |
W1 und W2 are the robustness and performance weighting functions.
The optimal controller minimizes the norm of the augmented plant P (mixed-sensitivity problem):
w 1 -----------+ | +----+ +---------------------->| W1 |----> z1 w | | +----+ 2 ------------------------+ | | | | v +----+ v +----+ +--*-->o-->| G |-->o--*-->| W2 |---> z2 | +----+ | +----+ | | ^ v u y (to K) (from controller K) |
This is not a true discrete design. The design is carried out in continuous time while the effect of sampling is described by a bilinear transformation of the sampled system. This method works quite well if the sampling period is "small" compared to the plant time constants.
is discretised with a ZOH (Sampling period = Ts = 1 second):
+----+ -------------------->| W1 |---> v1 z | +----+ ----|-------------+ | | | +---+ v +----+ *--->| G |--->O--*-->| W2 |---> v2 | +---+ | +----+ | | | +---+ | -----| K |<------- +---+ |
W1 and W2 are the robustness and performance weighting functions.
Construct the linear quadratic estimator (Kalman filter) for the
discrete time system
where w, v are zero-mean gaussian noise processes with
respective intensities sigw = cov (w, w)
and
sigv = cov (v, v)
.
If specified, z is cov (w, v)
. Otherwise
cov (w, v) = 0
.
The observer structure is
The following values are returned:
The observer gain, is stable.
The Riccati equation solution.
The estimate error covariance after the measurement update.
The closed loop poles of
Construct the linear quadratic regulator for the discrete time system to minimize the cost functional
z omitted or z included.
The following values are returned:
The state feedback gain, is stable.
The solution of algebraic Riccati equation.
The closed loop poles of
Construct the linear quadratic estimator (Kalman predictor) for the
discrete time system
where w, v are zero-mean gaussian noise processes with
respective intensities Qw = cov (w, w)
and
Rv = cov (v, v)
.
If specified, S is cov (w, v)
. Otherwise
cov (w, v) = 0
.
The observer structure is
The following values are returned:
The predictor gain, is stable.
The filter gain.
The Riccati solution.
The updated error covariance matrix.
Design optimal controller per procedure in Doyle, Glover, Khargonekar, Francis, State-Space Solutions to Standard Control Problems, IEEE TAC August 1989.
Discrete-time control per Zhou, Doyle, and Glover, Robust and optimal control, Prentice-Hall, 1996.
Inputs
system data structure (see ss, sys2ss)
number of controlled inputs
number of measured outputs
threshold for 0. Default: 200*eps
Outputs
system controller
optimal closed loop gain
full information control (packed)
state estimator (packed)
ARE solution matrix for regulator subproblem
ARE solution matrix for filter subproblem
Called by hinfsyn
to compute the
optimal controller.
Inputs
data structure returned by is_dgkf
feedback and filter gain (not partitioned)
final gamma value
Outputs
controller (system data structure)
Do not attempt to use this at home; no argument checking performed.
Inputs input system is passed as either
system data structure (see ss
, sys2ss
)
c2d
, d2c
)
number of controlled inputs
number of measured outputs
initial lower bound on optimal gain
initial upper bound on Optimal gain.
Gain threshold. Routine quits when gmax/gmin < 1+tol.
poles with abs(real(pole))
(H is appropriate
Hamiltonian) are considered to be on the imaginary axis.
Default: 1e-9.
threshold for 0. Default: 200*eps
.
gmax, min, tol, and tol must all be postive scalars.
Outputs
System controller.
Designed gain value.
Closed loop system.
ARE solution matrix for regulator subproblem.
ARE solution matrix for filter subproblem.
References:
Called by hinfsyn
to see if gain g satisfies conditions in
Theorem 3 of
Doyle, Glover, Khargonekar, Francis, State Space Solutions to Standard
Control Problems, IEEE TAC August 1989.
Warning: do not attempt to use this at home; no argument checking performed.
Inputs
As returned by is_dgkf
, except for:
candidate gain level
as in hinfsyn
Outputs
1 if g exceeds optimal Hinf closed loop gain, else 0
solution of "regulator" ARE
solution of "filter" ARE
Do not attempt to use this at home; no argument checking performed.
Forms
xx = ([bb; -c1'*d1dot]/r) * [d1dot'*c1 bb']; Ha = [a 0*a; -c1'*c1 - a'] - xx; |
and solves associated Riccati equation. The error code x_ha_err indicates one of the following conditions:
successful
xinf has imaginary eigenvalues
hx not Hamiltonian
xinf has infinite eigenvalues (numerical overflow)
xinf not symmetric
xinf not positive definite
r is singular
Construct the linear quadratic estimator (Kalman filter) for the continuous time system where w and v are zero-mean gaussian noise processes with respective intensities
sigw = cov (w, w) sigv = cov (v, v) |
The optional argument z is the cross-covariance
cov (w, v)
. If it is omitted,
cov (w, v) = 0
is assumed.
Observer structure is dz/dt = A z + B u + k (y - C z - D u)
The following values are returned:
The observer gain, is stable.
The solution of algebraic Riccati equation.
The vector of closed loop poles of
Design a linear-quadratic-gaussian optimal controller for the system
dx/dt = A x + B u + G w [w]=N(0,[Sigw 0 ]) y = C x + v [v] ( 0 Sigv ]) |
or
x(k+1) = A x(k) + B u(k) + G w(k) [w]=N(0,[Sigw 0 ]) y(k) = C x(k) + v(k) [v] ( 0 Sigv ]) |
Inputs
system data structure
intensities of independent Gaussian noise processes (as above)
state, control weighting respectively. Control ARE is
names or indices of controlled inputs (see sysidx
, cellidx
)
default: last dim(R) inputs are assumed to be controlled inputs, all others are assumed to be noise inputs.
Outputs
system data structure format LQG optimal controller (Obtain A, B, C
matrices with sys2ss
, sys2tf
, or sys2zp
as
appropriate).
Solution of control (state feedback) algebraic Riccati equation.
Solution of estimation algebraic Riccati equation.
Estimator poles.
Controller poles.
construct the linear quadratic regulator for the continuous time system to minimize the cost functional
z omitted or z included.
The following values are returned:
The state feedback gain, is stable and minimizes the cost functional
The stabilizing solution of appropriate algebraic Riccati equation.
The vector of the closed loop poles of
Reference Anderson and Moore, Optimal control: linear quadratic methods, Prentice-Hall, 1990, pp. 56-58.
Produce output for a linear simulation of a system; produces a plot for the output of the system, sys.
u is an array that contains the system's inputs. Each row in u corresponds to a different time step. Each column in u corresponds to a different input. t is an array that contains the time index of the system; t should be regularly spaced. If initial conditions are required on the system, the x0 vector should be added to the argument list.
When the lsim function is invoked a plot is not displayed; however, the data is returned in y (system output) and x (system states).
Computes the matrix K such that if the state is feedback with gain K, then the eigenvalues of the closed loop system (i.e. A-BK) are those specified in the vector p.
Version: Beta (May-1997): If you have any comments, please let me know. (see the file place.m for my address)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated on July, 20 2006 using texi2html 1.76.