Пакет
«Автоматика» для Matlab
А.Г. Александров,
внс, д. ф.-м. н., проф., alex7@ipu.rssi.ru,
Д. В. Шатов,
инж., iontihii@rambler.ru,
ИПУ РАН, Москва
Описывается алгоритм,
структура и область применения пакета «Автоматика». Пакет предназначен для
инженеров-разработчиков систем автоматического управления. Их целью является
получение допустимых установившихся ошибок по регулируемым переменным в
условиях неизвестных ограниченных внешних возмущений и при медленноменяющихся,
неизвестных параметрах объекта. В таких ситуациях требуется идентификация
параметров объекта и преобразование регулятора. Пакет содержит специальные
структуры для таких пользователей. Основой этих структур являются директивы
(программы), которые решают конкретный класс задач. Пакет включает три группы
директив: синтез регуляторов, конечно-частотная идентификация, частотное
адаптивное управление.
The algorithm, the structure and area of application of package
«Automatica» are considered. The package is intended for engineers-developers of real-world
control system. The purpose of such users is to provide the given tolerance on
steady-state error for each controlled variables when the disturbance is
unknown but bounded function and the uncertain plant parameters change their
values slowly. In this connection, the identification of plant parameters and
redesign of controller are required. The package has special structure that is
oriented for such users. The basis of this structure is the directives that
solve defined class of problems. The package includes three groups of
directives: controller design, finite-frequency identification, frequency
adaptive control.
Работа реальных систем
управления характеризуется показателями качества: установившаяся ошибка, время
регулирования, перерегулирование по каждой регулируемой переменной.
Синтез регуляторов по
этим показателям затруднен, из-за неопределенности границ внешнего возмущения и
неизвестных коэффициентов объекта, которые могут менять свои значения. Это
свойство объекта описывается с помощью модели многорежимного объекта.
Пакет «Автоматика»
предназначен для синтеза регуляторов при таких условиях. Он ориентирован на две
группы пользователей. Первая группа — это исследователи, хорошо знающие теорию
управления и проблемы управления в конкретной предметной области. Исследователи
создают программы для решения реальных задач (далее такие программы будем
называть «директивы»). Директива представляет собой программу, состоящую из
трех частей: программное обеспечение для пользовательского интерфейса,
вычислительная часть и средства вывода промежуточных и окончательных
результатов. Каждая директива решает определенный класс задач построения
законов управления.
Вторая группа
пользователей — инженеры-разработчики систем автоматического управления. Цели этой
группы и ограниченное время на разработку систем управления исключают
возможность их участия в создании программного обеспечения для решения их
задач. Кроме того необходимость глубоких знаний
теории управления также является препятствием для участия в разработке
директив. Инженер выбирает директиву, которая решает его задачу из списка
директив пакета и вводит описание задачи. Решение задачи выполняется
автоматически. Проанализировав результаты, он принимает решение о приемлемости
разработанного регулятора.
Пакет «Автоматика»
содержит 3 группы директив: синтез регуляторов, конечно-частотная
идентификация, частотное адаптивное управление. Этот пакет является расширением
ранее разработанного программного обеспечения. Директивы пакета GAMMA-1PC [1]
для синтеза регуляторов многомерных систем были написаны на FORTRAN. Теперь они
разработаны в среде MATLAB. Пакет ADAPLAB-3 [2]
улучшен возможностью самонастройки тестового сигнала. Это очень важная
модификация. Суть заключается в том, что базой для адаптивного управления
является метод конечно-частотной идентификации. Этот метод использует тестовый
сигнал, в котором число гармоник не превышает порядка объекта. Определение
амплитуд и частот тестового сигнала составляет главную трудность метода.
Амплитуды настраиваются таким образом, чтобы разность между текущим выходом
объекта и в отсутствие тестового сигнала лежала в допустимых границах.
Самонастройка частот позволяет уменьшить длительность идентификации. В отличие
от пакета ADAPLAB-3, который позволяет осуществлять
самонастройку тестового сигнала для одномерных объектов, пакет «Автоматика»
позволяет производить самонастройку для многомерных объектов.
Сравним возможности
представленного пакета с подобными пакетами MATLAB. Пакет Control System
Toolbox предназначен для первой группы пользователей (исследователей), которые
владеют обширными знаниями по теории управления и знаниями в области применения
теории управления (например, авиация, энергетика и т. д.). Такие специалисты
используют широкий спектр m-функций для разработки
процедур решения реальных систем проектирования. Но использование такого пакета
затруднительно для инженера-разработчика систем управления.
Пакет идентификации
Frequency-domain system identification toolbox может применяться только в
отсутствии внешнего возмущения, или если оно представляет собой белый шум
(частотный метод, метод наименьших квадратов). Метод инструментальных
переменных [3] применим для произвольного внешнего возмущения, но нет
возможности проводить настройку регулируемого выхода объекта. Из-за этого
длительность идентификации может существенно увеличиться. По этой причине метод
мало пригоден для адаптивного управления.
Рассмотрим
асимптотически устойчивую систему управления:
(1)
(2)
где [re] — номер режима работы объекта (1), — момент окончания re-го
режима (значения , re = 0, 1, 2, … для
простоты известны), — вектор состояния объекта, — вектор состояния регулятора (2), — вектор управления, — вектор измеряемых переменных, — вектор регулируемых переменных, — вектор неизмеряемых внешних возмущений, — вектор помех
измерений, — матрицы чисел.
Внешнее возмущение и
помеха — ограниченные полигармонические функции:
(3)
где частоты и и фазы и () — неизвестны, а неизвестные амплитуды и () удовлетворяют условиям:
(4)
где и () — известные числа.
При выполнении
условий (4) справедливы неравенства:
(5)
Частным случаем
функций (3) являются кусочно-непрерывные функции, разложенные в ряд Фурье,
удовлетворяющий условиям (4).
Установившиеся ошибки
по регулируемым переменным и управлениям определим как:
(6)
Предполагается, что
длительности () режимов работы объекта достаточно велики; числа и находятся с
достаточной точностью.
Цель управления имеет
вид:
(7)
где — заданные числа.
Управление,
обеспечивающее достижение цели (7) называется точным управлением.
Пакет предназначен
для нахождения матриц регулятора (2), при которых достигается цель управления
(7) для объекта (1) при различных уровнях неопределенности матриц объекта (1).
Пакет содержит 3
группы директив: синтез регуляторов, конечно-частотная идентификация, частотное
адаптивное управление.
Каждая директива
содержит интерфейс, с помощью которого вводятся дифференциальные уравнения
объекта, внешние возмущения и их границы , допуски на регулируемые
переменные. Настраиваемые параметры алгоритмов управления и идентификации
задаются по умолчанию, но также могут задаваться с помощью интерфейса. Кроме
того, с помощью интерфейса возможно выведение на экран промежуточных
результатов.
Дифференциальные
уравнения объекта вводятся в произвольной форме. Наиболее общей является следующая
форма Лагранжа:
(8)
где s — символ дифференцирования, либо символ преобразования
по Лапласу при нулевых начальных условиях, — матрицы чисел, — вектор промежуточных переменных.
Эти уравнения
приводятся к форме (1) пространства состояний и расчетные части директив
используют эти уравнения.
Функция lagraca выполняет такое
преобразование.
[A1, B1, B2, C2, C1]=lagraca(L1, …, Ll1, Lu1,
…, Lul2, Lf1, …, Lfl3, Dy, Dz )
Каждая директива содержит эту функцию.
В этих директивах
объект (1) — однорежимный, и он описывается уравнениями:
(9)
в которых матрицы известны с достаточной
точностью, так что объект (9) — робастно стабилизируем. Последнее означает, что существуют матрицы
чисел регулятора:
(10)
такого, что при малых вариациях матриц
объекта (9) система (9), (10) асимптотически устойчива.
Директивы синтеза
отличаются видами уравнений объекта.
Объект первого вида
описывается уравнениями:
(11)
Цель управления (7)
достигается управлением
(12)
минимизирующем функционал
(13)
в котором
(14)
Директива содержит функции care
и lsim.
[G]=care(A,B,Q)
[z]=lsim(A+BQ,f)
где . Здесь и далее некоторые входы и выходы в описании функций
опущены.
Объект второго вида
описывается уравнениями:
(15)
Кроме того, он должен
быть минимально фазовым. Это означает что, если записать уравнение объекта (15)
в форме «вход-выход», то получим уравнение:
(16)
тогда корни полинома имеют отрицательные
вещественные части.
Введя управление
(17)
и приводя уравнение к форме Коши. Получим,
используя директиву 441 и получая вектор x
из (12) с помощью вектора y
через выражение (11) () получим управление
(18)
Если регулятор (18)
не реализуем, то функционал дополняется квадратами производных управлений так,
чтобы уравнение (18) приводилось к форме Коши (10). Это приводит к
существенному усложнению директивы. Описание в этом случае опущено.
Директивы 441 и 442
обеспечивают выполнение требований к радиусу запасов устойчивости
(19)
где — наименьшее
положительное число, при котором
выполняется неравенство
(20)
Директива состоит из функций
[P_1, Q, Q_1]=cauio(A, B_2, B_1, C_2)
[F, Phi]=vost(A, B_2, C_2)
[r]=radi(W,
W_c)
и функции директивы 441.
Объект общего вида
описывается уравнениями (9). Эта директива основана на функции hinfric,
в которой матрицы определяются
выражением (14).
Заметим, что
директива 441 и 442 обеспечивают достижение цели управления при любых заданных
значениях . В директиве 443 эти значения должны удовлетворять
неравенству
(21)
где находится с помощью
функции hinfric. Кроме того, могут нарушаться требования (19) к запасам
устойчивости системы.
Директивы
конечно-частотной идентификации предназначены для моделирования процессов
конечно-частотной идентификации и уточнения параметров алгоритмов идентификации.
Директивы могут быть
применены также для идентификации реального объекта в реальном времени.
В методе
конечно-частотной идентификации [4] используются испытательные сигналы, которые
являются суммой гармоник, число которых не превышает размерности вектора
состояний объекта. Директивы отличаются самонастройкой амплитуд, частот и
длительностью испытательных сигналов.
Рассмотрим
асимптотически устойчивый объект (9), где и — неизвестные
ограниченные функции, также неизвестны его коэффициенты.
Представим уравнение
(9) как
(22)
где .
Элементы передаточной
матрицы имеют вид
(23)
Числа и полагаем для простоты известными. К объекту (22)
прикладываются испытательные сигналы
(24)
где — момент приложения тестового сигнала, а — длительность приложения испытательного сигнала (время
идентификации) частоты — положительные, не
совпадающие друг с другом числа, амплитуды — неотрицательные
числа. Идентификация предназначена для нахождения оценок коэффициентов
передаточных функций (23).
В этой директиве
время идентификации — , амплитуды и частоты — заданные числа.
Уравнение (9) с
управлением (24) решаются программой lsim.
[y]=lsim(sys, u1, tau)
u1=[u; f; h];
sys=ss(A, B, C, D)
A=A1;
B=[B1 B2];
C=C2; D=0
Решение поступает на
вход фильтра Фурье, чьи выходы дают следующие частотные параметры объекта
(25)
Решается система линейных уравнений
(26)
и находим оценки (в момент времени ) коэффициентов передаточных функций (23).
Директива содержит,
кроме lsim, функции fourmi и freqmi.
Функция fourmi
дает оценки частотных параметров (26):
[alpha, beta]=fourmi(y, u, omega, rho, tau, tn, tf)
где alpha и beta
— матрицы составленные из компонент и ; omega, rho
— вектора, составленные из частот и амплитуд .
Функция freqmi
решает уравнение (27) и находит оценки коэффициентов объекта
[k, d]=freqmi(alpha, beta, omega)
где k и d
— матрицы оценок искомых коэффициентов
В этой директиве
время — не задано, а находится в процессе идентификации, используя
необходимые условия сходимости идентификации.
Искомая величина представляется как
(27)
где — период наименьшей испытательной частоты , и — целые положительные числа.
Проверяются следующие
неравенства:
(28)
где — набор векторов, — вектор заданных достаточно малых чисел (параметров
идентификации).
Для каждого значения используется директива d123mi
до тех пор, пока не выполнятся необходимые условия (28).
В этой директиве
время идентификации и амплитуды испытательного сигнала
не заданы и амплитуды находятся в процессе идентификации из неравенства
(29)
где
(30)
— «естественные»
выходы объекта, когда испытательный сигнал отсутствует (). Числа — характеризуют
влияние испытательного сигнала на выход объекта, — заданные числа,
определяющие допустимые добавки к «естественным» выходам. Длительность
идентификации увеличивается с уменьшением чисел .
Самонастройка
амплитуд осуществляется до начала идентификации. При этом учитывается
ограничение на управление
(31)
где — заданные числа.
Самонастройка
осуществляется функцией tunampmi, которая содержит функцию lsim.
[rho]= tunampmi(A, B1, B2, C2, f, nu, uq*, kappa*, initrho, t)
где initrho — начальные значения
амплитуд, t — время, в течение которого осуществляется самонастройка
амплитуд.
В этой директиве
частоты и амплитуды испытательного сигнала (24) и времени не заданы, а находятся в процессе идентификации.
Испытательные частоты
должны выбираться из интервала собственных частот объекта. В противном случае
время идентификации может оказаться
недопустимо большим. Этот интервал определяется постоянной времени передаточной
функции объекта. Запишем эти передаточные функции как
(32)
Обозначим нижние и
верхние границы
(33)
Испытательные частоты
по -му
входу объекта должна удовлетворять неравенствам
(34)
Нижние границы находятся с помощью
процедуры P1:
1) Объект
возбуждается управлением
(35)
где — заданные числа (начальные
значения оценок нижних границ), амплитуды находятся с помощью
функции tunampmi.
2) Оценки нижних
границ находятся по формуле
(36)
где — находится с помощью функции tunFourmi.
3) Повторим 1)-2) для
и найдем новые оценки и так далее до тех
пор, пока не будет выполнено условие
(37)
где — заданные числа.
Нижняя граница
находится с помощью функции tunfLomi. Она содержит в
частности функции lsim,
fourmi (с поиском ), tunampmi.
[omega_low]=tunfLomi(A, B1, B2, C2, f, nu, uq*, kappap*, initrho, w_in,
eps_omt_pq1)
где omega_low — матрица оценок нижних границ собственных
частот.
Оценка верхней
границы определяется как
(38)
где — заданные числа,
являющиеся оценками интервалов собственных частот каждой передаточной функции.
Директивы частотного
адаптивного управления предназначены для моделирования процессов адаптации и
уточнения параметров алгоритмов идентификации и адаптации. Директивы могут быть
применены для адаптации регулятора многорежимного объекта (1).
Эти директивы
являются простым соединением директив идентификации и директив точного
управления и таким образом построено 12 директив. Названия этих директив является
объединением соответствующих названий директив идентификации и синтеза.
Например, d123sumi442 — эта директива
адаптивного управления с идентификацией объекта второго вида без самонастройки
испытательного сигнала.
Пусть, используя одну
из директив п. 5.1 адаптации, построен регулятор (10) для первого режима. В
момент времени коэффициенты объекта
(1) изменились. Примем при этом, что система (1),(11) сохранила устойчивость
(это свойство предполагается выполнимым и для последующих смежных режимов:
регулятор, построенный для i-го режима
обеспечивает устойчивость объекта в (i+1)-м режиме).
Для идентификации
объекта в выбранном режиме к объекту прикладывается заданные испытательные
сигналы
(39)
где индекс «[2]» означает второй режим, и
объект (1) описывается уравнением
(40)
Выходы объекта и
регулятора передаются на фильтр Фурье и, используя функцию fourmi,
находим значения преобразования Фурье для входных и выходных сигналов. Затем
вычисляются частотные параметры.
С помощью функции freqmi,
в которой содержатся вычисления по формулам (42), находим оценки коэффициентов
передаточной матрицы объекта.
Амплитуды и частоты
испытательных сигналов (39) часто могут быть вычислены, используя результаты
идентификации объекта в первом режиме и соответствующий ему регулятор, так как
коэффициенты объекта в i-ом и (i+1)-ом режимах часто
достаточно близки. Если они не близки, то для таких случаев имеются директивы d323dumi,
d323adumi, d323floadumi,
в которых на втором и соответствующих последующих режимах используются
директивы идентификации d123dumi,
d123adumi, d123floadumi.
Литература
1. Alexandrov A. G. and S. Yu. Panin (1997). GAMMA-1PC as CACSD tools for
practisins engineers. Proceedings of 7th Symposium on Computer Aided
Control System Design (CACSD’97), Gent, Belgium, P. 287-292
2. Alexandrov A. G., Yu. F. Orlov and L. S. Mikhailova (2009). ADAPLAB-3:
finite-frequency identification and adaptation toolbox for MATLAB. Preprints of
the 15th IFAC Symposium on System Identification. Saint-Malo,
France, P. 498-503
3. Ljung L. (1987). System Identification — Theory for the User.
Prentice-Hall, Englewood Cliffs, New Jersey.
4. Alexandrov A. G. (2005). Finite-frequency identification: selftuning of
test signal. Preprints of the 16th IFAC World Congress, Prague,
CD_ROM.