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

ОВИ_ЛР_2012

.pdf
Скачиваний:
102
Добавлен:
02.02.2015
Размер:
4.11 Mб
Скачать

Рис. 9.6. Динамика отскоков шара при использовании нечеткой логики

Рис. 9.7. Динамика отскоков шара при использовании обычной жесткой логики

181

Наряду с окном модели, в этом примере выводится окно контроля

Rule Viewer, показанное на рис. 9.8. Оно позволяет уточнить параметры отскоков шарика.

Данный пример реализован без применения Simulink. МatLab-коды реализующей его программы можно просмотреть, активизировав мышью гиперссылку View code for juggler в окне демонстрации этого примера.

Программа занимает немного больше 700 строк и просматривается в редакторе программ системы МatLab.

Рис. 9.8. Окно контроля Rule Viewer

9.3.3. Система управления смесителем воды.

Ввод команды shower в окне Command Window пакета MATLAB

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

С работой смесителя холодной и горячей воды мы сталкиваемся чуть

182

ли не ежедневно. Если напор воды постоянен, то особой необходимости в управлении этим простым устройством нет – достаточно ручку смешения установить в нужное положение и проконтролировать рукой температуру воды. Но, если напор воды постоянно меняется, то без автоматического регулятора температуры не обойтись. В демонстрационном примере рассматривается замкнутая система регулирования температуры с использованием нечеткой логики. Simulink-диаграммы системы приведены на рис. 9.9.

Рис. 9.9. Simulink-диаграммы системы управления смесителем воды

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

183

9.3.4. Система управления перевернутым маятником.

Ввод команды slcp1 в окне Command Window пакета MATLAB

приводит к появлению в окне Simulink структурной схемы нечеткой системы управления перевернутым маятником (рис. 9.10).

Запуск моделирования приводит к появлению анимационной картинки (рис. 9.11) иллюстрирующей, как представленная система,

вырабатывая управляющие воздействия.

Рис. 9.10. Структурная схема нечеткой системы управления

184

Рис. 9.11. Динамическая система "перевернутый маятник"

9.3.5. Система управления двумя перевернутыми маятниками.

Ввод команды slcpp1 в окне Command Window пакета MATLAB

приводит к появлению в окне Simulink структурной схемы нечеткой системы управления двумя перевернутыми маятниками (рис. 9.12).

Запуск моделирования приводит к появлению анимационной картинки (рис. 9.13) иллюстрирующей, как представленная система,

вырабатывая управляющие воздействия.

185

Рис. 9.12. Структурная схема нечеткой системы управления

Рис. 9.13. Динамическая система "перевернутые маятники"

186

9.4. Индивидуальные задания

1.Необходимо изучить методы построения нечетких контроллеров средствами нечеткой логики и блоков моделирования Simulink.

2.Промоделировать в Simulink все пять нечетких контроллеров,

которые управляют различными динамическими процессами.

3.Получить и привести в отчете словесное описание и графическое отображение правил нечеткого вывода рассмотренных нечетких регуляторов.

4.Оформить отчет по лабораторной работе.

187

ЛАБОРАТОРНАЯ РАБОТА 10

РЕГУЛИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ НЕЧЕТКОГО КОНТРОЛЛЕРА

10.1. Цель лабораторной работы

Получение и закрепление знаний, формирование практических навыков работы с методами построения нечетких контроллеров средствами инструментария нечеткой логики (Fuzzy Logic) и блоков моделирования Simulink пакета MATLAB.

10.2. Краткие сведения из теории

Пакет нечеткой логики для системы MATLAB – это пакет прикладных программ, относящихся к теории нечетких множеств и позволяющих конструировать так называемые нечеткие экспертные и управляющие системы. Основные возможности пакета:

1. Построение систем нечеткого вывода (экспертных систем,

регуляторов, аппроксиматоров зависимостей).

2.Построение адаптивных нечетких систем (гибридных нейронных

сетей).

3.Интерактивное динамическое моделирование в Simulink.

В состав программных средств Fuzzy Logic Toolbox входят следующие основные программы, имеющие графический интерфейс:

редактор нечеткой системы вывода Fuzzy Inference System Editor (FIS-

редактор) вместе со вспомогательными программами: редактором функций принадлежности (Membership Function Editor), редактором правил (Rule editor), просмотрщиком правил (Rule Viewer) и просмотрщиком

188

поверхности отклика (Surface Viewer). FIS-редактор запускается из командной строки командой Fuzzy.

Системы нечеткого вывода, созданные тем или иным образом с помощью пакета Fuzzy Logic Toolbox, допускают интеграцию с инструментами пакета Simulink, что позволяет выполнять моделирование систем в рамках последнего.

Рассмотрим пример построения нечеткого контроллера, средствами инструментария нечеткой логики (ИНЛ) Fuzzy Logic и блоков моделирования Simulink, который осуществляет контроль уровня воды в баке. На рис. 10.1 изображен объект управления в виде бака с водой, к

которому подходят две трубы: через одну трубу, снабженную краном, вода втекает в бак, через другую вытекает.

Рис. 10.1. Схематическое представление объекта управления (бак с водой)

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

189

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

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

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

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

(кран).

Порядок построения нечеткого контроллера.

1.Задать для каждой из входных и выходных переменных функции принадлежности.

2.Разработать базу правил для реализуемой нечёткой системы.

3.Выбрать алгоритм нечёткого логического вывода (Мамдани или

Sugeno) и выполнить анализ результатов работы созданной системы.

В первом приближении функционирование регулятора можно

описать набором из следующих правил:

1.If (level is okay) then (valve is no_change);

2.If (level is low) then (valve is open_fast);

3.If (level is high) then (valve is close_fast);

4.If (level is okay) and (rate is positive) then (valve is close_slow);

5.If (level is okay and (rate is negative) then (valve is open_slow).

что в переводе означает:

1.Если (уровень соответствует заданному), то (кран без изменения);

2.Если (уровень низкий), то (кран быстро открыть);

3.Если (уровень высокий), то (кран быстро закрыть);

4.Если (уровень соответствует заданному) И (его прирост –

положительный), ТО (кран надо медленно закрывать);

190