Нечёткий регулятор
Нечёткий регулятор (нем. Fuzzy-Regler, также встречается как нечёткий контроллер) — это разновидность регулятора, построенная на принципах нечёткой логики (англ. fuzzy logic). Нечёткая логика применяется преимущественно для управления техническими процессами с несколькими входами и выходами, при изменяющихся параметрах и нелинейных подсистемах, когда требуется работа без постоянного участия человека (оператора).
В системном анализе понятие нечёткого управляющего устройства (англ. fuzzy control system) определяется как статическая нелинейная система управления, которая на основании строгих входных величин сложного процесса формирует с помощью базы правил управления нестрого определённые нечёткие управляющие воздействия, а затем преобразует их (дефаззификация) в определённые выходные сигналы для достижения требуемого результата процесса[1].
Фуззификация строгой физической входной величины (например, результата измерения) подразумевает её перевод в размыто определённые (нечёткие) величины с помощью лингвистических терминов: «тёплый», «холодный», «много», «мало», «более», «большой», «малый». Для этого используются так называемые нечёткие множества (англ. fuzzy sets), описываемые графически в виде трапеций или треугольников. По этим множествам вычисляются степени принадлежности для строгих входных сигналов в рамках универсумов (переменных) . Термины , относящиеся к переменным универсумов, можно трактовать как соответствующие лингвистические значения нечётких множеств.
Степени принадлежности используются в базе правил, сформированной на основе экспертных знаний, для получения нечётких управляющих воздействий и их последующего преобразования в аналоговые определённые выходные сигналы, воздействующие на исполнительные механизмы системы.
Описывать поведение нечёткого регулятора для известного процесса, как правило, возможно исключительно с использованием экспертных знаний — без необходимости иметь точную математическую модель.
Термин нечёткий регулятор часто употребляется для обозначения методов нечёткого управления, однако зачастую речь идёт о различных функциональных модификациях, упрощениях или дополнениях базовых алгоритмов на основе нечёткой логики.
Основной принцип работы регулятора — это обратная связь, при которой обработанная разность между желаемым и измеренным значением (ошибка) поступает на вход регулятора. Точная работа с помощью статичного нечёткого регулятора возможна только для некоторых классов нелинейных объектов.
Более оптимальные режимы регулирования достигаются при добавлении интегральных и дифференциальных компонентов ошибки с помощью эмпирических настроек. Однако при работе на линейных объектах такие регуляторы не превосходят по характеристикам классические PID-регуляторы.
Применение нечётких регуляторов
Человек способен, используя неточные сведения о процессе, оптимизировать его путём целенаправленных управляющих воздействий. Например, после этапа обучения удержанию равновесия на велосипеде, человек осуществляет корректирующие движения рулём, создавая силы (зависящие от скорости), позволяющие сохранять устойчивость посредством чувства равновесия.
Нечёткие регуляторы, использующие знания эксперта, имитируют такой подход — размытые (нечёткие) входные величины преобразуются согласно базе правил в определённые управляющие воздействия.
Такие системы оперируют специальными графическими методами с нечеткими лингвистическими терминами, приближенными к человеческому мышлению, и простыми логическими уравнениями типа «ЕСЛИ–ТО» для формирования одной или нескольких управляющих величин из множества переменных. Для понимания принципа работы используются схемы потоков сигналов в виде блок-схем.
Нечёткая система может быть представлена как статическая нелинейная система преобразования: строгие входные величины приводят к строгим выходным величинам.
Основные этапы разработки нечёткого регулятора: фуззификация лингвистических переменных соотнесённо со степенями принадлежности, объединение принадлежностей лингвистических терминов через оценку предпосылок (операторы min-max) — согласно базе правил («ЕСЛИ–ТО»), аккумуляция управляющих воздействий и дефаззификация результатирующей управляющей величины до строгого аналогового сигнала (например, методом центра тяжести площадей). Эти управляющие сигналы могут воздействовать на исполнительные механизмы для достижения желаемого поведения установки. Дефаззифицированный управляющий сигнал может быть подан через замкнутую схему обратной связи.
Для использования нечёткого регулятора необходимо понимание ряда специальных терминов:
- Количественная обработка строгих физических входных данных производится с помощью размытых (нечётких) определений и лингвистических терминов («тёплый», «холодный» и др.).
- Фуззификация строгих входных значений осуществляется с помощью "фаззи-сетов" (нечётких множеств), имеющих форму треугольников, трапеций или гауссовых колоколоподобных функций, результатом чего являются степени принадлежности соответствующего универсума, например, температурный диапазон .
- Степени принадлежности затем используются в инференции для применения ЕСЛИ–ТО-правил из базы правил (ЕСЛИ <условие> ТО <вывод>).
- Инференция (логический вывод) включает базу правил, импликацию и аккумуляцию.
- Импликация определяет, как база правил воздействует на управляющие агрегаты.
- При последующей аккумуляции строится некоторая нечеткая управляющая величина.
- Дефаззификация даёт итоговый строгий сигнал, например, методами центра тяжести, при необходимости.
Работа с подобными системами не требует точной математической модели объекта, достаточно экспертных знаний, чтобы лингвистически оценить переменные процесса. С помощью нечёткого управления реализуются как простейшие задачи (например, управление стиральной машиной), так и контуры регулирования в сложных индустриальных установках.
Использование нечётких регуляторов оправдано там, где:
- Описать объект уравнениями или получить его математическую модель затруднительно.
- Классические алгоритмы требуют ручных корректировок оператором.
- Процесс не удаётся автоматизировать традиционными методами.
Цель внедрения нечётких регуляторов — автоматизация таких сложных процессов. Практические применения охватывают все сферы промышленности и даже бытовую технику, включая:
- Управление транспортом (например, поездов, складских подъёмников), где временные характеристики зависят от массы, длины пути, силы сцепления и др. Обычно это многомерные объекты, управляющие воздействия на которые формируются программно.
- В автомобильной промышленности — управление автоматической коробкой передач на основе нечёткой логики.
- В быту — управление программой стиральных и посудомоечных машин.
- Автоматическая фокусировка в фотоаппаратах.
- Учебная модель — управление инвертированным маятником (с одним степенем свободы):
- Тележка массы M двигается по горизонтали под действием силы F, подвешенная маятниковая масса m определяет наклон углом θ, угловая скорость и угол — входные данные нечёткого регулятора, задача — стабилизировать . Эта система, если не интересует координата тележки, реализует нечёткий PD-регулятор по двум входам и одному выходу, формирующему управляющее воздействие для неустойчивого нелинейного объекта.
Лингвистические переменные и нечёткие множества
Классическое определение множества: Множество — совокупность объектов; в классической теории множество — строго определённая совокупность, в которой элемент либо принадлежит (истина = 1), либо не принадлежит (ложь = 0) :
Способ задания описательно:
Определение нечёткого множества:
- Фуззификация — преобразование строгой входной величины одной размерности (универсума) в набор степеней принадлежности.
- Лингвистическая переменная — обычно физическая величина, определённая через несколько лингвистических терминов (фаззи-сетов) .
- Примеры терминов: «тёплый», «большой», «далёкий» и др. — обозначают с помощью нечётких множеств подмножества универсальной переменной (например, температуры).
- Лингвистические термы — нечёткие подмножества универсального множества . Если — температура, то возможные термы: [холодно, тепло, жарко, очень жарко] = .
- Нечёткие множества изображаются на оси (абсциссе) переменной A как треугольники или трапеции.
- Величина некоторых переменных — скалированное значение — служит входом для фуззификации: степень принадлежности .
- Функция принадлежности определяет степень принадлежности элемента определённому терму; — от 0 до 1 (от 0 до 100%).
- Экспертные знания — опыт специалиста, формализующий разделение переменных на лингвистические подмножества.
- Лингвистические переменные традиционно обозначаются как A, B, C…; выходные величины — X, Y, Z.
В отличие от классической теории, нечёткие множества снимают строгую границу истинности, позволяя ввести промежуточные степени принадлежности (фаззи-сеты).
Нечёткая множественность выражается графически, как правило — треугольными или трапециевидными функциями, напоминающими распределение по Гауссу (для простоты вычислений). Абсцисса — физическая шкала переменной, ордината — степень принадлежности .
Одно значение входа может попадать сразу в несколько перекрывающихся фаззи-сетов: например, .
Термины нечётких множеств (фаззи-сеты, элементы нечёткого множества, термы) — синонимы в рамках теории.
Фаззи-переменная — универсум физической величины, подмножества которого реализованы как фаззи-сеты на координатной прямой.
Графическая модель потоков сигналов включает несколько входных/выходных переменных, связанных множеством правил базы знаний. Строгие входные значения фуззифицируются, обработанные нечёткие выходные — дефаззифицируются в управляющие воздействия.
Пример: переменная «температура» = фаззи-сеты «очень холодно», «холодно», «тепло», «очень тепло». Расстояние — «очень близко», «близко», «далеко», «очень далеко».
Техпроцессы зачастую достаточно описывать 2–7 термами для каждой переменной.
Визуализировать фаззи-множества удобно на осях: абсцисса — значения переменной, ордината — принадлежность (). Чаще — симметричные треугольные/трапециевидные фазы (фаззи-сеты пересекаются на 20–50 %). Если нет пересечения — для некоторых входных значений степень принадлежности равна нулю.
Чем больше перекрытие, тем плавнее выходная кривая. Количество переменных и термов стоит минимизировать — иначе вычислительные и программные затраты возрастают экспоненциально.
Для лучшей читаемости:
- Строгие входы/выходы — e1…en, u1…un.
- Нечёткие сигналы — функция .
- Фаззи-переменные для входа — A, B, C…, для выхода — X, Y, Z или U.
- Терм (фаззи-сет) A — a1, a2…, у B — b1, b2….
- Степень принадлежности — и т. д.
- Для выходной переменной U — , например, «открытие клапана на 2/3» соответствует .
- Степень выполнения — значение при данном входе; часто обозначается греческой буквой α.
Фаззи-переменная формируется как набор перекрывающихся фаззи-сетов (треугольников или трапеций) с высотой . Для вычисления степени принадлежности в конкретной точке используются линейные уравнения:
Восходящая прямая:
Нисходящая прямая:
Операции с нечёткими множествами нужны для объединения условий в правилах.
- Оператор И: min-оператор, .
- Оператор ИЛИ: max-оператор, .
- Оператор НЕ (дополнение): .
Определяют отношения между различными переменными. Фаззи-реляция — нечёткое множество на декартовом произведении двух универсумов .
Практический пример — таблица степени принадлежности двух фаззи-сетов (температура «тёплая» и давление «среднее») на разных значениях:
| Переменная «Давление», термин «среднее» | |||||
|---|---|---|---|---|---|
| Перем. «Темп.» терм «тёпло» |
4 бар | 8 бар | 12 бар | 16 бар | 20 бар |
| 20 °C | 0 | 0 | 0 | 0 | 0 |
| 40 °C | 0 | 0,5 | 0,5 | 0,5 | 0 |
| 60 °C | 0 | 0,5 | 1,0 | 0,5 | 0 |
| 80 °C | 0 | 0,5 | 0,5 | 0,5 | 0 |
| 100 °C | 0 | 0 | 0 | 0 | 0 |
Схема работы нечёткого регулятора
В классической схеме по Мамдани[1] в состав входят:
- База знаний, содержащая экспертные правила трансляции строгих входных сигналов в фаззи-сеты и формализации управляющих решений.
- База правил — набор «ЕСЛИ–ТО-выражений» для конструирования нечёткого выхода по нечёткому входу.
Последовательность разработки:
- Моделирование универсумов входов/выходов.
- Задание функций принадлежности (фаззи-сетов).
- Составление набора управляющих правил.
Кратко:
|
Структура нечёткого регулятора
В технической литературе присутствует сразу несколько заимствованных терминов:
|
Чаще всего фуззификация применяется к нелинейным многомерным процессам, для которых имеется лишь эмпирическая модель.
Каждый входной канал масштабируется на соответствующий универсум; далее формируются перекрывающиеся фаззи-сеты по экспертным оценкам. Важно правильно выбрать число терминов и степень перекрытия. Часто края диапазона ограничивают трапециевидными функциями (чтобы всегда гарантировать полную принадлежность при превышении диапазона).
Изменяя расположение фаззи-сетов, их перекрытие и форму, можно существенно менять входно-выходную характеристику фаззи-регулятора[2].
Экспертная система задаёт поведение, формируя комбинации фаззи-сетов с помощью правил вида «ЕСЛИ <условие> ТО <вывод>».
Внутренние формулы:
Для однопеременных правил:
Для связки разных универсумов:
Число правил растёт экспоненциально: при трёх фаззи-переменных по 7 термов — уже 343 правила, поэтому минимизация числа переменных и термов необходима.
Перевод нечёткого результата (комбинированной выходной функции принадлежности) в строгий управляющий сигнал.
- Метод максимума: выбирается точка максимума объединённой функции (быстро, но не всегда надёжно).
- Метод центра тяжести (центр масс, COG): вычисляет центр площади полученной кривой :
Для дискретных вычислений:
или (для упрощения) — через "singletons":
Плюсы и минусы нечётких регуляторов
Преимущества:
- Позволяют справляться с нелинейными динамическими процессами как с помощью таблиц (карты) управления.
- Не требуют точной математической модели объекта.
- Могут быть поняты и настроены без глубоких специальных знаний (на уровне опытного оператора/эксперта).
- Могут моделировать любые типы нелинейности (в пределах настроек фаззи-сетов).
- Робустны к вариациям параметров в определённых пределах, отказ датчиков не всегда критичен.
- Допускают реализацию в виде специализированных аппаратных решений.
Недостатки:
- Ограничения по динамике (статическая природа базовых регуляторов); для улучшения — необходимы интегральные, дифференциальные дополнения.
- При наличии точной модели объект лучше управлять классическими методами.
- Трудность строгой проверки стабильности.
- Экспоненциальный рост числа правил при усложнении.
- На практике хорошо работают только для специфических нелинейных объектов, сложных для математического описания.
Нечёткость в системах управления
На линейных объектах классические P, PI, PD, PID-регуляторы работают приемлемо. Однако, для нелинейных систем требуется либо специальная линеаризация, либо эмпирический подбор через моделирование.
Наиболее эффективны нечёткие регуляторы на нелинейных многомерных объектах, где простое построение выходной характеристики недоступно, а строгая обратная связь невозможна.
Для таких задач нечёткие регуляторы показывают высокую гибкость: входно-выходная характеристика может быть практически любой (линейной, нелинейной, с мёртвой зоной, с многоточечным переключением). В базовой реализации — они аналогичны статическому P-регулятору с произвольной формой характеристики.
Для динамических режимов фуззирегулятор можно дооснастить интегральными/дифференциальными звеньями, однако на линейных объектах это не даёт преимуществ перед стандартными линейными регуляторами.
- Тип Мамдани[3]: классическая фуззификация, применение базы правил, дефаззификация (обычно по методу центра тяжести).
- Тип Сугено (или Такэги–Сугено)[4]: отличается структурой вывода — в каждом правиле вместо фаззификатора используется числовая формула (линейная комбинация входных переменных), этап дефаззификации отсутствует. Математические затраты ниже, при похожей точности.
Применяется также смешанный вариант: Мамдани с singletons (одиночными значениями) для выходной переменной — что упрощает расчет и визуализацию.
Пусть некий объект требует управляющее воздействие не линейно, а с переменной эффективностью (около нуля — меньшее, по краям диапазона — большее усиление):
Регулятор с рабочим диапазоном по ошибке e = ±1, 3 фаззи-сета симметричны, коэффициенты термов: k₁ = 2,5, k₂ = 0,4, k₃ = 2,5, степени принадлежности вычисляются по вышеуказанным формулам.
Для разности e = −0,8 активны два терма: , управляющее воздействие:
Такую характеристику можно построить таблично или графически по диапазону ошибкe e.
Примечания
- ↑ 1 2 Lutz, Holger. Тaschenbuch der Regelungstechnik: mit MATLAB und Simulink / Holger Lutz, Wolfgang Wendt. — 12. — Verlag Europa-Lehrmittel, 2021. — ISBN 978-3-8085-5870-6.
- ↑ Schulz, Gerd. Regelungstechnik 2, Mehrgrößenregelung, Digitale Regelungstechnik, Fuzzy-Regelung. — 2. — Oldenbourg Verlag, 2002. — ISBN 3-486-58318-2.
- ↑ Mamdani, Ebrahim (1974). “Application of Fuzzy Logic to Control of Complex Systems”. IEEE Transactions on Systems, Man, and Cybernetics [англ.]. SMC-7 (6): 623—638. Дата обращения 2024-06-15.
|access-date=требует|url=(справка) - ↑ Takagi, T.; M. Sugeno (1985). “Fuzzy identification of systems and its applications to modeling and control”. IEEE Transactions on Systems, Man and Cybernetics [англ.]. SMC-15 (1): 116—132. Дата обращения 2024-06-15.
|access-date=требует|url=(справка) - ↑ Siemens Fuzzy-Shell PROFUZZY (нем.). Siemens Support. Siemens AG. Дата обращения: 15 июня 2024. Архивировано 8 марта 2021 года.
Литература
- Schirotzek, Winfried. Mathematik für Ingenieure und Naturwissenschaftler / Winfried Schirotzek, Siegfried Scholz. — 3. — B.G. Teubner, 1999. — ISBN 3-519-00271-X.
- Schulz, Gerd. Regelungstechnik 2, Mehrgrößenregelung, Digitale Regelungstechnik, Fuzzy-Regelung. — 2. — Oldenbourg Verlag, 2002. — ISBN 3-486-58318-2.
- Tsoukalas, Lefteri H. Fuzzy and Neural Approaches in Engineering : [англ.] / Lefteri H. Tsoukalas, Robert E. Uhrig. — Wiley-Interscience, 1996. — ISBN 0-471-16003-2.
- Lutz, Holger. Тaschenbuch der Regelungstechnik: mit MATLAB und Simulink / Holger Lutz, Wolfgang Wendt. — 12. — Verlag Europa-Lehrmittel, 2021. — ISBN 978-3-8085-5870-6.