Нечеткая логика для управления — КиберПедия 

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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Нечеткая логика для управления

2019-11-11 406
Нечеткая логика для управления 0.00 из 5.00 0 оценок
Заказать работу

Нечеткая логика для управления

Данный текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.Также, показать возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

 

Постановка задачи

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

Приняв за выходную координату ракеты угол атаки:  , а за входную координату угол поворота руля  определим передаточную функцию ракеты в виде:

  где:

– коэффициент преобразования ракеты,

T – постоянная времени,

– коэффициент демпфирования.

 

При исследовании системы управления предположим, что зависимости параметров ракеты от времени полета определяются так:

Для упрощения расчетов, рулевой механизм опишем передаточной функцией интегрирующего звена   . В этом случае вход системы  – заданный угол атаки, m (t) – управляющий сигнал на выходе регулятора, а объект управления описывается общей передаточной функцией:

(В объект управления включены аналоговые рулевой механизм и ракета).

Закон изменения входного воздействия задан полиномом:

Необходимо разработать регулятор, обеспечивающий отработку входного воздействия с помощью ПИД-регулятора и регулятора на базе нечеткой логики.

Осуществить подбор коэффициентов регуляторов.

Произвести сравнение переходного процесса с ПИД-регулятором и cрегулятором на базе нечеткой логики.

 

Динамическая модель объекта

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

Рисунок 1. Скрипт основной программы.

 

Сама схема модели представлена на рисунке 2.

Заданное воздействие задаётся в виде блока константа, в качестве параметров задается переменная из скрипта. Параметры переходной функции задаются в виде переменных.

Рисунок 2. Схема динамической модели ракеты.

 

Настройка регулятора

Блок ПИД представляет из себя субмодель (рис. 3), в котором используется стандартный блок «ДискретныйПИД-регулятор»из закладки «Дискретные». Частота дискретизации выбрана равной 0.001 сек.

Рисунок 3. ПИД регулятор с схемой настройки.

 

Параметры регулятора задаются в виде имен глобальных сигналов проекта Kp, Ki, Kd (рис. 4).Это позволяет изменять параметры во время моделирования, и настраивать регулятор.

Рисунок 4. Параметры настроек ПИД до оптимизации.

 

Глобальные сигналы проекта задаются через меню главного окна программы «Сервис/Сигналы»

Рисунок 5. Список сигналов проекта для настройки ПИД.

 

Для настройки регулятора использовался блок «оптимизация», критерием оптимизации является минимум среднего квадратичного отклонения(см. рис. 3).

Блок оптимизации осуществляет оптимизацию по всему переходному процессу. Результат оптимизации– вектор из трех коэффициентов, который направляется в блок «Запись в список сигналов», где вычисленные значения передаются в сигналы и, соответственно, меняются значения коэффициентов ПИД. Для настройки регулятора мы задаём следующие параметры оптимизации:

Исходные значения всех коэффициентов 1.

Диапазон для подбора задан от -50 до +50. 

Точность подбора 0.001

Максимальное среднеквадратичное отклонение после оптимизации 0.01

Все остальные параметры оставляем заданными по умолчанию (см. рис. 6).

Рисунок 6. Параметры блока оптимизации.

После расчета оптимизации в значениях сигналов проекта сохранятся результаты Kp, Ki, Kd. В рассматриваемом случае блок оптимизации рассчитал следующие оптимальные значения коэффициентов:

Kp = -1,7498597; Ki = 17.891995; Kd = 11.606602.

 

При таких коэффициентах среднеквадратичное отклонение в заданном переходном процессе составило 0.008738090

 

Рисунок 7. Переходной процесс. Рисунок 8. Воздействие и отклонение.

 

После настройки регулятора блоки «Оптимизация» и «Запись в список сигналов» можно исключить из расчёта, оптимальные значения коэффициентов останутся сохраненными в списке сигналов.

 

Много – уменьшай

Норма – не трогай

Мало – увеличивай

Если перевести с птичьего языка математики на русский, то выражения

означаетбуквально следующие:

Если больше нормы и отклонение растет и скорость роста увеличивается, то уменьшаем.

Если норма, и не изменяется и постоянна, то не воздействуем.

Если меньше нормы и падает и скорость падения увеличивается, то увеличиваем.

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

Для решения задачи регулировании угла атаки мы должны из непрерывной величины отклонения получить три терма – меньше, норма, больше.  Тоже самое нужно сделать для первой производной отклонения и второй производной отклонения. Это первый этап нечеткого вывода – фазификация.

