Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 3. Функции и команды Control System Toolbox 181
Выбор матрицы L может осуществляться с помощью команд,
рассмотренных в 3.11.1. Подробности и пример применения см.
раздел 2.2.4, программа (П. 2.7).
3.11.3. reg. Формируется регулятор с наблюдателем в обрат-
ной связи с заданными матрицами усиления регулятора и наблюдателя. Синтаксис:
rsys = reg(sys, K, L)
rsys = reg(sys, K, L, sensors, known, controls).
Выбор матриц K è L может осуществляться с помощью команд, рассмотренных в 3.11.1. Подробности раздел 2.2.4, см также
рис. 3.1.
Ðèñ. 3.1. Структура системы с командой reg
Вернемся к примеру, рассмотренному в разделе 2.2.4, программа (П. 2.7). Предположим, что при расчете матрицы обратной
связи наличие интегратора не учитывается, а его коэффициент
усиления выбирается отдельно, тогда для расчета Ê получается
система не 4-го, а 3-го порядка. Объект имеет два идентичных
входа: первый для выхода интегратора внешнего регулятора и второй для сигнала обратной связи. Структура системы регулирования приведена на рис. 3.2.
Для создания системы регулирования напишем программу
(П. 3.4):
J1 = 21.5;C = 243;J2 = 7;Ki =1000;
ag = [0 -1/J1 0; C 0 -C; 0 1/J2 0];
bg = [1/J1; 0; 0];
cg=[100];
cg1=[001];
p = [-5+5*i, -5-5*i, -9];
K = place(ag, bg, p);

