Компьютерное проектирование систем автоматического управления
Программы на языке Matlab в виде М-файлов для исследования одноконтурных систем с типовыми регуляторами. Управление выполнением программ. Преобразование моделей к каноническим формам. Формирование устойчивых контуров корректирующих обратных связей по ЛАХ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | методичка |
Язык | русский |
Дата добавления | 23.03.2017 |
Размер файла | 971,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Полноразмерный наблюдатель. k = n.
Матрица Т - квадратная. Тогда естественно сделать её единичной, T = E. Наблюдателем оцениваются непосредственно все переменные x(t) вектора состояния объекта. Полноразмерный наблюдатель обладает фильтрующими свойствами и имеет структуру, не позволяющую измерительным шумам датчиков попадать непосредственно на вход регулятора
u(t) = - K x(t).
Редуцированный наблюдатель. k = n - r.
Порядок наблюдателя меньше порядка наблюдаемого объекта на число выходов. Очевидно, что выходы наблюдателя z(t) вместе с выходами объекта y(t) образуют комплекс из n сигналов, необходимых для полноценного управления объектом, например, с помощью модального регулятора
u(t) = - K x(t) = - G y(t) - H z(t),
где G и H -- матрицы соответствующих размерностей при выходах y(t) объекта и z(t) наблюдателя. Редуцированный наблюдатель сам по себе не обладает фильтрующими свойствами, так как в его структуре есть каналы непосредственной связи входов и выходов, что позволяет измерительным шумам датчиков попадать непосредственно на вход регулятора в составляющих H z(t). Фильтрующие свойства редуцированного наблюдателя вряд-ли имели бы смысл, так как измерительные шумы датчиков могут попадать непосредственно на вход регулятора в составляющих Gy(t)
Наблюдатель минимального порядка. k= v - 1.
Наименьший порядок наблюдателя на единицу меньше индекса наблюдаемости. Он позволяет сформировать любой линейный закон управления от переменных вектора состояния, используя совместно со своим выходным сигналом H z(t) сигналы датчиков y(t).
u(t) = - K x(t) = - G y(t) - H z(t),
где G и H -- матрицы соответствующих размерностей при выходе y(t) объекта и z(t) векторе состояния наблюдателя. Но в отличие от редуцированного наблюдателя, выходом наблюдателя минимального порядка. является сигнал H z(t), т.е. часть закона управления. Поэтому наблюдатель минимального порядка сразу проектируется под определённый закон управления. Изменение закона управления может потребовать перерасчёт наблюдателя, что не всегда удобно. Наблюдатель минимального порядка, являясь упрощенным вариантом редуцированного наблюдателя, фильтрующими свойствами не обладает всилу тех же причин.
7.4 Полноразмерный наблюдатель
Если порядок наблюдателя равен порядку объекта, то целесообразно положить T = Е. Тогда из (28) имеем
F = A - LC. (31)
Таким образом, полноразмерный наблюдатель однозначно определяется матрицей L размерностью n x r:
, (32)
при этом L необходимо выбирать таким образом, чтобы собственные числа матрицы (A - LC) отличались бы от собственных чисел матрицы А. Для полностью наблюдаемого объекта это всегда возможно.
Как видно из уравнения (32) полноразмерного наблюдателя, структура наблюдателя включает модель объекта плюс обратную связь через матрицу L от разности выходных сигналов y(t) объекта и его модели Cz(t). Структурная схема замкнутой системы, состоящей из объекта управления, полноразмерного наблюдателя и регулятора К по переменным вектора состояния изображена на рис.2.
Полноразмерный наблюдатель и фильтр Калмана имеют одинаковую структуру. Если матрицу L выбрать из условия наилучшего в средне квадратичном смысле подавления измерительных шумов при воспроизведении в оценках переменных вектора состояния не измеряемых случайных возмущений объекта управления, то полноразмерный наблюдатель будет фильтром Калмана.
7.5 Динамика системы объект - наблюдатель - регулятор
Динамика замкнутой системы с полноразмерным наблюдателем и регулятором с матрицей К описывается следующей системой уравнений:
(33)
Вычитая из первого уравнения третье и учитывая, что e(t) = x(t) - z(t), после преобразования получим
(34)
Матрица замкнутой системы
(35)
блочная треугольная. Характеристические числа матрицы (35) определяются диагональными блоками (A - BK) и (A - LC). Налицо две группы корней характеристического уравнения. Первая определяется объектом с регулятором K, вторая - наблюдателем. Таким образом, наблюдатель не влияет на корни замкнутой системы, а лишь добавляет свои.
В случае точной модели объекта управления, отсутствия измерительных шумов и случайного воздействия на объект управления рассогласование сигналов объекта и наблюдателя исчезает вскоре после включения. И в дальнейшем динамические свойства наблюдателя не оказывают какого-либо влияния на переходные процессы системы объект-регулятор. Т.е. в контуре управления по управляющему воздействию наблюдатель не наблюдаем. Но в процессах от возмущающих воздействий динамика наблюдателя проявляется в полной мере.
Так как точная модель объекта управления и отсутствие измерительных шумов вряд ли может иметь место на практике, динамика наблюдателя варьируется: от динамики наблюдаемого объекта до «достаточно быстрой». Медленная динамика наблюдателя подходит для фильтрации измерительных шумов. В случае их практического отсутствия корни наблюдателя стараются расположить левее корней замкнутой системы объекта с регулятором, чтобы динамика наблюдателя не сильно сказывалась на динамике всей системы.
7.6 Проектирование полноразмерного наблюдателя
Расчет матрицы L полноразмерного наблюдателя удобно производить методом модального управления для сопряженного объекта управления.
Собственные числа матрицы A - LC замкнутого наблюдателя не изменятся после ее транспонирования. Матрица соответствует сопряженной системе, где - входная матрица, а - матрица обратных связей по вектору состояния. Используя функции acker или place, решаем задачу модального управления для полноразмерного наблюдателя
Здесь н - столбец желаемых корней наблюдателя.
Используя вычисленную матрицу L наблюдателя создаем функцией estim наблюдатель Est объекта Sys
Est = estim (Sys, L)
Такое обращение к функции estim используют, если не предполагается (например, невозможно) подключать входные сигналы объекта к входу наблюдателю. Тогда в наблюдателе не формируются входы, подключаемые к входам объекта. Выходы наблюдателя Est [y_e ; x_e] - оценки выходов и вектора состояния объекта Sys.
В более общем случае используется обращение
Est2 = estim (Sys, L, sen, known).
Здесь объект Sys имеет измеряемые (known) воздействия u и неизмеряемые возмущения w, возможно стохастические воздействия. Строка known содержит номера входов с измеряемые сигналами, которые предполагается использовать в наблюдателе. Строка sen содержит номера выходов объекта Sys, подключаемых к наблюдателю, т.е. сигналы реальных датчиков. Остальные выходы -- неизмеряемые, т.е. чисто математические. Таким образом индексы входов known и выходов sen указывают на физически возможные связи объекта Sys и наблюдателя Est2. Вектор [u; y], составленный с индексами known, sen, будет входным наблюдателя Est. Выходной вектор [y_e ; x_e] наблюдателя Est2 составлен из оценок выходного вектора и вектора состояния объекта Sys.
Соединение наблюдателя с объектом и регулятором в контур управления
Наблюдатель нужно подсоединить к входам (known) и выходам (sen) объекта управления. Наиболее просто это сделать, проведя входы known на выход объекта управления Sys. Пусть 1-й вход - управляющий, 2-й - неизмеряемое возмущение, т.е. known=1. В наблюдателе будут использованы сигналы обоих имеющихся датчиков, т.е. sen = [1,2]
Sys2 = [ [1 0];Sys]
У оъекта Sys2 первый вход одновременно становится и первым выходом. Теперь объект с наблюдателем объединяются последовательным соединением
Sys_nab = Est2*Sys2
Наблюдатель Est2 с регулятором K также объединяются последовательным соединением, но матрица K дополняется слева r столбцами из нулей
nab_reg = [ [0 0], K]*Est2,
так как первые r выходов наблюдателя - оценки выходного вектора и лишь последующие n - оценки вектора состояний. Отсюда разомкнутый контур управления
Sys_nab_reg = [ [0 0], K]*Est2*[ [1 0];Sys]
и соответствующий замкнутый контур управления
Sys_nab_reg_z = feedback(Sy[ [1 0];Sys], [ [0 0], K]*Est2, 1, 1:3)
Здесь последние аргументы указывают, что обратная связь подключаеся к к первому входу и выходам 1, 2 и 3 объекта Sys2.
8 РЕДУЦИРОВАННЫЙ НАБЛЮДАТЕЛЬ
Полноразмерный наблюдатель оценивает все компоненты вектора состояния x(t). В то же время часть компонентов x(t) можно определить по результатам непосредственного измерения y(t). Избыточность полноразмерного наблюдателя устраняется в редуцированном наблюдателе. Если выходной вектор y(t) имеет размерность r, то порядок редуцированного наблюдателя - n - r. Таким образом выходы наблюдателя z(t) вместе с выходами объекта y(t) образуют комплекс из n сигналов, необходимых для полноценного управления объектом, например, с помощью модального или линейно-квадратичного регулятора.
8.1 Проектирование редуцированного наблюдателя
Пусть заменой переменных матрица С модели объекта управления приведена к блочному виду
, (36)
где Е - единичная матрица (rxr); 0 - нулевая матрица [rx(n - r)]. Т.е. первые r переменных вектора состояния x(t) совпадают с выходными переменными y(t).
Тогда вектор состояния x(t) можно разделить на две части
, (37)
и оцениванию подлежит только его вторая часть w(t). Матрицы A и B модели объекта управления следует разделить на части и представить в блочном виде
, (38)
где А11 - (rxr) матрица; A22 - (n-r)x(n-r) матрица.
Соответственно изменится запись уравнений объекта управления
(39)
Второе уравнение системы (39) будем рассматривать как уравнение наблюдаемого объекта. Редуцированный наблюдатель проектируют как полноразмерный для оценки вектора w(t) состояния второго уравнения. При этом А21 y(t) + B2 u(t) рассматривают как входное воздействие. Первое уравнение (39) используют как уравнение связи вектора w состояния с выходным вектором y. Рассчитывают редуцированный наблюдатель так же, как полноразмерный наблюдатель с той разницей, что роль матриц A, C играют соответственно А22, А12, а роль выходного сигнала y1(t) выполняет
. (40)
Получим уравнение наблюдателя (n - r) порядка
.(41)
Приведенному уравнению соответствует схема, изображенная на рис.4.
Рис.4
Чтобы избежать дифференцирования y(t), точку суммирования на рис.4 следует перенести через интегратор. Преобразованная схема редуцированного наблюдателя изображена на рис.5.
Рис.5
Структурная схема наблюдателя легко запоминается, так как ее матрицы имеют сходную структуру. Динамические свойства наблюдателя определяются матрицей A22 - LA12 обратных связей. Выбором матрицы L размерности rx(n - r) можно придать любые значения корням н характеристического уравнения наблюдателя:
det (E - A22 + LA12) = 0. (42)
Расчет матрицы L производим методом модального управления для сопряженного объекта
9 ФИЛЬТР КАЛМАНА
Фильтр Калмана используется для получения оптимальных по точности оценок вектора x(t) состояния объекта управления, подверженного случайным возмущениям w(t) по входу и измерительным шумам v(t) по выходу. Модель такого объекта управления имеет вид
где w(t) - внешнее возмущение и v(t) - измерительные шумы дачиков представляют собой центрированные, стационарные процессы типа белого шума, интенсивность которых задана соответственно матрицами Q,R и N, симметричными и положительно определенными.
E{ww'} = Q, E{vv'} = R, E{wv'} = N
Фильтр Калмана описывается уравнением
,
совпадающим с уравнением полноразмерного наблюдателя (рис.2).
Т.е. структурно фильтр Калмана и полноразмерный наблюдатель одинаковы и отличаются способами вычисления матрицы L, называемой иногда матричным коэффициентом усиления фильтра Калмана. Хотя логичней называть её регулятором, модальным - для наблюдателя или линейно-квадратичным - для фильтра.
Выходной сигнал фильтра Калмана является наилучшей, в среднеквадратическом смысле, оценкой вектора x(t) состояния объекта, если матрица L вычисляется, как
L = PC'R-1,
где P(t) - ковариационная матрица ошибок оценки (t) является решением матричного уравнения Риккати:
,
записанного для случая N = 0.
Проанализируем свойства фильтра Калмана на примере объекта 1-го порядка. Все матрицы становятся просто числами, а уравнение Риккати - алгебраическим 2-го порядка
Проектирование фильтра Калмана в Матлабе
Целесообразно воспользоваться Матлабом для решения матричного уравнения Риккати и проектирования фильтра.
Функция kalman возвращает наблюдатель (фильтр Калмана) Kest, матрицу L наблюдателя и ковариационную матрицу Р ошибок оценивания как решение уравнения Риккати для непрерывного или дискретного объекта Sys
[Kest,L,P] = kalman(Sys,Q,R,N)
Входами наблюдателя являются сигналы [u;y], выходами - оптимальные оценки выходного вектора и вектора состояния [y;x]. Все входы u(t) объекта Sys рассматриваются как стохастические.
Объект Sys составляется по матрицам объекта управления как
Sys = ss(A, [B G], C, D).
Обращение к функции kalman в виде
[Kest,L,P] = kalman(Sys,Q,R,N, sens, known)
позволяет выделить измеряемые выходы sens объекта Sys, а также разделить его входы на известные known и стохастические. Здесь sens, known индексы соответствующих выходов и входов объекта управления, которые реально могут быть использованы в структуре наблюдателя.
Цифровое управление непрерывным объектом достаточно широко распространено на практике. Функция kalmd предназначена для проектирования дискретного фильтра Калмана Kest c периодом дискретизации Tsj для непрерывного объекта Sys
[Kest,L,P,M,Z] = kalmd (Sys,Q,R, Ts)
Матрица М используется в уравнении обновления оценок для моментов времени получения новых измерений от датчиков. Разностные уравнения фильтра Калмана имеют вид
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]
x[n|n] = x[n|n-1] + M(y[n] - Cx[n|n-1] - Du[n]).
Функция возвращает также матрицу Z ошибок оценивания.
Реализацию фильтра Калмана также можно прооизвести функцией estim или совместно с обратной связью K по состоянию функцией reg, формируя полноразмерный наблюдатель в котором используется вычисленная командой kalman матрица L .
10. ОПТИМАЛЬНЫЙ ПО КВАДРАТИЧНОМУ КРИТЕРИЮ РЕГУЛЯТОР
10.1 Постановка задачи оптимизации режима стабилизации
Любую задачу оптимального управления начинают с определения понятия оптимальности. Этому служит критерий качества. Совокупность характеристик качества управления путем некоторого функционального преобразования представляется скалярной величиной, называемой критерием качества.
В теории оптимального управления доказано что оптимизация по квадратичному критерию всегда приводит к линейному закону управления. Поэтом задачу синтеза регулятора для линейного объекта часто решают по квадратичному критерию качества.
Для решения задачи стабилизации состояния объекта управления или его выходов используют уравнения объекта в отклонениях от желаемого режима
Для модели объекта в отклонениях необходимо найти линейный регулятор в обратной связи по переменным состояния
u = -K•x,
который бы обеспечил минимум интегрального критерия качества
.
Здесь Q и R - симметричные неотрицательно определенные матрицы весовых коэффициентов. Обычно Q и R выбирают диагональными матрицами. Причём матрица R не должна иметь нулей в главной диагонали. Подынтегральная функция представляет собой штрафную функцию, первое слагаемое которой характеризует потери, связанные с отклонением от желаемого режима, второе - затраты на управление.
Произвол критерия заключается в выборе значений матриц Q и R весовых коэффициентов. Не существует универсального подхода к заданию матриц весовых коэффициентов. Обычно они выбираются на основе инженерного опыта и последующей проверки моделированием САУ. Можно показать, что увеличение Q также как и уменьшение R приводят к увеличению матрицы К регулятора и расширению полосы пропускания САУ.
Искомая матрица K(t) вычисляется через решение уравнения Риккати:
,
или для установившегося режима
Таким образом, структура вышеизложенного линейно-квадратичного регулятора полностью совпадает со структурой модального регулятора и отличается лишь способом вычисления чисел матрицы K, более сложным, чем для модального регулятора. И хотя в готовом виде линейно-квадратичный и модальный регуляторы неразличимы, не существует методик пересчёта одного регулятора в другой. Одна из причин этого в различие количества числовых параметров критериев качества. Для модального регулятора их n - число размещаемых полюсов, для линейно-квадратичного регулятора их n+m - число весовых коэффициентов квадратичного критерия качества (диагональных элементов матриц Q и R). Т.е. полное совпадение линейно-квадратичного и модального регуляторов возможно как случайное событие, но не как результат целенаправленных действий.
10.2 Связь задач оптимального фильтра и оптимального регулятора
Если сравнить задачи расчета матрицы К оптимального регулятора и расчета матрицы L фильтра Калмана, то очевидно, что эти задачи сопряженные. Расчет матрицы К оптимального регулятора может быть заменен расчетом матрицы L фильтра Калмана для сопряженного инверсного объекта и наоборот.
Процедура замены расчета производится следующим образом. Объект управления с матрицами (А,В,С) заменяется на сопряженный инверсный с матрицами (A',C',B'). В качестве характеристик входных шумов берутся весовые коэффициенты Q критерия качества регулятора по вектору состояния, а в качестве характеристик выходных шумов - весовые коэффициенты R по входному сигналу. Вычисленная для таких условий матрица L фильтра Калмана совпадает с транспонированной матрицей К' оптимального регулятора исходного объекта.
Обе задачи также связаны принципами разделения. Для линейного объекта, подверженного Гауссовому случайному возмущению и Гауссовыми шумами датчиков, оптимальная по квадратичному критерию система управления состоит из оптимального фильтра и оптимального регулятора для детерминированного случая. Параметры фильтра и регулятора рассчитываются отдельно и независимо друг от друга. Для обозначения такой системы управления часто использают абривиатуру - ЛКГ-регулятор, которая расшифровывается как “Линейный закон управления, Квадратичный критерий качества, Гауссовы случайные воздействия”.
ЛКГ-регулятор представляет собой динамическую систему n-порядка. Формируется ЛКГ-регулятор функцией reg или lqgreg и подключается к объекту управления функцией feedback.
Модель замкнутой системы, состоящей из объекта управления, фильтра Калмана и оптимального по квадратичному критерию линейного регулятора, вычисляется с учётом того, что отрицательная обратная связь уже заложена в матрицу К регулятора. Поэтому замкнутую систему формируют как бы с положительной обратной связью, без дополнительной инверсии сигнала в точке замыкания обратной связи.
При проектировании линейно-квадратичного регулятора, также как и модального регулятора, требование к точности замкнутой системы не фигурирует. Ещё одной проблемой является зависимость коэффициента передачи замкнутой системы от коэффициентов регулятора. Поэтому объект управления желательно дополнить интегральным регулятором с единичной отрицательной обратной связью от выхода, и проектировать регулятор для расширеного объекта. Число дополнительных интегральных регуляторов ограничено числом выходов, но может быть и меньшим, например одним. При этом для проектирования наблюдателя используют модель объекта без интегрального регулятора. Пример такой программы приводится ниже.
10.3 Вычисление матрицы К линейно-квадратичного регулятора
Так как вычисление матрицы К линейно-квадратичного регулятора подразумевает решение матричного уравнения Риккати, подразумевается использование Матлаба.
Для непрерывных объектов используются функции: lqr, lqry, lqrd, lqi.
Функция lqr возвращает матрицу К регулятора, ковариационную матрицу Р ошибок и столбец Е собственных чисел матрицы замкнутой системы
.
Для критерия оптимизации, заданного по выходу y(t)
,
используется функция lqry
.
Дискретный регулятор с периодом Ts для непрерывного объекта вычисляется функцией lqrd
.
Для увеличения точности регулирования путём повышения порядка астатизма расширяют модель объекта, добавляя единичную обратную связь и интегральный регулятор к прямой цепи по одной или нескольким выходным переменным. Общий модальный регулятор для расширенного объекта называют интегральным модальным регулятором.
Функция lqi - линейно-квадратичный интегральный регулятор для непрерывного и дискретного объектов.
Функция lqi возвращает матрицу К регулятора, ковариационную матрицу Р ошибок и столбец Е собственных чисел матрицы замкнутой системы. Коэффициент для интегральной составляющей последний
u = -K z = -K [x;xi]
[K,S,E] = lqi(SYS,Q,R,N)
Для дискретных объектов с математическим описанием
,
,
используются функции dlqr, аналог функций lqr, или lqry с той разницей, что в них аргументами являются матрицы дискретного объекта управления:
.
Период дискретизации Ts не входит в число аргументов функций так как он уже задан моделью объекта управления.
10.4 Формирование линейно-квадратичного регулятора
Как непрерывные так идискретные ЛКГ-регуляторы формируются функцией reg или lqgreg. Различие между функциями в том, что функция lqgreg использует готовый наблюдатель kest и матрицу K регулятора объекта
Lkgr = lqgreg (kest, K).
В то время как функция reg сама формирует наблюдатель по модели Sys обекта и матрице L регулятора наблюдателя (фильтра Калмана)
Lkgr = reg (Sys, K, L).
Работа обеих функций никак не связана с квадратичным критерием качества. Поэтому аргументами lqgreg могут быть любой полноразмерный наблюдатель kest, не обязательно фильтр Калмана, и матрица K любого регулятора, например модального. Точно также аргументы функции reg матрицы K и L могут вычисляться на основе модального или любого другого подхода к проектированию регулятора и наблюдателя, не обязательно линейно-квадратичного. Более того, критерии проектирования наблюдателя и регулятора могут различаться. Безусловно, что результатом в таком случае будет не ЛКГ-регулятор.
Функция reg имеет и более общее обращение
Lkgr = reg (Sys, K, L, sen, known, cont),
Где дополнительно указываются индексы , sen измеряемых выходов, known измеряемых, но не управляемых входов, cont управляемых входов. Первые два используются в наблюдателе, третий - в регуляторе.
Функция lqgtrack - проектирует LQG сервоконтроллер как реализацию функции lqi. Сервоконтроллер может иметь один вход и проектироваться как
C = lqgtrack (KEST,K)
Для проектирования LQG сервоконтроллера двумя входами для следующей структуры
используется обращение
C = lqgtrack (KEST,K,'2dof').
Сервоконтроллер имеет встроенный фильтр Калмана и интегральный линейно-квадратичный регулятор, осуществляющий управление по закону
u = -K [x_e; xi],
где: x_e - оценка вектора состояния объекта фильтром Калмана или полноразмерным наблюдателем. Внутренняя структура сервоконтроллера С имеет вид
При обращении к функции lqgtrack в виде
C = lqgtrack (KEST,K,'1dof')
проектирует одновходовый сервоконтроллер с встроенным фильтром Калмана с входом сигнала ошибки e(t)
Обращение к функции lqgtrack в виде
C = lqgtrack (KEST,K,...,CONTROLS)
обеспечивает сервоконтроллер дополнительным входом Ud и указанием управляемой выходной переменной.
Функция lqg - проектирует LQG серво-контроллер
для объекта управления, заданного уравнениями
dx/dt = Ax + Bu + w
y = Cx + Du + v
и подверженого случайным возмущениям w(t) и измерительным шумам v(t).
Для проектирования контроллера KLQG, обеспечивающего управление со структурой
используется обращение к команде в виде
KLQG = lqg (SYS,QXU,QWV).
Команда вычисляет LQG регулятор KLQG, использующий измерение y(t) для формирования управляющего сигнала u(t), и минимизирующий как целевую функцию управления
J(u) = Integral {[x',u'] * QXU * [x;u]} dt,
так и ошибки оценивания встроенного фильтра Калмана по заданным матрицей QWV характеристикам случайных возмущений w(t) и измерительных шумов v(t),
E ([w;v] * [w',v']) = QWV.
Команда lqg использует внутри себя команды lqr и KALMAN.
Обращение к команде в виде
KLQG = lqg (SYS,QXU,QWV,QI)
вычисляет LQG серво-контроллер, использующий задающий сигнал r(t) и измерение y(t) для формирования управляющего сигнала u(t) и обеспечивающий астатическое слежение y(t) за r(t).
LQG серво-контроллер KLQG проектируется как минимизирующий целевую функцию
J(u) = Integral {[x',u'] * QXU * [x;u] + xi' * Qi * xi }dt.
При обращении
KLQG = lqg (SYS,QXU,QWV,QI,'1dof')
проектируется LQG серво-контроллер с одним входом по сигналу e(t) ошибки. Для проектирования LQG серво-контроллера с двумя входами используется следующее обращение
KLQG = lqg (SYS,QXU,QWV,QI,'2dof')
11. ВЫЧИСЛИТЕЛЬНЫЕ ПРОБЛЕМЫ ПРИ РАСЧЁТЕ СИСТЕМ УПРАВЛЕНИЯ
При расчёте моделей высокого порядка или многомерных систем получение точного численного результата может быть проблематичным из-за ограничений разрядной сетки чисел в арифметике с плавающей точкой. При каждой операции происходит округление результата. Ошибки округления нарушают законы ассоциативности и дистрибутивности. А соблюдение закона коммутативности возможно лишь в нечётных системах счисления. В современных компьютерах ошибкам свойственно накапливаться и усиливаться, даже в алгоритмах с выраженной вычислительной устойчивостью.
Для получения на компьютере достаточно точного численного результата необходимо:
обеспечить хорошую обусловленность задачи;
обеспечить численную устойчивость алгоритма;
выполнить высококачественную реализацию алгоритма в арифметике конечной точности.
Задача считается хорошо обусловленной, если малые изменения исходных данных вызывают малые изменения решения. Для типовых задач, например задаче обращения матрицы, задаче вычисления собственных значений матрицы, обусловленность оценивают числом обусловленности.Плохо обусловленные задачи имеют число обусловленности больше e+4, e+5. Числа обусловлености в Matlab вычисляется командами cond, condest, condeig для задч обращения матриц, решения систем линейных уравнений, вычисления собственных значений. Команда rcond возвращает обратное значения числа обусловлености матрицы. При любых вычислениях Matlab производит оценку обусловленности и выводит предостережение в командную строку о плохой обусловлености задачи, если её обнаруживает.
Численно устойчивый алгоритм должен позволить получить решение хорошо обусловленной задачи в малой степени зависящее от возмущений. Т.е. обусловленность алгоритма должна быть не хуже обусловлености решаемой задачи.
В Matlab стремятся использовать достаточно надёжные алгоритмы, но для некоторых задач их пока просто не существует. В качестве средств улучшения точности и надёжности вычисления при расчётах систем управления можно отнести:
выбор типа lti модели;
масштабирование модели;
упрощение и балансирование модели.
При выборе типа lti модели из набора tf, zpk и ss предпочтение следует отдавать ss-моделям как наиболее надёжным при выполнении вычислений. Для представления пользователю модель целесообразно преобразовывать в zpk форму как наиболее обозримую. При необходимости манипулировать с физически нереализуемыми объектами (например, при проектировании гибкой обратной связи) приходится пользоваться tf формой, так как для таких объектов ss формы не существует, а для zpk формы не работают некоторые команды, например feedback.
Масштабирование модели следует производить по координатам и по времени. Масштабирование по координатам в ss-модели производится автоматически, если только его не запретить командой no balance. Более важно обеспечить хорошее масштабирование во времени. Например, в качестве единицы времени использовать не секунду, а 10 милисекунд. В хорошо масштабированной модели собственные частоты расположены вблизи еденицы, а длительность переходной характеристики - вблизи пятёрки.
При соединении нескольких моделей в одну порядок модели может оказаться завышенным. В модели появляется ненаблюдаемая часть. Расчёт по такой модели может привести к ошибкам. Необходимо упрощение модели командой minreal. Дополнительного увеличения точности расчётов можно достичь балансированием модели по грамианам командой balreal.
Литература
Основная
Медведев, В. С. Control System Toolbox. MATLAB 5 для студентов /
В. С. Медведев, Потёмкин В.Г. - М. : ДИАЛОГ-МИФИ, 1999.
Автоматизированное проектирование систем управления. /Под ред. М. Джамшиди и др. - М. : Машиностроение, 1989.
Рей, У. Методы управления технологическими процессами / У. Рей. -М. : Мир, 1983.
Кузовков, Н. Т. Модальное управление и наблюдающие устройства / Н. Т. Кузовков. - М. : Машиностроение, 1975.
Потёмкин, В.Г. Система инженерных и научных расчётов MATLAB 5.X. В 2-х т. / В. Г. Потёмкин. - М. : ДИАЛОГ-МИФИ,1999.
Андриевский, Б. Р. Избранные главы теории автоматического управления с примерами на языке MATLAB. / Б. Р. Андриевский, А. Л. Фрадков. -
СПб. : Наука, 1999. - 467 с.
Гришин, Ю. П. Динамические системы, устойчивые к отказам / Ю. П. Гришин, Ю. М. Казаринов. - М. : Радио и связь, 1985.
Интеллектуальные системы автоматического управления / Под ред.
И. М. Макарова, в. м. лохина. - м. : Физматлит, 2001.
Мирошник, И. В. Теория автоматического управления : учеб. пособие в 2 частях / И. В. Мирошник. - СПб. : Питер, 2005. Ч.1 - 336 с. 2006. Ч.2 - 272 с.
Справочник по теории автоматического управления / Под ред.
А. А. Красовского. - М. : Наука, Гл. ред. физ.-мат.лит., 1987. - 712 с.
Дьяконов В.П., МАТЛАБ7.*/R2006/R2007: Самоучитель. - М.; ДМК Пресс, 2008. - 768 с.
А.Г.Коробейников, Разработка и анализ математических моделей с использованием MATLAB и MAPLE. ИТМО, СПб, 2010. - 144 с.
Дорф Р., Бишоп Р. Современные системы управления. М: Изд-во: Лаборатория Базовых Знаний, 2004 - 832 с.
А. Н. Паршуков, Методы синтеза модальных регуляторов. Тгну, Тюмень, 2008. - 59 с.
ДОполнительная
Хаджинов, М. К. Методическое пособие к лабораторным работам по курсу «Автоматизированное проектирование систем управления на ПЭВМ» / М. К. Хаджинов, А. С. Леошин. - Минск : БГУИР, 1998.
Антипова, М. А. методическое пособие к лабораторным работам по курсу «Автоматизированный расчёт систем управления» / М. А. Антипова, М. К. Хаджинов. - Минск : БГУИР, 2004
Хаджинов, М. К. Методическое пособие к практическим занятиям по курсу «Алгоритмы управления сложными системами» / М. К. Хаджинов, Е. П. Кукареко. - Минск : БГУИР, 1994.
Приложение А
СПИСОК ФУНКЦИЙ CONTROL SYSTEM TOOLBOX
Создание lti-моделей |
||
ss |
Создание или преобразование в пространство состояний |
|
zpk |
Создание или преобразование в zpk передаточную функцию |
|
tf |
Создание или преобразование в tf передаточную функцию |
|
filt |
Создание tf-модели в формате цифрового фильтра |
|
ord2 |
Сздание непрерывно модели 2-го порядка |
|
rss |
Сздание устойчивой модели со случайными параметрами |
|
set |
Установка свойств lti-модели |
|
Извлечение информации о lti-моделях |
||
get |
Извлечение свойств lti-модели |
|
ssdata |
Извлечение данных о ss -модели |
|
zpkdata |
Извлечение данных о zpk -модели |
|
tfdata |
Извлечение данных о tf-модели |
|
Преобразование lti-моделей |
||
c2d |
Непрерывной в дискретную |
|
d2c |
Дискретной в непрерывную |
|
d2d |
Дискретной в дискретную |
|
ss2ss |
Преобразование подобия в пространстве состояний. |
|
canon |
Преобразование в каноническую форму |
|
residue |
Разложение отношения двух полиномов на дроби |
|
ctrbf |
Выделение управляемой подсистемы |
|
obsvf |
Выделение наблюдаемой подсистемы. |
|
ssbal |
Балансирование модели масштабированием переменных |
|
balread |
Балансирование модели уравниванием грамианов |
|
modred |
Удаление части переменных состояния модели. |
|
minread |
Удаление общих нулей и полюсов |
|
angstate |
Добавление переменных состояния в вектор выхода. |
|
Соединение моделей |
||
append |
Объединение моделей в одну без соединения |
|
connect |
Соединение входов и выходов по матрице связей |
|
series, * |
Последовательное соединение моделей |
|
parallel |
Параллельное соединение моделей |
|
feedback |
Соединение двух моделей по принципу обратной связи |
|
[ , ] |
Объединение выходов моделей |
|
[ ; ] |
Объединение входов моделей |
|
star |
Соединение двух моделей звездой |
|
Свойства модели |
||
covar |
Ковариационный отклик системы на белый шум. |
|
сtrb |
Матрица управляемости. |
|
damp |
Коэффициенты демпфирования и собственные частоты. |
|
dcgain |
Вычисление коэффициента усиления по статике |
|
gram |
Грамианы управляемости и наблюдаемости |
|
esort |
Сортировка полюсов непрерывной модели |
|
dsort |
Сортировка полюсов дискретной модели |
|
eig |
Собственные числа и векторы |
|
obsv |
Матрица наблюдаемости |
|
tzero |
Передача нулей |
|
pade |
Аппроксимация Паде на временное запаздывание |
|
Расположение корней |
||
pzmap |
Карта полюсов и нулей |
|
rlocfind |
Интерактивный выбор расположения корней |
|
rlocus |
Расчёт и построение корневого годографа Эванса |
|
(z)sgrid |
Координатная сетка изображения расположения корней |
|
roots |
Корни полинома |
|
conv |
Свертка (умножение) полиномов. |
|
Временной отклик системы |
||
impulse |
На единичный импульс |
|
initial |
На начальные условия |
|
lsim |
На произвольное входное воздействие |
|
step |
На ступенчатое воздействие |
|
gensig |
Генератор входных сигналов |
|
stepfun |
Ступенчатая функция с задержкой |
|
5.Частотный отклик системы |
||
bode |
График Боде (ЛАХ и ФЧХ) |
|
nichols |
График Николса |
|
nyquist |
График Найквиста (АФЧХ) |
|
sigma |
Частотный график сингулярных значений |
|
freqresp |
Вычисление частотных характеристик в заданном диапазоне частот |
|
evalfr |
Вычисление передаточной функции в заданных точках |
|
margin |
Запасы устойчивости по фазе и модулю |
|
Расчёт и формирование регуляторов |
||
acker |
Размещение полюсов одномерной системы |
|
place |
Размещение полюсов многомерной системы |
|
kalman |
Расчёт фильтра Калмана. |
|
kalmd |
Расчёт дискретного фильтра Калмана для непрерывного объекта |
|
lqr |
Расчёт линейно-квадратичного регулятора |
|
lqry |
Расчёт ЛК регулятора с весовыми коэффициентами по выходу. |
|
lqrd |
Расчёт дискретного ЛК-регулятора для непрерывного объекта |
|
dlqr |
Расчёт дискретного ЛК-регулятора. |
|
estim |
Формирование наблюдателя по матрице регулятора наблюдателя. |
|
reg |
Формирование регулятора и наблюдателя по матрицам регуляторов. |
|
lqgreg |
Формирование ЛКГ-регулятора по наблюдателю и матрице регулятора |
|
lqi |
Расчёт интегрального линейно-квадратичного регулятора |
|
lqgtrack |
Формирование интегрального ЛКГ-регулятора по наблюдателю и матрице регулятора |
|
lqg |
Расчёт и формирование интегрального ЛКГ-регулятора по матрицам интегральных критериев качества для регулятора и фильтра |
Размещено на Allbest.ru
...Подобные документы
Исследование линейных динамических моделей в программном пакете Matlab и ознакомление с временными и частотными характеристиками систем автоматического управления. Поиск полюса и нуля передаточной функции с использованием команд pole, zero в Matlab.
лабораторная работа [53,1 K], добавлен 11.03.2012Область применения систем управления. Разработка математической модели исходной систем автоматического управления (САУ). Синтез корректирующих устройств. Анализ качества исходной и скорректированной САУ. Расчёт параметров корректирующих устройств.
курсовая работа [1,6 M], добавлен 25.02.2014Теория автоматического управления как наука, предмет и методика ее изучения. Классификация систем автоматического управления по различным признакам, их математические модели. Дифференциальные уравнения систем автоматического управления, их решения.
контрольная работа [104,1 K], добавлен 06.08.2009Особенности процесса проектирования систем компьютерного управления объектами. Принципы построения системы компьютерного управления мехатронной системой. Составление алгоритма и программы управления с использованием языка Pascal и Assembler-вставок.
курсовая работа [692,7 K], добавлен 06.02.2016Обзор методов составления математических моделей систем автоматического управления. Математические модели системы в векторно-матричной форме записи. Моделирование в пакете программы Simulink. Оценка устойчивости системы, рекомендации по ее применению.
курсовая работа [514,5 K], добавлен 10.11.2011Основные направления развития параллелизма, модели параллельного программирования. Автоматические средства разработки параллельного ПО, анализ последовательной программы. Разработка системы автоматического распараллеливания программ на языке Fortran77.
дипломная работа [57,7 K], добавлен 14.10.2010Расчет параметров регулятора и компенсатора для непрерывных и дискретных систем для объекта и возмущающего воздействия в пакете Matlab. Вид передаточных функций. Моделирование систем управления. Оценка переменных состояния объекта с помощью наблюдателя.
курсовая работа [712,5 K], добавлен 04.12.2014Исследование систем управления в пакете Vissim. Частотный анализ типовых звеньев. Изучение устойчивости и качества переходных процессов системы управления при гибкой отрицательной обратной связи в Matlab. Cоздание передаточных функций звеньев и систем.
курсовая работа [4,4 M], добавлен 25.12.2014Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.
контрольная работа [534,7 K], добавлен 11.01.2015Проектирование информационного обеспечения, систем классификации и кодирования. Технология разработки программного обеспечения. Произведение расчётов по кредитам компании и организация межтабличных связей для автоматического заполнения необходимых ячеек.
курсовая работа [1,6 M], добавлен 13.11.2011Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Математические процессы, происходящие в системах автоматического управления. Определение передаточных функций разомкнутой и замкнутой систем, критерии устойчивости. Физический смысл логарифмических асимптотических амплитудных частотных характеристик.
курсовая работа [2,3 M], добавлен 12.05.2014Идентификация моделей каналов преобразования координатных воздействий объекта управления. Реализация моделей на ЦВМ и их адекватность. Формулирование задач управления, требований к их решению и выбор основных принципов построения автоматических систем.
курсовая работа [1,4 M], добавлен 10.04.2013Получение передаточной функции по модели разомкнутой системы автоматизированного управления двигателем постоянного тока. Получение оптимальных коэффициентов обратных связей в среде MatLab. Расчет переходных процессов системы с оптимальными коэффициентами.
лабораторная работа [1,3 M], добавлен 31.10.2012Использование программного обеспечения MatLab для выполнения математических расчетов в области линейной алгебры, теории информации и обработки сигналов, автоматического и автоматизированного управления. Возможности стандартного интерфейса программы.
курсовая работа [178,7 K], добавлен 08.08.2011Динамические характеристики типовых звеньев и их соединений, анализ устойчивости систем автоматического управления. Структурные схемы преобразованной САУ, качество процессов управления и коррекции. Анализ нелинейной системы автоматического управления.
лабораторная работа [681,9 K], добавлен 17.04.2010Программные средства имитационного моделирования систем массового обслуживания. Программная среда Matlab, ее структура и основные компоненты, функциональные особенности, а также назначение. Разработка подсистем моделирования. Инструкция пользователя.
дипломная работа [3,3 M], добавлен 10.07.2017Понятие и принципы моделирования. Специфика систем и основных моделей управления запасами. Создание программы на языке C++, обеспечивающей ввод исходной информации, ее обработку, реализацию алгоритма имитации процесса и выдачу необходимой информации.
курсовая работа [1,0 M], добавлен 13.09.2012Изучение деформации систем твердых тел. Линейные и нелинейные деформационные процессы. Построение математических моделей систем деформируемых твердых тел. Метод энергетической линеаризации. Компьютерное моделирование осадки плитных коробчатых фундаментов.
курсовая работа [1,2 M], добавлен 11.01.2017Исследование полных динамических характеристик систем Simulink. Параметрическая идентификация в классе APCC-моделей. Идентификация характеристик пьезокерамических датчиков с использованием обратного эффекта. Синтез систем автоматического управления.
курсовая работа [2,7 M], добавлен 14.06.2019