Чтобы получить термы, мы должны задать числовое значения параметра для каждого терма. Например: «Мало» = -1; «Норма» = 0; «Много» = 1. Для фазификации будем использовать треугольные функции. Функции растут по мере приближения к заданной величине, и уменьшаются по мере удаления. Два варианта треугольных функций приведены на рисунке 9:

Рисунок 9 Треугольные функции принадлежности.

Зная величину отклонения (х1), мы можем найти значения функции принадлежности для термов больше (красная линия), норма (зеленая линия), меньше (синяя линия). Величины будут находится в диапазоне от 0 до 1.

Обратите внимание, что на левом графике крайние функции, не совсем «треугольные». Если рассматривать с точки зрения абстрактной математики, то функции на правом графике более «красивые». Но, если вспомнить «главную тайну правил нечеткого вывода», то левый график более правильный. В самом деле:

Рассмотрим правило «Мало – добавляй», если у нас значение -1, то «мало» = 1 (красная линия) верно для обоих графиков. А если у нас значение -2? По логике мы тоже должны «добавлять». На левом графике при -2 так и есть:«мало = 1», но на правом графике у нас «мало» = 0, что очевидно не верно.  Тоже самое справедливо для правила «Много – уменьшай».

Фазификация «честными» треугольными функциями может приводить к тому что при выходе величины за диапазон определения функций мы получаем 0, для всех термов, что, в свою очередь,может приводит к отсутствию воздействия на объект.

Обратная задача - дефазификация. Для расчета воздействия нужно выполнить обратное преобразование – у нас есть значения функций принадлежности уменьшать, не изменять, увеличивать в диапазоне (0...1)(треугольные функции) и диапазон воздействий, которые мы можем оказать, и мы должны из трех термов получить одно число- конкретное воздействие.

Получить можно воздействие можно различными способами, например, по центру массы фигуры. На рисунке 10 приведено состояние регулятора, где значения термов уменьшать 0.3 не изменять 0.6 и увеличивать -0.8 при диапазоне регулирующего воздействия -30, 30 результирующие воздействие = 4.1.

Рисунок 9. Дефазификация управляющего воздействия

 

Другой вариант дефазификации– по центру масс точек. На рисунке 11 приведен вариант,где при тех же значениях термов и диапазону регулирования,мы получаем другой вариант ответа 8.82:

Рисунок 10. Дефазификация методом центра массы точек.

 

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

Рисунок 11. Треугольные функции принадлежности с одним основанием.

 

В этом случае результат фазификациипри таких же значениях термов уменьшать 0.3, не изменять 0.6 и увеличивать -0.8 при диапазоне регулирующего воздействия -30, 30 результирующие воздействие = 5.27.

Рисунок 12. Дефазификация методом расчета площади.

 

Вооружившись тайными знаниями о нечеткой логике,создадим модель регулятора. Модель ракеты оставляем такую же как и для ПИД-регулятора (см. рис. 2), а вот в субмодели регулятора соберем схему, изображенную на рисунке 13.

Рисунок 13. Схема регулятора на базе нечеткой логики.

 

На вход в регулятор подается рассогласование между заданным углом атаки и реальным (измеренным). После входа стоит блок «Экстраполятор», который обеспечивает преобразование непрерывного сигнала в дискретный с заданным периодом дискретизации (0.001 с – такой же, как у дискретного ПИД-регулятора).

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

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

Блоки «Демультиплексор» разводят вектора в лингвистические переменные для формирования правил. На схеме названия переменных подписаны в порядке их распоряжения в векторах.

Отклонение в нашем случае – это разность заданного и измеренного, если отрицательное значение – значит угол атаки больше заданного, мы должны уменьшать. И соответственно наоборот, если отклонение положительно, то измеренный угол меньше заданного, мы должны увеличивать.
(Больше – уменьшай, меньше – увеличивай, норма – не трогай).

Выход тоже имеет три лингвистические переменные«уменьшать», «не изменять», «увеличивать». Мультиплексор собирает значения в вектор и отдает в блок нечеткого вывода. Теперь, когда у нас есть все переменные, мы можем записать правила нечеткого вывода в виде схемы.

· Если больше нормы и отклонение растет и скорость роста увеличивается => уменьшаем.

· Если норма, и не изменяется и постоянна => не изменяем.

· Если меньше нормы и падает и скорость падения увеличивается => увеличиваем.

Все лингвистические переменные в правилах у нас связаны через логические блоки «и» и подключены к выходам. Как видно из рисунка 10, схема логическая нечеткого вывода практически не отличается от обычной логической схемы, только используются блоки нечеткой логики.

