Software package for the parametric synthesis of non-linear automatic control systems

Research article
  • Ватаева Елизавета Юрьевна0000-0002-7007-4967Санкт-Петербургский государственный университет аэрокосмического приборостроения (ГУАП), Санкт-Петербург, Российская Федерация
  • Гречкин Никита Леонидович0009-0001-8477-0752Санкт-Петербургский государственный университет аэрокосмического приборостроения (ГУАП), Санкт-Петербург, Российская Федерация
https://doi.org/10.60797/IRJ.2026.171.4
DOI:
https://doi.org/10.60797/IRJ.2026.171.4
EDN:
WKNPYA
Suggested:
19.06.2026
Accepted:
19.08.2026
Published:
17.09.2026
Issue: № 9 (171), 2026
Issue: № 9 (171), 2026
Rightholder:authors.
License:Attribution 4.0 International (CC BY 4.0)
40
2
XML
PDF

Abstract

Modern automatic control systems (ACS) are characterised by their complexity, as they may contain non-linear elements, impulse modulators, lagging elements, etc. The synthesis of controllers for such systems using classical methods leads to significant errors or requires simplifying assumptions that degrade the quality of transient processes. In control theory, it is suggested to use the generalised Galerkin method, which allows controllers for such ACSs to be synthesised with high accuracy. However, its practical application is highly labour-intensive; for example, it is necessary to manually approximate non-linearities, formulate the residual equations and carry out multidimensional optimisation. The developed software package provides automated parametric synthesis of a wide class of automatic control systems, including non-linear, impulse-response, multi-link, and systems containing lagging elements.

1. Введение

Современные системы автоматического управления (САУ) всё чаще включают в себя нелинейные элементы, импульсные модуляторы, звенья запаздывания, и множественные взаимосвязи между входами и выходами

,
,
,
. Такие объекты характерны для авиакосмической техники, робототехники, энергетики, химической и металлургической промышленности, где требуется высокая точность и качество переходных процессов при наличии существенных нелинейностей и ограничений
. Современные исследования развивают как символьные средства анализа и синтеза нелинейных систем, так и методы управления, учитывающие устойчивость, ограничения и безопасность. В частности, пакет NLControl поддерживает задачи моделирования
, анализа и синтеза непрерывных и дискретных систем, а метод CLBF-MPC объединяет предиктивное управление нелинейными объектами с обеспечением ограничений и безопасного поведения системы
. В связи с этим актуальной является разработка унифицированного программного комплекса, автоматизирующего основные этапы подготовки и решения задач синтеза нелинейных САУ. Близкие современные разработки также направлены на автоматизацию выбора и настройки регуляторов для нелинейных объектов
и на объединение структурного и параметрического синтеза при наличии задержек и неопределённостей с использованием Matlab/Simulink и генетической оптимизации
. Поэтому научно-техническая значимость рассматриваемой работы определяется интеграцией методов аппроксимации и параметрической оптимизации с их программной реализацией, а практическая значимость — сокращением ручных расчётов и созданием единого инструмента для предварительного проектирования сложных нелинейных систем управления.

Предлагаемый программный комплекс учитывает структуру проектируемой системы, нелинейные элементы, импульсные воздействия, запаздывания, многосвязность и несколько искомых параметров; предусматривает кусочно-линейную и полиномиальную аппроксимацию нелинейных характеристик, расчёт интегральных показателей и поиск экстремума целевой функции. В качестве математического аппарата используется обобщённый метод Галеркина. Метод позволяет сводить задачу синтеза к минимизации невязки с использованием аппроксимации нелинейных характеристик, а также задавать желаемое программное движение. Несмотря на разработанную теоретическую базу метода, его практическое применение ограничивается высокой трудоёмкостью аналитических и численных расчётов, особенно при высоком порядке системы, сложной нелинейности, а также подбором программного движения и аппроксимации. Отсутствие универсального программного инструментария, способного автоматизировать весь цикл синтеза — от задания типа системы и желаемого поведения до поиска оптимальных параметров регулятора, — существенно ограничивает распространение подхода в инженерной практике. В данной статье рассматривается описание каждого модуля программного комплекса.

Целью работы является разработка программного комплекса, автоматизирующего процесс параметрического синтеза систем автоматического управления широкого класса на основе обобщённого метода Галёркина.

Для достижения поставленной цели решались следующие задачи:

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

2. Формализация алгоритмов выбора и аппроксимации нелинейного элемента.

3. Автоматизация расчёта интегралов Aqi, Bqi, Cqi и формирования уравнения динамики синтезируемой системы.

4. Реализация нескольких методов поиска экстремума целевой функции для обеспечения устойчивости решения к виду нелинейности.

5. Программная реализация комплекса средствами MATLAB/Simulink и верификация полученных результатов на примере типовой технической системы (маломощная следящая система).

Подробная схема обобщенного метода Галеркина описана в работе

. С математической точки зрения задача синтеза параметров законов управления сводится к поиску минимума целевой функции, построенной на основе уравнений Галеркина

где ai, bi, ei — вещественные постоянные коэффициенты полиномов оператора обобщенного дифференцирования D степеней n, u, v, соответственно, являющиеся в общем случае функциями варьируемых параметров ck закона управления системы; Aqi, Bqi, Cqi — интегралы Галеркина вида

здесь x0(t) — желаемое программное движение на входе нелинейного элемента; F[x0(t)] — аппроксимированная полиномом нелинейная характеристика; f(t) — внешнее входное воздействие.

Поиск оптимума целевой функции определяется при технических ограничениях, наложенных на значения варьируемых параметров из условий технической реализуемости (1), ограничениях на абсолютную устойчивость САУ и грубость на заданные вариации искомых параметров закона управления (2).

(1)

где ck+ — максимально допустимые значения варьируемых параметров; ck- – минимально допустимые значения варьируемых параметров.

(2)

где ck — заданное значение грубости системы; δck – вариации параметров, в пределах которых обеспечивается устойчивость системы.

2. Описание модулей программного комплекса

На рис. 1 представлен общий алгоритм работы программного комплекса. На первом этапе пользователю предлагается выбрать тип проектируемой системы: указать наличие нелинейных элементов и их способ аппроксимации, если они имеются в системе, указать количество входов и выходов, наличие импульсных модуляторов, звеньев запаздывания, количество искомых параметров. На втором этапе пользователю необходимо выбрать вид желаемого программного движения, а на третьем этапе — определить высоту внешнего входного воздействия, заданного в виде ступенчатой функции. На четвертом этапе определяется способ аппроксимации нелинейного элемента. На пятом этапе пользователю необходимо ввести коэффициенты динамики синтезируемой системы и определить ограничения на искомые параметры. На шестом этапе требуется выбрать методику поиска экстремума целевой функции, после чего следует вывод результатов.

Алгоритм работы программного комплекса

Алгоритм работы программного комплекса

3. Алгоритм модуля «Выбор типа проектируемой системы»

На рис. 2 представлен алгоритм модуля «Выбор типа проектируемой системы» и заключается в следующем:

1. Разработчик должен указать, является ли разрабатываемая система линейной. Если система линейная, то переменной type_system_flag присваивается числовое значение 0, после чего выполняется переход к пункту 3. Если система нелинейная, то переменной type_system_flag присваивается числовое значение 1, после чего выполняется переход к пункту 2.

2. Разработчик должен указать, какая аппроксимация нелинейного элемента будет использоваться. Если аппроксимация кусочно-линейная, то переменной approksim_system_flag присваивается числовое значение 0. Если аппроксимация полиномиальная, то переменной approksim_system_flag присваивается числовое значение 1. В случае, если в системе имеется гладкая неоднозначная нелинейность и требуется аппроксимировать процесс на её выходе, переменной approksim_system_flag присваивается числовое значение 2. После выполняется переход к пункту 3.

3. Разработчик должен указать, является ли разрабатываемая система импульсной. Если система импульсная, то переменной impuls_system_flag присваивается числовое значение 1. В противном случае переменной impuls_system_flag присваивается числовое значение 0. После выполняется переход к пункту 4.

4. Разработчик должен указать, является ли разрабатываемая система многосвязной. Если система многосвязная, то переменной svyaz_system_flag присваивается числовое значение 1, после чего требуется ввести количество входов и выходов в переменную nomer_vhod_vihod, которая является матрицей размером 1х2. Если система односвязная, то переменной svyaz_system_flag присваивается числовое значение 0, а в переменную nomer_vhod_vihod в первый и второй столбец первой строки записывается числовое значение 1. После выполняется переход к пункту 5.

5. Разработчик должен указать, имеются ли звенья запаздывания в разрабатываемой системе. Если система без звеньев запаздывания, то переменной zapazd_system_flag присваивается числовое значение 0. В противном случае переменной zapazd _system_flag присваивается числовое значение 1. После выполняется переход к пункту 6.

6. В последнем пункте разработчику необходимо ввести числовое значение, соответствующее количеству неизвестных (искомых) параметров, которое будет записано в переменную nomerNeizvestnyhparam. После этого работа модуля завершается.

