- •Глава 4 Анализ и синтез систем управления в среде matlab
- •1. Исследование управляемости и наблюдаемости линейной системы.
- •2. Синтез стабилизирующего управления (регулятора) на основе задания желаемых собственных значений (полюсов) замкнутой системы.
- •3. Синтез регулятора и наблюдателя на основе задания желаемых собственных значений замкнутой системы.
- •4. Оптимальная стабилизация линейных стационарных систем (lti-систем)
1. Исследование управляемости и наблюдаемости линейной системы.
С целью
исследования свойств управляемости
рассмотрим две функции. Функция ctrb
формирует матрицу управляемости Со=
для системы, заданной в пространстве
состояний четверкой матриц {A,
B, C, D}.
Из теории управления известно, что
система полностью управляема, если ранг
матрицы Со равен
.
Вызов функции осуществляется командой
Со=ctrb(А,В),
либо Со=ctrb(sys),
где sys
объект ss-подкласса, эта
команда эквивалентна команде Со=ctrb(sys.А,
sys.В).
>>a=[1 2; 0 2]
a =
1 2
0 2
>>b=[2 0; 0 1]
b =
2 0
0 1
>>Co=ctrb(a,b)
Co =
2 0 2 2
0 1 0 2
>>rank(Co)
ans =
2
В данном примере ранг матрицы управляемости равен двум, что позволяет сделать вывод в соответствии с критерием Калмана о полной управляемости системы.
Функция
ctrbf
формирует каноническую форму управляемости.
Если матрица управляемости Со имеет
ранг меньший, чем размерность вектора
состояния модели, например равный
,
то существует преобразование
,
такое, что система в новых переменных
представляется матрицами
,
и
,
где
− унитарная матрица. Указанные матрицы
имеют блочную структуру:
,
,
.
Здесь размерности матриц таковы:
,
,
,
,
,
.
Матрица
содержит все
неуправляемых собственных чисел системы,
а пара матриц
полностью управляема.
Входными
аргументами функции ctrbf
являются исходные матрицы LTI-объекта
,
и
,
а выходными − матрицы
,
и
,
а также матрица преобразования
и вектор k, элементы
которого указывают количество управляемых
собственных чисел, выделенных на каждом
шаге построения матрицы
.
Соответственно, суммой элементов вектора
k является число
.
>>A=[-1 0 0; 0 -2 1; -1 0 2];
B=[0; 0; -1];C=[0 0 1];
>> [Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)
Abar =
-1 0 0
0 -2 -1
1 0 2
Bbar =
0
0
-1
Cbar =
0 0 1
T =
-1 0 0
0 -1 0
0 0 1
k =
1 1 0
Здесь
,
,
,
.
Таким
образом, собственное число
матрицы
является неуправляемым, собственные
числа
и
− управляемыми, и, поскольку вещественная
часть неуправляемого числа отрицательна,
исходная система управления (пара матриц
)
стабилизируема.
Для
исследования свойств наблюдаемости
заданной LTI-модели будем
применять также две функции. Функция
obsv
формирует матрицу наблюдаемости Ob=
для LTI-объекта. Если эта
матрица имеет полный ранг, то система
полностью наблюдаема (теорема 1.5.3).
Вызов функции можно осуществить запуском
команды Ob=obsv(А,C),
либо Ob=obsv(sys),
где sys
объект ss-подкласса,
эта команда эквивалентна команде
Ob=ctrb(sys.А,
sys.C).
Функция
obsvf
формирует каноническую форму наблюдаемости
для заданной линейной системы подобно
тому, как функция ctrbf
формирует каноническую форму управляемости.
Если матрица наблюдаемости Ob
имеет ранг меньший, чем размерность
вектора состояния модели, например
равен
,
то существует преобразование
,
такое, что система в новых переменных
представляется матрицами
,
и
,
где
унитарная матрица. Указанные матрицы
имеют блочную структуру:
,
,
.
Здесь размерности матриц таковы:
,
,
,
,
,
.
Матрица
содержит все
ненаблюдаемых собственных чисел системы
(неуправляемых собственных чисел
двойственной системы), а пара матриц
полностью наблюдаема.
Входными
аргументами функции obsvf
являются исходные матрицы LTI-объекта
,
и
,
а выходными матрицы
,
и
,
а также матрица преобразования
и вектор k, элементы
которого указывают количество наблюдаемых
собственных чисел, выделенных на каждом
шаге построения матрицы
.
Соответственно, суммой элементов вектора
k является число
.
>> [A2,B2,C2,To,ko] = obsvf(A,B,C);
>> S2=obsv(A,C);
>> rank(S2)
ans =
2
Таким образом, матрица
имеет одно ненаблюдаемое собственное
число
>> A2(1,1)
ans =
-2
Наблюдаемая часть системы:
>> Ao=A2(2:3,2:3);Bo=B2(2:3,:);
