Проект "линейного квадратичного гауссова" (LQG)
reg = lqg(sys,QXU,QWV)
reg = lqg(sys,QXU,QWV,QI)
reg = lqg(sys,QXU,QWV,QI,'1dof')
reg = lqg(sys,QXU,QWV,QI,'2dof')
reg = lqg(___,'current')
[reg,info] = lqg(___)
reg = lqg(sys,QXU,QWV) вычисляет оптимальный регулятор "линейного квадратичного гауссова" (LQG) reg, учитывая модель в пространстве состояний sys объекта и матриц взвешивания QXU и QWV. Динамический регулятор reg использует измерения y, чтобы сгенерировать управляющий сигнал u, который регулирует y вокруг нулевого значения. Используйте позитивные отклики, чтобы соединить этот регулятор с объектом вывод y.

Регулятор LQG минимизирует функцию стоимости
подвергните уравнениям объекта
где шум процесса w и шум измерения v является Гауссовыми белыми шумами с ковариацией:
reg = lqg(sys,QXU,QWV,QI) использует команду заданного значения r и измерения y, чтобы сгенерировать управляющий сигнал u. reg имеет интегральное действие, чтобы гарантировать, что y отслеживает команду r.

Контроллер сервомотора LQG минимизирует функцию стоимости
где xi является интегралом ошибки отслеживания r - y. Для систем MIMO r, y и xi должны иметь ту же длину.
reg = lqg(sys,QXU,QWV,QI,'1dof') вычисляет один контроллер сервомотора степени свободы, который берет e = r - y, а не [r; y], как введено.
reg = lqg(sys,QXU,QWV,QI,'2dof') эквивалентно LQG(sys,QXU,QWV,QI) и производит два контроллера сервомотора степени свободы, показанные ранее.
reg = lqg(___,'current') использует "текущую" Оценку состояния фильтра Калмана, которая использует x [n |n] как оценка состояния при вычислении регулятора LQG для системы дискретного времени.
[reg,info] = lqg(___) возвращает контроллер и матрицы усиления средства оценки в структуре info для любого из предыдущих синтаксисов. Можно использовать контроллер и усиления средства оценки к, например, реализовать контроллер в форме наблюдателя. Для получения дополнительной информации см. Алгоритмы.
Регулятор "линейного квадратичного гауссова" (LQG) и проектирование контроллера сервомотора
Этот пример показывает, как разработать регулятор "линейного квадратичного гауссова" (LQG), одна степень свободы контроллер сервомотора LQG и две степени свободы контроллер сервомотора LQG для следующей системы.

