САЙТ КРЫЛОВА ПАВЛА
Главная
Схемы Ветрогенераторы Собаки Стройка Книги О сельском хозяйстве и прочем


СХЕМЫ---->
СХЕМЫ БЫТОВОЙ ТЕХНИКИ статьи № 1-50---->
СХЕМЫ БЫТОВОЙ ТЕХНИКИ статьи № 51-100

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC


В.Агибалов

В последнее десятилетие в области автоматического управления различными техническими устройствами и, в частности, в изделиях бытовой техники получили развитие системы, основанные на так называемой "нечеткой логике" (fuzzy logic).

Впервые термин fuzzy logic введен американским профессором азербайджанского происхождения Лотфи Заде в 1965 году в работе "Нечеткие множества", опубликованной в журнале "Информатика и управление". Основанием для создания новой теории послужил спор профессора со своим другом о том, чья из жен привлекательнее. К единому мнению они, естественно, так и не пришли. Это вынудило Заде сформировать концепцию, которая выражает нечеткие понятия типа "привлекательность" в числовой форме.

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

БАЗОВЫЕ ПОНЯТИЯ НЕЧЕТКОЙ ЛОГИКИ


Прогноз погоды обычно выглядит так: завтра температура воздуха +5°С, возможен дождь. В этом случае даже профессиональные синоптики не могут точно сказать, будет дождь или нет. Это и есть проявление нечеткой логики: погода завтра может быть в данном случае как просто пасмурной, так и дождливой. События здесь предсказываются с некоторой долей уверенности (рангом).
Рассмотрим теперь другой пример, связанный с возрастом человека (рис. 1). До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину "молодой" с рангом около 0,9). Зато диапазону от 16 до 30 лет можно присвоить ранг 1, т.е. человек в этом возрасте действительно молодой. После 30 лет человек считается уже не молодым, но еще и не старым, здесь принадлежность (ранг) термина "молодой" возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем меньше становится его принадлежность к соответствующему терму (см. ниже), т.е. ранг будет стремиться к 0.

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

Ключевыми понятиями нечеткой логики являются: • фаззификация — сопоставление множеству значений аргумента х некоторой функции принадлежности М(х), т.е. перевод значений х в нечеткий формат (см. пример с термином "молодой"); • дефаззификация — процесс, обратный фаззификации. Все системы с нечеткой логикой функционируют по одному принципу: показания измерительных приборов фаззифицируются

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

(переводятся в нечеткий формат), обрабатываются, дефаззифицируются и в виде привычных сигналов подаются на исполнительные устройства. Функция принадлежности — это не вероятность, так как нам неизвестно статистическое распределение, нет повторяемости экспериментов. Так, если взять из рассмотренного выше примера прогноза погоды два взаимоисключающих события — "будет дождь" и "дождя не будет" и присвоить им некоторые ранги, то сумма этих рангов необязательно будет равна 1 (но если равенство все-таки есть, то нечеткое множество считается нормированным). Значения функции принадлежности М(х) могут быть взяты только из априорных знаний, интуиции (опыта), опроса экспертов.

В нечеткой логике вводится понятие лингвистической переменной, значениями которой являются не числа, а слова естественного языка, называемые термами. Например, в случае управления мобильным роботом, задачей которого является объезд помех, можно ввести две лингвистические переменные: ДИСТАНЦИЯ (расстояние от робота до помехи) и НАПРАВЛЕНИЕ (угол между продольной осью робота и направлением на помеху).



Рассмотрим лингвистическую переменную ДИСТАНЦИЯ. Значениями ее можно определить термы ДАЛЕКО, СРЕДНЯЯ, БЛИЗКО и ОЧЕНЬ БЛИЗКО. Для физической реализации лингвистической переменной необходимо определить точные физические значения термов этой переменной. Пусть переменная ДИСТАНЦИЯ может принимать любое значение из диапазонов от нуля до бесконечности. Согласно положениям теории нечетких множеств, в таком случае каждому значению расстояния из указанного диапазона может быть поставлено в соответствие некоторое число от нуля до единицы, которое определяет степень принадлежности данного физического расстояния (допустим, 40 см) к тому или иному терму лингвистической переменной ДИСТАНЦИЯ. Степень принадлежности определяется так называемой функцией принадлежности M(d), где d-расстояние до помехи. В нашем случае расстоянию 40 см можно задать степень принадлежности в терму ОЧЕНЬ БЛИЗКО, равную 0,7, а к терму БЛИЗКО — 0,3 (рис. 2). В каждом конкретном случае определение степени принадлежности дается экспертами, разрабатывающими систему управления.

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

Переменной НАПРАВЛЕНИЕ, которая может принимать значения в диапазоне от 0 до 360 градусов, зададим термы ЛЕВОЕ, ПРЯМО И ПРАВОЕ. Теперь необходимо задать выходные переменные. В рассматриваемом примере достаточно одной переменной, которая будет называться РУЛЕВОЙ УГОЛ. Она может содержать термы:
РЕЗКО ВЛЕВО, ВЛЕВО, ПРЯМО, ВПРАВО, РЕЗКО ВПРАВО. Связь между входом и выходом фиксируется в таблице нечетких правил (табл. 1).

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

