h2hinfsyn

Смешанный H 2/ H ∞ синтез с региональными ограничениями размещения полюсов

Описание

пример

[K,CL,normz,info] = h2hinfsyn(P,Nmeas,Ncon,Nz2,Wz,Name,Value) использует методы LMI для вычисления закона управления с обратной связью u = K (s) y для задачи управления на следующем рисунке.

Объект LTI P имеет разделенную форму пространства состояний, заданную как

x˙=Ax+B1w+B2u,z=C1x+D11w+D12u,z2=C2x+D21w+D22u,y=Cyx+Dy1w+Dy2u.

Получившийся контроллер K:

  • Держит норму <reservedrangesplaceholder4>  G передаточной функции от w до <reservedrangesplaceholder1>  ниже значения, Вы определяете использование Name,Value аргумент 'HINFMAX'.

  • Сохраняет H 2 H нормы передаточной функции от w до z 2 ниже значения, заданного вами с помощью Name,Value аргумент 'H2MAX'.

  • Минимизирует критерий компромисса формы

    W1G2+W2H2,

    где W 1 и W 2 являются первой и второй записями в векторе Wz.

  • Помещает полюса с обратной связью в область LMI, которую вы задаете используя Name,Value аргумент 'REGION'.

Используйте входные параметры Nmeas, Ncon, и Nz2 для определения количества сигналов в y, u и z 2, соответственно. Можно использовать дополнительные Name,Value пар, чтобы задать дополнительные опции для расчета.

Примеры

свернуть все

Учитывая объект, спроектируйте контроллер таким образом, чтобы полюсы системы с обратной связью лежали в полуплоскости, заданной Re (s) < -1 .

Можно задать эту область для размещения полюсов с помощью интерактивной lmireg команда. Для этого,

  1. Введите region = lmireg в командной строке MATLAB ®.

  2. Введите h для задания ограничения полуплоскости.

  3. Введите l для определения левой полуплоскости.

  4. Введите -1 чтобы указать, что граница для области x0 = –1.

  5. Введите q выход и создание области LMI.

Область, созданная этим процессом, эквивалентна следующим командам. (Для получения дополнительной информации смотрите lmireg страница с описанием.)

RealPart = -1; 
region = [-2*RealPart + 1i 1]; 

Задайте модель объекта управления. В данном примере используйте объект с двумя входами и тремя выходами. Предположим, что объект содержит один сигнал управления и один сигнал измерения (nmeas = ncont = 1), и разделяется так, что эти сигналы являются последними входами и выходами, соответственно.

A = [1 0;2 1]; 
B = [1 1;1 0]; 
C = [1 1;1 1;1 1]; 
D = zeros(3,2);
P = ss(A,B,C,D);

Вычислите контроллер для P использование области LMI для ограничения расположения полюса с обратной связью. Применить H2 ограничение нормы на один сигнал (Nz2 = 1) и дать H2 и H нормы равны весу.

ncont = 1;
nmeas = 1;
Nz2 = 1 ;
Wz = [0 0];
[K,CL] = h2hinfsyn(P,nmeas,ncont,Nz2,Wz,'Region',region); 
 Solver for LMI feasibility problems L(x) < R(x)
    This solver minimizes  t  subject to  L(x) < R(x) + t*I
    The best value of t should be negative for feasibility

 Iteration   :    Best value of t so far 
 
     1                        7.368392
     2                      -95.362851

 Result:  best value of t:   -95.362851
          f-radius saturation:  0.009% of R =  1.00e+08
 

Подтвердите, что полюса системы с обратной связью имеют Re (ы) < -1 .

pole(CL)
ans = 4×1 complex

  -1.6786 + 3.2056i
  -1.6786 - 3.2056i
  -1.5563 + 1.6678i
  -1.5563 - 1.6678i

Можно нажать собственные значения замкнутой системы дальше влево, изменив RealPart. Или можно задать другие области размещения полюсов. Например, поместите полюса так, чтобы Re (ы) упали в полосу комплексной плоскости -5 < Re (ы) < -3. Чтобы определить эту область, используйте lmireg интерактивно для создания reg1 определение Re (s) > -5, и reg2 определение Re (s) < -3. Затем введите region = lmireg(reg1,reg2) для определения пересечения этих двух областей. Следующий код эквивалентен.

LeftRealPart = -5; 
RightRealPart = -3;
region = [-2*RightRealPart + 1i 0 1 0;
           0 2*LeftRealPart + 1i 0 -1];

Вычислите новый контроллер и подтвердите местоположение полюсов с обратной связью.

[K,CL] = h2hinfsyn(P,nmeas,ncont,Nz2,Wz,'Region',region); 
 Solver for LMI feasibility problems L(x) < R(x)
    This solver minimizes  t  subject to  L(x) < R(x) + t*I
    The best value of t should be negative for feasibility

 Iteration   :    Best value of t so far 
 
     1                       17.688394
     2                        1.074621
     3                      -13.502955

 Result:  best value of t:   -13.502955
          f-radius saturation:  0.048% of R =  1.00e+08
 
