Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы.DOC
Скачиваний:
119
Добавлен:
01.05.2014
Размер:
193.02 Кб
Скачать

Лабораторная работа 2 Проектирование передаточных характеристик нечетких систем управления

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

Вариант 1. y = sin(x), x  [-,].

Вариант 2. y = cos(x), x  [0,2].

Вариант 3. y = (2)-1/2exp(-x2/2), x  [-3,3].

Вариант 4. y = (2/)arctg(x), x  [-,].

Вариант 5. y = (1/)arcctg(x), x  [-,].

Вариант 6. y = th(x) = (ex-e-x)/ (ex+e-x), x  [-,].

Вариант 7. y = e-xsin(x), x  [-,].

Вариант 8. y = e-xcos(x), x  [0,2].

Подготовка к лабораторной работе.

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

  2. По полученной кусочно-линейной аппроксимирующей зависимости формируются функции принадлежности для входной и выходной переменных нечеткой системы.

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

  4. Формируется база правил аппроксимации.

Порядок выполнения работы:

  1. Загрузить fuzzyTECH MP Explorer.

  2. Для создания нового проекта выбрать строку «New» пункта главного меню «File». На вопрос программы «Generate system?» ответить утвердительно. В появившемся диалоговом окне «Generate system» задать следующие параметры нечеткой системы:

  • число входных лингвистических переменных в поле ввода «Input LVs:» (в данной работе 1);

  • число выходных лингвистических переменных в поле ввода «Output LVs:» (в данной работе 1);

  • число термов на входную лингвистическую переменную в поле ввода «Input terms/LV:» (по результатам домашней подготовки);

  • число термов на выходную лингвистическую переменную в поле ввода «Output terms/LV:» (по результатам домашней подготовки);

  • число блоков правил в поле ввода «Rule blocks:» (в данной работе 1 блок правил).

Зафиксировать результаты ввода нажатием кнопки «ОК». В результате в окне «Project Editor» формируется условное графическое изображение проектируемой нечеткой системы, а в окне лингвистических переменных «LV» список с предопределенными системными именами для входных и выходных переменных: in1, out1. На условном графическом изображении прямоугольник слева со схематическим рисунком функций принадлежности и именем «in1» представляет входную переменную, прямоугольник справа с рисунком дефазификации и именем «out1» отображает выходную переменную. В центре находится блок правил.

3. Для изменения имени лингвистической переменной и ввода ее термов необходимо выделить переменную из списка в окне «LV» (щелчком левой клавиши мышки на имени переменной) и нажать правую клавишу мышки для вызова всплывающего контекстного меню. В контекстном меню выбрать строку «Attributes ...». В появившемся окне «Rename Variable» можно поменять имя переменной в поле «Name:» и нажать на клавишу «Edit ...» для ввода термов для этой переменной.

В появившемся окне все термы в списке «Term» также имеют предопределенные имена, которые можно поменять похожим образом: выделить из списка требуемый терм и вызвать из контекстного меню строку «Attributes ...». Новое имя терма вводится в поле «Term Name». Здесь же можно поменять форму нечеткого множества терма (группа радиопереключателей «Shape») и положение терма в списке (список «Position»).

Перед определением функций принадлежности необходимо задать область определения лингвистической переменной. Для этого с помощью двойного щелчка левой кнопкой мыши на строке «Base_Variable» перейти в окно «Base Variable». Минимальное («Min:») и максимальное («Max:») значение диапазона («Range») задаются в полях колонки «Shell Values». В этом окне можно также поменять подпись под графиком функций принадлежности в поле «Base Variable Name».

Определение функции принадлежности может происходить двумя способами:

  • определить, какая из опорных точек функции принадлежности (прямоугольники на графике), имеющей тот же цвет, что и имя терма, отмечена «галочкой» внутри. Задать координаты этой опорной точки в полях ввода «x», «y»;

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

4. После ввода всех лингвистических переменных и их термов необходимо создать базу правил нечеткой системы. Для этого следует дважды щелкнуть левой клавишей мышки на блоке правил условного графического изображения нечеткой системы. В результате откроется окно редактора правил «Spreadsheet Rule Editor», в котором перечислены все возможные комбинации правил. Необходимо отметить последовательно все правила, которые не нужны для работы системы, щелчками левой клавиши мышки на номерах соответствующих правил и удалить их разом нажатием клавиши «Del» с последующим утвердительным ответом на запрос системы о необходимости удаления. После этого закрыть окно редактора правил.

  1. Открыть двойным щелчком мышки на прямоугольнике входной переменной условного графического изображения окно интерфейсных опций «Interface Options» и проверить, что установлен радиопереключатель «Fast Computation of MBF» группы «INPUT Fuzzification:» и в списке интерфейсных переменных «Interface Variable:» указана правильная входная переменная. Аналогичным образом открыть то же окно для выходной переменной и проверить установку метода дефазификации «CoM» (Center of Maximum) и корректность выходной переменной в списке интерфейсных переменных.

  2. Для получения передаточной характеристики нечеткой системы сформировать входное воздействие, линейно изменяющееся во всем допустимом диапазоне значений. Для этого выбрать строку «Pattern Generator» пункта главного меню «Debug». В появившемся окне «Pattern Generator» задать начальное значение в поле ввода «From:», конечное в поле ввода «То:» и шаг изменения в поле «Step:». Для формирования файла входного воздействия нажать на кнопку «Generate ...». Указать имя файла воздействия в окне сохранения файла «Generate Pattern To ...» и сохранить его нажатием кнопки «ОК». Закрыть окно «Pattern Generator» кнопкой «Close».

  3. Вызвать функцию «File Recorder» из меню «Debug». В окне «Read File Control Information From ...» указать в поле «Filename» имя файла со сформированным входным воздействием и нажать на кнопку «ОК». В результате откроются окна «Debug: File Recorder» и «File Control».

  4. Сформировать окно для построения графика передаточной характеристики. Для этого вызвать функцию «Time Plot ...» из меню «Analyzer». Задать конфигурацию графического вывода в окне «Time Plot Configuration» следующим образом:

  • в списке «LVs:» выделить щелчком левой клавиши мыши выходную переменную;

  • переместить эту переменную в окно «Plot Items:» нажатием на кнопку «>>»;

  • завершить ввод конфигурации нажатием кнопки «ОК».

После этого откроется окно для графика передаточной характеристики «Time Plot - 1». Разместить окна «Time Plot - 1» и «File Control» на экране так, чтобы они не перекрывали друг друга. Окно «Debug: File Recorder» при этом может быть перекрыто этими окнами.

  1. Получить график передаточной характеристики, используя окно «File Control». Для управления процессом используются кнопки поля «Control», похожие на клавиши плейера, расположенные в следующем порядке слева направо:

  • переход к первой точке входного воздействия;

  • автоматическая перемотка назад к первой точке;

  • пошаговая перемотка назад к первой точке;

  • пауза;

  • пошаговая перемотка вперед к последней точке;

  • автоматическая перемотка вперед к последней точке;

  • переход к последней точке входного воздействия.

Для получения графика нажать кнопку автоматической перемотки вперед.

  1. После зарисовки графика полученной передаточной характеристики закрыть окно «Time Plot - 1», перейти опять к первой точке входного воздействия и перемотать входное воздействие в пошаговом режиме, фиксируя вход («Inputs:») и выход («Outputs:») системы в окне «Debug: File Recorder». Эти данные будут использоваться для оценки точности аппроксимации передаточной характеристики. Закрыть окно «Debug: File Recorder», перейти опять к первой точке входного воздействия и открыть окно с функциями принадлежности выходной переменной, дважды щелкнув левой клавишей мыши на имени переменной в окне «LV». Изучить и зарисовать процесс дефазификации по методу «CoM» в пошаговом режиме.

  2. Изменить установку метода дефазификации с «CoM» на «МоМ» (Mean of Maximum). Для этого необходимо перейти в окно «Project Editor» либо щелкнув на нем левой клавишей мыши, либо выбрав его из списка окон в меню «Window» и открыть двойным щелчком мышки на прямоугольнике выходной переменной условного графического изображения окно интерфейсных опций «Interface Options», чтобы установить радиопереключатель «MoM» группы «OUTPUT Defuzzification:». После этого следует повторить вышеописанную процедуру получения передаточной характеристики для нового метода дефазификации.

  3. Закрыть все открытые окна и завершить работу программы (строка «Exit» пункта главного меню «File»).