Этот пример показывает, как разработать две степени свободы (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 является динамической системой с 1 выводом, с 2 входами. Можно разрешить контроллер в два канала, один для ссылочного сигнала и один для сигнала обратной связи, как показано в схеме. (См. Непрерывно-разовые Представления ПИД-регулятора 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 или изменяя особое внимание проекта имеет меньше или никакое влияние на настроенный результат.