Организация структур технических и программных средств проектирования и управления. Средства взаимодействия, структуры данных, международные стандарты

Пакет «Автоматика»: директивы идентификации запаздывания и синтеза регуляторов одномерных систем[1]

А.Г. Александров,

в.н.с., д. ф.-м. н., проф., alex7@ipu.ru,

Д. В. Шатов,

м.н.с., dvshatov@gmail.ru,

ИПУ РАН, г. Москва

Пакет «Автоматика» — это набор программных средств, предназначенный для разработки алгоритмов и исследования работы систем управления объектами. Пакет содержит группы программ, называемые директивами, которые используются для идентификации объектов, синтеза регуляторов для объектов, исследования процессов адаптации.

В настоящем докладе описываются новые директивы пакета «Автоматика». Добавлено несколько директив идентификации запаздывания одномерных объектов, основанные на конечно-частотном методе и директивы синтеза регуляторов одномерных систем, основанные на использовании тождества Безу.

 

Package “Automatica” is a software complex that is intended for development algorithms and research of operation of plants control systems. Package consists of program sets called directives that are used for plants identification, controllers design and plants adaptation study.

Present paper describes new directives in package “Automatica”. The following directives has been added to the package: several directives for delay identification for SISO plants, these directives are based on finite-frequency approach and several controller design directives also for SISO plants based on Bezuot identity.

Введение

Пакет «Автоматика» представляет собой набор программных средств для проведения исследований и разработки  алгоритмов управления динамическими объектами. Особенностью пакета является учет свойств реальных систем управления таких как: действие внешних возмущений, неопределенность параметров объекта управления (параметрическая и структурная), дрейф параметров объекта управления с течением времени (для описания используется понятие многорежимного объекта). Пакет позволяет проводить исследования по идентификации параметров объектов управления, синтезу регуляторов для известных объектов по заданным показателям качества процесса управления и адаптации многорежимных объектов управления.

Пакет состоит из функций и специальных программ для решения реальных задач управления. Специальные программы составляются из функций и служат для решения какой-либо конкретной (формализованной) задачи (далее такие программы будем называть «директивы»). Директива содержит интерфейс для ввода/вывода данных и расчетную часть. Каждая директива решает определенный класс задач. Пакет «Автоматика» содержит 3 группы директив: синтез регуляторов, конечно-частотная идентификация, частотное адаптивное управление.

Каждая группа директив состоит из набора программ, отличающихся сложностью используемых алгоритмов, в зависимости от сложности поставленной задачи. Так при идентификации в некоторых случаях, когда имеется априорная информация об объекте управления (частота среза) и действующих возмущениях, можно использовать простые директивы, в которых все параметры алгоритма задаются вручную. В ситуациях, когда информации недостаточно используются сложные алгоритмы идентификации с самонастройкой параметров алгоритма. Аналогичные разделения существуют и в группах директив по синтезу регуляторов и адаптивному управлению.

Пакет развивается в течение нескольких лет. Он базируется на двух программных продуктах: GAMMA-1PC [1]  и ADAPLAB-3 [2]. Функции и директивы пакета GAMMA-1PC для синтеза регуляторов многомерных систем были написаны на FORTRAN. Пакет ADAPLAB-3 предназначен для тех же целей, что и пакет «Автоматика», но для одномерных систем. В «Автоматике» они реализованы в среде MATLAB. В таком варианте пакет был представлен в работе [3].

В [4, 5] пакет расширен в нескольких направлениях. Одним из них является возможность самонастройки тестового сигнала. Определение амплитуд и частот тестового сигнала составляет главную трудность метода конечно-частотной идентификации, используемого в пакете. Амплитуды настраиваются таким образом, чтобы разность между текущим выходом объекта в присутствии и в отсутствие тестового сигнала лежала в допустимых границах. Самонастройка частот позволяет уменьшить длительность идентификации.

В работе [6] пакет «Автоматика» дополнен набором директив для синтеза регуляторов одномерных объектов. Они  основаны на решении тождества Безу для определения коэффициентов регулятора. Данные директивы предназначались для синтеза регуляторов только минимально-фазовых объектов управления.

 Настоящая работа посвящена новым директивам пакета. Добавлена директива идентификации запаздывания одномерного объекта управления, основанная на конечно-частотном методе. Процедура идентификации представляет собой поисковый алгоритм, в результате которого определяется характеристическая частота, позволяющая найти запаздывание. К директивам синтеза, основанным на тождестве Безу, добавлена директива, предназначенная для неминимально-фазовых объектов управления.

2. Директива идентификации запаздывания FULLid

2.1 Назначение директивы

