Разработка методики синтеза нейро-нечеткого регулятора с настройкой генетическим алгоритмом
Аннотация
Ключевые слова
Для цитирования:
Первушина Н.А., Доновский Д.Е., Хакимова А.Н. Разработка методики синтеза нейро-нечеткого регулятора с настройкой генетическим алгоритмом. Вестник Концерна ВКО «Алмаз – Антей». 2018;(4):82-90. https://doi.org/10.38013/2542-0542-2018-4-82-90
For citation:
Pervushina N.A., Donovskiy D.E., Khakimova A.N. Development of synthetic methodology of neuro-fuzzy controller adjusted by genetic algorithm. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2018;(4):82-90. https://doi.org/10.38013/2542-0542-2018-4-82-90
Введение
Необходимость решения актуальных задач автоматического управления динамическими объектами, в частности беспилотными летательными аппаратами, при действии различного рода случайных возмущений в настоящее время все чаще требует применения интеллектуальных методов математического моделирования, таких как нечеткая логика, генетические алгоритмы (ГА), нейронные сети. Объединение нейронных сетей, ГА и нечетких алгоритмов позволяет решать задачи различной сложности и неопределенности (по исходным данным), но самое важное - они становятся универсальным инструментом для обработки неточной, неполной или нечеткой информации [1].
Применение интеллектуальных методов при построении систем управления позволяет существенно снизить влияние неопределенности на качество систем управления, а также компенсировать недостаток априорной информации на этапе проектирования систем [2].
В настоящей статье представлена методика разработки нейро-нечеткого регулятора (ННР) с настройкой его параметров ГА. ННР и работоспособность ГА для его настройки протестированы в рамках решения классической модельной задачи стабилизации динамического объекта - вертикальный маятник на подвижной тележке.
Постановка задачи
Рассматривается замкнутая система управления динамическим объектом (рис. 1) - система стабилизации (СС) [3].
Рис. 1. Замкнутая система управления с регулятором в прямой цепи:
ОУ - динамический объект управления; u(t) - заданное управление; e(t) - ошибка управления (рассогласование), e(t) = u(t) - x(t); up (t) - сигнал управления с выхода регулятора; x(t) - выходное значение СС
Для синтеза математической модели ННР с настройкой ГА в СС со структурой, представленной на рис. 1, предлагается следующий алгоритм.
Алгоритм синтеза математической модели ННР с настройкой ГА
Этап 1. Построение математической модели ОУ и решение задачи синтеза регулятора классическим методом. Предварительно необходимо выбрать структуру регулятора (П-, ПИ-, ПИД-регуляторы [3] и др.), а далее рассчитать или подобрать его коэффициенты.
Этап 2. Проведение тестирования построенной СС (этап 1) в диапазоне возможных режимов работы и подтверждение устойчивости. Получение обучающей выборки для выполнения процедуры синтеза нечеткого регулятора (НР).
Этап 3. Принятие решения о структуре НР (в простейшем случае это будет структура один вход - один выход). Осуществление выбора лингвистического описания для входной (входных) и выходной переменной НР (фаззификация [4]). На рис. 2 приведена структура НР один вход - один выход. В структуре показаны три необходимых для работы НР функциональных блока.
Рис. 2. Структура нечеткого регулятора и терм-множество для описания входных и выходных переменных НР: μ(x) - функция принадлежности каждого из термов (гранул); T1, T2, ..., T5, [xmin, Xmax] - область определения терм-множества, X1, X2, ..., X5 - границы термов (определяются по данным обучающей выборки)
В блоке «фаззификация» содержится нечеткое описание входного e(t) и выходного параметра up (t) в виде терм-множества лингвистических переменных. Каждый из параметров обозначим обобщенно х, а пример терм-множества показан на рис. 2. Степень гранулированности информации (количество термов) определяется экспертом исходя из особенностей решения задачи.
Этап 4. На основании данных обучающей выборки (табл. 1) составляются схемы логических выводов в нечеткой базе правил в соответствии с лингвистическим описанием этапа
- Общий вид логических выводов следующий:
если e (t) = Ti, то up (t) = Tj, (1)
где Ti - терм входной переменной;
i = 1,2,..., n - число термов входной переменной;
Tj - терм выходной переменной, j = 1,2,..., m (число термов выходной переменной).
Таблица 1
Обучающая выборка
Регистрируемые сигналы контура СС |
Значения сигналов, зафиксированные в момент времени t |
||||
---|---|---|---|---|---|
Ошибка СС, e(t) |
ei(t) |
e2(t) |
... |
ei(t) |
... |
Сигнал управления, up (t) |
up1(t) |
up2(t) |
... |
upi(t) |
... |
Примечание. t — начальный момент времени и (или) время, соответствующее наступлению установившегося режима работы СС. |
Этап 5. Выбор вида дефаззификации результата нечеткого вывода. Наиболее часто используется метод центра тяжести [4].
Этап 6. Проведение тестирования СС с НР. Дается заключение об устойчивости.
Если СС с НР окажется неустойчивой, то корректируются границы термов X1, х2, ..., xn(m) до получения устойчивой СС.
Этап 7. Разработка ГА для настройки параметров НР в рамках стандартного процесса получения оптимального решения [1]:
- формирование начальной популяции;
- появление текущей популяции;
- работа генетических операторов;
- появление новых хромосом (переход на этап 2);
- проверка условия остановки;
- остановка эволюции;
- оптимальное решение.
Формирование начальной популяции выполняется на этапе 3 - границы термов входных и выходных переменных. Условие остановки работы ГА в рамках функционирования СС предлагается выбрать в виде интегрального критерия качества [3]:
Этап 8. Проведение тестирования ГА настройки параметров НР (границ термов). Для этого выбирается тестовое управление u(t) на входе СС и выполняется настройка параметров НР относительно установленных на этапе 6 значений границ в заданных диапазонах их вариаций. Результат тестирования должен показать корректность работы ГА, т. е. последовательное приближение к оптимальному решению - набору параметров НР.
Этап 9. Настройка параметров НР с помощью ГА для заданного вида входного воздействия u(t) .
Этап 10. Введение в НР одного формального нейрона, позволяющего при построении результирующего вывода задавать вес каждого правила. В результате появляется структура ННР. Схематично процедура построения результирующего вывода для базы из пяти правил представлена на рис. 3.
Рис. 3. Структура ННР:
x0 - начальное состояние нейрона; X1, ... , X5 - выходные переменные базы правил; a1, ... , a5 - веса правил; Ne - формальный нейрон; f (g) - функция активации нейрона; g - аргумент функции активации
Аргумент функции активации g определяется по формуле
Этап 11. Тестирование ННР при единичных весах правил . Если результаты тестирования совпадают с результатом этапа 9, то подбираются aj в интервале от 0 до 1 таким образом, чтобы по критерию (2) результат работы СС для заданного вида входного воздействия u(t) оказался лучше, чем на этапе 9, либо делается вывод о невозможности дальнейшего улучшения качества работы СС.
Решение задачи синтеза математической модели ННР с настройкой ГА
Предложенный в статье алгоритм успешно апробирован при решении задачи стабилизации вертикального маятника на подвижной тележке.
Задача стабилизации вертикального маятника - классическая проблема в сфере автоматического управления и широко используется как эталон для тестирования алгоритмов управления. Вследствие простоты интерпретации параметров и нелинейности данная задача часто применяется в качестве тестового объекта, на котором демонстрируется функционирование различных регуляторов.
Авторы статьи также использовали описанную задачу для тестирования функционирования ННР с настройкой ГА при решении задачи стабилизации положения неустойчивого динамического объекта (вертикального маятника).
Вертикальный маятник представляется в виде легкого жесткого стержня длиной 21 с точечной массой m на конце, его основание закреплено по центру тележки массой M. Коэффициент вязкого трения при движении тележки - b; - сила, прикладываемая к тележке (управление); x - координата тележки; θ - угол отклонения маятника от вертикали [5, 6].
Уравнения движения вертикального маятника на тележке имеют вид
Поскольку цель СС - удерживать маятник вертикально, то данные нелинейные уравнения можно линеаризовать в окрестности точки и построить математическую модель ОУ по углу отклонения маятника θ в форме передаточной функции:
ОУ с передаточной функцией (6) неустойчив по критерию Гурвица, так как среди коэффициентов характеристического уравнения (знаменатель в формуле (6)) есть отрицательные значения [3]. Для обеспечения устойчивости ОУ построим систему стабилизации с единичной обратной связью и ПИД-регулятором в прямой цепи управления (см. рис. 1). В данном случае: u(t) = θзад (заданное значение угла отклонения маятника при стабилизации), e(t) = Δθ (отклонение от θзад ), up (t) = F (сила, прикладываемая к тележке), x(t) = θ (фактический угол отклонения маятника).
Устойчивость и быстродействие математической модели ОУ (6) обеспечивается ПИД-регулятором с коэффициентами Kd, Ki и K:
С помощью построенной СС получим обучающую выборку для синтеза математической модели НР. В качестве тестовых входных воздействий выбраны: ступенчатое воздействие 1( t) заданной амплитуды θзад и гармоническое воздействие θзадsin(ωt) с ω = 1, 1/с.
Этапы 1 и 2 алгоритма синтеза ННР с настройкой ГА выполнены.
Этап 3 работы алгоритма синтеза связан с выбором структуры НР. Ограничимся простой структурой один вход - один выход. НР в контуре СС вертикального маятника на тележке должен по значениям параметра входного сигнала Δθ формировать на выходе сигнал управления F , который далее поступает на ОУ и изменяет значение угла θ в сторону заданного значения θзад.
Структура разрабатываемого НР соответствует схеме, показанной на рис. 1. В блоке «фаззификация» содержится нечеткое описание входного параметра Δθ и выходного параметра F в виде терм-множества лингвистических переменных (см. рис. 2), каждая из которых соответствует одному из уровней сигнала: Н - нулевой, ПМ - положительный маленький, ОМ - отрицательный маленький, ПБ - положительный большой, ОБ - отрицательный большой. Параметры нечетких переменных, соответствующие каждому из описаний, определяются по обучающей выборке (табл. 2).
Таблица 2
Обучающая выборка
θзад, град |
θзад ⋅1(t) |
θзадsin(ωt) ω = 1, 1/с. |
|
---|---|---|---|
Ft0, Н |
Fуст, Н |
|Fmax| , Н |
|
89,9 |
707 |
-23,1 |
24,5 |
80 |
628 |
-20,5 |
21,8 |
70 |
550 |
-18 |
19,1 |
60 |
470 |
-15,4 |
16,3 |
50 |
393 |
-12,8 |
13,6 |
40 |
314 |
-10,3 |
10,9 |
30 |
235 |
-7,7 |
8,2 |
20 |
157 |
-5,1 |
5,5 |
10 |
78,5 |
-2,6 |
2,7 |
5 |
39,3 |
-1,3 |
1,4 |
0,5 |
3,9 |
-0,1 |
0,14 |
Примечание. При отрицательных значениях θзад результат симметричный. |
Обозначим диапазоны возможных значений для границ лингвистических термов входных и выходных параметров в соответствии с результатами моделирования, представленными в табл. 2. Так, например, для малого значения входного воздействия Δθ (терм ПМ) от 0 до 30° выходной параметр F варьируется от -7,5 до 235 Н. В соответствии с этой логикой графически термы представлены на рис. 4, а диапазоны для границ термов описаны следующими выражениями:
Рис. 4. Терм-множества входных (а) и выходных (б) параметров НР
Для проведения анализа работы НР в СС вертикального маятника на тележке без настройки установим базовые (начальные) значения границ лингвистических термов входных и выходных параметров в виде средних значений в рамках принятых диапазонов:
В блоке правил каждое логическое правило должно формировать вывод в виде нечеткого описания переменной F, соответствующей каждой возможной входной переменной Δθ.
База правил в системе нечеткого логического вывода с учетом описания входной переменной Δθ и выходного параметра F (см. рис. 4) представлена в табл. 3.
Таблица 3
База правил НР
Входной и выходной сигналы нечеткого регулятора |
Номер правила |
||||
---|---|---|---|---|---|
1 |
2 |
3 |
4 |
5 |
|
Δθ |
ОБ |
ОМ |
Н |
ПМ |
ПБ |
F |
ПБ |
ПМ |
Н |
ОМ |
ОБ |
Для построения нечеткого вывода в НР выбран механизм Мамдани в связи с тем, что он наиболее широко используется при построении регуляторов в технических системах. Дефаззификация выполняется по методу центра тяжести [5]. Этапы 3-5 алгоритма синтеза ННР с настройкой ГА выполнены.
Для проведения тестирования работы СС с НР (этап 6) был разработан программный модуль НР, преобразованный к виду функционального блока СС, входами которого являются массивы параметров термов:
Тестирование работы СС с НР показало, что система с НР без настройки устойчива.
Для настройки параметров НР был разработан ГА. Порядок работы генетического алгоритма следующий.
- Формирование начальной популяции. Начальная популяция формируется из начальных данных (11) с учетом симметричности описания лингвистических термов (см. рис. 4).
Для входных и выходных переменных НР начальные популяции хромосом имеют вид
В соответствии с хромосомами (12) вычисляется значение функции пригодности (ФП) по формуле (2).
- Определение диапазонов значений для генов. Предполагается, что значение каждого гена в хромосомах (12) является числом в заданных интервалах:
Случайный выбор значений из интервалов (13), (14) формирует новую хромосому.
- Создание популяции. Случайным образом в рамках диапазонов значений (13), (14) генерируются по 3 хромосомы типа (12). Пример формирования хромосом приведен в табл. 4.
Таблица 4
Исходные данные для формирования текущей популяции
Номер хромосомы |
Обозначение хромосомы |
|
---|---|---|
(a1, a2, a3) |
(b1, b2, b3) |
|
1 |
a1 = (a11, a21, a31) |
b1 = (b11, b21, b31) |
2 |
a2 = (a12, a22, a32) |
b2 = (b12, b22, b32) |
3 |
a3 = (a13, a23, a33) |
b3 = (b13,b23, b33) |
Поскольку хромосома a отвечает за формирование входных переменных НР, а хромосома b - за формирование выходных, то из представленных в табл. 4 хромосом формируется 9 сочетаний (каждая с каждой).
- Оценка степени пригодности текущей популяции. Признак пригодности хромосомы определяется следующим образом:
В противном случае kij = 0.
Коэффициент выживаемости определяется так:
В противном случае Δn = 0.
- Вычисление процента выживаемости. Так как задача состоит в том, чтобы по признаку пригодности отобрать хромосомы популяции с наибольшим коэффициентом выживаемости, то процент выживаемости рассчитывается по следующему выражению:
Представляя колесо рулетки, разбитое на доли в процентах для каждой хромосомы, необходимо «крутить» его по 2 раза для каждой пары (отец-мать). Выбранные таким образом 3 пары сочетаний хромосом являются пока лишь хромосомами-кандидатами для следующей популяции. Прежде чем их действительно скопировать в новую популяцию, эти хромосомы должны подвергнуться кроссинговеру и мутации [1]. В настоящем алгоритме процесс мутации не применяется.
- Построение новой популяции хромосом. Пусть на предыдущем шаге выбраны пары сочетаний хромосом, представленные в табл. 5.
Таблица 5
Пример формирования новой популяции
Сочетание хромосом |
Номер сочетания |
Сочетание |
---|---|---|
Для отца |
7 |
a3b1 |
5 |
a2b2 |
|
7 |
a3b1 |
|
Для матери |
5 |
a2b2 |
1 |
a1b1 |
|
7 |
a3b1 |
- Выполнение операции кроссинговера. Операция применяется к хромосомам, прошедшим отбор в новую популяцию (см. табл. 5). Для выполнения кроссинговера разделим сочетания хромосом на входные и выходные. Первую часть хромосомы-потомка всегда формирует хромосома-отец, а вторую - хромосома-мать.
Аналогично данным табл. 6 формируются потомки хромосомы b - это Далее на основе полученных данных строятся сочетания (amП, bsП), где
и снова вычисляется пригодность найденных решений.
Таблица 6
Пример операции кроссинговера
Шаги алгоритма выполняются до тех пор, пока не будет найдено минимальное значение интегрального критерия (2), т. е. для всех сочетаний хромосом, и признак пригодности к не станет равен 0 для всех потомков.
Работоспособность разработанного ГА проверена на СС вертикального маятника на тележке. Пример процесса оптимизации параметров НР с помощью ГА представлен в табл. 7.
Таблица 7
Данные из выходного файла программного модуля, реализующего ГА для настройки НР
i |
ИКО |
Границы термов входных параметров НР |
Границы термов выходных параметров НР |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7 |
В1 |
В2 |
В3 |
В4 |
B5 |
B6 |
B7 |
||
0 |
1,2614 |
-75,0 |
-45,0 |
-15,0 |
0 |
15,0 |
45,0 |
75,0 |
-285,0 |
-170,0 |
-60,0 |
0 |
60,0 |
170,0 |
285,0 |
1 |
0,0322 |
-79,7 |
-58,8 |
-23,8 |
0 |
23,8 |
58,8 |
79,7 |
-204,7 |
-165,9 |
-21,7 |
0 |
21,7 |
165,9 |
204,7 |
2 |
0,0071 |
-71,4 |
-43,2 |
-1,0 |
0 |
1,0 |
43,2 |
71,4 |
-457,7 |
-213,3 |
-115,1 |
0 |
115,1 |
213,3 |
457,7 |
3 |
0,0071 |
-71,4 |
-43,2 |
-1,0 |
0 |
1,0 |
43,2 |
71,4 |
-457,7 |
-213,3 |
-115,1 |
0 |
115,1 |
213,3 |
457,7 |
Примечания: i — шаг работы ГА; ИКО — интегральный критерий качества (2). |
На шаге i = 0 (до начала работы ГА) границы термов соответствуют начальным значениям (10), (11). При i = 1 (первый шаг работы ГА) границы термов изменились в пределах диапазонов (13), (14) в сторону улучшения качества работы СС с НР. Значение критерия (2) уменьшилось с 1,26 до 0,032. ГА закончил работу на третьем шаге, когда качество работы СС повысилось до ИКО = 0,0071, улучшить результат не удалось. При i = 3 произошло дублирование результата и остановка работы ГА.
Этап 10 алгоритма синтеза ННР с настройкой ГА выполняется в соответствии со схемой, показанной на рис. 3. В алгоритм нечеткого вывода встраивается формальный нейрон, с помощью которого донастраивается НР (этап 11) в части весов каждого из правил вывода в базе (см. табл. 2).
Разработка ННР с настройкой ГА для СС вертикального маятника на тележке завершена.
Тестирование работы ННР с настройкой ГА в СС вертикального маятника на подвижной тележке выполнялось при наличии случайного воздействия на ОУ как по типу «белый шум», так и случайного импульсного характера (рис. 5, а). На рис. 5, б приведена СС с ННР в прямой цепи и случайным возмущением на ОУ.
Рис. 5. Пример случайного возмущения на ОУ в СС вертикального маятника на тележке (а) и структура СС (б)
На рис. 6 приведены графики изменения во времени выходного параметра СС θ при наличии случайного возмущения импульсного характера (см. рис. 5, а) на ОУ (маятник) при t = 0,2, 1,5 и 2,5 с. Графики на рис. 6 позволяют сделать вывод о том, что ННР при правильной настройке обеспечивает высокое качество работы СС даже при наличии случайных возмущений на ОУ.

