Конструирование алгоритмов управления на основе нечеткой логики и нейронных сетей

2





МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

Севастопольский национальный технический университет

Кафедра технической кибернетики



















КУРСОВАЯ РАБОТА

По дисциплине «Современные методы теоретических и экспериментальных исследований»

На тему: «Конструирование алгоритмов управления на основе нечеткой логики и нейронных сетей»







Выполнил: студент гр. МАГ-2

Проверил: профессор

Скороход Б.А. 











Севастополь

2007


содержание



	введение	3

	1. исходные данные	4

	1.1. Объект исследования	4

	1.2. Исходные данные	5

	1.3. Задание на проектирование	5

	2. построение регуляторов	7

	2.1. Объект без регулятора	7

	2.2. П-регулятор	7

	2.3. ПД-регулятор	8

	2.4. Нечеткий регулятор для 3 правил	9

	2.5. Нечеткий регулятор для 5 правил	12

	3. копирование пд – регулятора	16

	4. исследование и сравнительный анализ качества з.с.	20

	4.1. Оценить качество замкнутой системы при различных начальных и задающих уровнях  жидкости в баке	20

	4.2. Оценить влияние неточности от 1 до 5% при измерении датчиком уровня воды в емкости, введя в систему случайный шум	21

	4.3. Выходной поток воды из емкости может рассматриваться как возмущение, действующее на объект управления	21

	выводы	23

	перечень ссылок	24




введение



Основной задачей данной курсовой работы является изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Нечеткое управление является практической альтернативой для многочисленных приложений теории управления, т.к оно обеспечивает удобный метод для конструирования нелинейных контроллеров на основе использования эвристической информации. Такая эвристическая информация может приходить от эксперта в виде множества правил как управлять процессом, которые далее встраиваются в нечеткий контроллер. В других случаях, она может быть получена от инженера, выполнившего интенсивное моделирование и анализ процесса и т.д. Но независимо, откуда была получена эвристическая информация, нечеткое управление обеспечивает удобный интерфейс для представления и реализации идей относительно того, как разработать систему управления, обладающую заданными характеристиками качества. 

В данной курсовой работе необходимо для объекта управления – емкости с двумя клапанами с целью установки заданного уровня жидкости построить несколько типов регуляторов и сравнить их результативность между собой. Предусматривается построение нечетких регуляторов на основе лингвистических правил и копирование ПД - регулятора. 


1. исходные данные



1.1. Объект исследования



Имеется цилиндрическая емкость с несколькими отверстиями. Из одного отверстия емкость пополняется жидкостью, из других – жидкость вытекает. Входной клапан регулируется, тем самым, меняя количество втекающей жидкости. Скорость вытекания зависит от постоянного диаметра выходного отверстия и давления в емкости, которое меняется в зависимости от уровня жидкости. Система имеет существенно нелинейные характеристики. Входами для контроллера являются электрический сигнал пропорциональный ошибке отслеживания заданного переменного уровня, а выходом – напряжение, создаваемое в катушке индуктивности, управляющее входным клапаном. Математическая модель объекта управления имеет вид

, (1) 

где  - высота емкости (м),  - напряжение на выходе устройства управления (управляющее воздействие), (в),  - интеграл от напряжения на выходе устройства управления, обуславливающее перемещение клапана,  - площадь поперечного сечения емкости (м2),  - параметры, определяемые экспериментально. 





Рисунок 1 - Объект управления – емкость с жидкостью. 


К синтезированной системе предъявляться следующие требования: перерегулирование не более 5%, время переходного процесса 10 секунд, число колебаний до окончания времени переходного процесса не более двух, установившаяся ошибка равна нулю. 



1.2. Исходные данные



Исходные данные в соответствии с вариантом приведены в таблице 1. 



Таблица 1 – Исходные данные

Варианты

S, см2

а



, м

, м

, м

, м

5

45

5

9

1.5

1

0.3

1.4



1.3. Задание на проектирование



