Жакенбаев С. гр. Мау002. Пр№1



бет2/3
Дата03.01.2022
өлшемі282,5 Kb.
#108750
1   2   3
Байланысты:
ПР№1 Жакенбаев

Мср = Dср 0 = min[Dср, 0].

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


Этап 3. Дефаззификация.
Наиболее распространены три способа дефаззификации:
-метод центра максимума (CoM), при котором выходная величина является средним значением величины, полученной через вычисленные степени принадлежности - m0, mср, mб; т.е. m=(1/3)(m0+mср+mб);
-метод набольшего значения (MoM), при котором выбирается наибольшее значение из полученных, т.е. m=MAX(m0,mср,mб);
-метод центроида (CoA), при котором значение выходной величины является координатой центра тяжести фигуры, получаемой усечением характеристических функций выходной величины полученными значениями их степеней принадлежности.
Рассмотрим более подробно разработку алгоритмов функционирования системы управления башенным краном.

Этап 1. Фаззификация.
На этом этапе разрабатываются функции принадлежности для всех трех переменных, показанные на рис. 6.11.
Этап 2. Построение продукционных правил.
Перечислим все возможные комбинации входных переменных

D00, D0ср, D0б, Dсрб; - М0

Dср0, Dсрср, Dбб; - Мср

Dб0, Dбср; - Мб

Разобьем их на три группы, соответствующие трем термам выходной переменной, например, так, как показано выше.


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

М0=D0 Dсрб=max[D; min(Dсрб)]                 (6.6)

Мср=DсрсрDбб=max[min(Dсрср); min(Dбб)]

Мб=Dб(0б)=min[Dб ; max(0ср)]

Произведем вычисления для конкретных значений d=25м и  =4 ,


см. табл. 6.1.
Результаты вычисления по формулам (6.6)

Таблица 6.1.



 0

 ср

 б

D0

Dср

Dб

М0

Мср

Мб

0.4

0.6

0

0.3

0.7

0

0.3

0.6

0

М0=max[0.3 ; min(0.7;0)]=0.3

Мср=max[min(0.7;0.6); min(0;0)]=0.6

Мб=min[0 ; max(0.4;0.6)]=0

Этап 3. Дефаззификация.
Принцип дефаззификации показан на рис. 6.11.в),:
-по методу CoM получим m=4.5 квт;
-по методам MoM и CoA m=5 квт.
Таким образом, при принятых значениях входных переменных и  надо подавать на двигатель среднюю мощность, так как величина степени принадлежности этого терма преобладает над другими.

    а)



Рис. 6.11. Функции принадлежности входных (а,б) и выходной (в) величин системы управления башенным краном.

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

После бурного старта прикладных нечетких систем в Японии, многие разработчики в США и Европе обратили внимание на новую технологию. Но к этому моменту время было упущено и мировым лидером в области нечетких систем стала Япония. К концу 80-х годов в этой стране был налажен выпуск специализированных нечетких контроллеров выполненных по технологии СБИС. Догонять японцев значило потерять массу времени. Поэтому фирмой Intel было принято альтернативное решение. Имея большое количество разнообразных контроллеров от MCS-51 до MCS-96, которые на протяжении многих лет успешно используются во многих приложениях, Intel решила предоставить разработчикам средство разработки приложений на базе этих контроллеров, но с использованием технологии нечеткости. Создание подобной системы позволило избежать значительных затрат на создание собственных нечетких контроллеров, а разработанная система, получившая название fuzzyTECH, завоевала огромную популярность не только в США и Европе, но и в Японии.


Сейчас существует много версий fuzzyTECH. Все они различаются как по своим возможностям, так и по своей цене. Самый простой из семейства fuzzyTECH - это пакет fuzzyTECHExplorerEdition. Explorer - это великолепное средство обучения. Он предоставляет пользователю большие возможности по практическому освоению нечеткой технологии. Существует и более мощный профессиональный пакет fuzzyTECH MCU-96, ориентированный на микроконтроллеры Intel семейства MCS-96. Еще один вариант - это fuzzyTECHOn-lineEdition. Этот пакет позволяет отлаживать готовую систему, отлавливая ошибки прямо “на лету”. В приложениях, работающих в реальном масштабе времени, это незаменимое средство отладки. Профессиональные редакции fuzzyTECH поддерживают многие из последних достижений нечеткой технологии: арбитражные функции принадлежности, современные методы дефаззификации и многое другое.
FuzzyTECH - это полностью графическое средство поддержки разработки приложений на основе нечеткой логики. Это средство моделирования и оптимизации всего проекта. Обладает совместимостью с обычными средствами разработки. Графическое представление на экране всех стадий разработки позволяет найти множество путей оптимизации проекта. Наконец, это генератор кода, который поддерживает большинство современного оборудования, при этом разрабатываемый код может быть сгенерирован как код языка C. Ассемблерный код весьма функционален, точно соответствует возможностям применяемого аппаратного обеспечения и типу микроконтроллера.
Обычно выделяется пять стадий разработки проекта с помощью fuzzyTECH:

    1. Формализация поставленной задачи (определение лингвистических переменных, сопоставление термов с конкретными физическими значениями);

    2. Разработка базы правил, определяющих стратегию управления (задание метода дефаззификации выходных данных);

    3. Оптимизация разработанной системы в режиме off-line (интерактивный анализ поведения системы с использованием заранее подготовленных данных или при помощи программной модели объекта управления);

    4. Оптимизация в режиме on-line (подключение созданной системы управления к реальному объекту и оптимизация различных компонентов системы в реальных условиях; так как в модели объекта управления невозможно учесть все тонкости процесса, то данный режим отладки весьма важен при создании систем управления);

    5. Реализация (выбирается вариант генерируемого кода; полученный код для микропроцессора может быть связан с основной программой либо записан в ПЗУ системы управления).

