Mathworks ROBUST CONTROL TOOLBOX 3 Installation Guide

Robust Control Too
lbox™ 3
Getting Started Guide
Gary Balas Richard Chiang Andy Packard Michael Safonov
How to Contact The MathWorks
suggest@mathworks.com Product enhancement suggestions bugs@mathwo doc@mathworks.com Documentation error reports service@mathworks.com Order status, license renewals, passcodes info@mathwo
com
rks.com
rks.com
Web
Bug reports
Sales, prici
ng, and general information
508-647-7000 (Phone)
508-647-7001 (Fax)
The MathWorks, Inc. 3 Apple Hill Drive Natick, MA 01760-2098
For contact information about worldwide offices, see the MathWorks Web site.
Robust Control Toolbox™ Getting Started Guide
© COPYRIGHT 2005–20 10 by The MathWorks, Inc.
The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathW orks, Inc.
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern theuse,modification,reproduction,release,performance,display,anddisclosureoftheProgramand Documentation by the federal government (or other entity acquiring for or through the federal government) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the government’s needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Docu mentation, unused, to The MathWorks, Inc.
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
Patents
The MathWorks products are protected by one or more U.S. patents. Please see
www.mathworks.com/patents for more information.
Revision History
September 2005 First printing New for Version 3.0.2 (Release 14SP3) March 2006 Online only Revised for Version 3.1 (Release 2006a) September 2006 Online only Revised for Version 3.1.1 (Release 2006b) March 2007 Online only Revised for Version 3.2 (Release 2007a) September 2007 Online only Revised for Version 3.3 (Release 2007b) March 2008 Online only Revised for Version 3.3.1 (Release 2008a) October 2008 Online only Revised for Version 3.3.2 (Release 2008b) March 2009 Online only Revised for Version 3.3.3 (Release 2009a) September 2009 Online only Revised for Version 3.4 (Release 2009b) March 2010 Online only Revised for Version 3.4.1 (Release 2010a)
Introduction
1
Product Overview ................................. 1-2
Required Software
................................. 1-2
Contents
Modeling Uncertainty
Example: ACC Benchmark Problem
Worst-Case Performance
Example: ACC Two-Cart Benchmark Problem
Synthesis of Robust MIMO Controllers
Example: Designin g a Contro ll er with L OOPSYN
Model Reduction and A pproximation
Example: NASA HiMAT Controller Order Reduction
LMI Solvers
Extends Control System Toolbox Capabilities
About the Authors
Bibliography
....................................... 1-18
...................................... 1-21
.............................. 1-3
.................. 1-3
........................... 1-7
.............. 1-10
................ 1-14
................................. 1-20
.......... 1-7
....... 1-10
.... 1-14
........ 1-19
Multivariable Loop Shaping
2
Tradeoff Between Performance and Robustness ...... 2-2
Norms and Singular Values
......................... 2-3
v
Typical Loop Shapes, S and T Design ................ 2-5
Singular Values Guaranteed Gain/Phase Margins in MIMO Systems
................................... 2-6
..... 2-10
UsingLOOPSYNtoDoH-InfinityLoopShaping
Example: NASA HiMAT Loop Shaping Design Specifications MATLAB C ommands for a LOOPSYN Design
Using MIXSYN for H-Infinity Loop Shaping
Example: NASA HiMAT Design Using MIXSYN
Loop-Shaping Commands
.............................. 2-14
.......................... 2-22
................ 2-12
...... 2-12
.......... 2-14
.......... 2-19
........ 2-20
Model Reduction for Robust Control
3
Introduction ...................................... 3-2
Hankel Singular Values
Overview of Model Reduction Techniques
Approximating Plant Models — Additive Error
Methods
........................................ 3-7
............................ 3-2
........... 3-5
vi Contents
Approximating Plant Models — Multiplicative Error
Method
Using Modal Algorithms
Rigid Body Dynamics
Reducing Large-Scale Models
Using Normalized Coprime Factor Methods
Bibliography
......................................... 3-9
............................ 3-11
.............................. 3-11
....................... 3-14
.......... 3-15
...................................... 3-16
Robustness Analysis
4
Uncertainty Modeling .............................. 4-2
Creating Uncertain Models of Dynamic Systems Creating Unce rtain Parameters Quantifying U nmodeled Dynamics
...................... 4-3
................... 4-6
........ 4-2
Robustness Analysis
Multiinput, Multioutput Robustness Analysis
Adding Independent Input Uncertainty to Each
Channel Closed-Loop Robustness Analysis Nominal Stability Margins Robustness of Stability Model Uncertainty
Worst-Case Gain Analysis
Summary of Robustness Analysis Tools
....................................... 4-15
............................... 4-9
........ 4-14
.................... 4-17
.......................... 4-19
............. 4-21
.......................... 4-22
.............. 4-25
H-Infinity and Mu Synthesis
5
H-Infinity Performance ............................ 5-2
Performance a s Generalized Disturbance Rejection Robustness in the H-Infinity Framework
.............. 5-8
...... 5-2
Application of H-Infinity and Mu to Active Suspension
Control
Quarter Car Suspension Model Linear H-Infinity Controller Design H-Infinity Control Design 1 H-Infinity Control Design 2 Control Design via Mu Synthesis
Functions for Control Design
......................................... 5-10
...................... 5-10
.................. 5-12
......................... 5-13
......................... 5-15
..................... 5-19
....................... 5-26
vii
Interpretation of H-Infinity Norm ................... 5-28
Norms of Signals and Systems Using Weighted Norms to Characterize Performance
....................... 5-28
.... 5-29
Bibliography
...................................... 5-35
Examples
A
Getting Started .................................... A-2
Index
viii Contents

Introduction

“Product Overview” on page 1-2
“Modeling Uncertainty” on page 1-3
“Worst-Case Performance” on page 1-7
“Synthesis of Robust MIMO Controllers” on page 1-10
“Model Reduction and Approximation” on page 1-14
“LMI Solvers” on page 1-18
“Extends Control System Toolbox Capabilities” on page 1-19
1
“A bout the Authors” on page 1-20
“Bibliography” on page 1-21
1 Introduction

Product Overview

The Robust Control Toolbox™ product is a collection of functions and tools that help you analyze and design multiinput-multioutput (MIMO) control systems with uncertain elements. You can build uncertain LTI system models containing uncertain parameters and uncertain dynamics. Y ou get tools to analyze MIMO system stability margins and worst case performance.
The toolbox includes a selection of control synthesis tools that compute controllers that optimize worst-case performance and identify worst-case parameter values. The toolbox lets you simplify and reduce the order of complex models with model reductio n tools that minimize additive and multiplicative error bounds. It provides tools for implementing advanced robust control methods like H µ-synthesis robust control. You can shape MIMO system frequency responses and design uncertainty tolerant controllers.

Required Software

Robust Control Toolbox software requires that you have installed Control System Toolbox™ software.
, H2, linear matrix inequalities (LMI), and
1-2

Modeling Uncertainty

At the heart of robust control is the concept of an uncertain LTI system. Model uncertainty arises when system gains or other parameters are not precisely kno wn, or can vary over a given range. Examples of real parameter uncertainties include uncertain pole and zero locations and uncertain gains. You can also have unstructured uncertainties, by which is meant complex parameter variations satisfying giv en magnitude bounds.
Modeling Uncertainty
With Robust Control Toolbox software you can create uncertain LTI models as MATLAB can build models of complex systems by combining models of subsystems using a ddition, multiplication, and division, as well as with Control System Toolbox commands like
®
objects specifically designed for robust control applications. You
feedback and lft.

Example: ACC Benchmark Problem

For instance, consider the two-cart "ACC Benchmark" system [13] consisting of two frictionless carts connected by a spring shown as follows.
ACC Benchmark Problem
The system has the block diagram model shown below , where the individual carts have the respective transfer functions.
1-3
1 Introduction
The parameters m1, m2,andk are uncertain, equal to one plus or minus 20%:
m1=1–0.2
=1–0.2
m
2
k=1–0.2
1-4
"ACC Benchmark" Two-Cart System Block Diagram y1=P(s) u
The upper dashed-line block has transfer function matrix.
l
This code builds the uncertain system mode
% Create the uncertain real p aram eters m1, m2, & k m1 = ureal('m1',1,'percent',20); m2 = ureal('m2',1,'percent',20); k = ureal('k',1,'percent',20);
s = zpk('s'); % cr eate the Laplace variable s
P shown above:
1
Modeling Uncertainty
G1 = ss(1/s^2)/m1; % Cart 1 G2 = ss(1/s^2)/m2; % Cart 2
% Now build F and P F = [0;G1]*[1 -1]+[1;-1]*[0,G2]; P = lft(F,k) % clo se the loop with the spring k
The variable P is a SISO uncertain state-space (USS) object with four states and three uncertain parameters,
m1, m2,andk. You can recover the no m inal
plant with the command
zpk(P.nominal)
which returns
Zero/pole/gain:
1
-------------­s^2 (s^2 + 2)
If the uncertain model P(s) has LTI negative feedback controller
then you can form the controller and the closed-loop system y1= T(s) u1and view the closed-loop system’s step response on the time interval from t=0 to t=0.1 for a Monte Carlo random sample of five combinations of the three uncertain parameters
00*ss((s+1)/(.001*s+1))^3 % LTI controller
C=1
eedback(P*C,1); % closed-loop uncertain system
T=f
p(usample(T,5),.1);
ste
k, m1,andm2 using this code:
1-5
1 Introduction
The resulting plot is shown below.
Monte Car
lo Sampling of Uncertain System’s Step Response
1-6

Worst-Case Performance

To be robust, your control system should m eet your stability and performance requirements for all possible values of uncertain parameters. Monte Carlo parameter sampling via Monte Carlo Sampling of Uncertain System’s Step Response on page 1 -6, but Monte Carlo methods are inherently hit or miss. With Monte Carlo methods, you might need to take an impossibly large number of samples b efo re you hit upon or near a worst-case parameter combination.
Robust Control Toolbox software gives you a powerful assortment of robustness analysis commands that let you directly calculate upper and lower bounds on worst-case performance without random sampling.
Worst-Case Robustness Analysis Commands
loopmargin
loopsens
ncfmargin
robustperf
robuststab
wcgain
wcmargin
wcsens
Worst - C ase Per f orma n ce
usample can be used for this purpose as shown in
Comprehensive analysis of feedback loop
Sensitivity functions of feedback loop
Normalized coprime stability margin of feedback loop
Robust performance of uncertain systems
Stability margins of uncertain systems
Worst-case gain of an uncertain system
Worst-case gain/phase margins for feedback loop
Worst-case sensitivity functions of feedback loop