Для системы (1) сконструировать и провести сравнительный анализ следующих типов регуляторов: 

Пропорциональный регулятор (П). 

Пропорционально-дифференциальный регулятор (ПД). 

Нечеткий регулятор, использующий правила 

If (level is okay) then (valve is no change) 

If (level is low) then (valve is open fast) 

If (level is high) then (valve is close fast) 

Нечеткий регулятор, использующий правила: 

If (level is okay) then (valve is no change) 

If (level is low) then (valve is open fast) 

If (level is high) then (valve is close fast) 

If (level is okay) and (rate is positive), then (valve is close slow) 

If (level is okay) and (rate is negative), then (valve is open slow) 

Нечеткий регулятор, копирующий ПИ регулятор

Исследование и сравнительный анализ характеристик качества замкнутой системы: 

1. Оценить качество замкнутой системы при различных начальных и задающих уровнях  жидкости в баке. 

2. Оценить влияние неточности от 1 до 5% при измерении датчиком уровня воды в емкости, введя в систему случайный шум. 

3. Выходной поток воды из емкости может рассматриваться как возмущение, действующее на объект управления. Оценить его воздействие при изменении количества выходных отверстий (рассмотреть случай, когда площадь выходных отверстий уменьшилась в два раза). 


2. построение регуляторов



2.1. Объект без регулятора



Ниже приводится схема работы емкости собранная средствами Simulink на основе соотношения (1). Система замкнута единичной ООС. Принимаем для упрощения, что на вход подаем величину, численно равную значению желаемого уровня жидкости в емкости. Вследствие этого коэффициент измерителя (тахогенератора), принимаем равным 1. 





Рисунок 2.1. – Схема ОУ с Kp=1





Рисунок 2.2. – Изменение уровня жидкости в емкости (Kp=1) 



2.2. П-регулятор



Теперь в систему добавим простейший регулятор, реализующий пропорциональный закон управления. Схема системы с П-регулятором приведена на рисунке 2.3.




Рисунок 2.3. – Схема ОУ с П-регулятором.



Понятно, что мы имеем очень простой механизм регулирования путем изменения коэффициента одного усиления. На рисунке 2.2. мы можем наблюдать динамику процесса, изменение же коэффициента усиления может лишь изменить быстродействие, но не качество. 

В данной постановке задачи мы можем изменить только быстродействие процесса но не его динамику. С помощью П-регулятора мы не можем получить процесс требуемого качества. 



2.3. ПД-регулятор



Рассмотрим работу системы при добавлении ПД-регулятора, т.е. введении кроме пропорционального еще и дифференцирующего звена. Схема с ПД-регулятором приведена на рисунке 2.5.





Рисунок 2.5. – Схема ОУ с ПИ-регулятором.



Теперь мы имеем два варьируемых параметра для настройки регулятора. Рассмотрим их влияние по отдельности.




Рисунок 2.6. – Изменение уровня жидкости в емкости при различных коэффициентах пропорционального звена ПД-регулятора: Кp = 10 (1), Кp= 50 (2), Кp = 7 (3) при Кd = 30.





Рисунок 2.7. – Изменение уровня жидкости в емкости при различных коэффициентах дифференциального звена ПД-регулятора: Кd=10(1), Кd= 20 (2), Кd= 30 (3) при Кp=50.



Мы можем видеть, что, естественно, коэффициент дифференциального звена приводит к изменению перерегулирования прямо пропорциональным образом. Очевидно, подбором обоих коэффициентов можно добиться и приемлемого времени регулирования, и плавности перехода. 



2.4. Нечеткий регулятор для 3 правил



Перейдем к построению нечетких регуляторов. Рассмотрим построение нечеткого регулятора, закон управления которого формируется на основе трех правил: 

If (level is okay) then (valve is no change) 

If (level is low) then (valve is close fast) 

If (level is high) then (valve is open fast) 

Получаем следующее: если уровень жидкости «нормальный», то оставляем клапан «без изменений», если уровень «низкий», то клапан «быстро закрывается», если уровень «высокий», то клапан «быстро открывается». 