Объект имеет три состояния (x), два входных параметров управления (u), три случайных входных параметров (w), один вывод (y), шум измерения для вывода (v), и следующее состояние и уравнения измерения.
где
Система имеет следующие шумовые данные о ковариации:
Для регулятора используйте следующую функцию стоимости, чтобы задать компромисс между производительностью регулирования и усилием по управлению:
Для контроллеров сервомотора используйте следующую функцию стоимости, чтобы задать компромисс между производительностью средства отслеживания и усилием по управлению:
Разработать контроллеры LQG для этой системы:
Создайте систему пространства состояний путем ввода следующего в Окне Команды MATLAB:
A = [0 1 0;0 0 1;1 0 0]; B = [0.3 1;0 1;-0.3 0.9]; C = [1.9 1.3 1]; D = [0.53 -0.61]; sys = ss(A,B,C,D);
Задайте шумовые данные о ковариации и матрицы взвешивания путем ввода следующих команд:
nx = 3; %Number of states ny = 1; %Number of outputs Qn = [4 2 0; 2 1 0; 0 0 1]; Rn = 0.7; R = [1 0;0 2] QXU = blkdiag(0.1*eye(nx),R); QWV = blkdiag(Qn,Rn); QI = eye(ny);
Сформируйте регулятор LQG путем ввода следующей команды:
KLQG = lqg(sys,QXU,QWV)
A =
x1_e x2_e x3_e
x1_e -6.212 -3.814 -4.136
x2_e -4.038 -3.196 -1.791
x3_e -1.418 -1.973 -1.766
B =
y1
x1_e 2.365
x2_e 1.432
x3_e 0.7684
C =
x1_e x2_e x3_e
u1 -0.02904 0.0008272 0.0303
u2 -0.7147 -0.7115 -0.7132
D =
y1
u1 0
u2 0
Input groups:
Name Channels
Measurement 1
Output groups:
Name Channels
Controls 1,2
Continuous-time model.Сформируйте одну степень свободы контроллер сервомотора LQG путем ввода следующей команды:
KLQG1 = lqg(sys,QXU,QWV,QI,'1dof')A =
x1_e x2_e x3_e xi1
x1_e -7.626 -5.068 -4.891 0.9018
x2_e -5.108 -4.146 -2.362 0.6762
x3_e -2.121 -2.604 -2.141 0.4088
xi1 0 0 0 0
B =
e1
x1_e -2.365
x2_e -1.432
x3_e -0.7684
xi1 1
C =
x1_e x2_e x3_e xi1
u1 -0.5388 -0.4173 -0.2481 0.5578
u2 -1.492 -1.388 -1.131 0.5869
D =
e1
u1 0
u2 0
Input groups:
Name Channels
Error 1
Output groups:
Name Channels
Controls 1,2
Continuous-time model.Сформируйте две степени свободы контроллер сервомотора LQG путем ввода следующей команды:
KLQG2 = lqg(sys,QXU,QWV,QI,'2dof')A =
x1_e x2_e x3_e xi1
x1_e -7.626 -5.068 -4.891 0.9018
x2_e -5.108 -4.146 -2.362 0.6762
x3_e -2.121 -2.604 -2.141 0.4088
xi1 0 0 0 0
B =
r1 y1
x1_e 0 2.365
x2_e 0 1.432
x3_e 0 0.7684
xi1 1 -1
C =
x1_e x2_e x3_e xi1
u1 -0.5388 -0.4173 -0.2481 0.5578
u2 -1.492 -1.388 -1.131 0.5869
D =
r1 y1
u1 0 0
u2 0 0
Input groups:
Name Channels
Setpoint 1
Measurement 2
Output groups:
Name Channels
Controls 1,2
Continuous-time model.lqg может использоваться и для непрерывного - и для объекты дискретного времени. В дискретное время lqg использует x [n |n-1] как его оценка состояния по умолчанию. Чтобы использовать x [n |n] как оценка состояния и вычислить оптимальный контроллер LQG, используйте входной параметр 'current'. Для получения дополнительной информации на средствах оценки состояния, смотрите kalman.
Чтобы вычислить регулятор LQG, lqg использует команды lqr и kalman. Чтобы вычислить контроллер сервомотора, lqg использует команды lqi и kalman.
Когда это необходимо больше гибкости для разработки регуляторов, можно использовать lqr, kalman и команды lqgreg. Когда это необходимо больше гибкости для разработки контроллеров сервомотора, можно использовать lqi, kalman и команды lqgtrack. Для получения дополнительной информации об использовании этих команд и как решить, когда использовать их, см. Проект "линейного квадратичного гауссова" (LQG) для Регулирования и Проект "линейного квадратичного гауссова" (LQG) Контроллера Сервомотора с Интегральным Действием.
Уравнения контроллера:
В течение непрерывного времени:
В течение дискретного времени:
Задержанное средство оценки:
Текущее средство оценки:
Здесь,
A, B, C и D являются матрицами пространства состояний регулятора LQG, reg.
xi является интегралом ошибки отслеживания r - y.
Kx, Kw, Ki, L, Mx и Mw являются контроллером и матрицами усиления средства оценки, возвращенными в info.