Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Глущенко_laba1

.doc
Скачиваний:
164
Добавлен:
16.04.2015
Размер:
201.73 Кб
Скачать

Лабораторная работа №1

Синтез нечеткого регулятора в пакете Matlab

Цель работы: синтезировать нечеткий регулятор в пакете Matlab и проверить его работоспособность на модели реального объекта управления. Определить влияние параметров модели и регулятора на результаты моделирования.

Теоретическое введение

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

Рис.1 Схема управления на основе ПИД регулятора

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

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

Существуют два основных метода построения нечетких систем: Мамдани-Заде и Сугено-Такаги-Канга. В данной работе будет рассмотрена первая из них.

Построение системы нечеткого вывода включает в себя два этапа:

Этап 1 Определение функций принадлежности переменных

Этап 2 Составление базы правил

Общий логический вывод осуществляется за следующие пять этапов:

1) Введение нечеткости (фаззификация, fuzzification). Функции принадлежности, определенные на входных переменных, применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила. Четким значениям входных переменных ставятся в соответствие нечеткие значения с помощью функций принадлежности конкретной переменной.

2) Агрегирование. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила.

3) Активизация. В качестве правил логического вывода обычно используются только операции min (МИНИМУМ) или prod (УМНОЖЕНИЕ). В логическом выводе МИНИМУМА функция принадлежности вывода «отсекается» по высоте, соответствующей вычисленной степени истинности предпосылки правила (нечеткая логика «И», то есть для правила берется минимальное значение степени истинности предпосылок). В логическом выводе УМНОЖЕНИЯ функция принадлежности вывода масштабируется при помощи вычисленной степени истинности предпосылки правила.

4) Аккумуляция. Все нечеткие подмножества, назначенные к каждой переменной вывода (во всех правилах), объединяются вместе, чтобы сформировать одно нечеткое подмножество для всех переменных вывода. При подобном объединении обычно используются операции max (МАКСИМУМ) или sum (СУММА) При композиции МАКСИМУМА комбинированный вывод нечеткого подмножества конструируется как поточечный максимум по всем нечетким подмножествам (нечеткая логика «ИЛИ»). При композиции СУММЫ комбинированный вывод нечеткого подмножества формируется как поточечная сума по всем нечетким подмножествам, назначенным переменной вывода правилами логического вывода.

5) Приведение к четкости (дефаззификация, defuzzification) используется, если требуется преобразовать нечеткий набор выводов в четкое число.

В Matlab разработан модуль fuzzy, обладающий интуитивно-понятным интерфейсом. Для входа в этот модуль в командной строке Matlab следует набрать fuzzy.

Рис.1. Вид главного окна модуля fuzzy

Новая переменная добавляется с помощью Edit=> New variable. Правила и функции принадлежности можно создать или изменить, открыв соответствующую пиктограмму в главном окне.

Создав систему нечеткого вывода, ее следует экспортировать в рабочую область Matlab: File=>Export=>To Workspace, а затем указать имя переменной.

В дальнейшем это имя будет использоваться в блоке «Fuzzy Controller with Ruleviewer» Simulink-модели.

Пример схемы управления приведен на рис.2.

Рис.2. Пример схемы управления с использованием нечеткого контроллера

Пример выполнения лабораторной работы

Необходимо построить САУ кондиционером. Рабочий режим кондиционера – ручка недвижна, поворот вправо – увеличение нагрева влево охлаждение. Необходимо построить САУ которая задавала бы поворот ручки чтобы температура в комнате сохраняла бы одно и тоже желаемое значение не смотря на изменение температуры на улице.

Две входные переменные: температура в комнате и скорость ее изменения. Пять критериев оценки температуры в комнате (термы): очень теплая (PB), теплая (PS), нормальная (Z), холодная (NS), очень холодная (NB). Три критерия оценки скорости изменения температуры (термы): отрицательная (N), не изменяется (Z), положительная (P). Семь критериев угла поворота ручки: очень большой угол влево (NB), большой угол влево (NM), небольшой угол влево (NS), на месте (Z), небольшой угол вправо (PS), большой угол вправо (PM), очень большой угол вправо (PB).

Диапазон температур 0-60 градусов, скорости - -30 -30,угла поворота=-90- 90 градусов.

T

NB

0

5

15

NS

10

20

30

Z

25

35

45

PS

35

45

55

PB

45

55

60

Skorost

N

-30

-17

-2

Z

-5

0

5

P

2

17

30

Ygol

NB

-90

-70

-50

NM

-55

-43

-31

NS

-40

-20

0

Z

-10

0

10

PS

0

20

40

PM

31

43

55

PB

50

70

90

1) Первоначально следует построить функции принадлежности входных и выходных переменных и правила нечеткого логического вывода

Функции принадлежности входных и выходных переменных:

Рис.3.

Рис.4.

Рис.5.

Нечеткие продукционные правила:

Рис.6.

После создания системы ее следует экспортировать в рабочую область Matlab под некоторым именем.

2) Следует построить схему для проведения моделирования процесса управления объектом

Рис.7.

Блоки на схеме:

  1. Step – задает начальную температуру в комнате. Значение должно быть в пределах от 0 до 60. Подается в момент времени ноль (sample time).

  2. Random Number – случайные возмущения, действующие на объект управления. Амплитуда – 0.01.

  3. Transfer function – модель объекта. Число в числителе показывает степень усиления сигнала объектом. Число 10 в знаменателе показывает степень инерционности объекта.

  4. Ogranicitel (saturation) – необходим для поддержания сигнала управления, подаваемого на объект в пределах [-90;90]. Нижний предел – (-90), верхний предел – (90).

  5. Integrator – накапливает сигнал управления

  6. Fuzzy logic controller – в него заносится имя переменной, указанное при экспорте нечеткой системы в рабочую область.

  7. du/dt – блок вычисления производной от сигнала. Дело в том, что выход объекта – это его температура в текущий момент, а для получения скорости ее изменения (второго входа в контроллер) следует взять производную этого сигнала.

3) Провести моделирование схемы и снять показания со всех осциллографов

Если схема построена верно, то какой бы не была задана начальная температура, система со временем должна сойтись к оптимальной температуре, указанной в нечеткой системе функцией принадлежности Z для переменной «температура».

Возможные результаты моделирования (блок Scope):

Рис.8.

Задание на выполнение лабораторной работы:

  1. Собрать схему, приведенную в примере и провести моделирование

  2. Изучить влияние параметров схемы и нечеткой системы на получаемый результат

  3. Подобрать параметры таким образом, чтобы перерегулирование составляло не более 5%, колебательность – 1-2, а время переходного процесса было минимально возможным.

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

  5. Перепроектировать данную систему из расчета того, что исполнительным механизмом будет не кондиционер, а печь.

  6. Подготовить отчет о выполненной работе.

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]