Модель нечеткого регулятора составлена средствами Fuzzy Logic Toolbox. Нечеткие понятия, взятые выше в кавычки, представлены в модели термами лингвистических переменных, с которыми сопоставлены функции принадлежности. Схема системы в Simulink приведена на рисунке 2.8.





Рисунок 2.8. – Схема ОУ с нечетким регулятором (3 правила).





Рисунок 2.9. – Изменение уровня жидкости в емкости в системе с нечетким регулятором.



В данном случае мы получили переходный процесс, по качеству неприемлемый. Подбором функций принадлежности не удается подобрать приемлемый процесс, поскольку не учтена информация о поведении при нормальном уровне жидкости в баке. Приходим к выводу о необходимости подачи на вход регулятора информации о знаке производной. Это будет учтено в регуляторе с пятью нечеткими правилами. 





Рисунок 2.10. – Функции принадлежности для термов входной переменной «уровень»-level.



На рисунке 2.10. функция принадлежности low описывает низкий уровень жидкости, okay – нормальный, high – высокий. 





Рисунок 2.11. – Функции принадлежности для термов выходной переменной «клапан»-valve.



На рисунке 2.11. функция принадлежности close fast соответствует сигналу быстро закрыть клапан, no change – оставить без изменений, open fast – быстро открыть клапан. 




Рисунок 2.12 – Поверхность отклика для нечеткого регулятора (3 правила).



Мы получаем сходную с вышеизложенными зависимость, поскольку закон управления регулятора сходен с пропорциональным. 



2.5. Нечеткий регулятор для 5 правил



Теперь построим усовершенствованный нечеткий регулятор уже на основе пяти правил следующего вида: 

If (level is okay) then (valve is no change) 

If (level is low) then (valve is open fast) 

If (level is high) then (valve is close fast) 

If (level is okay) and (rate is positive), then (valve is open slow) 

If (level is okay) and (rate is negative), then (valve is close slow) 

Здесь мы к прошлым трем добавляем еще два правила, которые учитывают знак производной, чтобы на «нормальном» уровне плавно отслеживать тенденции изменения уровня жидкости. 

К тому же исследования проведены при модификации первого правила в виде: 

If (level is okay) and (rate is null) then (valve is no change) 

Такая замена дает небольшой выигрыш во времени моделирования, что можно видеть на нижеследующих графиках. 

Теперь нечеткий регулятор имеет две входные переменные, одна остается для уровня жидкости, другая для знака производной. Схема системы представлена на рисунке 2.13.





Рисунок 2.13 – Схема ОУ с нечетким регулятором (5 правил). 



В ходе моделирования были получены следующие графики изменения уровня жидкости в баке: 





Рисунок 2.14 – Изменение уровня жидкости в емкости в системе с нечетким регулятором (5 правил), начальный уровень – 0.5, при исходных правилах.





Рисунок 2.15 – Изменение уровня жидкости в емкости в системе с нечетким регулятором (5 правил), начальный уровень – 0.5.




Рисунок 2.16 – Изменение уровня жидкости в емкости в системе с нечетким регулятором (5 правил), начальный уровень – 1.5. 





Рисунок 2.17 – Функции принадлежности для термов входной переменной level.





Рисунок 2.18 – Функции принадлежности для термов входной переменной rate.




Рисунок 2. 19 – Функции принадлежности для термов выходной переменной «клапан»-valve.



Как мы можем видеть, мы добавляем еще два терма для выходной переменной, соответствующие меньшей скорости открывания (закрывания) клапана. Функции принадлежности для входной переменной уровня жидкости были существенно изменены по сравнению с аналогичными в регуляторе для 3 правил. 

Соответствующим подбором типов и форм функций принадлежности удалось добиться как нормального качества процессов без значительного перерегулирования, так и приемлемой точности.





Рисунок 2.20 – Поверхность отклика для нечеткого регулятора (5 правил). 


