Таблица 1 - Варианты заданий
№ |
|
Rяц |
Тя |
Сm |
kдт |
kдс |
J |
|
|
|
|
|
Регулятор |
|
|
|
Регулятор |
|||||||||
|
Замена клас- |
|
|
|
|
|
|
|
|
|
|
|
скорости |
|
|
|
|
тока |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сического |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
регулятора |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Тока |
0.4 |
0.0032 |
2 |
1 |
1 |
0.011 |
|
0.001 |
|
|
|
|
0.4 |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 * 0.0092 * p |
||||||
|
|
|
|
|
|
|
|
|
4 * 0.0092 * 2 |
|
|
|
|
|
|
|||||||||||
2 |
Скорости |
0.22 |
0.0032 |
1.667 |
1 |
1 |
0.054 |
|
|
|
|
(0.033* p J ) |
1 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
0.0018 * p |
|
|
|
|
|
p |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
3 |
Тока |
6.944 |
0.053 |
2 |
0.889 |
0.095 |
0.034 |
|
5.685 * (0.056 * p 1) |
13.48 * (0.056 * p 1) |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0.056 * p |
|
|
|
0.056 * p |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
Скорости |
0.21 |
0.023 |
3.18 |
0.028 |
0.15 |
4.2 |
|
|
|
|
(0.044 * p J ) |
1 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
0.0022 * p |
|
|
|
|
|
p |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
5 |
Тока |
1.455 |
0.042 |
0.726 |
0.381 |
0.095 |
0.05 |
|
11.245 * (0.042 * p) |
|
|
0.03* (0.042 * p 1) |
||||||||||||||
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.042 * p 1 |
|
|
|
0.042 * p |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
Скорости |
|
0.003 |
1.667 |
|
|
0.05 |
|
|
|
|
|
(0.029 * J ) |
1 |
|
|
|
|
||||||||
|
|
0.22 |
9 |
|
1 |
1 |
4 |
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
0.15 * 2 * Cm * 0.07 |
0.029 |
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Дайте определение понятия нечеткое множество?
2.Что называется термом?
3.Назовите основные компоненты нечеткого регулятора?
4.Описать алгоритм работы нечеткого логического вывода Мамдани?
5.Дайте определение функции принадлежности?
6.Назовите основные виды функций принадлежностей?
Лабораторная работа № 2
Настройка нечеткого регулятора с алгоритмом вывода Сугено в системе управления тиристорный преобразователь-двигатель
Цель работы: освоить навыки работы в программной среде MatLab, ознакомиться с работой основных элементов программных пакетов Simulink и Fuzzy Logic Toolbox, на примере настройки нечеткого регулятора с алгоритмом вывода Сугено в системе управления тиристорный преобразователь-двигатель.
Основы работы в MatLab
После запуска программы на экран выводится главное окно программы, в котором отображается, в зависимости от установок, командная строка, история команд, текущая директория и др. Необходимо в командной строке ввести команду fuzzy и нажать Ввод. После чего появится окно редактора нечеткого управления. Для выбора алгоритма нечеткого логического вывода необходимо в меню File->New FIS-> выбрать алгоритм работы (Мамдани или Сугено). В редакторе нечеткого управления содержатся блоки: вход регулятора (может содержать несколько вхо-
дов), нечеткая база правил, и выход нечеткого регулятора (дефаззификация). Также редактор содержит методы агрегации, дефаззификации и методы работы пра-
вил базы правил.
Работа в пакете Simulink
После запуска пакета Simulink необходимо создать новый файл. Для работы нечеткого управления в библиотеке Simulink Library Browser выбрать пакет Fuzzy Logic Toolbox->Fuzzy Logic Controller. Затем открыв этот блок двойным нажатием левой кнопки мыши, ввести имя нечеткого регулятора. Важно помнить, что таким же именем должен быть назван и файл сконструированный в редакторе нечеткого управления Fuzzy Logic Toolbox.
Для корректной работы нечеткого регулятора в пакете Simulink, необходимо предварительно экспортировать данные в рабочую область: для этого в окне редак-
тора нечеткого управления: File->Export->To workspace.
Для сохранения данных сконструированного нечеткого регулятора используется функция в главном окне редактора нечеткого управления: File->Export->To Disk, для загрузки уже готового и настроенного нечеткого регулятора необходимо в редакторе выбрать в меню: File->Import- >From disk.
Основные термины и понятия теории нечетких множеств
Понятие нечеткого множества - это попытка математического описания качественной информации для построения формализованных математических моделей. В основе данного понятия лежат представления о том, что составляющие данное множество элементы, обладающие общим свойством, могут обладать этим свойством в различной степени и, следовательно, принадлежать к данному множеству с различной степенью. При таком подходе высказывания типа «такой-то элемент принадлежит данному множеству» теряют смысл, поскольку необходимо указать «насколько сильно» или с какой степенью конкретный элемент удовлетворяет свойствам данного множества.
~
Нечетким множеством (fuzzy set) A на универсальном множестве U называется совокупность пар вида A(х), x, где A(х) - степень принадлежности элемента х
~
U к нечеткому множеству A .
Степень принадлежности - это число из диапазона [0, 1]. Чем выше степень принадлежности, тем в большей мерой элемент универсального множества соответствует свойствам нечеткого множества.
Функцией принадлежности (membership function) называется функция, которая позволяет вычислить степень принадлежности произвольного элемента универсального множества к нечеткому множеству. Если универсальное множество состо-
~
ит из конечного количества элементов U = {х1,х2,...,хk}, тогда нечеткое множество A записывается в виде
В случае непрерывного множества U используют такое обозначение
Лингвистической переменной (linguistic variable) называется переменная, значениями которой могут быть слова или словосочетания некоторого естественного или искусственного языка.
Терм-множеством (term set) называется множество всех возможных значений лингвистической переменной.
Термом (term) называется любой элемент терм-множества. В теории нечетких множеств терм формализуется нечетким множеством с помощью функции принадлежности.
Дефаззификацией (defuzzification) называется процедура преобразования нечеткого множества в четкое число. В теории нечетких множеств процедура дефаззификации аналогична нахождения характеристик положения (математического ожидания, моды, медианы) случайных величин в теории вероятности. Простейшим способом выполнения процедуры дефаззификации является выбор четкого числа, соответствующего максимуму функции принадлежности. Однако пригодность этого способа ограничивается лишь одно экстремальными функциями принадлежности.
Алгоритм нечеткого логического вывода Сугено (Sugeno).
Sugeno и Takagi использовали набор правил в следующей форме (как и раньше, приводим пример двух правил) :
П1: если х есть А1 и у есть B1, тогда z1 = ах + b1y, П2: если х есть А2 и у есть В2, тогда z2 = а2х + b2y.
Представление алгоритма 1. Нечеткость: находятся степени истинности для предпосылок каждого
правила: A1(x0), А2(x0), B1(y0), В2(у0).
2. На втором этапе находятся где через « » обозначена операция логического минимума (min), и ин-
дивидуальные выходы правил:
3. На третьем этапе определяется четкое значение переменной вывода: Иллюстрирует алгоритм рис. 1.
Рисунок 1. Алгоритм Sugeno
Упрощенный алгоритм нечеткого вывода Сугено.
Исходные правила в данном случае задаются в виде: П1 если х есть A1 и у есть B1, тогда z1 = c1,
П2: если х есть А2 и у есть В2, тогда z2 = с2, где c1 и с2 - некоторые обычные (четкие) числа.
Описание алгоритма Первый этап - находятся степени истинности для предпосылок каждого пра-
вила: A1(x0), А2(x0), B1(y0), В2(у0).
На втором этапе находятся числа
На третьем этапе находится четкое значение выходной переменной по фор-
муле
или – в общем случае наличия п правил – по формуле
Иллюстрация алгоритма приведена на рис. 2.
Рисунок 2. Упрощенный алгоритм нечеткого вывода
Настройка нечеткого регулятора
После запуска окна редактора нечеткого регулятора, необходимо произвести его настройку. При необходимости введения дополнительных входов или выходов регулятора следует в меню Edit->Add Variable- >Input/Output. (рис. 3).