Линейно-квадратичный-Гауссов (LQG) проект

Контроль за «линейным квадратным гауссовским» (LQG) - современный метод пространства состояний для проектирования оптимальных динамических регуляторов и контроллеров сервомотора с составным действием (также известный как шпионы заданного значения). Этот метод позволяет вам компромиссировать эффективность регулятора/трекера и усилия по управлению, и учитывать нарушения порядка процесса и шум измерения.

Чтобы проектировать регуляторы LQG и трекеры уставок, вы выполняете следующие шаги:

  1. Создайте LQ-оптимальный коэффициент усиления.

  2. Создайте фильтр Калмана (оценка состояния).

  3. Сформируйте проект LQG путем подключения LQ-оптимального усиления и фильтра Калмана.

Для получения дополнительной информации об использовании проекта LQG для создания регуляторов LQG, смотрите проект Linear-Quadratic-Gaussian (LQG) для регулирования.

Для получения дополнительной информации об использовании проекта LQG для создания сервоприводов LQG, смотрите Linear-Quadratic-Gaussian (LQG) Design of Servo Controller with Integral Action.

Эти темы посвящены делу непрерывного времени. Для получения информации о конструкции LQG в дискретном времени смотрите dlqr и kalman страницы с описанием.

Линейно-квадратичная-Гауссовая (LQG) проект для регулирования

Можно спроектировать регулятор LQG, чтобы регулировать выходную y около нуля в следующей модели.

Объект в этой модели испытывает нарушения порядка (шум процесса) w и управляется u управления. Регулятор полагается на шумные измерения, y для генерации этих органов управления. Состояние объекта и уравнения измерения принимают форму

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

и оба w и v моделируются как белый шум.

Примечание

Проект LQG требует пространственной модели объекта. Вы можете использовать ss для преобразования других форматов модели в пространство состояний.

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

Чтобы спроектировать регулятор LQG, используя...Используйте следующие команды:

Быстрый, одношаговый метод проекта, когда следующее верно:

  • Вам нужен оптимальный LQG контроллера и либо E (w v '), либо H ненулевое.

  • Все известные (детерминированные) входы являются управляющими входами, и все выходы измеряются.

  • Состояния интегратора взвешиваются независимо от состояний объектов и управляющих входов.

lqg

Более гибкий, трехэтапный метод проектирования, позволяющий задавать:

  • Произвольные G и H.

  • Известные (детерминированные) входы, которые не являются управлениями и/или выходами, которые не измеряются.

  • Гибкая схема взвешивания для состояний интегратора, состояний объекта и органов управления.

lqr, kalman, и lqgreg

Для получения дополнительной информации см.

Построение оптимального усиления обратной связи о состоянии для регулирования

Вы создаете LQ-оптимальный коэффициент усиления из следующих элементов:

  • Матрицы систем в пространстве состояний

  • Матрицы взвешивания Q, R, и N, которые определяют компромисс между эффективностью регулирования (как быстро x (t) переходит к нулю) и усилием управления.

Чтобы создать оптимальный коэффициент усиления, введите следующую команду:

K= lqr(A,B,Q,R,N)

Эта команда вычисляет оптимальную матрицу усиления K, для которого закон обратной связи штата u=Kx минимизирует следующую квадратичную функцию затрат на непрерывное время:

J(u)=0{xTQx+2xTNu+uTRu}dt

Программа вычисляет K матрицы усиления путем решения алгебраического уравнения Риккати.

Для получения информации о построении LQ-оптимального усиления, включая функцию затрат, которую программное обеспечение минимизирует для дискретного времени, смотрите lqr страница с описанием.

Построение оценки состояния Калмана

Вам нужен оценщик состояния Калмана для регулирования LQG и сервоуправления, потому что вы не можете реализовать оптимальную обратную связь LQ-оптимального состояния без полного измерения состояния.

Вы создаете оценку состояния x^ таким, что u=Kx^ остается оптимальным для задачи обратной связи на выходе. Вы создаете коэффициент усиления Кальмана из следующих элементов:

  • Пространство состояний модели объекта управления sys

  • Данные о ковариации шума, Qn, Rn, и Nn

    Следующий рисунок показывает необходимые размерности для Qn, Rn, и Nn. Если Nn 0, вы можете опустить его.

    Необходимые размерности для Qn, Rn и Nn

Примечание

Вы создаете оценку состояния Калмана таким же образом и для регулирования, и для сервоуправления.

Чтобы создать оценку состояния Калмана, введите следующую команду:

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

Эта команда вычисляет оценку состояния Калмана, kest следующими уравнениями объекта:

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

где w и v моделируются как белый шум. L - коэффициент усиления и P Калмана ковариационная матрица.

Программное обеспечение генерирует эту оценку состояния с помощью фильтра Калмана

ddtx^=Ax^+Bu+L(yCx^Du)

с входами u (управляет) и y (измерения). Данные о ковариации шума

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

определяет L усиления Калмана посредством алгебраического уравнения Риккати.

Фильтр Калмана является оптимальным оценщиком при работе с Гауссовым белым шумом. В частности, это минимизирует асимптотическую ковариацию
    limtE((xx^)(xx^)T)

от ошибки расчета xx^.

Для получения дополнительной информации смотрите kalman страница с описанием. Полный пример реализации фильтра Калмана см. в разделе Фильтрация Калмана.

Формирование регулятора LQG

Для формирования регулятора LQG подключите фильтр Калмана kest и LQ-оптимальный коэффициент усиления K путем ввода следующей команды:

regulator = lqgreg(kest, K);
Эта команда формирует регулятор LQG, показанный на следующем рисунке.

Регулятор имеет следующие уравнения пространства состояний:

ddtx^=[ALC(BLD)K]x^+Lyu=Kx^

Для получения дополнительной информации о формировании регуляторов LQG смотрите lqgreg и Правила LQG: Пример прокатного стана.

Линейно-квадратично-гауссовая (LQG) конструкция сервопривода с интегральным Контроллером

Вы можете проектировать контроллер сервомотора с составным действием для следующей модели:

Проектируемый сервоконтроллер гарантирует, что выходной y отслеживает опорную командную r при отклонении технологических возмущений w и шумовых v измерения.

Объект на предыдущем рисунке подвержен нарушениям порядка w и управляется u управления. Контроллер сервопривода полагается на шумные измерения, y, чтобы сгенерировать эти элементы управления. Состояние объекта и уравнения измерения имеют вид

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

и оба w и v моделируются как белый шум.

Примечание

Проект LQG требует пространственной модели объекта. Вы можете использовать ss для преобразования других форматов модели в пространство состояний.

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

Чтобы спроектировать сервопривод LQG контроллера используя...Используйте следующие команды:

Быстрый, одношаговый метод проекта, когда следующее верно:

  • Вам нужен оптимальный LQG контроллера и либо E (w v '), либо H ненулевое.

  • Все известные (детерминированные) входы являются управляющими входами, и все выходы измеряются.

  • Состояния интегратора взвешиваются независимо от состояний объектов и управляющих входов.

lqg

Более гибкий, трехэтапный метод проектирования, позволяющий задавать:

  • Произвольные G и H.

  • Известные (детерминированные) входы, которые не являются управлениями и/или выходами, которые не измеряются.

  • Гибкая схема взвешивания для состояний интегратора, состояний объекта и органов управления.

lqi, kalman, и lqgtrack

Для получения дополнительной информации см.

Построение оптимального усиления обратной связи состояния для сервоуправления

Вы создаете LQ-оптимальный коэффициент усиления из

  • Пространство состояний модели объекта управления sys

  • Матрицы взвешивания Q, R, и N, которые определяют компромисс между эффективностью трекера и усилиями по управлению

Чтобы создать оптимальный коэффициент усиления, введите следующую команду:

K= lqi(sys,Q,R,N)

Эта команда вычисляет оптимальную матрицу усиления K, для которого закон обратной связи штата u=Kz=K[x;xi] минимизирует следующую квадратичную функцию затрат на непрерывное время:

J(u)=0{zTQz+uTRu+2zTNu}dt

Программа вычисляет K матрицы усиления путем решения алгебраического уравнения Риккати.

Для получения информации о построении LQ-оптимального усиления, включая функцию затрат, которую программное обеспечение минимизирует для дискретного времени, смотрите lqi страница с описанием.

Построение оценки состояния Калмана

Вам нужен оценщик состояния Калмана для регулирования LQG и сервоуправления, потому что вы не можете реализовать обратную связь LQ-оптимального состояния без полного измерения состояния.

Вы создаете оценку состояния x^ таким, что u=Kx^ остается оптимальным для задачи обратной связи на выходе. Вы создаете коэффициент усиления Кальмана из следующих элементов:

  • Пространство состояний модели объекта управления sys

  • Данные о ковариации шума, Qn, Rn, и Nn

    Следующий рисунок показывает необходимые размерности для Qn, Rn, и Nn. Если Nn 0, вы можете опустить его.

    Необходимые размерности для Qn, Rn и Nn

Примечание

Вы создаете оценку состояния Калмана таким же образом и для регулирования, и для сервоуправления.

Чтобы создать оценку состояния Калмана, введите следующую команду:

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

Эта команда вычисляет оценку состояния Калмана, kest следующими уравнениями объекта:

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

где w и v моделируются как белый шум. L - коэффициент усиления и P Калмана ковариационная матрица.

Программное обеспечение генерирует эту оценку состояния с помощью фильтра Калмана

ddtx^=Ax^+Bu+L(yCx^Du)

с входами u (управляет) и y (измерения). Данные о ковариации шума

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

определяет L усиления Калмана посредством алгебраического уравнения Риккати.

Фильтр Калмана является оптимальным оценщиком при работе с Гауссовым белым шумом. В частности, это минимизирует асимптотическую ковариацию
    limtE((xx^)(xx^)T)

от ошибки расчета xx^.

Для получения дополнительной информации смотрите kalman страница с описанием. Полный пример реализации фильтра Калмана см. в разделе Фильтрация Калмана.

Формирование сервоуправления LQG

Для формирования сервопривода LQG с двумя степенями свободы подключите фильтр Калмана kest и LQ-оптимальный коэффициент усиления K путем ввода следующей команды:

servocontroller = lqgtrack(kest, K);
Эта команда формирует сервопривод LQG контроллера показанный на следующем рисунке.

Сервопривод контроллера имеет следующие уравнения пространства состояний:

[x^˙x˙i]=[ABKxLC+LDKxBKi+LDKi00][x^xi]+[0LII][ry]u=[KxKi][x^xi]

Для получения дополнительной информации о формировании сервоприводов LQG, в том числе о том, как сформировать сервопривод LQG с одной степенью свободы, смотрите lqgtrack страница с описанием.

См. также

| | | | |

Похожие темы