Алгоритм модуля «Выбор типа проектируемой системы»

Алгоритм модуля «Выбор типа проектируемой системы»

4. Алгоритм модуля «Выбор желаемого программного движения»

Алгоритм модуля представлен на рис. 3 и заключается в следующем:

1. Разработчику необходимо присвоить номер задаваемому программному движению в виде числового значения, которое будет записано в переменную nomerAqi, и определить его вид. После выполняется переход к пункту 2.

2. Разработчику необходимо указать, имеется ли в программном движение запаздывание. Если есть запаздывание, требуется указать величину времени запаздывания, которая будет записана в переменную T_zapazd. После выполняется переход к пункту 3.

3. Разработчику необходимо указать, является ли программное движение импульсным. Если программное движение импульсное, необходимо выбрать тип модулятора и, в зависимости от его типа, указать период импульсов и коэффициент заполнения ширины импульсов. Их численные значения записываются в переменные T и y_gamma соответственно. После выполняется переход к пункту 4.

4. Разработчику необходимо указать численные значения параметров желаемого программного движения, которые записываются в соответствующие переменные, а именно: время переходного процесса Tп.п., величина перерегулирования σ, установившееся значение программного движения xy, начальное значение программного движения x0, ширина коридора установившегося значения del_x. После ввода всех параметров выводится график полученного программного движения, а также рассчитываются интегралы Aq и коэффициенты затухания pq. После выполняется переход к пункту 5.

5. Если разрабатываемая система является многосвязной, то выполняется переход к пункту 1, в противном случае работа модуля завершается.

Алгоритм модуля «Выбор желаемого программного движения»

Алгоритм модуля «Выбор желаемого программного движения»

Полученные переменные, содержащие в себе информацию о желаемых программных движениях, являются глобальными и доступны для чтения в любых последующих модулях программного комплекса. Они необходимы для расчета интегралов Cq и Bq, а также для корректного составления уравнения динамики системы.

5. Алгоритм модуля «Выбор внешнего входного воздействия»

Алгоритм модуля приведен на рис.4 и заключается в следующем:

1. Разработчику необходимо присвоить номер задаваемому внешнему входному воздействию в виде числового значения, которое будет записано в переменную nomerCqi. После выполняется переход к пункту 2.

2. Разработчику необходимо указать, имеется ли во входном воздействии запаздывание. Если есть запаздывание, требуется указать величину времени запаздывания, которая будет записана в переменную T_zapazd. После выполняется переход к пункту 3.

3. Разработчику необходимо указать, имеется ли во входном воздействии запаздывание. Если есть запаздывание, требуется указать величину времени запаздывания, которая будет записана в переменную T_zapazd. После выполняется переход к пункту 4.

4. Разработчику необходимо указать, является ли входное воздействие импульсным. Если входное воздействие импульсное, необходимо выбрать тип модулятора и, в зависимости от его типа, указать период импульсов и коэффициент заполнения ширины импульсов. Их численные значения записываются в переменные T и y_gamma соответственно. После выполняется переход к пункту 5.

1. Разработчику необходимо указать численное значение высоты входного воздействия H, которое записывается в переменную H. После ввода выводится график полученного входного воздействия, а также рассчитываются интегралы Cq с учетом коэффициентов затухания pq, определенных в алгоритме модуля «Выбор желаемого программного движения». После выполняется переход к пункту 6.

2. Если разрабатываемая система является многосвязной, то выполняется переход к пункту 1, в противном случае работа модуля завершается.

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

Алгоритм модуля «Выбор внешнего входного воздействия»

Алгоритм модуля «Выбор внешнего входного воздействия»

6. Алгоритм модуля «Выбор аппроксимации нелинейного элемента»

Модуль программного комплекса «Выбор аппроксимации нелинейного элемента» состоит из трех алгоритмов, один из которых, в зависимости от выбора пользователем способа аппроксимации нелинейного элемента, используется в основном алгоритме программы, представленном на рис. 1.

Первый алгоритм, представленный на рис. 5, реализует кусочно-линейную аппроксимацию нелинейного элемента и заключается в следующем:

1. Разработчику необходимо ввести номер желаемого программного движения на входе нелинейного элемента, которое было определено в алгоритме «Выбор желаемого программного движения», в виде числового значения, которое будет записано в переменную nomerAqi_nelinblock. После выполняется переход к пункту 2.

2. Разработчику необходимо определиться с общим видом нелинейной характеристики. Если она задается с помощью нескольких параллельно включенных нелинейных элементов, то выполняется переход к пункту 3, в противном случае к пункту 4.

