Что я пытаюсь сделать
- Я пытаюсь создать контроллер LQG для управления данной системой, комбинируя линейно-квадратический регулятор (LQR) и фильтр Калмана.
Где я застрял
Я нашел оба по отдельности, но не знаю, как их объединить в MATLAB. Это система и решение LQR:
Я могу создать как фильтр Калмана, так и LQR отдельно, но я не могу понять, как объединить LQR, чтобы использовать оценку состояния фильтра Калмана в качестве входных данных.
Akal = Afull;
Bkal = [B1, B2];
Ckal = Cfull;
Dkal = [0 0];
sys_kal = ss(Akal,Bkal,Ckal,Dkal);
[KEST,L,P] = kalman(sys_kal,E_d, E_n, 0)
[K,S,e] = lqr(Afull,B1,Q,r);
Когда я использую функцию Калмана, вот что мне дает size(KEST)
:
State-space model with 11 outputs, 2 inputs, and 10 states.
Я хочу, чтобы мой U
использовал оценку, данную новой системой SS KEST
. KEST
предоставляет оценку выходных данных (y
, размерность 1) и оценку для всех 10 состояний (X
, размерность 10). Я могу написать/начертить путь управления с обратной связью, который я хочу создать с помощью функций LQR и Kalman, но я застрял на этом этапе, потому что не знаю, как реализовать его с помощью MATLAB. Я также не уверен в синтаксисе.
Я искал примеры MATLAB, но не нашел ни одного, который показал бы мне, как объединить то, что я нашел. Я знаю, что KEST
— это модель пространства состояний, но я не знаю, как ее использовать или выбрать один выход.
С чем я надеюсь получить помощь
Если я использую
bode(KEST)
, это дает мне график BODE для всех 11 выходов. Я не уверен, как выбрать только один выходKEST
.Я хотел бы иметь
U = -K*X_est
, но сейчас я знаю только значениеK
. Я не знаю, как получитьX_est
из моей системы пространства состоянийKEST
.