Example: ACC Two-Cart Benchmark Problem

Returning to the “Example: ACC Benchmark Problem” on page 1-3, the closed loop system is:
T=feedback(P*C,1); % Closed-loop uncertain system
This uncertain state-space model T has three uncertain parameters, k, m1, and
m2, each equal to 1±20% uncertain variation. To analyze whether the
closed-loop system three parameters, you can execute the commands:
T is robustly stable for all combinations of values for these
1-7
1 Introduction
[StabilityMargin,Udestab,REPORT] = robuststab(T); REPORT
This displays the REPORT:
Uncertain System is robustly stable to m odel ed uncertainty.
-- It can tolerate up to 311% of modeled uncertainty.
-- A destabilizing combination of 500% t he modeled uncertainty exists, causing an instability at 44.3 rad/s.
The report tells you that the control system is ro bust for all parameter variations in the ±20% range, and that the smallest destabilizing combination of real variations in the values
k, m1,andm2 has sizes somewhere between
311% and 500% greater than ±20%, i.e., between ±62.2% and ±100%. The value
Udestab returns an estimate of the 500% destabilizing parameter
variation combination:
Udestab =
k: 1.2174e-005 m1: 1.2174e-005 m2: 2.0000.
1-8
Worst - C ase Per f orma n ce
Uncertain System Closed-Loop Bode Plots
You have a comfortable safety ma rgin of between 311% to 500% larger than the anticipated ± 20% parameter variations before the closed loop goes unstable. But how much can closed-loop performance deteriorate for parameter variations constrained to lie strictly within the anticipated ±20% range? The following code computes worst-case peak gain of
T,andestimates
the frequency and parameter values at which the peak gain occurs:
[PeakGain,Uwc] = wcgain(T); Twc=usubs(T,Uwc); % Worst case closed-loop system T Trand=usample(T,4); % 4 random samples of uncerta in system T bodemag(Twc,'r',Trand,'b-.',{.5,50}); % Do bode plot legend('T_{wc} - worst-case',... 'T_{rand} - random samples',3);
The resulting plot is shown in U ncertain System Closed-Loop Bode Plots on page 1-9.
1-9
1 Introduction

Synthesis of Robust MIMO Controllers

You can design controllers for multiinput-multioutput (MIMO) LTI models with your Robust Control Toolbox software using the following command.
Robust Control Synthesis Commands
h2hinfsyn
h2syn
hinfsyn
loopsyn
ltrsyn
mixsyn
ncfsyn
sdhinfsyn
Mixed H2/H∞controller synthesis
H2controller synthesis
H∞controller synthesis
H∞loop-shaping controller synthesis
Loop-transfer recovery controller synthesis
H∞mixed-sensitivity controller synthesis
H∞normalized coprime factor controller synthesis
Sampled-data H∞controller synthesis
1-10

Example: Designing a Controller with LOOPSYN

One of the most powerful yet simple controller synthesis tools is loopsyn. Given an LTI plant, you specify the shape of the open-loop systems frequency response plot that you want, then that best approximates your specified loop shape.
For example, consider the 2-by-2 NASA HiMAT aircraft model (Safonov, Laub, and Hartmann [8]) depicted in the following figure. The control variables are elevon and canard actuators (δ are angle of attack (α) and attitude angle (θ). The model has six states, viz.
loopsyn computes a stabilizing controller
and δc). The output variables
e
Synthesis of Robust MIMO Controllers
Aircraft Configuration and Vertical Plane Geometry
You can ente r the stat e- sp ace matrices for this model with the following code:
% NASA HiMAT model G(s)
ag =[ -2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01;
9.2572e-05 -1.8997e+00 9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03;
1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 -3.1604e+01 2.2396e+01;
1-11
1 Introduction
0 0 1.0000e+00 0 0 0;
0 0 0 0 -3.0000e+01 0;
0 0 0 0 0 -3.0000e+01];
bg = [ 0 0;
00;
00;
00;
30 0;
0 30];
cg=[010000;
000100];
dg = [ 0 0;
0 0];
G=ss(ag,bg,cg,dg);
To design a controller to shape the frequency response (sigma)plotsothatthe system has approximately a bandwidth of 10 rad/s, you can set as your target desiredloopshapeG controller for
G that optimally matches the desired loop shape Gd by typing:
(s)=10/s, then use loopsyn(G,Gd) to find a loop-shaping
d
1-12
s=zpk('s'); w0=10; Gd=w0/(s+.001); [K,CL,GAM]=loopsyn(G,Gd); % Design a loop-shaping controller K
% Plot the results sigma(G*K,'r',Gd,'k-.',Gd/GAM,'k:',Gd*GAM,'k:',{.1,30}) figure ;T=feedback(G*K,eye(2)); sigma(T,ss(GAM),'k:',{.1,30});grid
The value of γ= GAM returned is an indicator of the accuracy to which the optimal loop shape matches your desired loop shape and is an upper bound on the resonant peak magnitude of the closed-loop transfer function
T=feedback(G*K,eye(2)).Inthiscase,γ = 1.6024 = 4 dB — see the next
figure.
Synthesis of Robust MIMO Controllers
MIMO Robust Loop Shaping with loopsyn(G,Gd)
Theachievedloopshapematches the desired target Gd to within about γ dB.
1-13
1 Introduction

Model Reduction and Approximation

Complex models are not always required for good control. Unfortunately, however, optimization methods (including methods based on H µ-synthesis optimal control theory) generally tend to produce controllers with at least as many states as the plant model. For this reason, Robust Control Toolbox software offers you an assortment of model-order reduction commands that help you to find less com plex low-order approximations to plant and controller models.
Model Reduction Commands
reduce
balancmr
bstmr
hankelm
modreal
ncfmr
mr
schur
ast
slowf
sep
stab
r
Main interface to model approximation algorithms
Balanced truncation model reduction
Balanced
Optimal H
State-s
Balanc
Schur b
State
Stat
pace modal truncation/realization
ed normalized coprime factor model reduction
alanced truncation model reduction
-space slow-fast decomposition
e-space stable/antistable decomposition
, H2,and
stochastic truncation model reduction
ankel norm model approximations
1-14
imp2ss
Impulseresponsetostate-spaceapproximation
Among the most important types of model reduction methods are minimize bounds m ethods on additive, multiplicative, and normalized coprime factor (NCF) model error. You can access all three of these m ethods using the command reduce.

Example: NASA HiMAT Controller Order Reduction

For instance, the NASA HiMAT model considered in the last section has eight states, and the optimal loop-shaping controller turns out to have 16 states. Using model reduction, you can remove at least some of the states without appreciably affecting stability or closed-loop performance. For controller
Model Reduction and Approximation
order reduction, the NCF model reduction is particularly useful, and it works equally well with controllers that have poles anywhere in the complex plane.
For the NASA HiMAT design in the last section, you can type
hankelsv(K,'ncf','log');
which displays a logarithmic plot of the NCF Hankel singular values — see the following figure.
el Singular Values of Coprime Factorization of K
Hank
ory says that, without danger of inducing instability, you can confidently
The
card at least those controller states that have NCF Hankel singular values
dis
t are much smaller than
tha
ncfmargin(G,K).
1-15
1 Introduction
Compute ncfmargin(G,K) and add it to your Hankel singular values plot.
hankelsv(K,'ncf','log');v=axis; hold on; plot(v(1:2), ncfmargin(G,K)*[1 1],'--'); hold off
1-16
Five of the 16 NCF Hankel Singular Values of HiMAT Controller K Are Small Compared to ncfmargin(G,K)
In this case, you can safely discard 5 of the 16 states of K and compute an 11-state reduced controller by typing:
K1=reduce(K,11,'errortype','ncf');
The result is plotted in the following figure.
sigma(G*K1,'b',G*K,'r--',{.1,30});
Model Reduction and Approximation
HiMAT wi
The pic inputs perfor you wo
th 11-State Controller K1 vs. Original 16-State Controller K
ture above shows that low-frequency gain is de creased considerably for
in one vector direction. Although this does not affect stability, it affects
mance. If you wanted to better preserve low -frequency performance,
uld discard fewer than five of the 16 states of
K.
1-17
1 Introduction

LMI Solvers

At the core of many emergent robust control analysis and synthesis routines are powerful general-purpose functions for solving a class of convex nonlinear programming problems known as linear matrix inequalities. The LMI capabilities are invoked by Robust Control Toolbox software functions that evaluate worst-case performance, as well as functions like
hinfsyn
and h2hinfsyn. Some of the main functions that help you access the LMI capabilities of the toolbox are shown in the following table.
Specificati
lmiedit
setlmis
lmivar
lmiterm
newlmi
getlmis
on of LMIs
GUI for LM I s
Initialize the LMI description
Define a new matrix variable
Specify the term content of an LMI
Attach an identifying tag to new LMIs
Get the internal description of the LMI system
pecification
LMI Solvers
feasp
gevp
mincx
2mat
dec
Test feasibility of a system of LMIs
Minimize generalized eigenvalue with LMI constraints
mize a linear objective with LMI constraints
Mini
vert output of the s olv ers to values of matrix
Con
iables
var
Evaluation of LMIs/Validation of Results
evallmi
showlmi
Evaluate for given values of the decision variables
Return the left and right sides of an evaluated LMI
1-18
omplete documentation is available in “LMI Lab”.
C
Extends Control System Toolbox™ Capabilities

Extends Control System Toolbox Capabilities

Robust Control Toolbox software is designed to work with Control System Toolbox software. Robust Control Toolbox software extends the capabilities of Control System Toolbox software and leverages the LTI and plotting capabilities of Control System Toolbox software. The major analysis and synthesis commands in Robust Control Toolbox software accept LTI object inputs, e.g., LTI state-space systems produced by commands such as:
G=tf(1,[1 2 3]) G=ss([-1 0; 0 -1], [1;1],[1 1 ],3)
The uncertain system (USS) objects in Robust Control Toolbox software generalize the Control System Toolbox LTI task of analyzing and plotting uncertain systems. You can do many of the same algebraic operations on uncertain systems that are possible for LTI objects (multiply, add, invert), and Robust Control Toolbox software provides interconnection and plotting functions like
USS uncertain system extensions of Control System Toolbox software
SS objects and help ease the
feedback, lft,andbode.
1-19
1 Introduction