3. копирование пд – регулятора



Также была поставлена и решена задача синтеза нечеткого регулятора, копирующего построенный выше ПД-регулятор. Схема с регулятором – копией изображена на рисунке 3.1. 





Рисунок 3.1. – схема включения нечеткого регулятора –копии. 



База нечетких правил, нечеткие переменные и их термы были заданы в режиме командной строки, текст приводится ниже. 

a=newfis('sw_f','sugeno'); a=addvar(a,'input','x1', [-10 10]); 

a=addmf(a,'input',1,'mf11','trapmf', [-20 - 20 - 9 - 8]); a=addmf(a,'input',1,'mf12','trimf', [-8 - 7 - 6]); 

a=addmf(a,'input',1,'mf13','trimf', [-6 - 5 - 4]); a=addmf(a,'input',1,'mf14','trimf', [-4 - 3 - 2]); 

a=addmf(a,'input',1,'mf15','trimf', [-2 - 1 0]); a=addmf(a,'input',1,'mf16','trimf', [0 1 2]); 

a=addmf(a,'input',1,'mf17','trimf', [2 3 4]); a=addmf(a,'input',1,'mf18','trimf', [4 5 6]); 

a=addmf(a,'input',1,'mf19','trimf', [6 7 8]); a=addmf(a,'input',1,'mf110','trapmf', [8 9 20 20]); 

a=addvar(a,'input','x2', [-10 10]); 

a=addmf(a,'input',2,'mf21','trapmf', [-20 - 20 - 9 - 8]); a=addmf(a,'input',2,'mf22','trimf', [-8 - 7 - 6]); 

a=addmf(a,'input',2,'mf23','trimf', [-6 - 5 - 4]); a=addmf(a,'input',2,'mf24','trimf', [-4 - 3 - 2]); 

a=addmf(a,'input',2,'mf25','trimf', [-2 - 1 0]); a=addmf(a,'input',2,'mf26','trimf', [0 1 2]); 

a=addmf(a,'input',2,'mf27','trimf', [2 3 4]); a=addmf(a,'input',2,'mf28','trimf', [4 5 6]); 

a=addmf(a,'input',2,'mf29','trimf', [6 7 8]); a=addmf(a,'input',2,'mf210','trapmf', [8 9 20 20]); 

a=addvar(a,'output','u', [-10 10]); 

a=addmf(a,'output',1,'mf1','constant', [-10]); a=addmf(a,'output',1,'mf2','constant', [-9]); 

a=addmf(a,'output',1,'mf3','constant', [-8]); a=addmf(a,'output',1,'mf4','constant', [-7]); 

a=addmf(a,'output',1,'mf5','constant', [-6]); a=addmf(a,'output',1,'mf6','constant', [-5]); 

a=addmf(a,'output',1,'mf7','constant', [-4]); a=addmf(a,'output',1,'mf8','constant', [-3]); 

a=addmf(a,'output',1,'mf9','constant', [-2]); a=addmf(a,'output',1,'mf10','constant', [-1]); 

a=addmf(a,'output',1,'mf11','constant', [0]); a=addmf(a,'output',1,'mf12','constant', [1]); 

a=addmf(a,'output',1,'mf13','constant', [2]); a=addmf(a,'output',1,'mf14','constant', [3]); 

a=addmf(a,'output',1,'mf15','constant', [4]); a=addmf(a,'output',1,'mf16','constant', [5]); 

a=addmf(a,'output',1,'mf17','constant', [6]); a=addmf(a,'output',1,'mf18','constant', [7]); 

a=addmf(a,'output',1,'mf19','constant', [8]); a=addmf(a,'output',1,'mf20','constant', [9]); 

a=addmf(a,'output',1,'mf21','constant', [10]); 

ruleList= [... 

1011111

2031111

3051111

4081111

50101111

60121111

70141111

80161111

90181111

100211111

0111111

0231111

0351111

0471111

0591111

06121111

07141111

08161111

09181111

010211111] ; 