3. Разработчику необходимо ввести числовое значение, равное количеству нелинейных элементов, включённых параллельно. После выполняется переход к пункту 4.

4. Из списка доступных нелинейных элементов, которые были определены в

выбирается требуемый. Вводятся параметры нелинейности, после чего выполняется переход к пункту 5.

5. Рассчитываются точки переключения нелинейности в соответствии с программным движением на его входе, после чего вычисляются интегралы Bq. Выполняется переход к пункту 6.

6. Если указаны не все параллельно включенные нелинейные элементы, происходит переход к пункту 4, в противном случае — к пункту 7.

7. Определяется интегралы Bq для суммы параллельно включенных нелинейных элементов. В случае, если был задан один нелинейный элемент, никаких дополнительных расчетов не происходит. Выполняется переход к пункту 8.

8. С учетом всех нелинейных элементов, выводится график полученной нелинейности, а также вид программного движения, которое прошло через нелинейный элемент. После этого работа модуля завершается.

Алгоритм модуля «Кусочно-линейная аппроксимация»

Алгоритм модуля «Кусочно-линейная аппроксимация»

Стоит отметить, что для работы программного комплекса также были разработаны алгоритмы для определения точек переключения, которые представлены в
.

Второй алгоритм, представленный на рис. 6, реализует полиномиальную аппроксимацию нелинейного элемента и заключается в следующем:

1. Разработчику необходимо ввести номер желаемого программного движения на входе нелинейного элемента, которое было определено в алгоритме «Выбор желаемого программного движения», в виде числового значения, которое будет записано в переменную nomerAqi_nelinblock. После выполняется переход к пункту 2.

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

3. Определяются интегралы Bq, выводится график полученной нелинейности, а также вид программного движения, которое прошло через нелинейный элемент. После этого работа модуля завершается.

Алгоритм модуля «Полиномиальная аппроксимация»

Алгоритм модуля «Полиномиальная аппроксимация»

Третий алгоритм, представленный на рис. 7, реализует полиномиальную аппроксимацию процесса на выходе нелинейного элемента и заключается в следующем:

1. Разработчику необходимо ввести номер желаемого программного движения на входе нелинейного элемента, которое было определено в алгоритме «Выбор желаемого программного движения», в виде числового значения, которое будет записано в переменную nomerAqi_nelinblock. После выполняется переход к пункту 2.

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

3. Разработчику необходимо ввести коэффициент прямой, определяющий её высоту по координате ординат, которая будет описывать второй участок процесса на выходе нелинейной характеристики в синтезируемой системе. После выполняется переход к пункту 4.

4. Определяются интегралы Bq, выводится график полученной нелинейности, а также вид программного движения, которое прошло через нелинейный элемент. После этого работа модуля завершается.

Алгоритм модуля «Полиномиальная аппроксимация процесса»

Алгоритм модуля «Полиномиальная аппроксимация процесса»

Полученные интегралы Bq необходимы для составления уравнения динамики системы. В случае, если система является линейной, модуль «Выбор аппроксимации нелинейного элемента» пропускается.

7. Алгоритмы модулей «Ввод коэффициентов уравнения динамики системы» и «Выбор методики поиска экстремума целевой функции»

После того, как рассчитаны интегралы Aq, Bq, Cq, необходимо задать уравнение динамики системы. Алгоритм модуля «Ввод коэффициентов уравнения динамики системы» представлен на рис. 8 и заключается в следующем:

1. Разработчику необходимо ввести имена символьных переменных, соответствующих искомым параметрам. Также необходимо определить нижнюю и верхнюю границы поиска параметров. После выполняется переход к пункту 2.

2. Разработчику необходимо указать номер составляемого уравнения динамики системы. После выполняется переход к пункту 3.

3. Разработчику необходимо ввести коэффициенты уравнения динамики системы с учетом символьных переменных, соответствующих искомым параметрам. После выполняется переход к пункту 4.

4. Если система многосвязная, то происходит переход к пункту 2. В противном случае работа модуля завершается.

Алгоритм модуля «Ввод коэффициентов уравнения динамики системы»

Алгоритм модуля «Ввод коэффициентов уравнения динамики системы»

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

1. Разработчику необходимо выбрать методику поиска экстремума целевой функции

,
,
,
. После выполняется переход к пункту 2.

2. Выводятся результаты поиска, после чего работа модуля завершается.

Алгоритм модуля «Ввод коэффициентов уравнения динамики системы»

