Друзья,
Для нас это тоже неожиданность, но мы выпускаем еще одну, на этот раз точно заключительную, серию про трубопровод.
Для нас это тоже неожиданность, но мы выпускаем еще одну, на этот раз точно заключительную, серию про трубопровод.
Она будет посвящена радикальной доработке регулятора давления в трубопроводе. Нас не устраивало его качество, и мы решили применить методы нечеткой логики.
Этап 3. Усовершенствование регулятора давления с помощью методов нечеткой логики. Новый улучшенный проект целиком можно найти ТУТ.
Этот проект – замечательный пример синергии гибкого языка Julia и среды моделирования, ведь регулятор мы проектируем в нашей удобной расчетной среде, а потом интегрируем при помощи блока Engee Function в модель.
Библиотека FuzzyLogic крайне полезна и функциональна, она позволяет строить системы нечеткого вывода Мамдани, Сугено, а также системы с интервальными функциями принадлежности.
В нашем проекте строим систему нечеткого вывода Мамдани (Mamdani fuzzy inference system) с помощью макроса @mamfis.
Далее мы применяем функцию compilefis() для того, чтобы сгенерировать код Julia на базовом синтаксисе и интегрировать его в блок Engee Function. Кстати, в будущем вы можете сохранить этот блок в Пользовательскую Библиотеку и переиспользовать в других проектах.
Как можете видеть, у нечеткого регулятора значительно меньшее перерегулирование, а также меньшая длительность переходного процесса. Но у нечеткого регулятора есть и минус: его сигнал зачастую может быть смещен от сигнала задатчика на некоторую величину. Это можно исправить более точной настройкой функций принадлежности и решающих правил. Но теперь мы точно довольны нашей САУ.
Вот такой любопытный «сериал» у нас получился. Надеемся, что вам было интересно! Мы обязательно продолжим делиться с вами подобными разносторонними проектами!
Увидимся в Engee!