ncfsyn

Цикл, формирующий проект с помощью метода Перчаточника-McFarlane

Описание

ncfsyn реализует метод для разработки контроллеров, который использует комбинацию формирования цикла и устойчивой стабилизации, как предложено в [1]-[2]. Функция вычисляет Перчаточника-McFarlane, H нормировал взаимно-простой факторный формирующий цикл контроллер K для объекта G с весами предварительного компенсатора и посткомпенсатора W 1 и W 2. Функция принимает настройку положительной обратной связи следующего рисунка.

Diagram of control system with shaped controller K = W1*Ks*W2, reference input w1, disturbance input w2, plant G, and unit positive feedback.

Чтобы задать отрицательную обратную связь, замените GG. Контроллер Ks стабилизирует семейство систем, данное мячом неопределенности в нормированных взаимно-простых факторах имеющего форму объекта Gs = W 2GW1. Итоговый контроллер K, возвращенный ncfsyn получен как K = W 1KsW2.

[K,CL,gamma,info] = ncfsyn(G) вычисляет Перчаточника-McFarlane, H нормировал взаимно-простой факторный формирующий цикл контроллер K для объекта G, с W 1 = W 2 = I. CL система с обратной связью от воздействий w 1 и w 2 к выходным параметрам z 1 и z 2. Функция также возвращает H эффективность gamma, и структура, содержащая дополнительную информацию о результате.

пример

[K,CL,gamma,info] = ncfsyn(G,W1) вычисляет контроллер, использующий вес перед компенсатором, который вы задаете в W1, с W 2 = I.

[K,CL,gamma,info] = ncfsyn(G,W1,W2) вычисляет контроллер, использующий заданный вес перед компенсатором W1 и вес посткомпенсатора W2.

пример

[K,CL,gamma,info] = ncfsyn(G,W1,W2,tol) задает как плотно эффективность gamma из синтезируемого контроллера аппроксимирует оптимальную достижимую эффективность gopt. Увеличение tol может помочь когда контроллер K имеет нежелательную быструю динамику.

Примеры

свернуть все

Используйте ncfsyn спроектировать контроллер для следующего объекта.

G = tf([1 5],[1 2 10]);

Используйте функции взвешивания, которые дают к имеющему форму объекту W1*G*W2 с высоким усилением для затухания воздействия ниже 0,1 рад/с и низким усилением для хорошей устойчивой устойчивости выше приблизительно 5 рад/с. Для этого G, один только вес перед компенсатором достаточен.

W1 = tf(1,[1 0]);
bodemag(W1*G)
grid

Figure contains an axes object. The axes object contains an object of type line. This object represents untitled1.

Вычислите контроллер.

[K,CL,gamma,info] = ncfsyn(G,W1);

Оптимальная стоимость gamma связан с нормированным взаимно-простым запасом устойчивости системы 1/gamma = ncfmargin(Gs,-Ks). (Знак "минус" необходим потому что ncfmargin принимает цикл отрицательной обратной связи, в то время как ncfsyn вычисляет контроллер положительной обратной связи.)

b = ncfmargin(info.Gs,-info.Ks);
[gamma 1/b]
ans = 1×2

    1.4521    1.4521

Сравните достигнутые и целевые формы цикла.

sigma(G*K,G*W1)
legend('achieved','target')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent achieved, target.

В контроллере, возвращенном ncfsyn, некоторые полюса контроллера могут стать бесконечно быстрыми как фактическая эффективность gamma приближается к оптимальной достижимой эффективности gopt. Чтобы предотвратить это, проверяйте полюса контроллера и увеличьте tol аргумент, если некоторые полюса нежелательно быстры. tol наборы, как тесно gamma из синтезируемого контроллера аппроксимирует gopt.

Загрузите G, объект четвертого порядка.

load("ncfsynTolPlant.mat")
bode(G)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents G. Axes object 2 contains an object of type line. This object represents G.

Используйте функцию взвешивания, которая дает к имеющему форму объекту W1*G с высоким усилением для затухания воздействия ниже приблизительно 10 рад/с и низким усилением для хорошей устойчивой устойчивости выше приблизительно 1 000 рад/с.

W1 = zpk(-130,0,0.6);
bode(W1*G)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents untitled1. Axes object 2 contains an object of type line. This object represents untitled1.