Алгоритм модуля «Ввод коэффициентов уравнения динамики системы»

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

В качестве примера рассмотрим расчет ренальной технической системы — маломощная следящая система (рис.10–11). Требуется найти значения неизвестных параметров T1, T2 которые будут обеспечивать в системе заданные показатели качества ее работы при переходе из одного установившегося состояния в другое, Tnn ≈ 2 с., перерегулирование σ не более 1%.

Функциональная схема объекта исследования: ИР – измеритель рассогласования; АУ – аналоговый умножитель; УОУ – усилитель обмотки управления; ИД – исполнительный двигатель; Р – редуктор; Н – нагрузка; ТГ – тахогенератор

Функциональная схема объекта исследования:

ИР – измеритель рассогласования; АУ – аналоговый умножитель; УОУ – усилитель обмотки управления; ИД – исполнительный двигатель; Р – редуктор; Н – нагрузка; ТГ – тахогенератор

Структурная схема потенциометрической маломощной системы

Структурная схема потенциометрической маломощной системы

Желаемое программное движение имеет вид:
(3)

Динамика системы описывается следующим дифференциальным уравнением

(4)

Теперь необходимо задать параметры САУ (рис. 12), ввести значения параметров программного движения (рис. 13). Далее определяются параметры внешнего входного воздействия (рис.14) и подбирается вид необходимой аппроксимации (рис.15). В синтезируемой системы в качестве нелинейной характеристики рассматривается нелинейность типа «ограничение». В соответствии с (2) вводятся коэффициенты динамики синтезируемой системы (рис.16).

Задание параметров проектируемой системы

Задание параметров проектируемой системы

Определение параметров желаемого программного движения

Определение параметров желаемого программного движения

Определение параметров внешнего входного воздействия

Определение параметров внешнего входного воздействия

Выбор аппроксимации нелинейного элемента

Выбор аппроксимации нелинейного элемента

Выбираем методику поиска экстремума целевой функции и программа предоставит ответ (рис.17). В данном программном комплексе возможно использовать четыре метода поиска экстремума целевой функции: метод случайного, поиска метод имитации отжига, метод внутренней точки (стратегия «Глобальный поиск»), метод внутренней точки (стратегия «Мультистарт»).
Ввод уравнения динамики системы

Ввод уравнения динамики системы

Ввод метода поиска экстремума и ответ

Ввод метода поиска экстремума и ответ

Таким образом, были получены следующие искомые параметры T1 = 9.9981, T2 = 0.747. Сравним желаемое программное движение и процесс, полученный с синтезированными параметрами (рис.18). Полученные искомые параметры удовлетворяют заданным показателям качества.

Сравнение желаемого программного движения с движением в синтезированной САУ

Сравнение желаемого программного движения с движением в синтезированной САУ

8. Заключение

В работе разработан специализированный программный комплекс блочно-модульной структуры, предназначенный для автоматизации полного цикла параметрического синтеза систем автоматического управления широкого класса. Комплекс обеспечивает решение задач для линейных и нелинейных, импульсных и многосвязных систем, а также систем с запаздыванием, и реализует синтез на основе обобщённого метода Галёркина. Важной особенностью комплекса является автоматизированный выбор и аппроксимация нелинейных элементов, что позволяет учитывать до N типовых нелинейностей и адаптировать процедуру расчёта к структуре проектируемой системы.

В составе комплекса реализованы автоматический расчёт интегралов Галёркина Aqi, Bqi и Cqi, а также формирование обобщённого уравнения динамики синтезируемой системы с учётом варьируемых параметров регулятора. Пользователю предоставляется возможность выбора одного из четырёх методов поиска экстремума целевой функции, что позволяет учитывать особенности различных видов нелинейностей, ограничения на параметры и требования к качеству переходного процесса. Модульная архитектура комплекса обеспечивает возможность расширения библиотеки нелинейных характеристик и методов оптимизации без изменения его основного вычислительного ядра.

Работоспособность разработанного комплекса подтверждена на примере синтеза маломощной следящей системы. Полученные значения искомых параметров T1=9,9981 и T2=0,747 обеспечили показатели качества переходного процесса, соответствующие заданным требованиям. Научная новизна работы заключается в объединении в рамках единого программного комплекса процедур синтеза для качественно различных классов систем, автоматизации формирования интегралов обобщённого метода Галёркина, а также в применении модульной архитектуры и встроенного графического интерфейса, обеспечивающего визуализацию промежуточных результатов на каждом этапе синтеза.

Article metrics

Views:40
Downloads:2
Views
Total:
Views:40