При использовании пакета fuzzyTECH все шаги разработки осуществляются посредством нажатий кнопок мыши. Внутренняя работа fuzzyTECH проводится с использованием языка FTL (FuzzyTechnologyLanguage). FTL - это аппаратно независимый объектно-ориентированный язык для разработки нечетких систем. Он имеет открытую архитектуру и может быть расширен в зависимости от потребностей пользователя.
Работа над созданием fuzzyTECH началась в середине 80-х годов исследовательской группой под руководством профессора Ганса Циммерманна (HansZimmermann), который более 20 лет является наиболее известным специалистом в области теории нечетких множеств. Первая версия пакета появилась в 1990 году. В настоящий момент существует версия для MS-Windows 3.1. Для ее запуска требуется 386 (или выше) PC с графическим адаптером VGA, DOS 5.0 (или выше) и MS-Windows 3.1 (или выше), запущенная в расширенном режиме. Так как fuzzyTECH интенсивно использует графику, то рекомендуется цветной графический монитор с разрешением 800x600 или 1024x768. Для цветных графиков рекомендуется 256-цветный графический режим. Все функции fuzzyTECH доступны с клавиатуры, следовательно мышь не обязательна (но очень желательна). FuzzyTECH производится немецкой фирмой INFORM, которая имеет отделения в Германии, США и Японии.
Система Разработки fuzzyTECH содержит:

    • Редакторы (Editors).

    • Отладчик (Debugger).

    • Анализатор (Analyzer).

    • Генератор Кодов (CodeGeneration) для реализации нечетких систем.

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

FuzzyTECH использует стандартные MS-Windows функциональные назначения.
FuzzyTECH может использоваться с мышью или клавиатурой. Обычно, объект выбирается единственным нажатием кнопки мыши. Двойное нажатие на объекте обычно активизирует окно редактирования свойств объекта. Используя клавиатуру, [Ctrl][F6] клавиши позволяют переключать фокус между окнами основного окна. Внутри окна, [ТАБ] выбирает разные группы. Используйте клавиши управления курсором, чтобы перемещаться внутри группы и клавишу [Enter], чтобы активизировать ту или иную опцию. Некоторые объекты, как например, определенные точки в редакторе лингвистических переменных или объекты редактора проекта, могут быть перемещены внутри окна. Для того, чтобы разместить эти объекты с помощью клавиатуры, сначала выберите объект, который нужно переместить используя [ТАБ], активизируйте его [Enter] и переместите клавишами управления курсором и установите его, снова нажав [Enter].
Каждое окно в fuzzyTECH имеет собственное всплывающее меню для опций доступных только для этого окна. Для того, чтобы сделать доступным меню или нажмите над соответствующим окном правой кнопкой мыши или используйте клавишу [Shift] вместе с нажатием левой кнопки мыши. [Shift][F10] или [F9] также могут использоваться для доступа к меню.
При запуске, fuzzyTECH открывает два окна - Окно Редактора Проекта и Окно Лингвистических Переменных (LV) (рис. 6.12). Только одно окно редактора проекта и одно LV-окно могут быть открыты одновременно. Ни одно из этих окон не может быть закрыто в течение сеанса работы с fuzzyTECH, но столько окон лингвистических переменных (LV) можно открыть, сколько определено переменных. Редактор Проекта содержит структуру системы нечеткой логики, то есть интерфейсы и блоки правил в то время как LV-окно содержит список всех лингвистических переменных системы.
Большинство возможностей редактирования доступны из различных окон редактирования с помощью всплывающих меню:


Достарыңызбен бөлісу:
1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет