Исследование стохастического движения ОУ при классическом управлении на основе ПИД регулятора
Матлаб-Симулинк структура системы управления на базе ПИД-регулятора показана на рис. 3.21.
Примечание. На рис 3.21 использованы следующие латинские обозначения: «PID controller» - ПИД-регулятор, блок «Pendulum Cart» описывает уравнения движения ОУ, блок «K gains PID» описывает значения вектора . Блок « Unit Delay» задает время задержки в сигнале измерения угла маятника. При получаем модель свободного движения.
Рис. 3.21. Симулинк структура системы управления ОУ на основе ПИД-регулятора
Задающий сигнал для данной задачи управления является переменным и вычисляется следующим образом: (подробное объяснение дано в главе 5.4). Зададим также ограничение на задающий сигнал: .
Выберем следующую область изменения коэффициентов усиления ПИД - регулятора и попробуем «вручную» подобрать постоянные значения для нашей задачи управления.
На рис. 3.22 показано движение перевернутого маятника при наличии времени задержки в сигнале измерения угла маятника и при значениях К, выбранных вручную: .Для поддержания маятника в вертикальном положении определить вручную оптимальные коэффициенты усиления ПИД-регулятора трудно.
Рис. 3.22. Движение маятника с классическим ПИД управлением при наличии времени задержки в сигнале измерения угла маятника
Это является сложной комбинаторной задачей и не всегда под силу даже опытному проектировщику САУ. Для решения задачи управления будем использовать инструментарий ОБЗ на мягких вычислениях.
Нашей задачей является спроектировать с помощью ОБЗ оптимальную и робастную БЗ НР.
Начнем с процесса построения обучающего сигнала (ОС) с помощью ГА (подробнее смотри также в главе 5.4).
Построение обучающего сигнала
Выберем следующие параметры поиска для ГА:
· область поиска значений вектора с шагом разбиения (смотри описание работы ГА в главе 2);
· функция пригодности представляет собой сумму абсолютных значений угла отклонения маятника и его угловой скорости, взятых со знаком минус.
Согласно теории, ГА ищет максимум функции пригодности ФП. Однако, для нашей задачи управления оптимальным решением являются значения вектора К, дающие минимум отклонения маятника. Рассматривая ФП с отрицательным знаком, можем заменить задачу поиска минимума на задачу поиска максимума: . Задав все необходимые для ГА параметры, можем применить его для поиска оптимального сигнала управления для заданной задачи управления. По окончании процесса поиска оптимального сигнала управления с помощью ГА, формируем обучающий сигнал для следующего этапа технологии проектирования.
Пример фрагмента обучающего сигнала, построенного в результате ГА поиска, показан на рис. 3.23.
Как видно из рис. 3.23, ОС состоит из колонок чисел, представляющих значения ошибки управления, ее скорости и интегральной части, а также соответствующие им оптимальные значения коэффициентов усиления, найденные с помощью ГА.
Рис. 3.23. Фрагмент обучающего сигнала
Проектирование БЗ НР - Этап 2 ИТП
На следующем этапе нашей задачей является извлечение знаний из данных, содержащихся в ОС, и не просто знаний, а робастных знаний, применимых ко многим ситуациям управления.
Для этой задачи используем инструментарий ОБЗ. Вызываем файл приложения «SCOWIN.exe» и начинаем процесс проектирования БЗ на основе ОС (подробное описание инструментария дается в следующей главе 4). Начинаем с построения новой «sco-модели», где задаются имя sco-модели и описываются все атрибуты нечеткой модели вывода.
В качестве модели нечеткого вывода выберем модель Сугено нулевого порядка (смотри теорию в главе 2).
Примечание. Повторим здесь еще раз тип правил в БЗ в выбранной модели нечеткого вывода. Продукционное правило выглядит следующим образом:
,
где - функции принадлежности, описывающие ошибку управления е, ее скорость и интеграл.
На рис. 3.24 показан пример открытого sco-файла для нашей задачи управления движением перевернутого маятника.
В представленном на рисунке графическом окне описаны все атрибуты НР. Входом в НР является вектор ошибки управления , выходом – вектор , описывающий параметры ПИД регулятора. Таким образом, число входов – три, число выходов – 3.
В этом же окне находится файл с ОС (структура которого показана на рис.3.23), из которого мы будем извлекать знания и строить наши нечеткие правила.
Примечание. Файл ОС имеет вид «имя.pat».
Следующее действие - нажимаем первую кнопку слева «Create variables» и входим в процесс построения лингвистических переменных на основе ГА1 для описания диапазона изменений значений вектора ошибки управления . На рис. 3.25 показан пример построенных лингвистических переменных для ошибки управления («input.1»). Из рисунка видно, что для описания диапазона значений ошибки управления ОБЗ выбрал девять лингвистических переменных: «input 1.1», «input 1.2»,…, «input 1.9».
Рис. 3.24. Атрибуты sco-модели для проектирования и оптимизации БЗ
Рис. 3.25. Пример построенных лингвистических переменных для ошибки управления
Примечание. В экспертных системах обычно эти лингвистические переменные имеют имена, например «очень маленький», «маленький»,…, «большой», «очень большой». Однако в нашем случае это делать необязательно, так процесс построения БЗ автоматизирован и происходит без участия эксперта.
Рис. 3.26. Пример построенных лингвистических переменных для скорости ошибки управления (а) и интегральной ошибки управления (б)
Для описания диапазона значений скорости ошибки управления («input.2») ОБЗ выбрал шесть лингвистических переменных и для описания диапазона значений интегральной ошибки управления («input.3») выбрано семь лингвистических переменных, показанных на рисунке 3.26.
Теперь переходим к кнопке «Create rule database» для построения БЗ. С учетом количества лингвистических переменных для трех входных переменных, полная База Знаний состоит из 378 нечетких правил.
Пример построения БЗ с выбранными критериями отбора правил показан на рис. 3.27.
В соответствии с выбранными критериями (смотри меню слева на рис.3.27), ОБЗ построил базу знаний из 44 правил (окно справа на рис.3.27).
Далее с помощью опций «Optimize rules» и «Refine KB» проводится оптимизация выбранной БЗ с 44 правилами. После чего, с помощью модели, показанной на рис. 3.28, спроектированная БЗ проверяется, насколько она эффективна и робастна.
Рис. 3.27. Окна ОБЗ для построения базы правил
Тестирование построенной БЗ
Будем тестировать качество спроектированной с помощью ОБЗ базы знаний, моделируя поведение данного объекта управления в системе Матлаб. Matlab/Simulink модель ИСУ на основе нечеткого регулятора показана на рис. 3.28.
Рис. 3.28. Матлаб-Симулинк структура нечеткого ПИД регулятора для управления динамической системой «перевернутый маятник- тележка»
Блок «SCoptimizer S-Function1» представляет собой нечеткий регулятор (НР), реализующий функцию нечеткого вывода на основе спроектированной БЗ с помощью ОБЗ.
Параметры блока представлены на рис. 3.29.
Рис. 3.29. Параметры блока нечеткого вывода
Блок «SCoptimizer S-Function1» имеет следующие параметры: имя файла, содержащего БЗ построенную с помощью ОБЗ; число входных и выходных переменных и временной интервал управления «sampletime» = 0.025 сек.