Заключение
Предложенная в статье методика синтеза ННР протестирована в условиях ограниченного объема исходных данных (объема обучающей выборки), размер которой не влияет на качество работы алгоритма. Достаточно всего двух или трех значений параметров выборки, чтобы сформировать диапазоны для границ термов нечетких переменных, а далее оптимальные значения подбираются ГА. В условиях отсутствия исходных данных (без обучающей выборки) разработанный ГА также сможет выполнить свою задачу, только диапазоны для значений границ термов потребуется задавать более широкими без привязки к значениям обучающей выборки, а число шагов счета ГА увеличится в сотни раз.
Разработанная методика синтеза ННР с настройкой ГА может быть рекомендована для применения при создании систем стабилизации беспилотных управляемых летательных аппаратов.
Об авторах
Н. А. ПервушинаРоссия
Д. Е. Доновский
Россия
А. Н. Хакимова
Россия
Рецензия
Для цитирования:
Первушина Н.А., Доновский Д.Е., Хакимова А.Н. Разработка методики синтеза нейро-нечеткого регулятора с настройкой генетическим алгоритмом. Вестник Концерна ВКО «Алмаз – Антей». 2018;(4):82-90. https://doi.org/10.38013/2542-0542-2018-4-82-90
For citation:
Pervushina N.A., Donovskiy D.E., Khakimova A.N. Development of synthetic methodology of neuro-fuzzy controller adjusted by genetic algorithm. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2018;(4):82-90. https://doi.org/10.38013/2542-0542-2018-4-82-90