a=addrule(a,ruleList); 

writefis(a,'sw_f'); 

Графики процессов для ПД регулятора и его нечеткой копии приведены на рисунке 3.2.



Рисунок 3.2. –– Графики изменения уровня жидкости в баке при =1 и =1.5. для ПД регулятора и его копии. 



Итак, путем нормирования и задания базы 20 правил удалось достичь довольно близкого приближения к оригиналу как по качеству, так и по точности. Экспериментальные и сравнительные исследования будут проведены в следующем разделе. 


4. исследование и сравнительный анализ качества з.с. 



4.1. Оценить качество замкнутой системы при различных начальных и задающих уровнях  жидкости в баке



Здесь и далее приняты следующие обозначения 

1 - ПД-пегулятор; 

2 – Нечеткий регулятор для 5 правил; 

3 – Нечеткий регулятор - копия; 





Рисунок 4.1. – Графики изменения уровня жидкости в баке при =1 и =0.5.





Рисунок 4.2. – Графики изменения уровня жидкости в баке при =0.3 и =1.5.


4.2. Оценить влияние неточности от 1 до 5% при измерении датчиком уровня воды в емкости, введя в систему случайный шум



Интенсивность шума определяем по правилу трех сигм 



Рисунок 4.3. – Графики изменения уровня жидкости в баке при =1 и =1.5. при введении белого шума шагом 0.05.



4.3. Выходной поток воды из емкости может рассматриваться как возмущение, действующее на объект управления



Оценить его воздействие при изменении количества выходных отверстий (рассмотреть случай, когда площадь выходных отверстий уменьшилась в два раза). 





Рисунок 4.3. – Графики изменения уровня жидкости в баке при =1 и =1.5. когда площадь выходных отверстий уменьшилась в два раза.


Здесь, как и следовало ожидать, переходные процессы менее быстрые, поскольку жидкость вытекает медленнее. 




выводы



В ходе выполнения настоящей курсовой работы для объекта регулирования – емкости с двумя клапанами – с целью поддержания заданного уровня жидкости были синтезированы П – регулятор, ПД-регулятор, нечеткие регуляторы на 3 и 5 правилах и нечеткий регулятор – копия ПД-регулятора. Была проанализирована возможность выполнения задачи и проведен сравнительный анализ регуляторов. 

Как выяснилось, подборкой коэффициента П-регулятора мы можем изменить лишь быстродействие системы, но не ее качество, которое является недовлетворительным. Решить задачу с помощью П-регулятора не представляется возможным. 

При синтезе ПД –регулятора было показано влияние его отдельных звеньев на получаемый процесс, выяснилось, что подборкой коэффициентов можно получить процесс высокой скорости и качества при времени регулирования 3 с. И без перерегулирования. 

С помощью нечеткого регулятора на основе 3 правил не удалось получить приемлемый процесс. Это связано с отсутствием учета значения производной, т. . е. скорости изменения уровня жидкости в баке. В нечетком регуляторе это учтено и был получен процесс со временем регулирования не более 10 с. 

Нечеткий регулятор –копия ПД - регулятора при нормировке входов и выхода дал результат, близкий к оригинальному и по качеству и по точности. 

Также был проведен сравнительный анализ качества регуляторов, где можно видеть высокое качество двух ПД - регуляторов. Однако подбором типов и форм функций принадлежности можно также улучшить и качество регулятора для 5 правил. 

Было оценено влияние ошибки путем введения белого шума, мощность которого была определена по правилу 3 сигм. Оказалось, регулятор на 5 правил обладает несколько большей стойкостью к зашумлению. 


перечень ссылок



	В.В. Круглов Нечеткая логика и искусственные нейронные сети / В.В. Круглов, 

	М.И. Дли, Р.Ю. Голунов М.: Физматлит, 2001. - 221с. 

	MATLAB Fuzzy Logic Toolbox User’s Guide

	MATLAB Simulink Toolbox User’s Guide