Аналогично настройке ПИД-регулятора, мы используем блок оптимизации.

Остается вопрос с параметрами блоков.

Рисунок 14. Список сигналов проекта.

 

В функциях фазификации и нечеткого вывода используем эти сигналы для расчёта параметров с учетом принятых допущений (см. рис. 15, 16).

 

Рисунок 15. Параметры функции фазификации для отклонения.

Рисунок 16. Параметры функции нечеткого вывода.

Настройки регулятора,предложенные в книге Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования», для случая фазификации тремя функциями принадлежности предлагаются следующие параметры:

uMax = 30 – амплитуда управляющего воздействия;

deltaMax = 0.01 – максимальное отклонение;

divMax = 0.07 – максимальная производная отклонения;

div2 Max = 1 – максимальная вторая производная отклонения.

 

Рисунок 17. Переходные процессы.

 

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

Сравним переходные процессы в системе, если задать ступенчатое управляющее воздействие. Результаты на рисунке 18.

ПИД-регулятор Нечеткий регулятор (вариант 1)

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

 

Для ступенчатого воздействия, регулятор на основе нечеткой логики обеспечивает лучшее качество переходного процесса.ПИД-регулятор, настроенный автоматически на плавный процесс, вызывает колебания с перерегулированием в два раза превосходящие заданную ступеньку.

 

Рисунок 19. Переходной процесс регуляторами настроенными методом оптимизации.

 

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

 

Рисунок 20. Схема для оптимизации по 2 критериям.

 

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

uMax = 19.714 – амплитуда управляющего воздействия;

deltaMax = 1.0496 – максимальное отклонение;

divMax = 0.01 – максимальная производная отклонения;

div2 Max = 1.7931  – максимальная вторая производная отклонения.

 

Видно, что при добавлении в критерий оптимизации числа срабатываний, удалось сократить частоту переключения регулятора (см. рис 19). Таким образом можно сказать, что метод оптимизации работает, даже когда мы ничего не знаем об объекте и просто подбираем числовые параметры, не задумываясь об их физическом смысле.

 

Рисунок 21. Упрощенный регулятор на базе нечеткой логики.

 

Вместо диапазона второй производной оптимизатора будет побираться значение для терма «увеличивать».Попытка настроить подобный регулятор методом оптимизации показывает, что добиться качественного управления системой не получается.

Наилучший результат показан на рисунке 22.

Рисунок 22. Переходной процесс для упрощенного регулятора.

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

1) Если меньше и уменьшается => увеличивать быстро.

2) Если норма и увеличивается => уменьшать.

3) Если норма => не изменять.

4) Если норма и уменьшается => увеличивать.

5) Если больше и растет => уменьшать быстро.

Рисунок 23. Управление по скорости изменения отклонения.

 

Результаты работы регулятора настроенного методом оптимизации, представлены на рисунке 24.

Рисунок 24. Переходной процесс управления по отклонению.

 

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

 

Переходной процесс. Управление.

Рисунок 25. Переходной процесс при ступенчатом воздействии.

 

Для того, чтобы отработать быстрые отклонения, добавим управляющее воздействие при отклонении. Будем увеличивать, если меньше и уменьшать, если больше. Поскольку в наборе правил уже есть правила, при которых мы уменьшаем и увеличиваем, мы используем логический оператор или:

1) Если меньше и уменьшается => увеличивать быстро.

2) Если (норма и увеличивается) или больше => уменьшать.

3) Если норма => не изменять.

4) Если (норма и уменьшается) или меньше => увеличивать.

5) Если больше и растет => уменьшать быстро.

Схема регулятора по данным правилам представлена на рисунке 26.

Рисунок 26. Регулятор с управлением по отклонению и скорости изменения.

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

 

Управление Переходной процесс

Рисунок 27. Работа регулятора с управлением по скорости и отклонению.

 

В заключение,давайте еще раз«улучшим» наш регулятор.

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

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

1) Если меньше и уменьшается => увеличивать быстро.

2) Если (норма и постоянна и разгоняется) или больше => уменьшать.

3) Если норма => не изменять.

4) Если (норма и постоянна и замедляется) или меньше => увеличивать.

5) Если больше и растет => уменьшать быстро.

Схема данного регулятора приведена на рисунке 28. Для экономии места на схеме логические выражения«и», записанные в правилах в скобках, вычисляются в субмодели, обозначенной «&».

Рисунок 28. Регулятор нечеткой логики с контролем второй производной.