Каждая запись в данной таблице соответствует своему нечеткому правилу, например:
"Если ДИСТАНЦИЯ БЛИЗКО и НАПРАВЛЕНИЕ ПРАВОЕ, тогда РУЛЕВОЙ УГОЛ РЕЗКО ВЛЕВО".

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

ОБЩАЯ СТРУКТУРА НЕЧЕТКОГО МИКРОКОНТРОЛЛЕРА


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

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

Блок фаззификации преобразует четкие ("crisp") величины, измеренные на выходе объекта управления, в нечеткие величины, описываемые лингвистическими переменными в базе знаний. Блок решений использует нечеткие условные ("if — then") правила, заложенные в базе знаний, для преобразования нечетких входных данных в требуемые управляющие воздействия, которые носят также нечеткий характер. Блок деффазификации преобразует нечеткие данные с выхода блока решений в четкую величину, которая используется для управления объектом.

В качестве микроконтроллеров, поддерживающих нечеткую логику, можно назвать 68НС11, 68НС12 фирмы MOTOROLA, MCS-96 фирмы INTEL, а также некоторые другие.

Параллельно с развитием соответствующей элементной базы развиваются и инструменты программирования, которые позволяют как моделировать систему управления с нечеткой логикой, так и получать машинные коды, использующиеся впоследствии в "железе". FUZZY LOGIC В СТИРАЛЬНОЙ МАШИНЕ

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC



На рис. 4 показана схема микроконтроллера системы Fuzzy Logic управляющей работой стиральной машины. На вход микроконтроллера поступает информация о степени загрязнения белья и типе загрязнения. Выходным параметром является время стирки. Оба входных параметра получаются от одного оптического датчика. О степени загрязнения можно судить по прозрачности моющего раствора в баке стиральной машины: чем ниже загрязнение белья, тем прозрачнее вода. Первым входным параметром является ПРОЗРАЧНОСТЬ РАСТВОРА. О типе загрязнения можно судить по скорости изменения прозрачности раствора (или, иными словами, по времени его насыщения): жирные загрязнения малорастворимы в воде и их концентрация в растворе медленнее выходит на уровень насыщения. Загрязнения низкой жирности растворяются лучше и раствор в баке стиральной машины скорее становится насыщенным. Вторым входным параметром здесь является ВРЕМЯ НАСЫЩЕНИЯ РАСТВОРА.

Таким образом, можно построить две функции принадлежности: в одном случае аргументом является степень загрязнения белья (рис. 5), в другом — тип загрязне-

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

ния (рис. 6). В качестве диапазона изменения аргумента принимается интервал значений от 0 до 100.

Значение выходного параметра ВРЕМЯ СТИРКИ (в данном случае это четкая величина, измеряемая в минутах) определяется с помощью набора нечетких правил "если то...", например:

"ЕСЛИ ПРОЗРАЧНОСТЬ РАСТВОРА НИЗКА И ВРЕМЯ НАСЫЩЕНИЯ РАСТВОРА ВЕЛИКО, ТО ВРЕМЯ СТИРКИ ВЕЛИКО", или, что то же самое,

"ЕСЛИ СТЕПЕНЬ ЗАГРЯЗНЕНИЯ ВЫСОКА И ЗАГРЯЗНЕНИЕ ЖИРНОЕ, ТО ВРЕМЯ СТИРКИ ВЕЛИКО".

Полная таблица нечетких правил для стиральной машины дана в табл. 2.
При этом градации величины ВРЕМЯ СТИРКИ четко определены:
ОЧЕНЬ БОЛЬШОЕ — 60 мин; БОЛЬШОЕ — 40 мин; СРЕДНЕЕ — 20 мин; МАЛОЕ — 12 мин; ОЧЕНЬ МАЛОЕ — 8 мин.
Характер зависимости выходного параметра ВРЕМЯ СТИРКИ от значения функции принадлежности показан на рис. 7.
Совместное влияние двух функций принадлежности (двух входных параметров) на значение выходного параметра ВРЕМЯ СТИРКИ выражается зависимостью, показанной на рис. 8.
В данном примере, поясняющем принцип построения системы Fuzzy Logic, которая управляет стиральной машиной, рассматривался только один выходной пара-

СИСТЕМА УПРАВЛЕНИЯ FUZZY LOGIC

метр — ВРЕМЯ СТИРКИ. Следуя тому же принципу, в реальных системах управления рассматриваются и другие выходные параметры, например, УРОВЕНЬ ВОДЫ, СКОРОСТЬ ВРАЩЕНИЯ ПРИ ОТЖИМЕ и т.д.

Источники
1. "Сайт нечеткой логики" http://www.chat.ru/~fuzzyfly/fuzzy
2. http://www.aptronix.com/fuzzynet/
РЕМОНТ&СЕРВИС-7'2001


altay-krylov@yandex.ru