About the Authors

Professor Andy Packard is with the Faculty of Mechanical Engineering at the University of California, Berkeley. His research interests include robustness issues in control analysis and design, linear algebra and numerical algorithms in control problems, applications of system theory to aerospace problems, flight control, and control of fluid flow.
Professor Gary Balas is with the Faculty of Aerospace Engineering & Mechanics at the University of Minnesota and is president of MUSYN Inc. His research interests include aerospace control systems, both experimental and theoretical.
Dr. Michael Safonov is with the Faculty of Electrical Engineering at the University of Southern California. His research interests include control and decision theory.
Dr. Richard Chiang is employed by Boeing Satellite Systems, El Segundo, CA. H e is a Boeing Technical Fellow and has been working in the aerospace industry over 25 years. In his career, Richard has designed 3 flight control laws, 12 spacecraft attitude control laws, and 3 large space structure vibration controllers, using modern robust control theory and the tools he built in this toolbox. His research interests include robust control theory, model reduction, and in-flight system identification. Working in industry instead of academia, Richard serves a unique role in our team, bridging the gap between theory and reality.
1-20
The linear m atrix inequality (LMI) portion of Robust Control Toolbox software was developed by these two authors:
Dr. Pascal Gahinet is employed by The MathWorks. His research interests include robust control theory, linear matrix inequalities, numerical linear algebra, and numerical software for control.
Professor Arkadi Nemirovski is with the Faculty of Industrial Engineering and Management at Technion, Haifa, Israel. His research interests include convex o ptimization, complexity theory, and nonparametric statistics.

Bibliography

Bibliography
[1] Boyd, S.P., El Ghaoui, L., Feron, E., and Balakrishnan, V., Linear Matrix Inequalities in Systems and Control Theory, Philadelphia, PA, SIAM, 1994.
[2] Dorato, P. (editor), Robust Control, New York, IEEE Press, 1987.
[3] Dorato, P., and Yedavalli, R.K. (editors), Recent Advances in Robust Control, New York, IEEE Press, 1990.
[4] Doyle, J.C., and Stein, G., “Multivariable Feedback Design: Concepts for a Classical/Modern Synthesis,” IEEE Trans. on Automat. Contr., 1981, AC-26(1), pp. 4-16.
[5] El Ghaoui, L., and Niculescu, S., Recent Advances in LMI Theory for Control, P hila d elph i a, PA, SIAM, 2000.
[6] Lehtomaki, N.A., Sandell, Jr., N.R., and Athans, M., “Robustness Results in Linear-Quadratic Gaussian Based Multivariable Control Designs,” IEEE Trans. on Automat. Contr., Vol. AC-26, No. 1, Feb. 1981, pp. 75-92.
[7] Safonov, M.G., Stability and Robustness of Multivariable Feedback Systems, Cambridge, MA, MIT Press, 1980.
[8] Safonov, M.G., Laub, A.J., and Hartmann, G., “Feedback Properties of Multivariable Systems: The Role and Use of Return Difference Matrix,” IEEE Trans. of Automat. Contr., 1981, AC-26(1), pp. 47-65.
[9] Safonov, M.G., Chiang, R.Y., and Flashner, H., “H
Control Synthesis
for a Large Space Structure,” Proc. of American Contr. Conf., Atlanta, GA, June 15-17, 1988.
[10] Safonov, M.G., and Chiang, R.Y., “CACSD Using the State-Space L
Theory — A Design Example,” IEEE Trans. on A utomatic Control, 1988, AC-33(5), pp. 477-479.
[11] Sanchez-Pena, R.S., and Sznaier, M., Robust Systems Theory and Applications, New York, Wiley, 1998.
1-21
1 Introduction
[12] Skogestad, S., and Postlethwaite, I., Multivariable Feedback Control, New York, Wiley, 1996.
[13] Wie, B., and Bernstein, D.S., “A Benchmark Problem for Robust Controller Design,” Proc. American Control Conf., San Diego, CA, May 23-25, 1990; also Boston, MA, June 26-28, 1991.
[14] Zhou, K., Doyle, J.C., and Glover, K., Robust and Optimal Control, Englewood Cliffs, NJ, Prentice Hall, 1996.
1-22
2

Multivariable Loop Shaping

“Tradeoff Between Performance and Robustness” on page 2-2
“Typical Loop Shapes, S and T Design” on page 2-5
“U sing LOOPSYN to Do H-Infinity Loop Shaping” on page 2-12
“Using MIXSYN for H-Infinity L oop Shaping” on page 2-19
“Loop-Shaping Commands” on page 2-22
2 Multivariable Loop Shaping

Tradeoff Between Performance and Robustness

When the plant modeling uncertainty is not too big, you can design high-gain, high-performance feedback controllers. High loop gains significantly larger than 1 in magnitude can attenuate the effects of plant model uncertainty and reduce the overall sensitivity of the system to plant noise. But if your plant model uncertainty is so large that you do not even know the sign of your plant gain, then you cannot use large feedback gains without the risk that the system will become unstable. Thus, plant model uncertainty can be a fundamental limiting factor in determining what can be achieved with feedback.
Multiplicative Uncertainty: Give n an approximate model of the plant G of a plant G,themultiplicative uncertainty ΔMof the model G0is defined as
or, equivalently,
Plant model uncertainty arises from many sources. There might be small unmodeled time delays or stray electrical capacitance. Imprecisely understood actuator time constants or, in mechanical systems, high-frequency torsional bending modes and similar effects can be responsible for plant model uncertainty. These types of uncertainty are relatively small at lower frequencies and typically increase at higher frequencies.
In the case of single-input/si ng le-output (SISO) plants, the frequency at which there are uncertain variations in your plant of size |Δ a critical threshold beyond which there is insufficient information about the plant to reliably design a feedback controller. With such a 200% model uncertainty, the model provides no indication of the phase angle of the true plant, which means that the only way you can reliably stabilize your plant is to ensure that the loop gain is less tha n 1. Allowing for an additional factor of 2 margin for error, your control system bandwidth is essentially limited
|=2 marks
M
0
2-2
Tradeoff Between Performance and Robustness
to the frequency range over which your multiplica tiv e plant uncertainty Δ
M
has gain magnitude |ΔM|<1.

Norms and Singular Values

For MIMO systems the transfer functions are matrices, and relevant measures of gain are determined by singular values, H are defined as follows:
H2and H•Norms The H2-norm is the energy of the impulse response of plant
G.TheH
-norm is the peak gain of G across all frequencies and all
input directions.
Another important concept is the notion of singular values.
Singular Values: The singular values of a rank r matrix , denoted
, are the nonnegative square roots of the eigenvalues of
ordered such that . If r < p then there are p – r zero singular values, i.e.,
The greatest singular value is
sometimes denoted
.
When A is a square n-by-n matrix, then the nth singular value (i.e., the least
,andH2norms, which
singular value) is denoted
perties of Singular Values
Pro
.
Some useful properties of singular values are:
A
()
A
()
=
=
max
min
xC
xC
Ax
h
x
Ax
h
x
2-3
2 Multivariable Loop Shaping
These properties are especially important because they establish that the greatest and least singular values of a matrix A are the maximal and minimal "gains" of the matrix as the input vector x varies over all possible directions.
For stable continuous-time LTI systems are defined terms of the frequency-dependent singular values of
H
-norm:
2
H∞-norm:
,theH2-norm and the H∞-norms
:
2-4

Typical Loop Shapes, S and T Design

