neuro_lab3
.pdfОтчет по лабораторной работе № 3
по дисциплине «Нейро-нечеткие технологии в задачах управления» Тема: «Изучение основ применения нечеткой логики»
Цель работы – изучение основ работы с элементами нечёткой логики в среде Fuzzy Logic Toolbox ППП Matlab.
Выполнение
1. Изучение состава модели системы с регулятором воды в баке в Simulink.
Общий вид модели системы с регулятором воды в баке представлен на рис. 1. Изображенная система имеет следующие характеристики:
-в состав системы включен блок Fuzzy Logic Controller – контроллер нечеткой логики. Выход нечеткой системы является уровнем, на котором распределительный клапан открывается или закрывается;
-изначально клапан Valve закрыт;
-бак tank2 имеет высоту 2 м, площадь дна 1 м2, начальный уровень воды 0,5 м, площадь поперечного сечения выходной трубы бака 0,05 м2;
-параметры блока change – верхняя и нижняя границы нелинейности типа «насыщение» –
составляют ± 0,1; - генератор сигналов воспроизводит прямоугольные импульсы амплитудой 0,5 с частотой
0,1 с-1.
Рис. 1 – Общий вид системы Состав модели бака представлен на рис. 2.
Рис. 2 – Модель бака
Состав модели клапана представлен на рис. 3.
Рис. 3 – Модель клапана
2. Анализ графиков, выводимых в блоках Scope.
Реализуем моделирование системы. Полученные показания блоков Scope представлены на рис. 4 - 6.
2
Рис. 4 – Объем воды, вытекающей из бака (показания Scope4)
Из рис. 4 видно, что объем воды, вытекающей из бака, закономерно увеличивается, идет на относительно постоянном уровне, а затем уменьшается и идет на относительно постоянном уровне с некоторым периодом.
Рис. 5 – Уровень воды в баке (Показания Comparison)
Процесс на рис. 5 периодический. Из рис. 4 – 5 видно, что при увеличении уровня воды в баке объем воды, вытекающей из бака, увеличивается, а при уменьшении уровня воды в баке объем воды, вытекающей из бака, уменьшается.
Рассмотрим первый и второй полупериоды на рис. 5. Для первого полупериода справедливо, что сначала уровень воды в баке резко увеличивается, затем увеличивается медленно, достигает максимального значения, после этого медленно уменьшается.
Для второго полупериода справедливо, что сначала уровень воды в баке резко уменьшается, затем уменьшается медленно, достигает минимального значения, после этого медленно увеличивается.
3
Рис. 6 – Скорость изменения уровня воды в баке (Показания Change scope)
Рассмотрим первый и второй полупериоды на рис. 5 – 6. Для первого полупериода справедливо, что когда скорость изменения уровня воды в баке имеет постоянное положительное большое значение, уровень воды в баке резко увеличивается. Когда скорость положительная и уменьшается, уровень воды в баке медленно увеличивается; скорость уменьшается до нуля, при этом уровень воды в баке максимален. Когда скорость отрицательная, а ее модуль сначала увеличивается, потом уменьшается, уровень воды медленно уменьшается; скорость уменьшается до нуля.
Для второго полупериода справедливо, что когда скорость изменения уровня воды в баке имеет постоянное отрицательное большое по модулю значение, уровень воды в баке резко уменьшается. Когда скорость отрицательная и уменьшается по модулю, уровень воды в баке медленно уменьшается; скорость уменьшается до нуля, при этом уровень воды в баке минимален. Когда скорость положительная и сначала увеличивается, потом уменьшается, уровень воды медленно увеличивается; скорость уменьшается до нуля.
3. Анализ графиков, выводимых в блоках Scope, при использовании в контуре ПИДрегулятора вместо нечеткого.
ПИД-регулятор представляет из себя ПД-регулятор (интегральный коэффициент усиления равен нулю) с коэффициентом пропорционального усиления равным 2, коэффициентом дифференциального усиления равным 1 и коэффициентом фильтрации равным 100.
4
Переключим Switch (поменяем значение блока const на 1), чтобы управлять уровнем воды с помощью ПИД-регулятора, запустим моделирование системы. Полученные показания блоков Scope представлены на рис. 7 – 9.
Рис. 7 – Объем воды, вытекающей из бака (показания Scope4)
Из рис. 7 видно, что изменение объема воды, вытекающей из бака, представляет собой сходящийся переходной процесс, повторяющийся с некоторым периодом.
Рис. 8 – Уровень воды в баке (Показания Comparison)
Из рис. 7 – 8 видно, что при увеличении уровня воды в баке объем воды, вытекающей из бака, увеличивается, а при уменьшении уровня воды в баке объем воды, вытекающей из бака, уменьшается.
Из рис. 8 видно, что изменение уровня воды в баке представляет собой сходящийся переходной процесс, повторяющийся с некоторым периодом. Причем процесс сходится к значениям уровня 0,5 м и 1,5 м (в зависимости от полупериода).
5
Рис. 9 – Скорость изменения уровня воды в баке (Показания Change scope)
Из рис. 9 видно, что скорость изменения уровня воды в баке представляет собой сходящийся к нулю переходной процесс, который повторяется с некоторым периодом. Для рис. 8 – 9 справедливы утверждения, приведенные для рис. 5 – 6, о поведении уровня воды в баке и изменении его скорости, но с учетом наличия затухающих колебаний.
Таким образом, сравнивая результаты моделирования для системы с нечетким регулятором и для системы с ПИД-регулятором, можно увидеть, что наличие нечеткого регулятора позволяет избежать чрезмерно высокого и низкого уровня воды в баке, что не достигается при помощи ПИД-регулятора. Однако, нечеткий регулятор не обеспечивает постоянства уровня воды в баке, которое может обеспечить ПИД-регулятор на протяжении некоторого промежутка времени.
6
4. Изучение переменных нечеткого регулятора в редакторе Fuzzy Logic Toolbox.
Вид окна редактора Fuzzy Logic Toolbox представлен на рис. 10.
Рис. 10 – Редактор состава и параметров нечеткого регулятора
Из рис. 10 видно, что для рассматриваемого нечеткого регулятора в качестве входных переменных заданы ошибка уровня воды и скорость изменения уровня воды, а в качестве выходной переменной – клапан. Ошибка уровня воды может принимать значения в интервале [-1, 1], скорость изменения уровня воды – значения в интервале [-0,1; 0,1], а клапан – значения в интервале [-1, 1].
5. Изучение в редакторе состава и параметров нечёткого регулятора, а также используемого типа алгоритма нечеткого вывода.
Для рассматриваемого нечеткого регулятора заданы следующие параметры:
-тип алгоритма нечеткого вывода – алгоритм Мамдани (а именно - его подтип (по Матлабу) – алгоритм Ларсена, так как задана импликация prod,);
-метод логической конъюнкции – метод алгебраического произведения:
-метод логической дизъюнкции – метод алгебраической суммы;
-метод вывода заключения – метод алгебраического произведения;
-метод агрегирования значений функции принадлежности выходной переменной – метод максимального значения;
-метод дефаззификации – метод центра тяжести для дискретного множества значений
функции принадлежности.
7
6. Изучение редактора функций принадлежности и способов создания и удаления термов и функций принадлежности.
Вид окна редактора функций принадлежности для входных и выходного параметров представлен на рис. 11.
Рис. 11 – Редактор функций принадлежности Из рис. 11 видно, что параметры описываются при помощи функций принадлежности.
Параметру level соответствуют функции high, okay, low типа Гаусса; параметру rate – функции negative, positive типа Гаусса; параметру valve – трапециевидные функции close_fast, close_low, no_change, open_slow, open_fast. Параметры функций принадлежности задаются в окне Params.
8
7. Изучение редактора решающих правил.
Окно редактора решающих правил представлено на рис. 12.
Рис. 12 – Редактор решающих правил Из рис. 12 видно, что в редакторе содержится 5 решающих правил:
1.если значение ошибки уровня воды нормальное, то клапан оставить в прежнем положении;
2.если значение ошибки уровня воды низкое, быстро открывать клапан;
3.если значение ошибки уровня воды высокое, быстро закрывать клапан;
4.если значение ошибки уровня воды нормальное и скорость изменения уровня воды положительная, медленно закрывать клапан;
5.если значение ошибки уровня воды нормальное и скорость изменения уровня воды отрицательная, медленно открывать клапан.
9
8. Изучение процесса формирования выходной величины в редакторе решающих правил.
Окно формирования выходной величины в редакторе решающих правил представлено на рис. 13.
Рис. 13 - Формирование выходной величины в редакторе решающих правил
Из рис. 13 видно, что в центральной части графического интерфейса программы расположены прямоугольники, соответствующие отдельным входным переменным и выходным переменным правил нечеткого вывода. Каждому правилу соответствует отдельная строка из прямоугольников. Номера правил указаны в левой части графического интерфейса. При нулевой ошибке уровня воды в баке и при нулевой скорости изменения уровня воды срабатывает правило 1.
Изменим значения входных параметров с [0, 0] на [0,54 0,02]. Формирование выходной величины для данного случая представлено на рис. 14. На рис. 14 при ошибке уровня воды в баке 0,5, которую можно характеризовать функциями принадлежности okay и low (рис. 11), и почти нулевой положительной скорости срабатывают правила 1 и 2.
10