Этот пример показов, как спроектировать 2-DOF с двумя степенями свободы ( ПИД-регулятора) в командной строке. Пример также сравнивает эффективность контроллера 2-DOF с эффективностью, достигнутым с 1-DOF ПИД-регулятором.
2-DOF ПИД-регуляторы включают взвешивание уставки на пропорциональном и производном терминах. По сравнению с 1-DOF ПИД-контроллером, 2-DOF ПИД-контроллер может добиться лучшего отторжения возмущения без значительного увеличения перерегулирования в отслеживании уставки. Типичная архитектура управления, использующая 2-DOF ПИД-регуляторы, показана на следующей схеме.
В данном примере разработайте контроллер 2-DOF для объекта управления, заданный как:
Предположим, что ваша целевая полоса пропускания для системы составляет 1,5 рад/с.
wc = 1.5;
G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'PID2',wc)
C2 = 1 u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y) s with Kp = 1.26, Ki = 0.255, Kd = 1.38, b = 0.665, c = 0 Continuous-time 2-DOF PID controller in parallel form.
Использование типа 'PID2'
причины pidtune
чтобы сгенерировать контроллер 2-DOF, представленный как pid2
объект. Отображение подтверждает этот результат. pidtune
настраивает все коэффициенты контроллера, включая веса уставок b
и c
, для баланса эффективности и робастности.
Чтобы вычислить ответ с обратной связью, обратите внимание, что 2-DOF ПИД-регулятор является 2-входной, 1-выходной динамической системой. Можно разрешить контроллер в два канала, один для опорного сигнала и один для сигнала обратной связи, как показано на схеме. (Для получения дополнительной информации смотрите Представления ПИД- 2-DOF контроллера в непрерывном времени.)
Разложите контроллер на компоненты Cr
и Cy
, и используйте их, чтобы вычислить ответ с обратной связью от r до y.
C2tf = tf(C2); Cr = C2tf(1); Cy = C2tf(2); T2 = Cr*feedback(G,Cy,+1);
Чтобы изучить эффективность подавления помех, вычислите передаточную функцию от d до y.
S2 = feedback(G,Cy,+1);
Для сравнения спроектируйте 1-DOF ПИД-регулятор с той же пропускной способностью и вычислите соответствующие передаточные функции. Затем сравните переходные характеристики.
C1 = pidtune(G,'PID',wc); T1 = feedback(G*C1,1); S1 = feedback(G,C1); subplot(2,1,1) stepplot(T1,T2) title('Reference Tracking') subplot(2,1,2) stepplot(S1,S2) title('Disturbance Rejection') legend('1-DOF','2-DOF')
Графики показывают, что добавление второй степени свободы устраняет перерегулирование в реакции отслеживания уставки без каких-либо затрат на подавление помех. Вы можете улучшить подавление помех также с помощью DesignFocus
опция. Эта опция вызывает pidtune
для предпочтения подавления помех по сравнению с отслеживанием уставки.
opt = pidtuneOptions('DesignFocus','disturbance-rejection'); C2dr = pidtune(G,'PID2',wc,opt)
C2dr = 1 u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y) s with Kp = 1.72, Ki = 0.593, Kd = 1.25, b = 0, c = 0 Continuous-time 2-DOF PID controller in parallel form.
С сбалансированным особым вниманием проекта по умолчанию, pidtune
выбирает b
значение от 0 до 1. Для этого объекта, когда вы меняете особое внимание проекта, чтобы способствовать подавлению помех, pidtune
устанавливает b
= 0 и c
= 0. Таким образом, pidtune
автоматически генерирует контроллер I-PD для оптимизации для подавления помех. (Явное указание контроллера I-PD без установки особого внимания проекта приводит к аналогичному контроллеру.)
Сравните отклики с обратной связью, используя все три контроллера.
C2dr_tf = tf(C2dr); Cdr_r = C2dr_tf(1); Cdr_y = C2dr_tf(2); T2dr = Cdr_r*feedback(G,Cdr_y,+1); S2dr = feedback(G,Cdr_y,+1); subplot(2,1,1) stepplot(T1,T2,T2dr) title('Reference Tracking') subplot(2,1,2) stepplot(S1,S2,S2dr); title('Disturbance Rejection') legend('1-DOF','2-DOF','2-DOF rejection focus')
Графики показывают, что подавление помех дополнительно улучшено по сравнению с контроллером сбалансированного 2-DOF. Это улучшение происходит с некоторой жертвой эффективности отслеживания уставки, которая немного медленнее. Однако ответ отслеживания уставки все еще не имеет перерегулирования.
Таким образом, использование 2-DOF управления может улучшить подавление помех, не жертвуя такой же эффективностью отслеживания уставки, как и 1-DOF управление. Эти эффекты на производительности системы сильно зависят от свойств вашего объекта. Для некоторых объектов и некоторых управляет полосами пропускания, использование 2-DOF управления или изменение особого внимания проекта оказывает меньше или не влияет на настроенный результат.