
- •050702 – «Автоматизация и управление»
- •Часть 1 Астана– 2011 Введение
- •Лабораторная работа №1 Знакомство с системой matlab
- •1.1. Общая характеристика программы matlab
- •1.2. Запуск системы matlab и элементы ее графического интерфейса
- •1.4. Основные приемы работы в системе matlab
- •Основные приемы работы в окне команд
- •1.5. Графические возможности системы matlab
- •Лабораторная работа №2 Овладение навыками нечеткого моделирования в среде matlab
- •2.1 Процесс разработки системы нечеткого вывода
- •2.2 Редактор систем нечеткого вывода fis
- •2.3 Редактор функций принадлежности
- •2.4 Редактор правил системы нечеткого вывода
- •Программа просмотра правил системы нечеткого вывода
- •Программа просмотра поверхности системы нечеткого вывода
- •Лабораторная работа №3 Овладение навыками разработки системы нечеткого вывода в интерактивном режиме
- •Лабораторная работа №4 Исследование нечеткой модели управления смесителем воды
- •4.1 Содержательная постановка задачи
- •4.2. Построение базы нечетких лингвистических правил
- •4.3. Фаззификация входных переменных
- •Лабораторная работа №5 Исследование нечеткой модели управления кондиционером воздуха в помещении
- •5.1. Содержательная постановка задачи
- •5.2. Построение базы нечетких лингвистических правил
- •5.3. Порядок выполнения работы
- •Лабораторная работа №6 Разработка и исследование нечеткой модели управления контейнерным краном
- •6.1. Содержательная постановка задачи
- •6.2. Формирование базы правил систем нечеткого вывода
- •Лабораторная работа №7 Разработка нечеткой модели оценивания финансовой состоятельности клиентов со стороны банков
- •7.1. Содержательная постановка задачи оценивания
- •7.2. Описание входных и выходных переменных
- •7.3. Нечеткая модель оценивания финансовой
- •Фаззификация входных и выходных переменных
- •Формирование базы правил систем нечеткого вывода
5.3. Порядок выполнения работы
Разработку нечеткой модели (назовем ее conditioner) будем выполнять с использованием графических средств системы MATLAB. С этой целью откроем редактор FIS и определим 2 входные переменные с именами "температура" (β1) и "скорость" (β2) и одну выходную переменную с именем "угол" (βз).
Вид графического интерфейса редактора FIS для этих переменных изображен на рисунке 5.5.
Поскольку мы используем систему нечеткого вывода типа Мамдани, оставим без изменения тип, предложенный системой MATLAB по умолчанию. Нет необходимости изменять и другие параметры разрабатываемой нечеткой модели, предложенные системой MATLAB по умолчанию, такие как логические операции (min— для нечеткого логического И, max – для нечеткого логического ИЛИ), методы импликации (min), агрегирования (max) и дефаззификации (centroid).
Далее следует определить функции принадлежности термов для каждой из переменных системы нечеткого вывода. Для этой цели воспользуемся редактором функций принадлежности системы MATLAB. Для первой входной переменной следует добавить два дополнительных терма к трем, заданным по умолчанию, и определить параметры соответствующих функций принадлежности. Численные значения этих параметров можно взять из рис. 5.2. Вид графического интерфейса редактора функций принадлежности после задания первой входной переменной изображен на рис. 5.6.
Для второй входной переменной следует оставить 3 терма, заданные по умолчанию, и изменить только тип и параметры функций принадлежности в соответствии с рис. 5.3. Для выходной переменной следует добавить 4 терма к трем, заданным по умолчанию, и задать параметры соответствующих функций принадлежности из рис. 5.4.
Вид графического интерфейса редактора функций принадлежности после задания выходной переменной изображен на рис. 5.7.
Рисунок 5.5. Графический интерфейс редактора FIS после определения
входных и выходных переменных разрабатываемой системы нечеткого вывода.
Рисунок 5.6. Графический интерфейс редактора функций принадлежности после задания первой входной переменной "температура" для системы нечеткого вывода conditioner.
Рисунок 5.7. Графический интерфейс редактора функций принадлежности после
задания выходной переменной "угол" для системы нечеткого вывода conditioner.
Теперь зададим 15 правил для разрабатываемой системы нечеткого вывода. Для этой цели воспользуемся редактором правил системы MATLAB. Вид графического интерфейса редактора правил после задания всех 15 правил нечеткого вывода изображен на рисунке 5.8.
Теперь можно выполнить оценку построенной системы нечеткого вывода для задачи автоматического управления кондиционером в помещении. С этой целью откроем программу просмотра правил системы MATLAB и введем значения входных переменных для частного случая, когда текущая температура воздуха в помещении равна 20°С, а скорость ее изменения положительная и составляет 0.2°С/мин. Процедура нечеткого вывода, выполненная системой MATLAB для разработанной нечеткой модели, выдает в результате значение выходной переменной "угол", равное -33.8° (Рис. 5.9).
Данное значение соответствует включению режима "холод" кондиционера на треть своей мощности. Сравнение результатов нечеткого вывода для этих значений входных переменных, полученные на основе численных расчетов (≈34° влево) и с помощью разработанной нечеткой модели MATLAB, показывает хорошую согласованность модели и подтверждает ее адекватность в рамках рассматриваемой модели.
Рисунок 5.8. Графический интерфейс редактора правил после задания
базы правил для системы нечеткого вывода conditioner.
Рисунок 5.9. Графический интерфейс после выполнения процедуры нечеткого
вывода для значений входных переменных [20 0.2].
Процесс анализа и исследования построенной нечеткой модели включает в себя выполнение нечетких выводов для различных значений входных переменных и оценки полученных результатов с целью установления адекватности модели и внесения в нее необходимых изменений в случае несогласованности отдельных результатов. Проверка нечеткой модели для других значений входных переменных, например, 10 °С и 0.2 °С/мин приводит к результату 19.7°, что также подтверждает ее адекватность.
Для общего анализа разработанной нечеткой модели может оказаться полезной визуализация соответствующей поверхности нечеткого вывода (Рис. 5.10).
Рисунок 5.10. Визуализация поверхности нечеткого вывода для
системы нечеткого вывода conditioner.
Данная поверхность нечеткого вывода позволяет установить зависимость значений выходной переменной от значений входных переменных нечеткой модели системы управления кондиционером. Эта зависимость может послужить основой для программирования контроллера или аппаратной реализации соответствующего нечеткого алгоритма управления в форме таблицы решений. В дополнение к этому установление данной зависимости является по сути решением задачи, известной в классической теории управления как задача синтеза управляющих воздействий. При этом для решения данной задачи были использованы средства нечеткой логики и теории нечетких множеств.
Задание:
1. С помощью инструмента Fuzzy Logic Toolbox реализуйте алгоритм нечеткого управления кондиционером воздуха в помещении и сравните полученные результаты с результатами рисунка 5.9;
2. Измените текущую температуру с 20◦С до температуры, заданной преподавателем (от 25 до 45 градусов по Цельсию), после чего сравните полученные результаты с результатами рисунка 5.9;
3. Поменяйте при новой температуре скорость ее изменения на отрицательную (от 0,2 до 1,5) и сравните результаты с предыдущими;
4. Измените по заданию преподавателя тип входной переменной «температура воздуха» и полученные результаты сравните с предыдущими результатами. Объясните причины их изменения;
5. Измените по заданию преподавателя значения параметров для лингвистической переменной «угол поворота регулятора», после чего сравните полученные результаты с предыдущими;
5. Замените тип функции принадлежности для выходной переменной с треугольной на функцию типа Гаусса (gaussmf), после чего сравните полученные результаты с предыдущими.
Контрольные вопросы:
1. Какие терм-множества использовались при формулировании правил нечеткой продукции?
2. Какие нечеткие правила Вы бы добавили к имеющимся 15?
3. Можно ли в данном случае использовать не две, а три входных лингвистических переменных?
4. Позволяет ли инструмент Fuzzy Logic Toolbox вводит три и более входных лингвистических переменных, если может, то как это осуществить?
5. В каких случаях в качестве алгоритмов управления целесообразно использовать нечеткие алгоритмы?
6. Какие дополнительные терм-множества Вы могли бы предложить для входных переменных?
7. Какие виды поверхностей для данного примера можно получить с помощью программы просмотра поверхности системы нечеткого вывода?