Спроектируйте контроллер, использующий допуск по умолчанию, tol = 1e-3. Исследуйте полюса получившегося контроллера.

[K1,~,gamma1,info1] = ncfsyn(G,W1);
damp(K1)
                                                                       
         Pole              Damping       Frequency      Time Constant  
                                       (rad/seconds)      (seconds)    
                                                                       
  0.00e+00                -1.00e+00       0.00e+00              Inf    
 -1.48e+02 + 1.60e+01i     9.94e-01       1.49e+02         6.76e-03    
 -1.48e+02 - 1.60e+01i     9.94e-01       1.49e+02         6.76e-03    
 -7.90e+02 + 8.01e+02i     7.02e-01       1.13e+03         1.27e-03    
 -7.90e+02 - 8.01e+02i     7.02e-01       1.13e+03         1.27e-03    
 -1.50e+05                 1.00e+00       1.50e+05         6.66e-06    

У этого контроллера есть полюс на уровне приблизительно 150 000 рад/с, намного быстрее, чем какая-либо другая динамика в контроллере. Чтобы уменьшить частоту этого полюса, попытайтесь увеличить допуск до 0,1.

tol = 0.1;
[K2,~,gamma2,info2] = ncfsyn(G,W1,[],tol);
damp(K2)
                                                                       
         Pole              Damping       Frequency      Time Constant  
                                       (rad/seconds)      (seconds)    
                                                                       
  0.00e+00                -1.00e+00       0.00e+00              Inf    
 -1.50e+02 + 6.85e+00i     9.99e-01       1.50e+02         6.68e-03    
 -1.50e+02 - 6.85e+00i     9.99e-01       1.50e+02         6.68e-03    
 -6.58e+02 + 9.45e+02i     5.71e-01       1.15e+03         1.52e-03    
 -6.58e+02 - 9.45e+02i     5.71e-01       1.15e+03         1.52e-03    
 -1.77e+03                 1.00e+00       1.77e+03         5.65e-04    

На этот раз полюс самой высокой частоты ближе к другим. Сравните получившиеся значения эффективности, чтобы подтвердить, что эти два контроллера поставляют подобную эффективность.

gamma1, gamma2
gamma1 = 2.1157
gamma2 = 2.3250

Входные параметры

свернуть все

Объект в виде модели динамической системы, такой как пространство состояний (ss) модель. Если G обобщенная модель в пространстве состояний с неопределенными или настраиваемыми блоками системы управления, затем ncfsyn использует номинальную стоимость или текущее значение тех элементов. G должен иметь то же количество вводов и выводов.

Вес перед компенсатором в виде:

  • Единичная матрица eye(N), где N количество вводов или выводов в G.

  • Модель LTI минимальной фазы SISO. В этом случае, ncfsyn использует тот же вес для каждого канала цикла.

  • Модель LTI минимальной фазы MIMO тех же размерностей ввода-вывода как G.

Выберите веса предварительного компенсатора и посткомпенсатора W 1 и W 2 таким образом, что усиление имеющего форму объекта Gs = W 2GW1 достаточно высок на частотах, где хорошее затухание воздействия требуется, и достаточно низко на частотах, где хорошая устойчивая устойчивость требуется.

Вес посткомпенсатора в виде единичной матрицы eye(N) или модель SISO или MIMO LTI. Факторы для определения W2 совпадают с теми для W1. Чтобы не использовать вес посткомпенсатора, установите W2 = [].

Допуск почти оптимальности в виде значения положительной скалярной величины. ncfsyn возвращает контроллер K с эффективностью gamma это удовлетворяет abs(gamma-gopt) < tol*gopt, где gopt оптимальная эффективность (возвратился в info). Используйте tol настраивать приемлемый разрыв между gamma и gopt. tol значение, которое слишком мало, может вызвать числовые трудности и ввести быстрые полюса в K. Увеличение tol обычно устраняет обе проблемы. Для примера смотрите, Уменьшают Нежелательную Быструю Динамику в Контроллере.

Выходные аргументы

свернуть все

H ∞-optimal формирующий цикл контроллер, возвращенный как пространство состояний (ss) модель с теми же размерностями ввода-вывода как G. Оптимальный контроллер K = W 1KsW2. См. Алгоритмы.

Оптимальная система с обратной связью от воздействий w 1 и w 2 к выходным параметрам z 1 и z 2, возвращенный как модель в пространстве состояний. Системой с обратной связью дают:

[IK](IGK)1[I,G].

H эффективность достиг с контроллером K, возвращенный как значение положительной скалярной величины, больше, чем 1. H эффективность является hinfnorm(CL). Оптимальный контроллер Ks таков, что график сингулярного значения имеющего форму цикла Ls = W 2GW1Ks оптимально совпадает с целевым циклом, формирует Gs к в факторе gamma. Однако по числовым причинам, ncfsyn обычно возвращает контроллер с немного большим H эффективность, чем оптимальный. Для оптимальной достижимой эффективности смотрите info выходной аргумент.

gamma связан с нормированным взаимно-простым запасом устойчивости системы gamma = 1/ncfmargin(Gs,-Ks). Таким образом, gamma дает хорошую индикацию относительно робастности устойчивости к широкому классу неструктурированных изменений объекта, со значениями в области значений 1 <gamma <3 соответствия удовлетворительным запасам устойчивости для большинства типичных проектов системы управления.

Дополнительная информация о синтезе контроллера, возвращенном как структура, содержащая следующие поля.

  • gopt — Оптимальная эффективность, достижимая H синтез для имеющего форму объекта. По числовым причинам, ncfsyn обычно возвращает контроллер с немного большим H эффективность, которая возвращена в gamma. Настраивать как плотно ncfsyn цели сделать gamma совпадайте с gopt, используйте tol входной параметр. Смотрите Уменьшают Нежелательную Быструю Динамику в Контроллере.

  • emaxnugap метрика робастности, emax = 1/gopt (см. gapmetric)

  • Gs — Имеющий форму объект Gs = W 2GW1

  • Ks — Оптимальный контроллер для имеющего форму объекта Gs. Итоговым контроллером является K = W 1KsW2. См. Алгоритмы для деталей.

Советы

  • В то время как ncfmargin принимает цикл отрицательной обратной связи, ncfsyn команда проектирует контроллер для цикла положительной обратной связи. Поэтому вычислить поле с помощью контроллера, спроектированного с ncfsyn, используйте [marg,freq] = ncfmargin(G,K,+1).

Алгоритмы

Возвращенный K контроллера = W 1KsW2, где Ks является оптимальный H контроллер, который минимизирует H стоимость

γ(Ks)=[IKs](IGsKs)1[I,Gs]=[IGs](IKsGs)1[I,Ks].

Оптимальная эффективность является минимальной стоимостью

γ:=minKsγ(Ks).

Предположим тот Gs =NM–1, где N () *N () + M () *M () = I, нормированная взаимно-простая факторизация (NCF) взвешенной модели объекта управления Gs. Затем теория гарантирует, что система управления остается надежно устойчивой для любого возмущения G˜s к Gs формы

G˜s=(N+Δ1)(M+Δ2)1

где Δ1, Δ2 являются устойчивым парным удовлетворением

[Δ1Δ2]<MARG:=1γ.

Цель -нормы H с обратной связью имеет стандартную интерпретацию усиления сигнала. Наконец можно показать, что контроллер, Ks, существенно не влияет на форму цикла в частотах, где усиление W 2GW1 или высоко или низко и гарантирует удовлетворительные запасы устойчивости в области частоты перекрестного соединения усиления. В настройке регулятора итоговый контроллер, который будет реализован, является K =W1KsW2.

Смотрите Макфарлэйна и Перчаточника [1][2] для деталей.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2020b

Ссылки

[1] Макфарлэйн, Дункан К., и Кит Гловер, редакторы Устойчивое Проектирование контроллера с помощью Нормированных Взаимно-простых Факторных Описаний Объекта. Издание 138. Читайте лекции Примечаниям в Управлении и Информатике. Берлин/Гейдельберг: Springer-Verlag, 1990. https://doi.org/10.1007/BFb0043199.

[2] Макфарлэйн, D. и K. Перчаточник, “Цикл, Формирующий Методику проектирования с помощью H Синтез”, Транзакции IEEE на Автоматическом управлении, № 6 (июнь 1992): стр 759–69. https://doi.org/10.1109/9.256330.

[3] Vinnicombe, Гленн. “Измеряя робастность систем с обратной связью”. Диссертация доктора философии, Кембриджский университет, 1992.

[4] Чжоу, Кемин и Джон Комсток Дойл. Основы устойчивого управления. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1998.

Представлено до R2006a