
- •Государственный комитет Российской Федерации по высшему образованию
- •Имени а.Н. Туполева
- •«Теоретические основы автоматизированного управления»
- •Содержание
- •Лабораторная работа №1 Описание объекта управления
- •1.1. Предварительные сведения
- •Описание структурной схемы
- •1.2. Задание для выполнения работы
- •1.3. Порядок выполнения работы
- •Лабораторная работа №2 Проектирование нечеткого контроллера (нечеткое представление данных)
- •2.1. Предварительные сведения
- •2.2. Задание для выполнения работы
- •2.3. Порядок выполнения работы Проектирование нечеткого контроллера
- •Лабораторная работа №3 Проектирование нечеткого контроллера (нечеткий логический вывод)
- •3.1. Предварительные сведения
- •3.2. Задание для выполнения работы
- •3.3. Порядок выполнения работы
- •Тестирование базы правил
- •3.3.7.Индексный формат базы правил позволяет предельно сжато описать ее содержание:
- •Лабораторная работа №4 Исследование нечеткого контроллера в составе Simulink – модели.
- •4.1. Предварительные сведения
- •4.2. Задание для выполнения работы
- •4.3. Порядок выполнения работы Создание Simulink - модели
- •Требования к оформлению отчета
- •Структура блоков valve и tank Приложение 2
Лабораторная работа №3 Проектирование нечеткого контроллера (нечеткий логический вывод)
Цель работы заключается в ознакомлении с процедурой нечеткого логического вывода по алгоритму Мамдани[1],[5].
3.1. Предварительные сведения
3.1.1.В нечеткой логике важным понятием является понятие нечеткого предложения (fuzzy proposition): «level есть high». Здесь слово level обозначает физическую величину (уровень), а нечеткое множество high характеризуется лингвистикой высокий и задается с помощью соответствующей функции принадлежности µhigh(level).
3.1.2.Нечеткие предложения, соединенные нечетким AND или OR, иногда называют условиями или предпосылками (antecedent), и для их обозначения используют индикатор если (if). Таким образом, aнтецедент будет иметь следующий вид:
if (level is high) and (rate is negative).
3.1.3. Антецедент определяет совокупность выводов (заключений). Эта совокупность называется консеквент (consequent). Индикатором консеквента является слово тогда (then). Таким образом, консеквент будет иметь следующий вид:
then valve is close.
3.1.4. Совокупность антецедента и консеквента определяет продукционное нечеткое правило (fuzzy rule):
if (level is high) and (rate is negative) then valve is fast_close.
3.1.5. Совокупность продукционных нечетких правил образует нечеткую базу правил, используемую для нечеткого логического вывода (fuzzy logic inference). Нечеткий логический вывод - это процедура, состоящая из следующих этапов: фаззификации, агрегирования, активизации, аккумуляции и дефаззификации.
3.1.6. Фаззификация - это процесс определения значения функции принадлежности по известному значению аргумента. Агрегирование – это процесс определения степени истинности антецедента в форме нечеткого AND или форме нечеткого произведения PROD. Активизация – это процесс определения степени истинности консеквента. Аккумуляция – это процесс объединения степеней истинности консеквентов для получения степени истинности выходных лингвистических переменных. Дефаззификация - это процесс определения четкого значения выходных переменных.
3.2. Задание для выполнения работы
3.2.1. Ознакомиться с материалом, изложенным в п.п.3.1.1-3.1.6 настоящего руководства.
3.2.2.Загрузить Fis –Еditor и создать базу правил, указанных в п.п.1.1.4 –
3.2.3. Используя Rule Viewer провести тестирование созданной базы правил.
3.2.4. Сохранить fis– файл для собственной Simulink-модели
3.3. Порядок выполнения работы
Создание базы правил
3.3.1.База правил нечеткого контроллера создается с помощью Редактора правил (Rule Editor). Установите исходную панель FIS – Editor FazCont, приведенную на рис.2.1.
3.3.2.Rule
Editor
можно
загрузить, дважды щелкнув ЛК на иконке
FazCont
Mamdani
(последнее слово означает тип алгоритма
нечеткого вывода по имени автора
алгоритма). Появится панель Редактора
правил,
которая имеет следующий вид:
3.3.3.Для того, чтобы ввести в базу правило
If (level is okay) then (valve is no_change) (1),
необходимо в окне level установить okay, в окне rate установить none, в окне valve установить no_change и нажать клавишу Add rule. Правило 1 появится в первой строке верхнего окна. Аналогично введите остальные четыре правила ( см. п.п.1.1.4-1.1.5).
3.3.4.После создания базы правил исходная панель FIS – Editor FazCont
примет следующий вид: