Учебное пособие для студентов высших учебных заведений
![]()
|
6.3. Анализ системы 293 rlocus - расчет и вывод в виде графиков в графическое окно траектории движения на комплексной плоскости корней полинома H(s) = D(s) + k * N(s) = 0, где D(s) - знаменатель передаточной функции, N(s) - ее числитель, при изменении положительного вещественного числа k от 0 до бесконечно- сти. Далее приводятся примеры применения этих функций и результаты: pole(sys) ans = -4.8653 + 8.5924i -4.8653 - 8.5924i -0.3847 + 0.6040i -0.3847 - 0.6040i sysz=zpk(sys) Zero/pole/gain from input " Момент сил" to output "Угол рыскания": 0.25 (s^2 + 10s + 100) ---------------------------------------------- (s^2 + 0.7693s + 0.5128) (s^2 + 9.731s + 97.5) [z,p,k]=zpkdata(sysz,'v') z = -5.0000 + 8.6603i -5.0000 - 8.6603i p = -4.8653 + 8.5924i -4.8653 - 8.5924i -0.3847 + 0.6040i -0.3847 - 0.6040i k = 0.2500 Wc= gram(sssys,'c') Wc = 0.0129 0.0000 -0.0083 -0.0000 0.0000 0.0334 -0.0000 -0.0175 -0.0083 -0.0000 0.0701 -0.0000 -0.0000 -0.0175 -0.0000 0.1372 Wo=gram(sssys,'o') Wo = 0.3334 0.2188 0.5469 0.3906 0.2188 0.1442 0.3605 0.2726 0.5469 0.3605 0.9011 0.6805 0.3906 0.2726 0.6805 0.8545 pzmap(sys) - результат см. рис. 6.10. damp(sys) Eigenvalue Damping Freq. (rad/s) -3.85e-001 + 6.04e-001i 5.37e-001 7.16e-001 -3.85e-001 - 6.04e-001i 5.37e-001 7.16e-001 -4.87e+000 + 8.59e+000i 4.93e-001 9.87e+000 -4.87e+000 - 8.59e+000i 4.93e-001 9.87e+000 rlocus(sys) - результат - на рис. 6.11. 6.3. Анализ системы 294 Рис. 6.10 Рис. 6.11 6.4. Интерактивный "обозреватель" ltiview 295 6.4. Интерактивный "обозреватель" ltiview Набирая в командном окне MatLAB команду ltiview, можно вызывать окно так называемого "обозревателя" LTI-объектов, что позволяет в интерактивном режиме "строить" в этом окне практически все вышеуказанные графики, причем для нескольких систем синхронно: ltiview При этом на экране появляется новое окно LTIViewer (рис. 6.12 ). Рис. 6.12 Это окно состоит из нескольких частей. Главное место в нем занимает гра- фическое поле, в котором строятся разнообразные графики. При первом обраще- нии к обозревателю оно пусто. В левой нижней части расположены два окошка Workspace и Selected. В первом из них отображены те LTI-объекты, которые на- ходятся в это время в рабочем пространстве системы MatLAB (на рис. 6.12 - это система sys бокового движения торпеды, созданная ранее). В втором отображают- ся LTI-объекты, которые загружены в среду обозревателя. В начале работы с обо- зревателем оно также является пустым. По правой стороне внизу расположено окошко с выпадающим меню, кото- рое содержит перечень графических процедур, которые можно выполнить. Еще правее расположены окошки, оперирование которыми позволяет определить не- 6.4. Интерактивный "обозреватель" ltiview 296 которые числовые характеристики соответствующего графика. Для этого надле- жит в соответствующем окошке поставить "галочку" с помощью мыши. Работу с обозревателем необходимо начинать с "загрузки" в его среду тех LTI-объектов, которые нужно анализировать. Это делается таким образом. С помощью мыши следует выделить в окошке Workspace имена LTI- объектов, которые нужно исследовать. Потом "нажать мышкой" на надпись ' 6.4. Интерактивный "обозреватель" ltiview 297 Nyquist Nichols Sigma PoleZero Lsim Initial Как видим, эти альтернативы полностью совпадают с ранее рассмотренны- ми одноименными процедурами и потому следует ожидать, что их избрание при- ведет к построению тех же графиков. Например, выбирая раздел Impulse, получим картину, изображенную на рис. 6.14. В нижнем крайне правом углу окна расположены окошки, которые позво- ляют отметить те параметры соответствующего графика, которые можно отсчи- тать по графику. В качестве примера на рис. 6.13 и 6.14 отмечены ("галочками" в соответст- вующих окошках) все возможные параметры. Поэтому на графиках появились точки, которые отвечают искомым параметрам. Рис. 6.14 6.4. Интерактивный "обозреватель" ltiview 298 Вид графиков можно изменять, используя меню окна обозревателя. К при- меру, раздел File меню окна обозревателя (см. рис. 6.12 ) вызывает дополнитель- ное меню с такими разделами: New Viewer - открыть новый обозреватель; при избрании этого раздела "мышкой" на экране образовывается еще одно, дополнительное окно та- кого же обозревателя, в котором можно построить иные нужные графики; Export - экспортировать LTI-объект; избрание этого раздела приводит к появлению на экране окна Export LTI Models/Compensators (рис. 6.15), ко- торое позволяет записать использованные LTI-объекты (имена которых находятся в окошке по левую сторону) или в МАТ-файл (окошко Export to Disk), или в рабочее пространство (Export to Workspace); Print Response - распечатать графики на принтере; Send Response to Figure - расположить график в отдельном графическом окне (фигуре); эта команда приводит к появлению на экране дополни- тельного окна LTI Viewer Responses, в котором в объеме всего окна рас- полагается тот же график, который находится к тому времени в графиче- ском поле окна LTI Viewer; это удобно с двух точек зрения: во-первых, график в этом окне имеет более обозримую и удобную форму для его распечатывания на принтере, а во-вторых, что более важно, новое окно дает возможность образовать "копию фигуры"; последняя создается так: используется раздел Edit в меню нового окна, потом в появившемся под- меню выбирается раздел Copy Figure - и содержимое окна запоминается в буфере памяти ПК; если теперь перейти в окно какого-нибудь редактора (графического или текстового) и нажать клавиши Рис. 6.15 Рис. 6.16 Close Viewer - "закрыть" окно обозревателя. 6.4. Интерактивный "обозреватель" ltiview 299 Рис. 6.17 Перейдем к следующему разделу меню окна LTI Viewer под названием Tools. "Нажав" на него, получим подменю (рис. 6.18), состоящее из трех таких разделов: Viewer Controls (Управление Обозревателем), которое добавляет или уничтожает нижнюю половину окна LTI Viewer, в которой располагаются окошки управления выводом графической информации в верхнюю поло- вину окна; каждое нажатие на этот раздел приводит к исчезновению "га- лочки" рядом с названием раздела (если она перед этим была) или к появ- лению ее (если ее не было); по умолчанию "галочка" есть, и потому вся управляющая половина изображена в окне LTI Viewer; если теперь "на- жать мышкой" на Viewer Controls, получим в окне картину, представлен- ную на рис. 6.19 ; Response Preferences (Свойства Графиков); нажатие на него приводит к появлению нового окна с таким же названием (рис. 6.20); благодаря это- му окну можно установить собственные желательные диапазоны измене- ний координат, изменить единицы измерения амплитуды и частоты, ус- тановить собственные определения времени установления и времени воз- растания переходного процесса и т. п.; 6.4. Интерактивный "обозреватель" ltiview 300 Рис. 6.18 Рис. 6.19 6.4. Интерактивный "обозреватель" ltiview 301 Рис. 6.20 Рис. 6.21 6.4. Интерактивный "обозреватель" ltiview 302 Linestyle Preferences (Свойства и стили линий), которое позволяет по собственному усмотрению устанавливать цвета, толщину и стили линий графического изображения; для этого достаточно "нажать мышкой" на этот раздел, и в появившемся окне (рис. 6.21 ) установить желательные параметры. В следующем разделе меню обозревателя Plots (Графики) есть только один раздел дополнительного меню - Grid On (Сетка Установлена) - рядом с которым есть или нет "галочка" (рис. 6.22). Если "галочка" есть, графики сопровождаются сеткой из координатных линий, например так, как изображено на рис. 6.22. Рис. 6.22 Рис. 6.23 6.5. Cинтез системы 303 Если ее нет - сетка координатных линий на графики не наносится (рис. 6.23). Установление или исключение "галочки" осуществляется "нажатием" мышью на раздел Grid On. 6.5. Синтез системы Под синтезом САУ обычно понимают процесс разработки (проектирования, расчета параметров) одного из звеньев САУ, обеспечивающего заданное ее каче- ство. Пакет CONTROL содержит несколько процедур, осуществляющих проекти- рование звеньев, использование которых в контуре системы управления делает САУ оптимальной в некотором, вполне определенном смысле. К примеру, процедура lqr осуществляет проектирование линейно- квадратичного оптимального регулятора для систем непрерывного времени.. При обращении к ней вида [K,S,E] = lqr(A,B,Q,R,N) она рассчитывает оптимальное статическое матричное звено К такое, что использование его в цепи отрицатель- ной обратной связи в пространстве состояния u = - Kx (6.1) минимизирует функционал J = {x'Qx + u'Ru + 2*x'Nu} dt, (6.2) ∫ если объект регулирования описывается уравнениями состояния dx dt A x B u = ⋅ + ⋅ . (6.3) Если последняя матрица N при обращении к процедуре не указана, то она принимается по умолчанию нулевой. Одновременно вычисляется решение S ал- гебраических уравнений Риккати S A A S S B N R B S N Q ⋅ + ′ ⋅ − ⋅ + ⋅ ⋅ ′ + ′ + = − ( ) ( ) 1 0 (6.4) и находятся собственные значения Е замкнутой системы E = EIG(A-B*K) . (6.5) Применяя эту процедуру к ранее введенной САУ движением торпеды, по- лучим: [A,B,C,D]=ssdata(sssys) Q=eye(4) R=1 [K,S,E] = lqr(A,B,Q,R) K = 0.4417 0.2773 0.5719 0.2926 S = 0.8834 0.5546 1.1438 0.5852 0.5546 0.4497 0.7989 0.4353 1.1438 0.7989 1.9896 1.0933 0.5852 0.4353 1.0933 1.7924 E = -4.8886 + 8.6016i -4.8886 - 8.6016i -0.4718 + 0.6195i -0.4718 - 0.6195i 6.5. Cинтез системы 304 Следующая процедура lqry также применяется для систем "непрерывного времени". Она отличается тем, что, во-первых, проектируемая обратная связь по состоянию рассчитывается как дополнительная по отношению к существующим (а не как заменяющая все уже существующие) и охватывающая только регули- руемый объект. Во-вторых, минимизируется функционал не по вектору состоя- ния, а по выходной величине (величинам) системы J = {y'Qy + u'Ru + 2*y'Nu} dt. (6.6) ∫ В этом случае входным параметром процедуры является сама ss-модель системы в форме dx dt A x B u = ⋅ + ⋅ , y C x D u = ⋅ + ⋅ . (6.7) а вызываться процедура должна таким образом [K,S,E] = lqry(sys,Q,R,N), где 'sys' - имя lti-модели оптимизируемой САУ. Та же процедура может быть приме- нена для дискретной системы (модели), уравнения состояния которой заданы в виде конечно-разностных уравнений вида x[n+1] = Ax[n] + Bu[n], y[n] = Cx[n] + Du[n]. (6.8) при этом минимизируется функционал J = Sum {y'Qy + u'Ru + 2*y'Nu}. (6.9) Применим процедуру к рассматриваемой системе. Получаем: Q=1; R=1; [K,S,E] = LQRY(sssys,Q,R) K = 0.1501 0.0988 0.2471 0.1844 0.1502 S = 0.3002 0.1977 0.4941 0.3689 0.1977 0.1308 0.3270 0.2584 0.4941 0.3270 0.8172 0.6451 0.3689 0.2584 0.6451 0.8316 E = -4.8653 + 8.5924i -4.8653 - 8.5924i -0.4222 + 0.6286i -0.4222 - 0.6286i Процедура lqrd позволяет спроектировать дискретный оптимальный ли- нейно-квадратичный регулятор, минимизирующий непрерывный функционал (6.2). Обращение к процедуре [K,S,E] =lqrd(A,B,Q,R,N,Ts) , где Ts - заданный пе- риод дискретизации, приводит к расчету матрицы К статического звена (6.1) об- ратной связи по вектору состояния системы. При этом модель системы должна быть задана в конечно-разностной форме (6.8). Проектирование оптимального линейного дискретного регулятора для дис- кретной системы с использованием дискретного функционала (6.9) можно осу- ществить, используя процедуру dlqr, например, таким образом [K,S,E] = dlqr(A,B,Q,R,N,Ts) . Уравнения состояния системы должны быть предварительно приведены к конечно-разностной форме (6.8). Матрица S в этом случае представ- ляет собой решение уравнения Риккати в виде 6.5. Cинтез системы 305 A'SA - S - (A'SB+N)(R+B'SB) (B'SA+N') + Q = 0. (6.10) Процедура kalman осуществляет расчет (проектирование) фильтра Калмана для непрерывных или дискретных систем автоматического управления. Обраще- ние к процедуре имеет вид [KEST,L,P] = kalman(SYS,Qn,Rn,Nn), где SYS - имя модели системы. Для непрерывной системы dx dt A x B u G w = ⋅ + ⋅ + ⋅ ; (уравнения состояния) (6.11) y C x D u H w v = ⋅ + ⋅ + ⋅ + , (уравнение измерения) (6.12) с известными входами 'u', шумовым процессом 'w', шумом измерения 'v' и шумами ковариаций E{ww'} = Qn, E{vv'} = Rn, E{wv'} = Nn, (6.13) фильтр KEST имеет вход [u;y] и генерирует оптимальные оценки и соответ- ственно величин 'y' и 'x' путем решения уравнений: y e x e dx dt A x B u L y C x D u e e = ⋅ + ⋅ + ⋅ − ⋅ − ⋅ ( ) e u ; (6.14) y C x D e e = ⋅ + ⋅ . (6.15) При этом LTI-модель SYS-системы должна содержать данные в виде (A, [B G],C,[D H]). Фильтр Калмана KEST является непрерывным, если SYS пред- ставлена как непрерывная система, и дискретным - в противном случае. Процеду- ра вычисляет также матрицу L коэффициентов усиления фильтра и матрицу P ко- вариаций ошибок оценивания состояния. Для непрерывной системы и H=0 матри- ца Р рассчитывается как решение уравнения Риккати AP + PA' - (PC'+G*N)R -1 (CP+N'*G') + G*Q*G' = 0 . (6.16) Если система SYS задана конечно-разностными уравнениями x[n+1] = Ax[n] + Bu[n] + Gw[n] {уравнение состояния} (6.17) y[n] = Cx[n] + Du[n] + Hw[n] + v[n] {уравнение измерения} (6.18) то обращение [KEST,L,P,M,Z] = kalman(SYS,Qn,Rn,Nn) позволяет спроектиро- вать дискретный фильтр Калмана для заданной дискретной системы по заданным матрицам ковариаций E{ww'} = Qn, E{vv'} = Rn, E{wv'} = Nn. Фильтр Калмана в соответствии с разностными уравнениями x[n+1|n] = Ax[n|n-1] + Bu[n] + L(y[n] - Cx[n|n-1] - Du[n]) y[n|n] = Cx[n|n] + Du[n] (6.19) x[n|n] = x[n|n-1] + M(y[n] - Cx[n|n-1] - Du[n]) генерирует оптимальные оценки y[n|n] выхода и x[n|n] - переменных состояния, используя значения u[n] входа системы и y[n] - измеренного выхода. Помимо KEST программа выдает матрицы L оптимальных коэффициентов усиления фильтра и M обновителя, а также матрицы ковариаций ошибок оцени- вания вектора состояния P = E{(x - x[n|n-1])(x - x[n|n-1])'} (решение уравнений Риккати) Z = E{(x - x[n|n])(x - x[n|n])'} (апостериорная оценка) Процедура [KEST,L,P,M,Z] = kalmd(SYS,Qn,Rn,Ts) создает дискретный фильтр (оцениватель) Калмана KEST для непрерывной системы, описываемой 6.5. Cинтез системы 306 уравнениями (6.11) и (6.12) при Н = 0 и таких параметрах шумов: E{w} = E{v} = 0, E{ww'} = Qn, E{vv'} = Rn, E{wv'} = 0. Кроме параметров оценивателя проце- дура вычисляет и выдает ранее описанные матрицы L, M, P и Z. Задача построения (формирования) оптимального регулятора решается в MatLAB при помощи процедуры lqgreg. Если обратиться к этой процедуре RLQG = lqgreg(KEST,K), то она создает в матрице RLQG регулятор, соединяя предвари- тельно спроектированный фильтр Калмана KEST со статическим звеном опти- мальной обратной связи по вектору состояния, спроектированным процедурами (D)LQR или LQRY. Регулятор RLQG, входом которого является выход 'y' систе- мы, генерирует команды u = -K x е , причем x е является оценкой Калмана вектора состояния, основанной на измерениях 'y'. Этот регулятор должен быть подсоеди- нен к исходной системе как положительная обратная связь. Предыдущие процедуры опираются на некоторые "вспомогательные" про- цедуры, которые, однако, имеют и самостоятельное значение и могут использо- ваться при синтезе САУ. К таким процедурам можно отнести: |