182 Глава 3. Функции и команды Control System Toolbox
pe = 2*[-5+5*i, -5-5*i, -9];
L=place(ag',cg',pe)';
plant = ss(ag,[bg
bg],[cg;cg1],0,'inputn',{'ui';'ue'},'Outputn',{'wd';'wm'});
rsys = reg(plant, K, L, [1], [1], [2]);
sys1 = parallel(plant, rsys, [1], [1], [ ],[ ]);
sys2 = connect(sys1, [1 3;3 1], [2], [1 2]);
ireg = tf([0 Ki],[1 0]);
sys3 = series(ireg, sys2);
sys4 = feedback(sys3, 1, [1], [1]);
step(sys4 (Ï. 3. 4)
Ðèñ. 3.2. Система регулирования для программы (Р3.4)
Эти команды уже неоднократно встречались, поэтому на них
не останавливаемся, укажем только, что команда parallel служит
для соединения входов объекта и наблюдателя от выхода интегратора между собой, а команда connect для замыкания системы по
выходу регулятора (u
) и для подачи сигнала скорости двигателя ω
e
на вход наблюдателя.
3.12. Расчет линейных регуляторов
3.12.1. lqr. Вычисляется матрица обратных связей линейного
квадратичного регулятора ЛКР для непрерывного объекта. Синтаксис:
[K, S, e] = lqr(A, B, Q, R)
[K, S, e] = lqr(A, B, Q, R, N).
Описание и пример применения см. в разделе 2.2.2.
d

Глава 3. Функции и команды Control System Toolbox 183
3.12.2. lqry. Вычисляется матрица обратных связей ЛКР для
непрерывного объекта с весовыми коэффициентами для выхода.
Синтаксис:
[K, S, e] = lqry(sys, Q, R)
[K, S, e] = lqry(sys, Q, R, N).
Пояснения см. раздел 2.2.2, формула (2.33).
3.12.3. dlqr. Вычисляется матрица обратных связей ЛКР для
дискретного объекта. Синтаксис:
[K, S, e] = dlqr(A, B, Q, R)
[K, S, e] = dlqr(A, B, Q, R, N).
Пояснения см. раздел 2.2.2.
3.12.4. lqrd. Вычисляется матрица обратных связей ЛКР для
непрерывного объекта с дискретным регулятором. Синтаксис:
[Kd, S, e] = lqrd(A, B, Q, R, Ts)
[Kd, S, e] = lqrd(A, B, Q, R, N, Ts).
Пояснения см. раздел 2.2.2.
3.12.5. kalman. Рассчитывается непрерывный или дискретный
фильтр Калмана. Синтаксис:
[kest, L, P] = kalman(sys, Qn, Rn, Nn)
[kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn)
[kest, L, P] = kalman(sys, Qn, Rn, Nn, sensors, known).
Вторая команда применима только для дискретных систем, а
первая является упрощенным вариантом третьей, наиболее полной команды, где вектор sensors содержит индексы измеряемых
выходов объекта, а вектор known содержит индексы известных
входов объекта. Все остальные входы предполагаются стохастическими.
Описание и пример применения см. в разделе 2.2.6, программа (П. 2.10).
3.12.6. kalmd. Рассчитывается дискретный фильтр Калмана с
периодом выборки T
[kest, L, P, M, Z] = kalmd(sys, Qn, Rn, Ts).
для непрерывного объекта. Синтаксис:
s
Пояснения см. раздел 2.2.6.
3.12.7. lqgreg. Формируется линейный квадратичный регуля-
тор с данной матрицей усиления регулятора Ê и с фильтром Калмана kest для оценки состояния. Синтаксис:

184 Глава 3. Функции и команды Control System Toolbox
rlqg = lqgreg(kest, k)
rlqg = lqgreg(kest, k, 'current')
rlqg = lqgreg(kest, k, controls).
Пояснения см. раздел 2.2.6. Рассмотрим пример. Пусть в условиях, для которых составлена программа (П. 2.10), возмущение по
моменту нагрузки в виде белого шума действует непосредственно
на объект, без промежуточного формирующего фильтра с постоянной времени Ò
, т. е. наблюдатель Калмана рассчитывается для
w
системы 3-го порядка. Замкнутая система управления с такими же
воздействиями, как для программы (П. 2.10), создается программой (П. 3.5):
J1 = 21.5; C = 243; J2 = 7;
Q = 1; R = 0.1;
ag = [0 -1/J1 0; C 0 -C; 0 1/J2 0];
bg = [1/J1; 0; 0];
p = [-5+5*i, -5-5*i, -9];
K = place(ag, bg, p);
bg2 = [0; 0; -1/J2];
cg = [1 0 0];
plant = ss(ag, [bg bg bg2], cg, 0);
set(plant, 'InputName', {'ud';'u';'wa'}, 'OutputName', {'Wd'});
[kest, L, P] = kalman(plant, Q, R, [1], [1]);
reg = lqgreg(kest, K, [2])
a = ag;
b = [bg bg bg2 0*bg];
c = [cg; cg];
d=[0000;0001];
PP = ss(a, b, c, d, 'inputname', {'ud' 'u' 'w' 'v'}, 'outputname',{ 'y' 'yv'});
sys1r = parallel(PP, reg, [1], [1], [ ], [ ]);
sys1 = connect(sys1r, [1 3; 5 2], [2 3 4], [1 2]);
dt = 0.01;
[u, t] = gensig('square', 5, 50, dt);
n = length(t);
w =sqrt( 1/dt )*randn(1, n);
v =sqrt( 0.1/dt )*randn(1, n);
uq = u';
U = [w; v; 100*uq];
[OutY, t] = lsim(sys1, U', t);
Wd = OutY(:,1);
Wda = OutY(:,2); (Ï. 3.5)
Видно, что в этой программе, в отличие от (П. 2.10), не извлекается сглаженная оценка скорости ω
, что может затруднить по-
då
строение внешнего регулятора скорости.

Глава 3. Функции и команды Control System Toolbox 185
3.13. Решение уравнений
3.13.1. care. Решается непрерывное уравнения Риккати. Син-
таксис:
[P, L, K] = care(A, B, Q, R)
[P, L, K] = care(A, B, Q, R, S, E)
[X1, X2, D, L] = care(A, B, Q,...,'factor').
Первая команда возвращает решение уравнения (2.32), а также матрицу коэффициентов усиления регулятора Ê = R
-1BT
Ð è
вектор собственных значений замкнутой системы L = eig(A − BÊ).
Вторая команда возвращает решение более общего уравнения
T
ÐE + ETÐA − (ETÐB + S)R-1(BTÐE + ST) + Q = 0,
A
причем
-1(BT
Ê = R
ÐE + ST),
à L = eig(A − BÊ,Å) — вектор так называемых обобщенных собственных значений, т. е. нетривиальных решений уравнения (A −
ÂÊ)x =λÅx [Ë.3, ñòð. 153)].
Последняя команда возвращает матрицы X
и диагональ-
1,X2
ную матрицу D такие, что X = D*(X2/X1)*D. Вектор L содержит
собственные значения замкнутой системы.
3.13.2. dare. Решается дискретное уравнения Риккати. Син-
таксис:
[Ð, L, Ê] = dare(A, B, Q, R)
[Ð, L, Ê] = dare(A, B, Q, R, S, E)
[X1, X2, L] = dare(A, B, Q,...,'factor').
Первая команда решает уравнение (2.37). Наряду с решением
уравнения команда возвращает матрицу усиления регулятора Ê
(2.36) и вектор собственных значений замкнутой системы
L = eig(A − BÊ). Вторая команда решает более общее уравнение
T
A
ÐA − ETÐE − (ATÐB + S)(BTÐB + R)-1(BTÐA + ST) + Q = 0,
а также возвращает матрицу
T
K =(B
PB + R)-1(BTPA + ST)
и вектор L так называемых обобщенных собственных значений.
Смысл последней команды такой же, как и для care.

186 Глава 3. Функции и команды Control System Toolbox
3.13.3. lyap. Решаются уравнения Ляпунова для непрерывного
времени. Синтаксис:
X = lyap(A, Q)
X = lyap(A, B, C)
X = lyap(A, Q, [ ], E).
Первая команда решает уравнение (при условии À è Q —
квадратные)
T
AX + XA
+ Q = 0,
вторая (при условии A, Â, Ñ — сопоставимых размеров, но не обязательно квадратные)
AX + XÂ + Ñ = 0
и третья (при условии Q — симметричная)
T
AXE
+ EXAT+ Q = 0.
3.13.4. dlyap. Решаются уравнения Ляпунова для дискретного
времени. Синтаксис:
X = dlyap(A, Q)
X = dlyap(A, B, C)
X = dlyap(A, Q, [ ], E).
Первая команда решает уравнение (при условии À è Q —
квадратные)
T
AXA
− X + Q = 0,
вторая (при условии A, Â, Ñ — сопоставимых размеров, но не обязательно квадратные)
T
− X + Ñ = 0
AXÂ
и третья (при условии Q—симметричная)
T
AXA
− EXET+ Q = 0.

Глава 4. Функции и команды
Robust Control Toolbox
4.1. Перечень команд
В этом разделе приводится список всех команд, имеющихся в
Robust Control Toolbox. Команды сгруппированы так, как они
приведены в Руководстве для Пользователя.
1. Команды работы со структурами данных
Команда Содержание
branch
graft
issystem
istree
mksys
tree
vrsys
Извлекает ветви из древовидной структуры
Добавляет ветвь в древовидную структуру
Идентифицирует переменные системы
Идентифицирует переменные структуры
Создает древовидную структуру системы
Образует древовидную структуру переменных
Возвращает имена переменных системы
2. Команды создания моделей
Команда Содержание
augss, augtf
interc
Добавляет к объекту весовые функции
Взаимно объединяет системы

188 Глава 4. Функции и команды Robust Control Toolbox
3. Команды преобразования моделей
Команда Содержание
bilin
Билинейное преобразование в частотной области
des2ss
lftf
sectf
stabproj
slowfast
tfm2ss
Преобразует дескрипторную систему в систему в
пространстве состояний
Специальное разложение MIMO
Преобразование секторов
Разложение на устойчивую и неустойчивую части
Разложение системы на быструю и медленную части
Преобразует передаточную функцию MIMO в систему в
пространстве состояний специальной формы
4. Сервисные команды
Команда Содержание
aresolv,
daresolv
riccond,
driccond
blkrsch
cschur
Решение непрерывного/дискретного уравнения Риккати
Число обусловленности уравнения Риккати
Унитарное преобразование подобия
То же, другой алгоритм
5. Диаграммы Боде для MIMO систем
Команда Содержание
cgloci, dcgloci
sigma, dsigma
muopt
osborne
perron, psv
ssv
Амплитуды и фазы матрицы передаточных функций MIMO
систем
Сингулярные величины MIMO систем
Масштабирование
Верхняя граница сингулярных величин по методу Осборна
То же по методу Перрона
Диаграмма Боде структурных сингулярных величин

Глава 4. Функции и команды Robust Control Toolbox 189
6. Техника факторизации
Команда Содержание
Iofc/iofr
Внутренняя/наружная факторизация (два вида)
sfl/sfr
Лево/ правосторонняя спектральная факторизация
7. Методы понижения порядка модели
Команда Содержание
balmr
bstschmr/
bstschml
imp2ss
obalreal
îhklmr
schmr
Понижение порядка модели
Относительная ошибка метода Шура
Преобразование импульсной характеристики в уравнения в
пространстве состояний
Сбалансированная реализация
Понижение порядка по методу Ганкеля
Понижение порядка модели по методу Шура
8. Методы робастного синтеза
Команда Содержание
h2lqg, dh2lqg
hinf, dhinf, linf
hinfopt
normh2,
normhinf
Непрерывный/дискретный Н
Непрерывный/дискретный Н
Í
синтез с γ-итерациями
∞
Вычисление Н
2èÍ∞
íîðì
синтез
2
синтез
∞
lqg
ltru, ltry
musyn, fitd,
augd
youla
Оптимальный линейный квадратичный регулятор
Реконструкция квадратичного регулятора
μ-синтез
Параметризация всех реализуемых устойчивых замкнутых
систем

190 Глава 4. Функции и команды Robust Control Toolbox
В последующих разделах главы описываются основные команды из приведенных выше. К ним относятся команды, используемыевгл.1и2прианализе и синтезе робастных систем, а также
некоторые другие команды, которые по мнению автора могут оказаться полезными при этих процедурах. В то же время описание
ряда команд опущено. Среди них факультативные команды, а также команды, требующие для своего понимания введения сложных
математических понятий, не соответствующих назначению данной
книги.
4.2. Команды синтеза
4.2.1. augss, augtf. Эти команды расширяют уравнения объ-
екта, добавляя к ним уравнения весовых матриц W
(s), в результате чего формируются пространственная модель
W
3
новой системы вида (2.92). Передаточные функции G(s), W
(s)G(s) должны быть правильными, т. е. ограниченными при
W
3
s→∞. Однако, на W
(s) это требование не распространяется. Пер-
3
вая команда использует описания частотных матриц в виде уравнений в пространстве состояний, тогда как вторая в виде матриц
передаточных функций. Для MIMO систем предполагается, что
эти матрицы являются диагональными, причем каждый диагональный элемент задается двумя строками матрицы, соответствующими векторам коэффициентов числителя и знаменателя соответственно, расположенным по нисходящей степени s. Если весовая матрица, например, W
(s), отсутствует, то задается W2=[].
2
Примеры задания этих матриц см. в программах (П. 2.14),
(П. 2.15), (П. 2.16). Примеры синтаксиса команд:
[a,b1,b2,c1,c2,d11,d12,d21,d22] = augtf(ag, bg, cg, dg, w1, w2, w3)
[TSS] = augtf(ssg, w1, w2, w3)
[TSS] = augss(ssg, ssw1, ssw2, ssw3).
(s), W2(s),
1
(s)è
1
4.2.2 h2lqg, dh2lqg. Эти команды находят уравнения регуля-
тора, минимизирующие Í
норму (2.72) «расширенного» объекта,
2
созданного предыдущей командой. Вторая команда применяется
для дискретных систем. Описание команды см. раздел 2.2.7. Синтаксис команды
[acp, bcp, ccp, dcp, acl, bcl, ccl, dcl] = (d)h2lqg(A, B1, B2,,D22)
или в свернутом виде
[sscp,sscl] = (d)h2lqg(TSS).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
