Мы привыкли что все алгоритмы на процессоре (одна плата малины) на исполнительные механизмы отправляем только результат работы алгоритма. Поверни свой регулятор на столько-то градусов.
Сравнение с ПИД выбрано потому что было в оригинальном тексте. Мне просто интересно было можно ли подбирать параметры одинаковыми методами, для ПИД и Нечеткой логики, оказалось можно.
Но для чистоты эксперемента, там разобран вариант когда Фаззи знает только про положение и скорость (без ускорения) на рисунке 18 приведен, получается похоже на ПИД.
На самом деле есть генерация кода Си готового к укладке в контроллер. Если Расбери Пи то все сложится из коробки, по одной кнопке. Если другой, то нужно руками доработать.
Критерий качества минимизация среднеквадратичного отклонения. Кстати да, если добавить количество перключений (смена занака воздействия) отклонение получается больше, частота колебаний уменьшается.
Но на ступенке все равно вот так:
Как это не работает? Как раз он отлично работает и ведет ракету по процессу с постоянно уменьшающимися отклонениями от 0.015 до 0.005 в конце процесса. Сравнение такое берем процесс и настриваем два регулятора, одинаковой математикой, методом оптимизацией, на данный процесс — они работают практически идентично. Потом с этим же настройками даем даем дургой процесс.
Именно в этом и смысл, поэтому я проверял потом на ступенькой. Методы оптимизации по процессу, подгоняют коэфициенты для минимзации срденеквадратичного отклоения, но только в заданном процессе. Кстати матлабовские методы дают другие коэфиценты настройки: Kp = 1.587, Ki = 37.0798, Kd = 6.791. Но максимальное отклонение ПИД с такими коэфициента больше — 0.025.
Я не слильно разбираюсь в терминологии поэтому использовал термины из книги В.В. Гостева, там он так и пишет передаточная функция ракеты, у которой (функции) во времени меняются параметры.
Дискретный здесь только регулятор, если его убрать, то функция непрерывная.
Это ракета, во время полета, она сжигает топливо. И одно и тоже отклоенние руля, на начальном и конечном участки пути вызывает разное изменение угла атаки.
Можно, но итерес был в том, что бы сравнить автоматических подбор коэфициентов для ПИД, методом параметрической оптимизации, с таким же методом оптимизации для контроллера на базе нечеткой логики.
Нет после блоков логических мы получаем не дискретную величину, а набор действительных чисел, для каждого терма от 0 до 1 (уменьшать, норма, увеличивать). Пример в тексте «уменьшаем — 0.3; норма — 0.6; увеличиваем — 0.8». Далее у нас есть заданный диапазон регулирующего воздействия (тексте -30, 30), мы задаем:
Если результа (уменьшать — 1, норма — 0, увеличивать -0) значит воздействие — 30.
Если результат (уменьшать — 0, норма — 1, увеличивать -0) занчит воздействие 0.
Если результат (уменьшать — 0, норма — 0, увеличивать -1) занчит воздействие 30.
Во время расчета эти результатв болтаются от 0 до 1 на каждом шаге расчета.
Диапазоне регулирующего воздействия -30..30 результирующие воздействие = 4.1.
Но для чистоты эксперемента, там разобран вариант когда Фаззи знает только про положение и скорость (без ускорения) на рисунке 18 приведен, получается похоже на ПИД.
Но на ступенке все равно вот так:
Красное — воздествие, зеленое — расхождение!
simintech.ru/webhelp/#nachalo_raboti/laboratornie_raboty_po_kursu_uts/laboratornye_raboty_po_kursu_uts.html
Дискретный здесь только регулятор, если его убрать, то функция непрерывная.
Если результа (уменьшать — 1, норма — 0, увеличивать -0) значит воздействие — 30.
Если результат (уменьшать — 0, норма — 1, увеличивать -0) занчит воздействие 0.
Если результат (уменьшать — 0, норма — 0, увеличивать -1) занчит воздействие 30.
Во время расчета эти результатв болтаются от 0 до 1 на каждом шаге расчета.
Диапазоне регулирующего воздействия -30..30 результирующие воздействие = 4.1.