Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 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)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
