Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
Глава 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), не извле­кается сглаженная оценка скорости ω
, что может затруднить по-
строение внешнего регулятора скорости.
Глава 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 ).
Вторая команда возвращает решение более общего уравнения
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 ). Вторая команда решает более общее уравнение
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 + + Ñ = 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).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]