Директива идентификации запаздывания предназначена для определения параметров модели и величины запаздывания динамических одномерных объектов. Алгоритм идентификации запаздывания, используемый в директиве, описан в работах [7] и [8].

Рассматриваются объект управления, описываемый уравнением

,                                                   (1)

где  - выход объекта,  - сигнал управления,  – внешнее возмущение, которое может быть представлено полигармонической функцией

,

где частоты  и фазы  – неизвестны, а неизвестные амплитуды  удовлетворяют условию

,

в котором значение  известно.

Объект управления предполагается полностью управляемым и минимально-фазовым. Рассматриваемая директива проводит идентификацию коэффициентов ,  с помощью известного алгоритма [8], а затем идентифицируется запаздывание согласно [7].

Модули для идентификации коэффициентов ,  и запаздывания  могут использовать независимо друг от друга как отдельные директивы.

2.2 Алгоритм работы директивы

Директива представляет собой последовательное выполнение двух основных модулей, состоящих каждая из ряда функций. Первый модуль определяет неизвестные коэффициенты  и , а вторая - величину неизвестного запаздывания .

Объекта записывается как:

,                                                                                      (2)

где , .

Для получения оценок коэффициентов  и  к объекту (1) прикладывается испытательный сигнал вида:

.                                                                                                        (3)

Его параметры: частоты  и амплитуды  задаются пользователем, либо самонастраиваются.

Входной и выходной сигнал фильтруются с помощью фильтров Фурье, которые на выходе дают оценки частотных параметров передаточной функции (2):

                                                                                            (4)

Оценки коэффициентов полиномов  и  находятся из решения системы линейных уравнений, составленной с использованием параметров (4), в которые они входят независимо от запаздывания.

После этого проводится идентификация запаздывания. Для этого также используется дополнительный испытательный сигнал вида:

,                                                                           (5)

где  и  - амплитуды и частоты испытательного сигнала, который прилагаются к объекту последовательно в процессе идентификации запаздывания,  - интервалы времени, на которых проводится фильтрация для соответствующих  и .

Амплитуды сигнала (5)  выбираются автоматически, используя результаты идентификации коэффициентов полиномов  и

где  - константа, которую можно выбирать несколькими путями. В данной директиве используются параметры испытательного сигнала (3), с помощью которых константа выбирается как

,                                                                        (6)

где  и  - параметры испытательного сигнала (3).

 

Вводят дополнительные частотные параметры вида

,     .                                                            (7)

Для некоторой произвольной частоты , используя частотные параметры (4) и (7) можно получить следующее соотношение [7]:

,                                                                                                 (8)

где  -  значения оценок выражений (4) и (7) для . Обозначим правую часть (8) как , ее значение можно найти для любой частоты .

Для однозначного определения запаздывания достаточно определить частоту , на которой функция  претерпевает разрыв, используя набор частот  и значения , после чего запаздывание рассчитывается как:

.

Частота  ищется с помощью поисковой процедуры, в результате которой получается оценка частоты. Процедура основана на том факте, что при переходе через частоту  функция (8) меняет свой знак. Для найденной оценки  выполняется неравенство:

,

где  - настраиваемый параметр, выбираемый пользователем и определяющий требуемую точность при определении .

2.3 Структура и исходные данные директивы

Директива идентификации FULLid включает следующие исходные данные: коэффициенты полиномов  и , запаздывание , вектор испытательных частот , амплитуд , параметр , задающий относительную точность идентификации частотных параметров, число  для задания точности идентификации запаздывания, величина  по умолчанию определяется из (6).

Результатами работы директивы являются оценки коэффициентов  и  полиномов  и  объекта и оценка запаздывания . Доступны входные и выходные сигналы объекта  и .

Директива идентификации состоит из последовательности модулей:

<FULLid> = <интерфейс><TFid><TAUid>, которые используют в процессе работы следующие функции.

<InitPlant> - модуль инициализации объекта (1), <SystemSimulation> - модуль симуляции работы объекта (1), используется для получения сигналов  и , <FurierFilter> - функция фильтров Фурье, на выходе дает оценки частотных параметров (4), <IdentSolver> - находит оценки коэффициентов полиномов  и .

3. Директива синтеза регулятора asrmod2

3.1 Назначение директивы

Директива предназначена для синтеза регуляторов одномерных минимально-фазовых объектов. Полином  при записи в виде (2) таких объектов имеет все корни с отрицательными вещественными частями. Искомый регулятор описывается уравнением

,                                                                        (9)

коэффициенты  которого требуется определить так, чтобы выполнялись

требования:

- к точности

