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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
Глава 2. Методы анализа и синтеза линейных динамических систем 81
границы амплитуды. Для корневого годографа используются фор­мулы (2.20), т. е. эти показатели основываются на характеристиках ближайшего к мнимой оси корня, поэтому они являются прибли­женными, и показатели процесса должны уточняться после окон­чания синтеза. Для диаграммы Боде к выбору ограничений можно подойти, например, так: пусть желаемое время нарастания или время согласования задано. По (2.4) или (2.5) находим желаемую частоту среза. Тогда от нулевой частоты до ω
амплитуда должна
ñ
быть больше нуля, т. е. амплитудная характеристика в этой области частот ограничена снизу. Примем максимальную частоту среза 20 рад/с. Далее, для получения малого перерегулирования протя­женность амплитудной характеристики с неизменяемым наклоном в районе частоты среза должна быть достаточно большой, а затем наклон должен резко возрастать для подавления высокочастотных возмущений, поэтому примем, что при ω>25 рад/с наклон должен быть не менее 40 äÁ/äåê., ò. å. ïðè ω>25 рад/с характеристика ог­раничена сверху линией с наклоном 40 дБ/дек. Конечно, могут быть и другие подходы к формированию ограничений.
Введем эти ограничения в диаграмму. Для этого в окне Design Tool, в окне диаграммы Боде правой клавишей вызываем пункт меню «Design Constraints», «New» и в полученном окне выбираем «Lower Gain Limit» («нижний предел амплитуды»), «frequency» («частота») от 0.01 до 20 рад/с, «Magnitude» («Амплитуда») = 0, «Slope» («наклон») = 0. Далее опять выбираем опцию «New» и в полученном окне выбираем «Upper Gain Limit» («верхний предел амплитуды»), «frequency» от 25 рад/с до 250 рад/с, «Magnitude» = 0, «Slope» =−40 дБ/дек (рис. 2.32). В результате на амплитудную диа- грамму Боде будут нанесены ограничительные линии (рис. 2.33). Более темная часть линий обращена к разрешенной области, а бо-
Ðèñ. 2.32. Окно Design Tool для введения ограничений
82 Глава 2. Методы анализа и синтеза линейных динамических систем
Ðèñ. 2.33. АЧХ с введенными ограничениями
лее светлая к запрещенной (на черно-белом рис. 2.33 более свет­лая часть отмечена зубцами)
Приведем еще два примера использования Design Tool приме­нительно к двухмассовой системе с упругой связью, описанной выше. Эта система обладает ярко выраженными резонансными свойствами. В первой главе было рассмотрено регулирование ско­рости двигателя в этой системе с использованием интегро-про­порционального регулятора (программа П. 1.8). При этом пере­ходный процесс при ступенчатом изменении задания оказался за­метно колебательным (рис. 1.14). Попытаемся улучшить процесс путем использования предварительного фильтра F (рис. 2.23,a). Сначала выполним программу (П. 1.8) с тем, чтобы в рабочей об­ласти были созданы нужные системы. Затем выполним команду sisotool, в результате чего откроется окно Design Tool. Выберем пункты «File», «Import», «Workspace» и из открывшегося перечня систем направим sys1 âGèsys2 в C. Выберем пункты «Analysis», «Response to Step Command» и построим переходный процесс, ко­торый, естественно, совпадает с рис. 1.14. Теперь щелкнем правой клавишей по значку F на структурной схеме справа вверху, при этом откроется окно редактирования предварительного фильтра. Выберем в качестве этого фильтра простое апериодическое звено и зададим начальное значение корня 1. Процесс получается очень затянутым. Перемещаем полюс влево, пока не будет достиг­нута желаемая кривая переходного процесса. При полюсе фильтра равном 2 получаем процесс, изображенный на рис. 2.34, который вполне удовлетворителен.
В программе (П. 1.8) рассмотрен также второй вариант по­строения системы регулирования — с чисто интегральным регуля-
Глава 2. Методы анализа и синтеза линейных динамических систем 83
Ðèñ. 2.34. Переходный процесс в двухмассовой системе
со входным фильтром
тором и с внутренней связью по скорости (рис. 1.15). С помощью Design Tool выберем параметры внутренней связи и внешнего ре­гулятора. Выполним команду sisotool, выберем пункты «File», «Import», «Workspace» и из открывшегося перечня систем напра­вим sys1 â G. В правом окне Design Tool с помощью пункта «Other» («другие») выберем структурную схему, аналогичную изо­браженной на рис. 2.23, д. Установим коэффициент усиления ре­гулятора Ñ равным нулю, а фильтра F равным 1 (так как по опре­делению связь по F положительна) и подтвердим «OK». В появив­шемся окне в пункте главного меню окна «View» выберем опции «Root Locus» и «Filter Bode». Эти диаграммы появляются в окне Design Tool, причем последняя представляет собой горизонталь­ную линию. Выберем коэффициент усиления фильтра Ê
èç óñëî-
ð
вия получения максимального демпфирования в замкнутом конту­ре F-G-H. С помощью мыши перемещаем линию Filter Bode вверх и наблюдаем за перемещением корней на корневом годографе. Видно, что при увеличении Ê
мнимые части комплексных корней
ð
почти не меняются, а вещественные части сдвигаются влево, тем самым коэффициент демпфирования возрастает. Более точно за этим процессом можно следить, если в пункте «View» открыть подпункт «Closed-Loop Pole» и наблюдать величину «Damping». Однако, при увеличении Ê
свыше 160 полюса начинают опять
ð
84 Глава 2. Методы анализа и синтеза линейных динамических систем
Ðèñ. 2.35. Корневой годограф для двухмассовой системы
с пропорциональной обратной связью
сдвигаться к мнимой оси и коэффициент демпфирования умень­шается. Таким образом, Ê
= 160 является оптимальным в приня-
ð
том смысле значением. Результирующее расположение корней приведено на рис. 2.35. Фиксируем найденное значение Ê
(â îêíå
ð
F Gain =−160) и выбираем параметры С. Для этого, как это опи-
сывалось ранее, помещаем в Ñ полюс в нуле и устанавливаем ко­эффициент усиления K
= 1/Tr= 100. Вызываем на экран из пунк-
c
та главного меню «Analysis» подпункт «Response to Step Command» и наблюдаем график переходного процесса., перемещая амплитуду диаграммы Боде вертикально, пока желаемое качество переходно­го процесса не будет достигнуто. На рис. 1.16 показан процесс при
= 350. Перерегулирование составляет 5%, время регулирования
K
c
2.27 сек., время нарастания 0.75 сек.
2.2.2. Линейный квадратичный регулятор (ЛКР). Рассматривае-
мые здесь и в последующих разделах этой главы методы синтеза регуляторов дают явные выражения для закона управления, в от­личие от методов приведенных в предыдущем разделе, где исполь­зуется способ проб и ошибок. Правда, каждый из этих методов
Глава 2. Методы анализа и синтеза линейных динамических систем 85
требует формулировки определенных ограничивающих условий, которые не являются однозначными, и часто в процессе решения задачи приходится их переформулировать, что сближает эти мето­ды с предыдущими. До конца этой главы предполагается, что опи­сание системы производится в фазовом пространстве, причем сис­тему будем предполагать полностью управляемой и наблюдаемой.
В методе ЛКР задача формулируется следующим образом: не­обходимо выбрать управление u таким образом, чтобы система, описываемая уравнениями (1.1), (1.2), была бы приведена из неко­торого начального состояния õ
в нуль таким образом, чтобы ве-
0
личина
() ( )uxQxuRuxNu=++
Jdt
x
TT T
−∞
2
(2.29)
была минимально возможной. Далее будем предполагать N =0. Выражение (2.29) имеет ясный физический смысл: чем меньше первое слагаемое, тем быстрее система приходит в нулевое поло­жение, чем меньше второе слагаемое, тем меньше затраты на управление, чем меньше это слагаемое, тем медленнее будет уменьшаться первое слагаемое, следовательно, тем больше будет интеграл от первого слагаемого. Таким образом, требования одно­временного уменьшения обоих слагаемых являются противоречи­выми, и решение задачи есть точка некоторого компромисса.
Матрица Q неотрицательно определена, а матрица R положи­тельно определена; это значит, что первое слагаемое под знаком интеграла всегда не отрицательно, а второе всегда положительно.
Решение задачи дается следующими соотношениями:
(2.30)
(2.31)
KRBP=
uKx=−
1T
ãäå Ð — решение матричного уравнения Риккати
TT
A P PA PBR B P Q
+− +=−10
(2.32)
Для решения этой задачи Control System Toolbox предоставля­ет команду
[K,Ð,e] = lqr(A,B,Q,R).
Эта команда для уравнений (1.1), (1.2) вычисляет матрицу об­ратных связей Ê, матрицу Риккати Ð и собственные значения å матрицы A BK. После вычисления K для построения замкнутой
86 Глава 2. Методы анализа и синтеза линейных динамических систем
системы sysz, соответствующей разомкнутой системе sys, исполь­зуется команда
sysz = feedback (sys,Ê).
При этом предполагается, что матрица наблюдений Ñ (1.2) диагональная полного порядка, так как только при этом условии закон управления может быть реализован. Могут быть также слу­чаи, когда матрица Ñ имеет другой вид, когда только часть состоя­ний или их линейных комбинаций измеримы, но имеется возмож­ность каким-то образом организовать обратную связь по всем со­стояниям, или такая задача решается в целях сравнения с другими вариантами. В этом случае можно применить команду
asys = augstate(sys),
при которой новый выход системы объединяет выходы ó è õ,аза­тем применить более сложный вид команды feedback, описан­ный в первой главе.
В некоторых случаях вместо критерия (2.29) используется кри­терий
() ( )uyQyuRu=+
Jdt
y
TT
−∞
(2.33)
т. е. принимается в расчет только наблюдаемый выход. Очевидно, задача сводится к предыдущей, если в ней заменить Q íà C
T
QC.
Тем не менее имеется специальная команда
[K,S,e] = lqry(sys,Q,R).
Для дискретной системы, описываемой уравнениями (1.23), критерий оптимальности (при N = 0) записывается как
Jkkkk
() [() () () ()].uxQxuRu=+
x
k
=
TT
1
(2.34)
Решение задачи дается соотношениями:
(2.35)
(2.36)
KRBPBBPA=
uKx() ()kk=−
TT1
()+
ãäå Ð удовлетворяет уравнению
TTT T
A PA P A PB B PB R B PA Q
−− + +=
()
1
0
(2.37)
Для решения задачи используется команда
Глава 2. Методы анализа и синтеза линейных динамических систем 87
[K,Ð,e] = dlqr(À,B,Q,R).
Часто управление непрерывным объектом осуществляется цифровым устройством, работающим с дискретностью во времени равной T вида (2.35), в котором матрица Ê заменяется матрицей Ê
. Тогда минимизируется интеграл (2.29) при управлении
s
. Ïðè
d
этом используется команда
[Kd,Ð,e] = lqrd(A,B,Q,R,Ts).
Рассмотрим пример. Пусть задача заключается в регулирова­нии скорости вращения двигателя в рассмотренной выше двух­массовой системе с эластичной связью. Пусть ошибка по скоро­сти должна быть равна нулю при ступенчатом воздействии, так что необходимо применение интегрального регулятора, который, таким образом, является неотъемлемой частью системы. Струк­турная схема системы регулирования приведена на рис. 2.36. Так как знак минус отрицательной обратной связи заложен в воздей­ствие по u, знаки на входе интегратора изменяются на противо­положные по сравнению с обычными, а для того, чтобы положи­тельному заданию ω
соответствовала положительная скорость,
r
устанавливается дополнительный инвертор. Система имеет два входа: по u = M
èïîωr. На основании (1.3) — (1.6) матрицы
d
системы равны:
01 00
⎡ ⎢
CC
A =
01 00
⎢ ⎢
10 00
Ðèñ. 2.36. Структурная схема регулирования скорости
в двухмассовой системе с интегральным регулятором
J
1
00
J
2
и всеми наблюдаемыми состояниями
⎤ ⎥
− ⎥
,
⎥ ⎥
B1
1
J
1
0
=
, B2
0
0
0
0
,
0
1=−
88 Глава 2. Методы анализа и синтеза линейных динамических систем
C = [],1000
(2.38)
Напишем программу (П. 2.5). При этом будем иметь в виду следующее. При разработке регулятора необходимо исследовать робастность разработанной системы, т. е. как изменение ее па­раметров влияет на изменение характеристик. При этом пред­полагается, что параметры регулятора выбираются на основа­нии оценок параметров объекта, которые будем обозначать ин­дексом «e», а управление осуществляется реальным объектом. На данном этапе оценки принимаются равными фактическим величинам.
J1 = 21.5; C = 243; J1e = 21.5; J2e = 7; Ce = 243; J2 = 7; I = 200; R =1/500; ag = [0 -1/J1 0 0; C 0 -C 0; 0 1/J2 0 0; 1000]; bg1 = [1/J1; 0; 0; 0]; bg2 = [0; 0; 0; 1]; cg = [1 0 0 0]; age = [0 -1/J1 0 0; Ce 0 -Ce 0; 0 1/J2e 0 0; 1000]; Q=[1000;00.01 0 0; 0010;000I]; [K, P, e] = lqr(age, bg1, Q, R) sys1 = ss(ag, [bg1 bg2], cg, 0); asys = augstate(sys1); sys2 = feedback(asys, K, [1], [2 3 4 5]); sys3 = series(-1, sys2); ðà = pole(sys2); subsys = sys3(1,2); step(subsys). (Ï. 2.5)
Матрица Q принята диагональной, причем элемент q2значи­тельно меньше q цессе значительно больше, чем õ
è q3, так как отклонение õ2в переходном про-
1
è õ3. Коэффициенты q4= I è R
1
выбраны экспериментально при моделировании. Матрица обрат­ных связей Ê рассчитана для входной матрицы первого входа bg1, так как именно с помощью этой матрицы обратная связь поступа­ет на объект. Система sys1 представляет собой объект регулирова­ния, а asys — объект, ко выходу которого добавлены состояния, эти новые выходы имеют индексы от 2 до 5; sys2 — это замкнутая через матрицу Ê система, причем сигнал обратной связи передает­ся на первый вход, а формируется этот сигнал выходами с индек­сами 2...5. При формировании sys3 знак входа инвертируется в соответствии со структурной схемой на рис. 2.36. Полюса ðà опре­деляются с целью проверки синтеза системы: они должны быть равны полюсам å, полученным при расчете матрицы Ê. В заклю-
Глава 2. Методы анализа и синтеза линейных динамических систем 89
Ðèñ. 2.37. Переходный процесс в системе рис. 2.36 с ЛКР
чение выделяется подсистема, имеющая вход: задание скорости (второй вход системы) и выход — скорость вращения двигателя, и строится переходный процесс при ступенчатом задании скорости, изображенный на рис. 2.37.
2.2.3. Метод назначения полюсов. Предыдущий метод дает хо-
рошие результаты синтеза, но его применение связано с необходи­мостью неоднократного повторения расчетов при различных мат­рицах Q è R, так как априорно трудно установить определенную зависимость показателей переходного процесса от элементов этих матриц. Более прямой подход заключается в назначении полюсов замкнутой системы. При этом исходят из того факта, что для замкнутой системы с переходной матрицей
À ÂÊ (2.39)
всегда можно найти такую матрицу Ê, которая обеспечит любое желаемое расположение корней характеристического уравнения, если исходная система полностью управляема.
При выборе полюсов нужно учитывать следующее. Чем даль­ше полюса сдвинуты от мнимой оси влево, тем больше быстро­действие системы, но тем больше влияние помех, неучтенных ма­лых постоянных времени и нелинейностей. Чем дальше полюса замкнутой системы сдвинуты по отношению к полюсам разомкну­той, тем большее воздействие требуется от регулирующего устрой-
90 Глава 2. Методы анализа и синтеза линейных динамических систем
ства (устройств силовой электроники, питающих двигатель, серво­механизма, воздействующего на элементы управления самолетом, и т. п). Так как нули разомкнутой и замкнутой систем при управ­лении (2.35) одинаковы, то желательно, чтобы выбранные полюса были бы достаточно далеко от нулей разомкнутой системы, так как в противном случае управляемость ухудшается.
Для определения матрицы Ê, обеспечивающей заданное рас­положение корней, используются команды:
Ê = acker(A,B,p) è K = place(A,B,p).
Первая команда может быть использована только для систем с одним входом (по u) при порядке системы не выше 5-го. Поэтому рекомендуется применять вторую команду, которая не работает, однако, если кратность полюсов превышает ранг матрицы Â. Для первой команды это ограничение отсутствует.
Составим программу, аналогичную (П. 2.5), но матрицу Ê определяем командой acker. Эта система имеет 4 полюса. Рас­смотрим два варианта выбора корней. В первом выберем их ком­плексными, равными и попарно сопряженными с коэффициен­том демпфирования 0.707. Предположим, что желательно иметь время регулирования порядка 1 с. Из соотношения (2.20) нахо­дим, что вещественная часть полюса должна быть примерно рав­на −α = 4.6/1 5. Тогда должно быть две пары полюсов 5 ±5j. Во втором варианте первые два полюса те же, а остальные, вещест­венные, равны 9. Программа имеет вид:
J1 = 21.5; C = 243; J1e = 21.5; J2e = 7; Ce = 243; J2 = 7; ag = [0 -1/J1 0 0; C 0 -C 0; 0 1/J2 0 0; 1000]; bg1 = [1/J1; 0; 0; 0]; bg2 = [0; 0; 0; 1]; cg = [1 0 0 0]; age = [0 -1/J1 0 0; Ce 0 -Ce 0; 0 1/J2e 0 0; 1000]; p = 7*[-0.71 + 0.71*i, -0.71- 0.71*i, -0.71+0.71*i, -0.71- 0.71*i]; p1 = [-5+5*i, -5-5*i, -9, -9]; K = acker(age, bg1, p); K1 = acker(age, bg1, p1); sys1 = ss(ag, [bg1 bg2], cg, 0); asys = augstate(sys1); sys2 = feedback(asys, K, [1], [2 3 4 5]); sys21 = feedback(asys, K1, [1], [2 3 4 5]); sys3 = series(-1, sys2); sys31 = series(-1,sys21); subsys = sys3(1, 2); subsys1 = sys31(1, 2); step(subsys, subsys1). (Ï. 2.6)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]