Consider the multivariable feedback control system shown in the following figure. In order to quantify the multivariable stability margins and performance of such systems, you can use the singular values of the closed-loop transfer function matrices from r to each of the three outputs e, u,andy, viz.
where the L(s) is the loop transfer function matrix
Typical Loop Shapes, S and T Design
(2-1)
k Diagram of the Multivariable Feedback Control System
Bloc
wo matrices S(s)andT(s)areknownasthesensitivity function and
The t
lementary sensitivity function, respectively. The matrix R(s)hasno
comp
mon name. The singular value Bode plots of each of the three transfer
com
ction matrices S(s), R(s), and T(s) play an important role in robust
fun
tivariable control system design. The singular values of the loop transfer
mul
ction matrix L(s) are important because L(s) determines the matrices
fun
s)andT(s ).
S(
2-5
2 Multivariable Loop Shaping

Singular Values

The singular val S(s)isinfactth output y —seeBl on page 2-5. Thus be written as
ues of S(jω) determine the disturbance attenuation, because
e closed-loop transfer function from disturbance d to plant
ock Diagram of the Multivariable Feedback Control System
a disturbance attenuation performance specification can
(2-2)
where
to depend o
attenuati
The singu the stabi
additive plant perturbations respectively. See the following figure.
Consider how the singular value Bode plot of complementary sensitivity T(s) determines the stability margin for multiplicative perturbations
multiplicative stability margin is, by definition, the "size" of the smallest stab
on factor for each frequency ω.
lar value Bode plots of R(s)andofT(s) are used to measure
lity margins of multivariable feedback designs in the face of
le
(s) that destabilizes the system in the figure below when .
is the desired disturbance attenuation factor. Allowing
n frequency ω enables you to specify a diffe rent
and multiplicative plant perturbations ,
.The
2-6
Typical Loop Shapes, S and T Design
Additive/Multiplicative Uncertainty
Taking to be the definition of the "size" of ,youhavethe following useful characterization of "multiplicative" stability robustne ss:
Multiplicative Robustness: The size of the smallest destabilizing multiplicative uncertainty
The sm dest stab
Asi
aller is abilizing multiplicative perturbation, and hence the greater will be the ility margin.
milar result i s available for relating the stability margin in the face of additive plant perturbations definition of the "size" of
(s) is
, the greater will be the size of the smallest
(s)toR(s)ifyoutake to be the
at frequency ω.
2-7
2 Multivariable Loop Shaping
Additive Robustness: The size of the smallest destabilizing additive
uncertainty
As a consequence o f robustness theo rems 1 and 2, it is common to specify the stability margins of control systems via singular value inequalities such as
is
(2-3)
(2-4)
where anticipated additive and multiplicative pla nt perturbations.
It is common practice to lump the effects of all plant uncertainty into a single
requir
as shown in Singular Value Specifications on L, S, and T on page 2-10.
It is interesting to note that in the upper half of the figure (above the 0 dB line),
wh 2
fictitious multiplicative perturbation
ements can be written
ile in the lower half of Singular Value Specifications on L, S, and T on page
-10(belowthe0dBline),
and are the respective sizes of the largest
, so that the control design
2-8
This results from the fact that
Typical Loop Shapes, S and T Design
2-9
2 Multivariable Loop Shaping
2-10
Singular Value Specifications on L, S, and T
Thus, it is not uncommon to see specifications on disturbance attenuation and multiplicative stabi li ty margin expressed directly in terms of forbidden
regions for the Bode plots of requirements, either as specified upper/lower bounds or as a target desired loop shape — see the preceding figure.
as "singular value loop shapi ng"

Guaranteed Gain/Phase Margins in MIMO Systems

For those who are more comfortable with classical single-loop concepts, there are the important connections between the multiplicative stability margins
edicted b y
pr
chols chart. Indeed in the single-input/single-output case,
Ni
and those predicted by classical M-circles, as found on the
Typical Loop Shapes, S and T Design
which is precisely the quantity you obtain from Nichols chart M-circles. Thus,
is a multiloop generalization of the closed-loop resonant peak magnitude which, as classical control experts will recognize, is closely related to the damping ratio of the dominant closed-loop poles. Also, it turns out that you
can relate
, to the classical gain margin GMand phase margin in each feedback loop of the multivariable feedback system of Block Diagram of the Multivariable Feedback Control System on page 2-5 via the formulas [6].
These formulas are valid provided and are larger than 1, as is normally the case. The margins apply even when the gain perturbations or phase perturbations occur simultaneously in several feedback channels.
The infinity norms of S and T also yield gain reduction tolerances. The gain
reduction tolerance g
is defined to be the minimal amount by which the gains
m
in each loop would have to be decreased in order to destabilize the system. Upper bounds on g
are as follo ws:
m
2-11
2 Multivariable Loop Shaping

Using LOOPSYN to Do H-Infinity Loop Shaping

The command loopsyn lets you design a stabilizing feedback control le r to optimally shape the open loop frequency response of a MIMO feedback control system to match as closely as possible a desired loop shape Gd — see the preceding figure. The basic syntax of the synthesis command is:
K = loopsyn(G,Gd)
Here G is the LTI transfer function matrix of a MIMO plant model, Gd is the target desired loop shape for the loop transfer function the optimal loop-shaping controller. The LTI controller that it shapes the loop
L=G*K so that it matches the frequency response of Gd
as closely as possible, subject to the constraint that the compensator must stabilize the plant model
G.

Example: NASA HiMAT Loop Shaping

To see how the loopsyn command works in practice to address robustness and p erformance tradeoffs, consider again the NASA HiMAT aircraft model taken from the paper of Safonov, Laub, and Hartmann [8]. The longitudinal dynamics of the HiMAT aircraft trimmed at 25000 ft and 0.9 Mach are unstable and have two right-half-plane phugoid modes. The linear model has
state-space realization four states representing angle of attack (α) and attitude angle (θ)andtheir rates of change, and the last two representing elevon and canard control actuator dynamics — see Aircraft Configuration and Vertical Plane Geometry on page 2-13.
loopsyn loop-shaping controller
with six states, with the first
L=G*K,andK is
K has the property
2-12
ag =[
-2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01;
9.2572e-05 -1.8997e+00 9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03;
1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 -3.1604e+01 2.2396e+01;
0 0 1.0000e+00 0 0 0;
0 0 0 0 -3.0000e+01 0;
0 0 0 0 0 -3.0000e+01];
bg = [0 0;
00;
00;
Using LOOPSYN to Do H-Infinity Loop Shaping
00;
30 0;
0 30];
cg=[010000;
000100];
dg = [0 0;
0 0];
G=ss(ag,bg,cg,dg);
The control variables are elevon and canard actuators (δeand δc). The output variables are angle of attack (α) and attitude angle (θ).
raft Configuration and Vertical Plane Geometry
Airc
s model is good at frequencies below 100 rad/s with less than 30%
Thi
iation between the true aircraft and the model in this frequency range.
var
ever as noted in [8], it does not reliably capture very high-frequency
How
haviors, because it w as derived by treating the aircraft as a rigid body and
be
2-13
2 Multivariable Loop Shaping
neglecting lightly damped fuselage bending modes that occur at somewhere between 100 and 300 rad/s. These unmodeled bending modes might cause as much as 20 dB deviation (i.e., 1000%) between the frequency response of the model and the actual aircraft for frequency ω >100rad/s. Othereffects like control actuator time delays and fuel sloshing also contribute to model inaccuracy at even higher frequencies, but the dominant unmodeled effects are t he fuselage bending modes. You can think of these unmodeled bending modes as multiplicative uncertainty of size 20 dB, and design your controller using loopsyn, by making sure that the loop has gain less than –20 dB at, and beyond, the frequency ω >100rad/s.

Design Specifications

The singular value design specifications are
Robustness Spec.: –20 dB/decade roll-off slope and –20 dB loop gain
Performance Spec.: Minim ize the sensitiv ity fun c tion as much as
at 100 rad/s
possible.
2-14
Bothspecscanbeaccommodatedbytakingasthedesiredloopshape
G
(s)=8/s
d

MATLAB Commands for a LOOPSYN Design

%% Enter the desired loop sha pe Gd s=zpk('s'); % Laplace variable s Gd=8/s; % desired loop shape %% Compute the optimal loop s haping controller K [K,CL,GAM]=loopsyn(G,Gd); %% Compute the loop L, sensit ivity S and %% complementary sensitivity T: L=G*K; I=eye(size(L)); S=feedback(I,L); % S=inv(I+L); T=I-S; %% Plot the results: % step response plots
Using LOOPSYN to Do H-Infinity Loop Shaping
step(T);title('\alpha and \theta command step responses'); % frequency response plots figure; sigma(I+L,'--',T,':',L,'r--',Gd,'k-.',Gd/GAM,'k:',...
Gd*GAM,'k:',{.1,100});grid
legend('1/\sigma(S) performance',...
'\sigma(T) robustness',... '\sigma(L) loopshape',... '\sigma(Gd) desired loop',... '\sigma(Gd) \pm GAM, dB');
The plots of the resulting step and frequency response for the NASA HiMAT
loopsyn loop-shaping controller design are shown in the following figure. The
number ±GAM, dB (i.e., 20log10(GAM) tells you the accuracy with which your
loopsyn control design matches the target desired loop:
2-15
2 Multivariable Loop Shaping
2-16
HiMAT Closed Loop Step Responses
Using LOOPSYN to Do H-Infinity Loop Shaping
LOOPSYN Design Results for NASA HiMAT
2-17
2 Multivariable Loop Shaping
Fine-Tuning the LOOPSYN Target Loop Shape Gd to Meet Design Goals
If your first attempt at loopsyn design does not achieve everything you wanted, you will need to readjust your target desired loop shape some basic design tradeoffs to consider:
Gd.Hereare
Stability Robustness. Your target loop
Gd shou ld have low gain (as small
as possible) at high frequencies wher e typically yo ur plant model is so poor that its phase angle is completely inaccurate, with errors approaching ±180° or more.
Performance. Your
Gd lo op should have high gain (as great as possible)
at frequencies where your model is good, in order to ensure good control accuracy and good disturbance attenuation.
Crossover and Roll-Off. Yourdesiredloopshape
crossover frequency (denoted ω and below the crossover frequency ω
) between the above two frequency ranges,
c
it should roll off with a negative slope
c
Gd should have its 0 dB
of between –20 and –40 dB/decade, which helps to keep phase lag to less than –180° inside the control loop bandwidth (0 < ω < ω
Other considerations that might affect your choice of right-half-plane poles and zeros of the plant limits on your 0 dB crossover frequency ω crossover ω
must be greater than the magnitude of any plant right-half-plane
c
G, which impose ffundamental
[12]. For instance, your 0 dB
c
).
c
Gd are the
poles and less than the magnitude of any right-half-plane zeros.
If you do not take care to choose a target loop shape Gd that conforms to these fundamental constraints, then loop-shaping controller loop
L=G*K will have a poor fit to the target loop shape Gd, and consequently it
K for your Gd, but you should expect that the optimal
loopsyn will still compute the optimal
mightbeimpossibletomeetyourperformancegoals.
2-18

Using MIXSYN for H-Infinity Loop Shaping

Using MIXSYN for H-Infinity Loop Shaping
A popular alternative approach to loopsy n loop shaping is H∞mixed-sensitivity loop shaping, which is implemented by the Robust Control Toolbox software command:
K=mixsyn(G,W1,[],W3)
With mixsyn controller synthesis, your performance and stability robustness specifications equations (2-2) and (2-4) are combined into a single infinity norm specification of the form
where(seeMIXSYNH∞Mixed-Sensitivity Loop Shaping T
The ter penali shapin freque desig ensur 0dBcr on L,
Gd to
m
zes both sensitiv ity S(s) and complementary sensitivity T(s).Loop
g is achieved when you choose W
ncies ω < ω
n specifications W
e that your 0 dB crossover frequency for the Bode plot of W
ossover frequency of 1/W
S, and T on page 2-10, so that there is a gap for the desired loop shape
pass between the performance bound W
is called a mixed-sensitivity cost function because it
to have the target loop shape for
, and you choose 1/W3to be the target for ω > ωc. In choosing
c
and W3for a mixsyn controller design, you need to
1
, as shown in Singular Value Specifications
3
1
and your robustness bound
1
on page 2-20):
y1 u1
. Otherwise, your performance and robustness requirements w ill not
be achievable.
is b elow the
1
2-19
2 Multivariable Loop Shaping
MIXSYN H•Mixed-Sensitivity Loop Shaping T
y1 u1

Example: NASA HiMAT Design Using MIXSYN

To do a mixsyn H∞mixed-sensitivity synthesis design on the HiM AT model, startwiththeplantmodel Using MIXSYN” on page 2-20 and type the following commands:
% Set up the performance and robustness bounds W1 & W3
s=zpk('s'); % Laplace variable s
MS=2;AS=.03;WS=5;
W1=(s/MS+WS)/(s+AS*WS);
MT=2;AT=.05;WT=20;
W3=(s+WT/MT)/(AT*s+WT);
% Compute the H-infinity mixed-sensitivity optimal sontroller K1
[K1,CL1,GAM1]=mixsyn(G,W1,[],W3);
% Next compute and plot the closed-loop system.
% Compute the loop L1, sensitivity S1, and comp sensitivity T1:
L1=G*K1;
I=eye(size(L1));
S1=feedback(I,L1); % S=inv(I+L1);
T1=I-S1;
% Plot the results:
% step response plots
G created in “Example: NASA HiMAT Design
2-20
Using MIXSYN for H-Infinity Loop Shaping
step(T1,1.5);
title('\alpha and \theta command step responses');
% frequency response plots
figure;
sigma(I+L1,'--',T1,':',L1,'r--',... W1/GAM1,'k--',GAM1/W3,'k-.',{.1,100});grid
legend('1/\sigma(S) performance',...
'\sigma(T) robustness',...
'\sigma(L) loopshape',...
'\sigma(W1) performance bound',...
'\sigma(1/W3) robustness bound');
The resulting mixsyn singular value plots for the NASA HiMAT model are shown below.
MIXSYN Design Results for NASA HiMAT
2-21
2 Multivariable Loop Shaping

Loop-Shaping Commands

Robust Control Toolbox software gives you several choices for shaping the frequency response properties of multiinput/multioutput (MIMO) feedback control loops. Some o f the main commands that you are likely to use for loop-shaping design, and associated utility functions, are listed below:
MIMO Loop-Shaping Commands
loopsyn
ltrsyn
mixsyn
ncfsyn
H∞loop-shaping controller synthesis
LQG loop-transfer recovery
H∞mixed-s
Glover-M shaping c
ensitivity controller synthesis
cFarlane H
normalized coprime factor loop-
ontroller synthesis
MIMO Loop
augw
makewe
sigma
ight
-Shaping Utility Functions
Augment sensiti
Weight
Singul
ed plant for weighted H
vity control synthesis
sforH
mixed sensitivity (mixsyn, augw)
ar value plots of LTI feedback loops
and H∞mixed-
2
2-22
3

Model Reduction for Robust Control

“Introduction” on page 3-2
“O ve rview of Model Reduction Techniques” on page 3-5
“A pproximating Plant Models — Additive Error Methods” on page 3-7
“A pproximating Plant Models — Multiplicative Error Method” on page 3-9
“Using Modal Algorithms” on page 3-11
“Reducing Large-Scale Models” on page 3-14
“Using Normalized Coprime Factor Methods” on page 3-15
“Bibliography” on page 3-16
3 Model Reduction for Robust Control

Introduction

In the design of robust controllers for complicated systems, model reduction fits several goals:
1 To simp lify the best available model in light of the purpos e for which the
model is to be used—namely, to design a control system to meet certain specifications.
2 To speed up the simulation process in the design validati on stage, using a
smaller size model with most of the important system dynam ics preserved.
3 Finally, if
the complex the resulta needed. A g sometimes control sy
Model red
A dditiv
bounded
Multipl
multip
The err the err
Hanke
ntrol theory, eigenvalues define a system stability, whereas Hankel
In co
ular values define the “energy” of each state in the system. Keeping
sing
er en ergy states of a s ystem preserves most of its characteristics in terms
larg
ability, frequency, and time responses. Model reduction techniques
of st
sented here are all based on the Hankel singular values of a system.
pre
y can achieve a re duce d-order model that preserves the majority of the
The
tem characteristics.
sys
a modern control method such as LQG or H
ity of the control law is not explicitly constrained, the order of
nt controller is likely to be considerably greater than is truly
ood model reduction algorithm applied to the control law can
significantly reduce control law complexitywithlittlechangein
stem performance.
uction routines in this toolbox can be put into two categories:
eerrormethod— The reduced-order model has an additive error
by an error criterion.
icative error method — The reduced-order model has a
licative or relative error bounded by an error criterion.
or is measured in terms of peak gain across frequency (H
or bounds are a function of the neglected Hankel singular values.
l Singular Values
is used for which
norm), and
3-2
Mathematically, given a stable state-space system (A,B,C,D), its Hankel singular values are defined as [1]
Introduction
where P and Q ar
For example
rand('state',1234); randn('state',5678); G = rss(30,4,3); hankelsv(G)
returns a
Hankel singular value plot as follows:
e controllability and observability grammians satisfying
,
3-3
3 Model Reduction for Robust Control
which shows that system G has most of its “energy” stored in states 1 through 15 or so. Later, you will see how to use model reduction routines to keep a 15-state reduced model that preserves most of its dynamic response.
3-4

Overview of Model Reduction Techniques

Robust Control Toolbox software offers several algorithms for model approximation and order reduction. These algorithms let you control the absolute or relative approximation error, and are all based on the Hankel singular values of the system.
As discussed in previous sections, robust control theory quantifies a system uncertainty as either additive or multiplicative types. These model reduction routines are also categorized into two groups: additive error and multiplicative error types. In other words, some model reduction routines produce a reduced-order m odel
the error
, the peak gain across frequency. Others produce a
Gred of the original model G with a bound on
Overview of Model Reduction Techniques
reduced-order m odel with a bound on the relative error
These theoretical bounds are based on the “tails” of the Hankel singular values of the m odel, i.e.,

Additive Error Bound

where
are denoted the ith Hankel singular value of the original system G.
Multiplicative (Relative) Error Bound
where model

Top-Level Model Reduction Command

Method Description
reduce
are denoted the ith Hankel singular value of the phase matrix of the
G (see the bstmr reference page).
Main interface to model appr oximation algorithms
.
(3-1)
(3-2)
3-5
3 Model Reduction for Robust Control

Normalized Coprime Balanced Model Reduction Command

Method Description
ncfmr

Additive Error Model Reduction Commands

Method Description
balancmr
schurmr
hankelmr

Multiplicative Error Model Reduction Command

Method Description
bstmr
Normalized coprime balanced truncation
Square-root balanced model truncation
Schur balanced mod el truncation
Hankel minimum degree approximation
Balanced stochastic truncation
3-6

Additional Model Reduction Tools

Method Description
modreal
slowfast
stabsep
Modal realization and truncation
Slow and fast state decomposition
Stable and antistable state projection

Approximating Plant Models — Additive Error Methods

Approximating Plant Models — Additive Error Methods
Given a system in LTI form, the following commands reduce the system to any desired order you specify. The judgment call is base d on its Hankel singular values as shown in the previous paragraph.
rand('state',1234); randn('state',5678); G = rss(30,4,3); % balanced truncation to models with size s 12:16 [g1,info1] = balancmr(G,12:16); % or use reduce % Schur balanced truncation by specifying `MaxError' [g2,info2] = schurmr(G,'MaxError',[1,0.8,0.5,0.2]); sigma(G,'b-',g1,'r--',g2,'g-.')
shows a comparis on plot of the original mode l G and reduced models g1 and g2.
To determine whether the theoretical error bound is satisfied,
norm(G-g1(:,:,1),'inf') % 2.0123 info1.ErrorBound(1) % 2.8529
3-7
3 Model Reduction for Robust Control
or plot the model error vs. error bound via the following commands:
[sv,w] = sigma(G-g1(:,:,1)); loglog(w,sv,w,info1.ErrorBound(1)*ones(size(w))) xlabel('rad/sec');ylabel('SV'); title('Error Bound and Model Error')
3-8

Approximating Plant Models — Multiplicative Error Method

Approximating Plant Models — Multiplicative Error Method
In most cases, m bound the relat across the fre reduced-orde obvious in sys
The followin model reduct phase-matc
rand('state',1234); randn('state',5678); G = rss(30,1,1); [gr,infor] = reduce(G,'algo','balance','order',7); [gs,infos] = reduce(G,'algo','bst','order',7); figure(1);bode(G,'b-',gr,'r--'); title('Additive Error Method') figure(2);bode(G,'b-',gs,'r--'); title('Relative Error Method')
ultiplicative error model reduction method
ive error between the original and reduced-order models
quency range of interest, hence producing a more accurate
r model than the additive error methods. This characteristic is
tem models with low damped poles.
g commands illustrate the significance of a m ultiplicative error
ion method as compared to any additive error type. Clearly, the
hing algorithm using
bstmr provides a better fit in the Bode plot.
bstmr tends to
3-9
3 Model Reduction for Robust Control
Therefore stochasti frequency methods s the overa missing t
, for some systems with low damped poles/zeros, the balanced
cmethod(
ranges to make multiplicative error small. Whereas additive error
uch as ll “absolute” peak error, they can produce a reduced-order model hose low damped poles/zeros frequency regions.
bstmr) produces a better reduced-order model fit in those
balancmr, schurmr,orhankelmr only care about minimizing
3-10

Using Modal Algorithms

Rigid Body Dynamics

In many cases, a model’s jω-axis poles are important to keep after model reduction, e.g., rigid body dynamics of a flexible structure plant or integrators of a controller. A unique routine,
modreal puts a system into its modal form, with eigenvalues appearing on
the diagonal of its A-matrix. Real eigenvalues appear in 1-by-1 blocks, and complex eigenvalues appear in 2-by-2 real blocks. All the blocks are ordered in ascending order, based on their eigenvalue magnitudes, by default, or descending order, based on their real parts. Therefore, specifying the number of jω-axis poles splits the model into two systems with one containing only jω-axis dynamics, the other containing the non-jω axis dynamics.
rand('state',5678); randn('state',1234); G = rss(30,1,1); [Gjw,G2] = modreal(G,1); % only one rigid body dynamics G2.d = Gjw.d; Gjw.d = 0; % put DC gain of G into G2 subplot(211);sigma(Gjw);ylabel('Rigid Body') subplot(212);sigma(G2);ylabel('Nonrigid Body')
Using Modal Algorithms
modreal, serves the purpose nicely.
3-11
3 Model Reduction for Robust Control
3-12
Further After simply
This pr all the
hankel
The fo its or
Wit val
model reduction can be done on
is further reduced to Gred, the final approximation of the model is
G2
jw+Gred
G
.
ocess of splitting jω-axis poles has been built in and automated in
model reduction routines (
sv
) so that users need not worry about splitting the model.
balancmr, schurmr, hankelmr, bstmr,
llowing single command creates a size 8 reduced-order model from
iginal 30-state model:
rand('state',5678); randn('state',1234); G = rss(30,1,1); [gr,info] = reduce(G); % choose a size of 8 at prompt bode(G,'b-',gr,'r--')
hout specifying the size of the reduced-order model, a Hankel singular
ue plot is shown below.
G2 without any numerical difficulty.
Using Modal Algorithms
The default algorithm balancmr of reduce has done a great job of approximating a 30-state model with just eight states. Again, the rigid body dynamics are preserved for further controller design.
3-13
3 Model Reduction for Robust Control

Reducing Large-Scale Models

For some really large size problems (states > 200), modreal turns out to be the only way to start the model reduction process. Because of the size and numerical properties associated with those large size, and low damped dynamics, m ost Hankel based routines can fail to produce a good reduced-order model.
modreal puts the large size dynamics into the modal form, then truncates the
dynamic model to an intermediate stage model with a comfortable size of 50 or so states. From this point on, those more sophisticated Hankel singular value based routines can further reduce this intermediate stage model, in a much m ore accurate fashion, to a smaller size for final controller design.
For a typical 240-state flexible spacecraft model in the spacecraft industry, applying reduce the original 240-state plant dyn amics to a seven-state three-axis model including rigid body dynamics. Any modern robust control design technique mentioned in this toolbox can then be easily applied to this smaller size plant for a controller design.
modreal and bstmr (or any other additive routines) in sequence can
3-14

Using Normalized Coprime Factor M ethods

Using Normalized Coprime Factor Methods
A special model redu c tio n routine ncfmr produces a reduced-order model by truncating a balanced coprime set of a given model. It can directly simplify a modern controller with integrators to a smaller size by balanced truncation of the normalized coprime factors. It does not need pre-/postprocessing as the other routines do. However, the integrators will not be preserved.
rand('state',5678); randn('state',1234); K= rss(30,4,3); % The same mo del G used in the 1st example [Kred,info2] = ncfmr(K); sigma(K,Kred)
Again, without specifying the size of the reduced-order model, any model reduction routine presented here will plot a Hankel singular value bar chart and p rompt you for a reduced model size. In this case, enter
modreal for
15.
If integral control is important, previously mentioned methods (except ncfmr) can nicely preserve the original inte grator(s) in the model.
3-15
3 Model Reduction for Robust Control

Bibliography

[1] Gl over, K., “All Optimal Hankel Norm Approx im ation of Linear Multivariable Systems, and Their L No. 6, 1984, pp. 1145-1193.
[2]Zhou,K.,Doyle,J.C.,andGlover,K.,Robust and Optimal Control, Englewood Cliffs, NJ, Prentice Hall, 1996.
[3] Safonov, M.G., and Chiang, R.Y., “A Schur Method for Balanced Model Reduction,” IE EE Trans. on Automat. Contr., Vol. 34, No. 7, July 1989, pp. 729-733.
[4] Safonov, M.G., Chiang, R.Y., and Limebeer, D.J.N., “Optimal Hankel Model Reduction for Nonminimal Systems,” IEEE Trans. on Automat. Contr., Vol. 35, No. 4, April 1990, pp. 496-502.
[5] Safonov, M.G., and Chiang, R.Y., “Model Reduction for Robust Control: A Schur Relative Error Method,” International J. of Adaptive Control and Signal Processing, Vol. 2, 1988, pp. 259-272.
[6] Obinata, G., and Anderson, B.D.O., Model Reduction for Control S ystem Design, London, Springer-Verlag, 2001.
- Error Bounds,” Int. J. Control,Vol. 39,
3-16

Robustness Analysis

“Uncertainty Modeling” on page 4-2
“Robustness Analysis” on page 4-9
“Multiinput, Multioutput Robustness Analysis” on page 4-14
“Worst-Case Gain Analysis” on page 4-22
“Summary of Robustness Analysis Tools” on page 4-25
4
4 Robustness Analysis

Uncertainty Modeling

Dealing with and understanding the effects of uncertainty are important tasks for the control engineer. R educing the effects of some forms of uncertainty (initial conditions, low-frequency disturbances) without catastrophically increasing the effects of other dominant forms (sensor noise, model uncertainty) is the primary job of the feedback control system.
Closed-loop stability is the way to deal with the (always present) uncertainty in initial conditions or arbitrarily small disturbances.
High-gain feedback in low-frequency ranges is a way to deal with the effects of unknown biases and disturbances acting on the process output. In this case, you are forced to use roll-off filters in high-frequency ranges to deal with high-frequency sensor noise in a feedback system.
Finally, notions such as gain and phase margins (and their generalizations) help quantify the sensitivity of stability and performance in the face of model uncertainty, which is the imprecise knowledgeofhowthecontrolinput directly affects the feedback variables.
4-2
Robust Control Toolbox software has built-in features allowing you to specify model uncertainty simply and naturally. The primary building blocks, called uncertain elements or atoms, a re uncertain real parameters and uncertain linear, time-invariant objects. These can be used to create coarse and simple or detailed and complex descriptions of the model uncertainty present within your process models.
Once formulated, high-level system robustness tools can help you analyze the potential degradation of stability and performance o f the closed-loop system brought on by the system model uncertainty.

Creating Uncertain Models of Dynamic Systems

The two dominant forms of model uncertainty are as follows:
Uncertainty in parameters of the underlying differential equation models
Uncertainty Modeling
Frequency-domain uncertainty, which often quantifies model uncertainty
by describing absolute or relative uncertainty in the process’s frequency response
Using these two basic building blocks, along with conventional system creation commands (such as
ss and tf), you can easily create uncertain
system models.

Creating Uncertain Parameters

An uncertain parameter has a name (used to identify it within an uncertain system with many uncertain parameters) and a nominal value. Being uncertain, it also has variability, described in one of the following ways:
An additive deviation from the nominal
A range about the nominal
A percentage deviation from the nominal
Create a real parameter, with name ’
bw’, nominal value 5, and a percentage
uncertainty of 10%.
bw = ureal('bw',5,'Percentage',10)
This creates a ureal object. View its properties using the get command.
Uncertain Real Parameter: Name bw, NominalValue 5, variability = [-10 10]%
get(bw)
Name: 'bw'
NominalValue: 5
Mode: 'Percentage'
Range: [4.5000 5.5000]
PlusMinus: [-0.5000 0.5000]
Percentage: [-10 10]
AutoSimplify: 'basic'
Note that the range of varia tion (Range property) and the additive deviation from nominal (the
PlusMinus property) are consistent with the Percen tage
property value.
4-3
4 Robustness Analysis
You can create state-space and transfer function models with uncertain real coefficients using object,or
uss. As an example, use the uncertain real parameter bw to model a
ureal objects. The result is an uncertain state-space
first-order system whose bandwidth is b etween 4.5 and 5.5 rad/s.
H = tf(1,[1/bw 1]) USS: 1 State, 1 Ou tput, 1 Input, Continuous System
bw: real, nominal = 5, vari abil ity = [-10 10]%, 1 occurrence
Note that the result H is an uncertain system, called a uss object. The nominal value of
H is a state-space object. Verify that the pole is at –5.
pole(H.NominalValue) ans =
-5
Next, use bode and step to examine the behavior of H.
bode(H,{1e-1 1e2});
4-4
Uncertainty Modeling
step(H)
4-5
4 Robustness Analysis
4-6
While the high-fr capture frequen
Quanti
An info the ac “The m but it the m not n betw
The to m
ear system whose only known attribute is a uniform magnitude bound
lin on i
re are variations in the bandwidth and time constant of
equency rolls off at 20 dB/decade regardless of the value of
the more complicated uncertain behavior that typically occurs at high
cies using the
ultidyn uncertain element, whi ch is described next.
bw.Youcan
fying Unmodeled Dynamics
rmal way to describe the difference between the model of a process and
tual process behavior is in terms of bandwidth. It is common to hear
odel is good out to 8 radians/second.” The precise meaning is not clear,
is reasonable to believe that for frequencies lower than, say, 5 rad/s,
odel is accurate, and for frequencies beyond, say, 30 rad/s, the model is
ecessarily repre sentative of the process behavior. In the frequency range
een 5 and 30, the guaranteed accuracy of the model degrades.
uncertain linear, time-invariant d yn amics object odel this type of knowledge. An
ts frequency response. When coupled with a nominal model and a
ultidyn object represents an unknown
ultidyn can be used
H,the
Uncertainty Modeling
frequency-shaping filter, ultidyn objects can be used to capture uncertainty associated with the model dynamics.
Suppose that the behavior of the system modeled by
H significantly deviates
from its first-order behavior beyond 9 rad/s, for example, about 5% potential relative error at low frequency, increasing to 1000% at high frequency where
H rolls off. In order to model frequency domain uncertainty as described above
using
ultidyn objects, follow these steps:
1 Create the nominal system Gnom,usingtf, ss,orzpk. Gnom itself might
already have parameter uncertainty. In this case
Gnom is H,thefirst-order
system with an uncertain time constant.
2 Create a filter W, called the “weight,” whose magnitude represents the
relative uncertainty at each frequency. The utility
makeweight is useful for
creating first-order weights with specific low- and high-frequency gains, and specified gain crossover frequency.
3 Create an ultidyn object Delta with magnitude bound equal to 1.
The uncertain model
If the magnitude of uncertainty, use the formula
G is formed by G = Gnom*(1+W*Delta).
W represents an absolute (rather than relative)
G = Gnom + W*Delt a instead.
The following commands carry out these steps:
Gnom = H; W = makeweight(.05,9,10); Delta = ultidyn('Delta',[1 1]); G = Gnom*(1+W*Delta) USS: 2 States, 1 O utput, 1 Input, Continuous System
Delta: 1x1 LTI, max. gain = 1, 1 occurrence
bw: real, nominal = 5, vari abil ity = [-10 10]%, 1 occurrence
Note that the result G is also an uncertain system, with dependence on both
Delta and bw.Youcanusebode tomakeaBodeplotof20randomsamplesof G's behavior over the frequency range [0.1 100] rad/s.
bode(G,{1e-1 1e2},25)
4-7
4 Robustness Analysis
4-8
In the next section, you design and compare two feedback controllers for G.

Robustness Analysis

Next, design a feedback controller for G.Thegoalsofthisdesignarethe usual ones: good steady-state tracking and disturbance rejection properties. Because the plant model is nominally a first-order lag, choose a PI control architecture. G iven the desired closed-loop damping ratio ξ and natural frequency ω open-loop time constant of 0.2) are
Follow these steps to design the controller:
1 In order to study how the uncertain behavior of G affects the achievable
closed-loop bandwidth, design two controllers, both achieving ξ=0.707, with different ω
n
xi = 0.707; wn = 3; K1 = tf([(2*xi*wn/5-1) wn*wn/5],[1 0]); wn = 7.5; K2 = tf([(2*xi*wn/5-1) wn*wn/5],[1 0]);
Robustness Analysis
, the design equations for KIand KP(based on the nominal
:3and7.5respectively.
n
Note that the nominal closed-loop bandwidth achieved by K2 is in a region where
G has significant model uncertainty. It will not be surprising if
the model variations lead to significant degradations in the closed-loop performance.
2 Form the closed-loop systems using feedback.
T1 = feedback(G*K1,1); T2 = feedback(G*K2,1);
3 Plot the step responses of 20 samples of each closed-loop system.
tfinal = 3; step(T1,'b',T2,'r',tfinal,20)
4-9
4 Robustness Analysis
4-10
The step responses for T2 exhibit a faster rise time because K2 sets a higher closed loop bandwidth. However, the model variations have a greater effect.
You can use
robuststab to check the robustness of stability to the model
variations.
[stabmarg1,destabu1,report1] = robuststab(T1); stabmarg1 stabmarg1 =
ubound: 4.0241 lbound: 4.0241
destabfreq: 3.4959 [stabmarg2,destabu2,report2] = robuststab(T2); stabmarg2 stabmarg2 =
ubound: 1.2545 lbound: 1.2544
destabfreq: 10.5249
Robustness Analysis
The stabmarg variable gives lower and upper bounds on the stability margin. A stability margin greater than 1 means the system is stable for all values of the modeled uncertainty. A stability margin less than 1 means there are allowable values of the uncertain elements that make the system unstable. The
report variable briefly summarizes the analysis.
report1
report1 =
Uncertain System is robustly stable to modeled uncertainty.
-- It can tolerate up to 402% of modeled uncertainty.
-- A destabilizing combination of 402% the modeled uncertainty exists, causing an instability at
3.5 rad/s.
report2
report2 =
Uncertain System is robustly stable to modeled uncertainty.
-- It can tolerate up to 125% of modeled uncertainty.
-- A destabilizing combination of 125% the modeled uncertainty exists, causing an instability at
10.5 rad/s.
While both systems are stable for all variations, their performance is clearly affected to different degrees. To determine how the uncertainty affects closed-loop performance, you can use
wcgain to compute the worst-case
effect of the uncertainty on the peak magnitude of the closed-loop sensitivity (S=1/(1+GK)) function. This peak gain is typically correlated with the amount of overshoot in a step response.
To do this, form the closed-loop sensitivity functions and call
S1 = feedback(1,G*K1); S2 = feedback(1,G*K2); [maxgain1,wcu1] = wcgain(S1); maxgain1 maxgain1 =
lbound: 1.8684 ubound: 1.9025
critfreq: 3.5152 [maxgain2,wcu2] = wcgain(S2); maxgain2 maxgain2 =
lbound: 4.6031
wcgain.
4-11
4 Robustness Analysis
ubound: 4.6671
critfreq: 11.0231
The maxgain variable gives lower and upper bounds on the worst-case peak gain of the sensitivity transfer function, as well as the specific frequency where the maximum gain occurs. The
wcu variable co ntains specific values of
the uncertain elements that achieve this worst-case behavior.
You can use
usubs to substitute these worst-case values for uncertain
elements, and compare the nominal and worst-case behavior. Use and step to make the comparison.
bodemag(S1.NominalValue,'b',usubs(S1,wcu1),'b'); hold on bodemag(S2.NominalValue,'r',usubs(S2,wcu2),'r'); hold off
bodemag
4-12
Clearly, while K2 achieves better nominal sensitivity than K1, the nominal closed-loop bandwidth extends too far into the frequency range where the
Robustness Analysis
process uncertainty is very large. Hence the worst-case performance of K2 is inferior to
K1 for this particular uncertain model.
The next section explores these robustness analysis too ls further on a multiinput, multioutput system.
4-13
4 Robustness Analysis

Multiinput, Multioutput Robustness Analysis

The previous sections focused on simple uncertainty models of single-input and single-output systems, predominantly from a transfer function perspective. You can also create uncertain state-space models made up of uncertain state-space matrices. Moreover, all the analysis tools covered thus far can be applied to these systems as well.
Consider, for example, a two-input, two-output, two-state system whose model has parametric uncertainty in the state-space matrices. First create an uncertain parameter matrices. The B matrix happens to be not-uncertain, although you will add frequency domain input uncertainty to the model in “Adding Independent Input Uncertainty to Each Channel” on page 4-15.
p = ureal('p',10,'Percentage',10); A = [0 p;-p 0]; B = eye(2); C = [1 p;-p 1]; H = ss(A,B,C,[0 0;0 0]);
p. Using the parameter, make uncertain A and C
4-14
You can view the properties of the uncertain system H using the get command.
get(H)
a: [2x2 umat] b: [2x2 double] c: [2x2 umat] d: [2x2 double]
StateName: {2x1 cell}
Ts: 0
InputName: {2x1 cell} OutputName: {2x1 cell} InputGroup: [1x1 struct]
OutputGroup: [1x1 struct]
NominalValue: [2x2 ss]
Uncertainty: [1x1 atomlist]
Notes: {}
UserData: []
Multiinput, Multioutput Robustness Analysis
The properties a, b, c, d,andStateName behave in exactly the same manner as
ss objects. The properties InputName, OutputName, InputGroup,and
OutputGroup behave in exactly the same manner as all the system objects
(
ss, zpk, tf,andfrd). The NominalValue is an ss object.

Adding Independent Input Uncertainty to Each Channel

The model for H does not include actuator dynamics. Said differently, the actuator models are unity-gain for all frequencies.
Nevertheless, the behavior of the actuator for channel 1 is modestly uncertain (say 10%) at low frequencies, and the high-frequency behavior beyond 20 rad/s i s not accurately modeled. Similar statements hold for the actuator in channel 2, with larger modest uncertainty at low frequency (say 20%) but accuracy out to 45 rad/s.
Use
ultidyn objects Delta1 and Delta2 along with shaping filters W1 and W2
to add this form of frequency domain uncertainty to the model.
W1 = makeweight(.1,20,50); W2 = makeweight(.2,45,50); Delta1 = ultidyn('Delta1',[1 1]); Delta2 = ultidyn('Delta2',[1 1]); G = H*blkdiag(1+W1*Delta1,1+W2*Delta2) USS: 4 States, 2 O utputs, 2 Inputs, Continuous System
Delta1: 1x1 LTI, max. gain = 1, 1 occurrence Delta2: 1x1 LTI, max. gain = 1, 1 occurrence
p: real, nominal = 10, variab ilit y = [-10 10]%, 2 occurrences
Note that G is a two-input, two-output uncertain system, with dependence on three uncertain elements,
H and one each from the shaping filters W1 and W2, which are embedded in G.
You can plot a 2-second step response of several samples of
Delta1, Delta2,andp. It has four states, two from
G.The10%
uncertainty in the natural frequency is obvious.
step(G,2)
4-15
4 Robustness Analysis
4-16
You can create a Bode plot of 50 samples of G. The high-frequency uncertainty in the model is also obvious. For clarity, start the B ode plot beyond the resonance.
bode(G,
{13 100},50)
Multiinput, Multioutput Robustness Analysis

Closed-Loop Robustness Analysis

You need to load the controller and verify that it is two-input and two-output.
load mimoKexample size(K) State-space model with 2 outputs, 2 input s, and 9 states.
You can use the command loopsens to form all the standard plant/controller feedback configurations, including sensitivity and complementary sensitivity at both the input and output. Because systems are uncertain as well.
F = loopsens(G,K)
G is uncertain, all the closed-loop
4-17
4 Robustness Analysis
F=
Poles: [13x1 double]
Stable: 1
Si: [2x2 uss] Ti: [2x2 uss] Li: [2x2 uss] So: [2x2 uss] To: [2x2 uss]
Lo: [2x2 uss] PSi: [2x2 uss] CSo: [2x2 uss]
is a structure with many fields. The poles of the nominal closed-loop system
F
are in
F.Poles,andF.Stable is 1 if the nominal closed-loop system is stable.
In the remaining 10 fields, sensitivity, and output of the plant
L for open-loop gain. The suffixes i and o refer to the input and
(G).Finally,P and C refer to the “plant” and “controller.”
S stands for sensitivity, T for complementary
Hence
Ti is mathematically the same as
while Lo is G*K,andCSo is mathematically the same as
You can examine the transmission of disturbances at the plant input to the plant output using
bodemag on F.P Si. Graph 50 samples along with the
nominal.
bodemag(F.PSi,':/-',{1e-1 100},50)
4-18
Multiinput, Multioutput Robustness Analysis

Nominal Stability Margins

You can use loopmargin to investigate loop-at-a-time gain and phase margins, loop-at-a-time disk margins, and simultaneous multiv ariable margins. They are computed for the nominal system and do not reflect the uncertainty models within
Explore the simultaneous margins individually at the plant input, individually at the plant output, and simultaneously at both input and output.
[I,DI,SimI,O,DO,SimO,Sim] = loopmargin(G,K);
The third output argument is the simultaneous gain and phase variations allowed in all input channels to the p lant.
G.
4-19
4 Robustness Analysis
SimI SimI =
GainMargin: [0.1180 8.4769]
PhaseMargin: [-76.5441 76.5441]
Frequency: 6.2287
This information implies that the gain at the plant input can vary in both channels independently by factors between (approximately)
1/8 and 8, as well
as phase variations up to 76 degrees.
The sixth output argument is the simultaneous gain and phase variations allowed in all output cha nn els to the plant.
SimO SimO =
GainMargin: [0.1193 8.3836]
PhaseMargin: [-76.3957 76.3957]
Frequency: 18.3522
4-20
Note that the simultaneous margins at the plant output are similar to those at the input. This is not always the case in multiloop feedback systems.
The last output argument is the simultaneous gain and phase variations allowed in all input and output channels to the plant. As expected, when you consider all such variations simultaneously, the margins are somewhat smaller than those at the input or output alone.
Sim Sim =
GainMargin: [0.5671 1.7635]
PhaseMargin: [-30.8882 30.8882]
Frequency: 18.3522
Nevertheless, these numbers indicate a generally robust closed-loop system, able to tolerate significant gain (more than +/-50% in each channel) and 30 degree phase variations simultaneously in all input a nd output channels of the plant.
Multiinput, Multioutput Robustness Analysis

Robustness of Stability Model Uncer tainty

With loopmargin, you determined various margins of the nominal, multiloop system. These m argins are computed only for the nominal system, and do not reflect the uncertainty explicitly modeled by the objects. When you work with detailed, complex uncertain system models, the conventional margins computed by
loopmargin might not always be
indicative of the actual stability margins associated with the uncertain elements. You can use
robuststab to check the stability margin of the system
to these specific modeled variations.
ureal and ultidyn
In this example, use closed-loop system represented by
Use any of the closed-loop systems w ithin
robuststab to compute the stability margin of the
Delta1, Delta2,andp.
F = loopsens(G,K).Allofthem,
F.Si, F.To, etc., have the same internal dynamics, and hence the stability
properties are the same.
[stabmarg,desgtabu,report] = robuststab(F.So);
stabmarg
stabmarg =
ubound: 2.2175
lbound: 2.2175
destabfreq: 13.7576
report
report =
Uncertain System is robustly stable to modeled uncertainty.
-- It can tolerate up to 222% of modeled uncertainty.
-- A destabilizing combination of 222% the modeled uncertainty exists,causing an instability a t
13.8 rad/s.
This analysis confirms what the loopmargin analysis suggested. The closed-loop system is quite robust, in terms of stability, to the variations modeled by the uncertain parameters
Delta1, Delta2,andp.Infact,the
system can tolerate more than twice the modeled uncertainty without losing closed-loop stability.
The next section studies the effects of these variations on the closed-loop output sensitivity function.
4-21
4 Robustness Analysis

Worst-Case Gain Analysis

You can plot the Bode magnitude of the nominal output sensitivity function. It clearly shows decent disturbance rejection in all channels at low frequency.
bodemag(F.So.NominalValue,{1e-1 100})
4-22
You can compute the peak value of the maximum singular value of the frequency response matrix using
[PeakNom,freq] = norm(F.So.NominalValue,'inf') PeakNom =
1.1317
freq =
norm.
Worst-Case Gain Analysis
7.0483
The peak is about 1.13, occurring at a frequency of 36 rad/s.
What is the maximum output sensitivity gain that is achieved when the uncertain elements use
wcgain to answer this.
[maxgain,wcu] = wcgain(F.So); maxgain maxgain =
lbound: 2.1017 ubound: 2.1835
critfreq: 8.5546
Delta1, Delta2,and p vary over their ranges? You can
The analysis indicates that the worst-case gain is somewhere between 2.1 and
2.2. The frequency where the peak is achieved is about 8.5.
You can replace the values for of 2.1, using
usubs. Make the substitution in the output complementary
Delta1, Delta2,andp that achieve the gain
sensitivity, and do a step response.
step(F.To.NominalValue,usubs(F.To,wcu),5)
4-23
4 Robustness Analysis
4-24
The perturbed response, which is the worst combination of uncertain values in terms of output sensitivity amplification, does not show significant degradation of the command response. The settling time is increased by about 50%, from 2 to 4, and the off-diagonal coupling is increased by about a factor of about 2, but is still quite small.

Summary of Robustness Analysis Tools

Function Description
ureal
ultidyn
uss
ufrd
loopsens
loopmargin
robustperf
robuststab
wcgain
wcmargin
wcsens
Create uncertain real parameter.
Create uncertain, linear, time-invariant dynamics.
Create uncertain state-space object from uncertain state-space matrices.
Create uncertain frequency response object.
Compute all relevant open and closed-loop quantities for a MIM O feedback connection.
Compute loop-at-a-time as well as MIMO gain and phase margins for a multiloop system, including the simultaneous gain/phase margins.
Robustness perfo rmance of uncertain systems.
Compute the robust stability margin of a nominally stable uncertain system.
Compute the worst-case gain of a nominally stable uncertain system.
Compute worst-case (over uncertainty) loop-at-a-time disk-based gain and phase margins.
Compute worst-case (over uncertainty) sensitivity of plant-controller feedback loop.
Summary of Robustness Analysis Tools
4-25
4 Robustness Analysis
4-26

H-Infinity and Mu Synthesis

“H-Infinity Performance” on page 5-2
“Application of H-Infinity and Mu to Active Suspension Con trol” on page
5-10
“Functions for Control Design” on page 5-26
“Interpretation of H-Infinity No rm” on page 5-28
5
“Bibliography” on page 5-35
5 H-Infinity and Mu Synthesis

H-Infinity Performance

Performance as Generalized Disturbance Rejection

The modern approach to characterizing closed-loop performance objectives is to measure the size of certain closed-loop transfer function matrices using various m atrix norms. M atrix norms provide a measure of how larg e output signals can get for certain classes of input signals. Optimizing these types of performance objectives over the set of stabilizing controllers is the main thrust of re cent optimal control theory, such as L control. Hence, it is important to understand how many types of control objectives can be posed as a minimization of closed-loop transfer functions.
Consider a tracking problem, with disturbance rejection, measurement noise, and control input signal limitations, as shown in Generalized and Weighted Performance Block Diagram on page 5-4. K is some controller to be designed and G is the system you want to control.
, H2, H∞,andoptimal
1
5-2
Typical Closed-Loop Per fo rmance Objective
A reasonable, though not precise, design objective would be to design K to keep tracking errors and control input s ignal small for all reas onable reference commands, sensor noises, and external force disturbances.
Hence, a natural performance objective is the closed-loop gain from exogenous influences (reference commands, sensor noise, and external force disturbances) to regulated variables (tracking errors and control input signal). Specifically, let T denote the closed-loop mapping from the outside influences to the regulated variables:
H-Infinity Performance
You can assess performance by measuring the gain from outside influences to regulated variables. In other words, good performance is associated with T being small . Because the closed-loop system is a multiinput, multioutput (MIMO) dynamic system, there are two different aspects to the gain of T:
Spatial (vector disturbances and vector errors)
Temporal (dynamic relationship between input/output signals)
Hence the performance criterion must account for
Relative magnitude of outside influences
Frequency dependence of signals
R elative importance of the magnitudes of regulated variables
So if the performance objective is in the form of a matrix norm, it should actually be a weighted norm
WLTW
R
where the weighting function matrices WLand WRare frequency dependent, to account for bandwidth constraints and spectral content of exogenous signals. A natural (mathematical) manner to characterize acceptable performance is in terms of the MIMO Norm” on page 5-28 for an interpretation of the H
·∞(H∞) norm. See “Interpretation of H -Infinity norm and signals.
Interconnection with Typical MIMO Performance Objectives
The closed-loop performance objectives are formulated as weighted closed-loop transfer functions that are to be made sm all through feedback. A generic example, which includes many relevant terms, is shown in block diagram form in Generalized and Weighted Performance Block Diagram on page 5-4. In the diagram, G denotes the plant model and K is the feedback controller.
5-3
5 H-Infinity and Mu Synthesis
Generalized and Weighted Performan ce Block Diagram
5-4
The blocks in this figure might be scalar (SISO) and/or multivariable (MIMO), depending on the specific example. The mathematical objective of H is to make the closed-loop MIMO transfer function T
satisfy T
ed
ed
control
<1.The
weighting functions are used to scale the input/output transfer functions such
en
T
that wh
rmance requirements on the closed-loop system are transformed into
Perfo the H are se depen abov and s as [d and s int
framework with the help of weighting or scaling functions. Weights
lected to account for the relative magnitude of signals, their frequency dence, and their relative importance. This is captured in the figure
e, where the we ig hts or scaling s [W
cale the normalized input signals [d
, d2, d3]. Similarly weights or scalings [W
1
cale physical units into normalized output signals [e
erpretation of the signals, weighting functions, and models follows.
< 1, the relationship between and is suitable.
ed
cmd
1,d2,d3
, W
dist,Wsnois
] into physical units defined
act
] are used to transform
, W
perf1,Wperf2
] transform
, e2, e3]. An
1
Signal Meaning
H-Infinity Performance
d
1
d
1
d
2
d
2
d
3
d
3
e
1
e
1
e
2
e
2
e
3
e
3
W
cmd
W
is included in H∞control p roblems that require tracking of a reference
cmd
command. W
shapes the normalized reference command signals
cmd
Normalized reference command
Typical reference command in physical units
Normalized exogenous disturbances
Typical exogenous disturbances in physical units
Normalized sensor noise
Typical sensor noise in physical units
Weighted control signals
Actual control signals in physical units
Weighted tracking errors
Actual tracking errors in phy sical units
Weighted plant errors
Actual plant errors in physical units
(magnitude and frequency) into the actual (or typical) reference signals that you expect to occur. It describes the magnitude and the frequency dependence of the reference commands generated by the normalized reference signal. Normally W
is flat at low frequency and rolls off at high frequency. For
cmd
example, in a flight control problem, fighter pilots generate stick input reference commands up to a bandwidth of about 2 Hz. Suppose that the stick has a maximum travel of three inches. Pilot commands could be modeled as normalized signals passed through a first-order filter:
5-5
5 H-Infinity and Mu Synthesis
W
model
W
represents a desired ideal model for the closed-looped system and is
model
often included in problem formulations with tracking requirements. Inclusion of an ideal model for tracking is often called a model matching problem, i.e., the objective of the closed-loop system is to match the defined model. For good comm and tracking response, you might want the closed-loop system to respond like a well-damped second-order system. The ideal model would then be
for specific desired natural frequency ω and desired damping ratio ζ.Unit conversions might be necessary to ensure exact correlation between the ideal model and the closed-loop system. In the fighter p ilot example, suppose that roll-rate is being commanded and 10º/second response is desired for each inch of stick motion. Then, in these units, the appropriate model is:
W
dist
W
shapes the frequency content and magnitude of the exogenous
dist
disturbances affecting the plant. For example, consider an electron microscope as the plant. The dominant performance objective is to mechanically isolate the microscope from outside mechanical disturbances, such as ground excitations, sound (pressure) waves, and air currents. You can capture the spectrum and relative magnitudes of these disturbances with the transfer function weighting matrix W
dist
.
5-6
W
perf1
W
weights the difference between the response of the closed-loop system
perf1
and the ideal model W
. Often you might want accurate matching of the
model
ideal model at low frequency and require less accurate matching at higher frequency, in which case W
is flat at low frequency, rolls off at first or
perf1
second order, and flattens out at a small, nonzero value at high frequency.
Loading...