Генерация желаемой кривой переходного процесса
В задачах управления с известной моделью объекта управления хотелось бы иметь возможность задать желаемый вид переходного процесса, чтобы по нему можно было бы рассчитать программное управление (в дополнение к ПИД-регулятору). В принципе эту задачу можно свести к задаче оптимального быстродействия при заданных ограничениях на несколько первых производных. Например, для двигателя с моделью 2-го порядка имеются ограничения на первую и вторую производные, а для модели квадракоптера 4-го порядка - соответственно ограничены первые четыре производные переходного процесса.
Итак, вопрос сводится к следующему: есть ли в матлабе средства, позволяющие по заданным ограничениям на производные получить на выходе точки кривой переходного процесса (самого быстрого) из начальной в конечную точку? Или может есть какие идеи, как это можно сделать.
ПС. Уточню, что модель объекта управления в такой постановке даже не фигурирует, т.е. задача чисто математическая и может использоваться для нахождения программного управления любыми объектами.
Ответы
Для решения этой задачи можно применить два инструмента из Control System Toolbox/Simulink Control Design:
1. Control System Designer (базовый инструмент)
1) Задаете структуру регулятора (например, ПИД)
2) Накладываете ограничения на характеристики переходного процесса (на картинке справа внизу)
3) Для надежности накладываете ограничения на частотные характеристики
4) Запускаете подбор параметров регулятора методом оптимизации
Подробнее:
https://www.mathworks.com/help/control/examples/getting-started-with-the-control-system-designer.html
https://docs.exponenta.ru/control/examples/getting-started-with-the-control-system-designer.html
2. Control System Tuner (более сложный инструмент, подходит для настройки многоконтурных систем)
1) Задаете примерную структуру регулятора
2) Задаете форму переходного процесса и другие желаемые характеристики
3) Запускаете подбор регулятора методом H∞
Подробнее:
https://www.mathworks.com/help/slcontrol/tuning-with-control-system-tuner.html
https://docs.exponenta.ru/slcontrol/tuning-with-control-system-tuner.html
На этих вебинарах я показывал, как работают эти инструменты, можете посмотреть:
Вебинар «Разработка систем автоматического управления» (2017)
Вебинар «Системы управления в MATLAB и Simulink» (2018)
А еще таким вещам мы учим на тренинге по разработке САУ.