,                                                                       (10)

- к времени регулирования ()

,                                                                                           (11)

- радиусу запасов устойчивости

,                                                                                                (12)

где  - заданные числа.

Неравенство (12) обеспечивает запасы устойчивости по фазе и модулю, если выбирать .

3.2 Алгоритм работы директивы

Алгоритм синтеза приведен в работе [9]. Он основан на решении тождества Безу

,                                                                (13)

правая часть которого содержит полиномы  и  степеней  и  соответственно. Эти полиномы строятся так, чтобы выполнялись требования  (10)-(12):

,

,

где  - положительные числа, удовлетворяющие неравенствам

,

                                                                                                   ,                                                                                            (14)

в которых  - корни полинома  объекта (2),  - граница внешнего возмущения (),  - частота среза разомкнутой системы,  - достаточно малые числа. Кроме того,

            .

3.3 Исходные данные и структура директивы

Директива синтеза включает следующие исходные данные: коэффициенты полиномов  и , числа .

Результатами директивы являются коэффициенты полиномов  и  регулятора (9), значения .

Директива содержит последовательность следующих модулей.

<asrmod2> = <интерфейс><fasrmod2>, где

       <fasrmod2> = <formpsi><bezu1><div><srez3><formEps1><bezu1><radi3><analmod>

Модуль formpsi формирует полином , модули bezu1, div, srez3, formEps1, radi3 служат для построения полинома . Эти модули описаны в [10]. Модуль analmod служит для моделирования системы и определения показателей точности и времени регулирования.

4. Директива синтеза регулятора asrmod2no

4.1 Назначение директивы

Директива предназначена для синтеза регуляторов одномерных неминимально-фазовых объектов. Полином таких объектов имеет вид , где  - полином, корни которого имеют отрицательные вещественные части,  - полином с неотрицательными вещественными частями его корней.

Для таких объектов может не существовать регулятор (9), при котором выполняются требования (10), (11) к точности и времени регулирования для заданных  при запасах устойчивости (12). Директива определяет такое значение  и соответствующие ему значения коэффициентов регулятора (9), при которых требования (10), (12) выполняются.

4.2 Алгоритм работы директивы

Алгоритм синтеза также основан на решении тождества Безу (13), в правой части которого полином  заменен полиномом , а коэффициент  определяется исходя из требования к запасам устойчивости системы.

4.3 Исходные данные и структура директивы

Исходные данные совпадают с данными для предыдущей директивы asrmod2. При построении полинома в директиве asrmod2no не используется неравенство (14). Оно служит для определения достижимого , где  находится по требуемым запасам устойчивости системы.

Литература

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.  Александров А. Г., Шатов Д.В. Пакет "Автоматика" для MATLAB. "Системы технологической подготовки производства и управления этапами жизненного цикла промышленного продукта" (CAD\CAM\PDM-2011) Тезисы 11-й международной конференции. Под ред. Е.И. Артамонова. -- М.: Институт проблем управления РАН - 2011, с. 15.

4.  Александров А.Г., Шатов Д.В. Пакет «Автоматика»: расширение возможностей / Труды 12-й международной конференции «Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта» (CAD/CAM/PDM-2012), Под редакцией Е.И. Артамонова. М.: ООО «Аналитик», 2012. С. 41-46.

5.  Alexandrov A.G., Shatov D.V. Package "Automatica": New Opportunities / Preprints of the 2013 IFAC Conference on Manufacturing Modelling, Management, and Control (IFAC MIM ’2013). Saint Petersburg, Russia: IFAC Publication, 2013. P. 1838-1843.

6.  Александров А.Г., Шатов Д.В. Развитие пакета "Автоматика" / Труды 14-й Международной конференции «Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта» (CAD/CAM/PDM-2014, Москва). М.: ООО Аналитик, 2014. С. 37-41.

7.  Шатов Д.В. Идентификация запаздывания одномерных линейных объектов конечно-частотным методом // Проблемы управления. 2015. № 4. С. 2-8.

8.  Александров А.Г., Орлов Ю.Ф., Паленов М.В. Конечно-частотная идентификация объектов с запаздыванием // Автоматика и телемеханика. 2014. № 2. С. 5-15.

9.  Александров А.Г.  Синтез регуляторов по показателям точности и быстродействию. I // Автоматика и телемеханика. 2015. № 5. С. 27-42.

10.  Александров А.Г. Руководство пользователя пакета "Автоматика" // электр. ресурс: www.adaplab.ru/papers/alex/rucautom.pdf, 2011, 31 С.



[1] Работа выполнена при финансовой поддержке РФФИ (проект 15-07-99684-а)