pole(CL)
ans = 4×1 complex

  -3.7864 + 4.9210i
  -3.7864 - 4.9210i
  -3.7752 + 3.6186i
  -3.7752 - 3.6186i

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

свернуть все

Объект, заданный как модель LTI, такая как tf или ss модель. P должна быть моделью в непрерывном времени.

Количество сигналов измерения, заданное как положительное целое число. Это значение является количеством сигналов в y.

Количество управляющих сигналов, заданное в виде положительного целого числа. Это значение является количеством сигналов в u.

Количество сигналов, удовлетворяющих ограничению на H 2 норму, заданное в виде положительного целого числа. Это значение является количеством сигналов в z 2. Если общее количество выходов P является Nout, затем первый Nout - Nz2 - Nmeas выходы P удовлетворяют ограничениям на H ∞ нормы.

Веса для H ∞ и H 2 производительности, заданные как вектор 1 на 2 вида [Winf,W2].

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'REGION',reg,'H2MAX',1,'HINFMAX',1,'DISPLAY','on'

Область размещения полюса, заданная как разделенная разделенными запятой парами, состоящая из 'REGION' и матрица вида [L,M]. Эта матрица задает область размещения полюса как:

{z:L+zM+z¯MT<0}.

Сгенерируйте матрицу используя lmireg. Область LMI по умолчанию для размещения полюса, заданная пустой матрицей [], является открытой левой-половинной плоскостью, обеспечивающей только устойчивость с обратной связью.

Верхняя граница H 2 нормы передаточной функции от w до z 2, заданная как разделенная запятой пара, состоящая из 'H2MAX' и положительная скалярная величина значение или Inf. Значение по умолчанию Inf эквивалентно установке предела в нуль, и причины h2hinfsyn свести к минимуму H 2 норму, удовлетворяющую критерию компромисса.

Пример: 'H2MAX',1

Верхняя граница H ∞ нормы передаточной функции от w до z ∞, заданная как разделенная разделенными запятой парами, состоящая из 'HINFMAX' и положительная скалярная величина значение или Inf. Значение по умолчанию Inf эквивалентно установке предела в нуль, и причины h2hinfsyn свести к минимуму H ∞ норму, удовлетворяющую критерию компромисса.

Пример: 'HINFMAX',1

Привязка к норме на сквозное соединение матрицы DK контроллера, заданная как разделенная запятой пара, состоящая из 'DKMAX' и неотрицательное скалярное значение. Чтобы сделать контроллер K строго правильно, установите 'DKMAX' в 0.

Пример: 'DKMAX',0

Необходимая относительная точность по оптимальному значению критерия компромисса, заданная как разделенная разделенными запятой парами, состоящая из 'TOL' и положительная скалярная величина значение.

Переключатель для отображения информации синтеза на экране, заданный как разделенная разделенными запятой парами, состоящая из 'DISPLAY' и любой из них 'on' или 'off'.

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

свернуть все

Оптимальный контроллер выходной обратной связи, возвращенный как пространство состояний (ss) модель с Nmeas входы и Ncon выходы.

Система с обратной связью с синтезированным контроллером, возвращенная как пространство состояний (ss) модель. Система с обратной связью CL = lft(P,K).

Нормы с обратной связью, возвращенные как вектор 1 на 2. Записи в этом векторе, соответственно, следующие:

  • Норма <reservedrangesplaceholder2>  передаточной функции с обратной связью от w до <reservedrangesplaceholder0> .

  • Норма H 2 передаточной функции с обратной связью от w до z 2.

Решения условий разрешимости LMI, возвращенные как структура, содержащая следующие поля:

  • R - R решения условия разрешимости LMI

  • S - S решения условия разрешимости LMI

Совет

  • Не выбирайте функции взвешивания с полюсами, очень близкими к s = 0 (z = 1 для систем дискретного времени). Для образца, хотя может показаться разумным выбрать W = 1/ s, чтобы применить нуль установившуюся ошибку, это вводит нестабильный полюс, который не может быть стабилизирован, вызывая неудачу синтеза. Вместо этого выберите W = 1/( s + δ). Значение δ должно быть маленьким, но не очень маленьким по сравнению с динамикой системы. Например, для наилучших числовых результатов, если ваша целевая частота среза составляет около 1 рад/с, выберите δ = 0,0001 или 0,001. Точно так же, за дискретное время, выберите шаги расчета, такие что система и динамика взвешивания не более чем на десять или две десятилетия ниже частоты Найквиста.

Ссылки

[1] Chilali, M. and P. Gahinet, «H∞ проект с ограничениями размещения полюсов: подход LMI», IEEE Trans. Aut. Contr., 41 (1995), pp. 358-367.

[2] Scherer, C., «Mixed H2/H-infinity Control», Trends in Control: A European Perspective, Springer-Verlag (1995), pp.173-216.

См. также

|

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