После подбора параметров методом оптимизации по отклонению и количеству включений, получены следующие параметры:

uMax = 27.4983 – амплитуда управляющего воздействия;

deltaMax = 0.0433 – максимальное отклонение;

divMax = 0.0966 – максимальная производная отклонения;

div2 Max = 1.0828 – максимальная вторая производная отклонения.

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

Переходной процесс Процесс управления

Рисунок 29. Переходной процесс управления регулятором с отслеживанием второй производной отклонения.

Выводы

Регулятор на базе нечеткой логики может обеспечить более высокое качество переходного процесса для управления ракетой, чем ПИД-регулятор.

Настройку регулятора на базе нечеткой логики можно осуществлять средствами оптимизации.

Регулятора на базе нечёткой логики обеспечивает большую гибкость в настройке.

Нечеткая логика для управления

Данный текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.Также, показать возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

 

Постановка задачи

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

Приняв за выходную координату ракеты угол атаки:  , а за входную координату угол поворота руля  определим передаточную функцию ракеты в виде:

  где:

– коэффициент преобразования ракеты,

T – постоянная времени,

– коэффициент демпфирования.

 

При исследовании системы управления предположим, что зависимости параметров ракеты от времени полета определяются так:

Для упрощения расчетов, рулевой механизм опишем передаточной функцией интегрирующего звена   . В этом случае вход системы  – заданный угол атаки, m (t) – управляющий сигнал на выходе регулятора, а объект управления описывается общей передаточной функцией:

(В объект управления включены аналоговые рулевой механизм и ракета).

Закон изменения входного воздействия задан полиномом:

Необходимо разработать регулятор, обеспечивающий отработку входного воздействия с помощью ПИД-регулятора и регулятора на базе нечеткой логики.

Осуществить подбор коэффициентов регуляторов.

Произвести сравнение переходного процесса с ПИД-регулятором и cрегулятором на базе нечеткой логики.

 

Динамическая модель объекта

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

Рисунок 1. Скрипт основной программы.

 

Сама схема модели представлена на рисунке 2.

Заданное воздействие задаётся в виде блока константа, в качестве параметров задается переменная из скрипта. Параметры переходной функции задаются в виде переменных.

Рисунок 2. Схема динамической модели ракеты.

 

Настройка регулятора

Блок ПИД представляет из себя субмодель (рис. 3), в котором используется стандартный блок «ДискретныйПИД-регулятор»из закладки «Дискретные». Частота дискретизации выбрана равной 0.001 сек.

Рисунок 3. ПИД регулятор с схемой настройки.

 

Параметры регулятора задаются в виде имен глобальных сигналов проекта Kp, Ki, Kd (рис. 4).Это позволяет изменять параметры во время моделирования, и настраивать регулятор.

Рисунок 4. Параметры настроек ПИД до оптимизации.

 

Глобальные сигналы проекта задаются через меню главного окна программы «Сервис/Сигналы»

Рисунок 5. Список сигналов проекта для настройки ПИД.

 

Для настройки регулятора использовался блок «оптимизация», критерием оптимизации является минимум среднего квадратичного отклонения(см. рис. 3).

Блок оптимизации осуществляет оптимизацию по всему переходному процессу. Результат оптимизации– вектор из трех коэффициентов, который направляется в блок «Запись в список сигналов», где вычисленные значения передаются в сигналы и, соответственно, меняются значения коэффициентов ПИД. Для настройки регулятора мы задаём следующие параметры оптимизации:

Исходные значения всех коэффициентов 1.

Диапазон для подбора задан от -50 до +50. 

Точность подбора 0.001

Максимальное среднеквадратичное отклонение после оптимизации 0.01

Все остальные параметры оставляем заданными по умолчанию (см. рис. 6).

Рисунок 6. Параметры блока оптимизации.

После расчета оптимизации в значениях сигналов проекта сохранятся результаты Kp, Ki, Kd. В рассматриваемом случае блок оптимизации рассчитал следующие оптимальные значения коэффициентов:

Kp = -1,7498597; Ki = 17.891995; Kd = 11.606602.

 

При таких коэффициентах среднеквадратичное отклонение в заданном переходном процессе составило 0.008738090

 

Рисунок 7. Переходной процесс. Рисунок 8. Воздействие и отклонение.

 

После настройки регулятора блоки «Оптимизация» и «Запись в список сигналов» можно исключить из расчёта, оптимальные значения коэффициентов останутся сохраненными в списке сигналов.

 


Поделиться с друзьями:

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

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.177 с.