Оценка состояния контроллера

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

Когда контроллер работает, он использует свое текущее состояние, xc, как базис для предсказаний. По определению вектор состояния является следующим:

xcT(k)=[xpT(k)xidT(k)xodT(k)xnT(k)].

Вот,

  • xc - состояние контроллера, включая nxp + nxid + nxod + nxn параметры состояния.

  • xp - вектор состояния модели объекта управления, длиной nxp.

  • xid - вектор состояния входной модели возмущения длины nxid.

  • xod - вектор состояния выходной модели возмущения длины nxod.

  • xn - вектор состояния модели шума измерения, длины nxn.

Таким образом, переменные, содержащие xc, представляют модели, появляющиеся в следующей схеме системы MPC.

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

По умолчанию контроллер автоматически обновляет свое состояние с помощью последних измерений объекта. Для получения дополнительной информации см. раздел Оценка состояния. Кроме того, пользовательская функция оценки состояния позволяет вам обновить состояние контроллера с помощью внешней процедуры, а затем передать эти значения контроллеру. Для получения дополнительной информации см. раздел «Оценка пользовательского состояния».

Государственный наблюдатель

Комбинация моделей, показанных на схеме, приводит к наблюдателю состояния:

xc(k+1)=Axc(k)+Buo(k)y(k)=Cxc(k)+Duo(k).

Контроллер MPC использует наблюдатель состояния следующими способами:

  • Для оценки значений неизмеренных состояний, необходимых в качестве базиса для предсказаний (см. Оценку состояния).

  • Чтобы предсказать, как предложенные контроллером регулируемые переменные (MV) корректировки повлияют на будущие выходные значения объекта (см. «Предсказание выходных переменных»).

Входные сигналы наблюдателя являются безразмерным объектом, управляемым и измеренным нарушениями порядка, и белыми шумовыми входами в модели нарушения порядка и шума:

uoT(k)=[uT(k)vT(k)widT(k)wodT(k)wnT(k)].

Выходные параметры наблюдателя являются ny безразмерными выходами объекта.

В терминах параметров, определяющих четыре модели, показанные на схеме, параметры наблюдателя:

A=[ApBpdCid000Aid0000Aod0000An],B=[BpuBpvBpdDid0000Bid00000Bod00000Bn]C=[CpDpdCidCod[Cn0]],D=[0DpvDpdDidDod[Dn0]].,

Здесь модели возмущения объекта управления и выхода переравниваются так, что измеренные выходы предшествуют неизмеренным выходам.

Оценка состояния

В целом состояния контроллера не измерены и должны быть оценены. По умолчанию контроллер использует установившийся фильтр Калмана, который выводится из наблюдателя состояния.

В начале k-го интервала управления состояние контроллера оценивается следующими шагами:

  1. Получите следующие данные:

    • xc (k | k -1) - оценка состояния контроллера из предыдущих контрольных интервалов, k -1

    • uact(k -1) - Манипулируемая переменная (MV), фактически используемая на объекте с k-1 по k (принятая константа)

    • uopt(k -1) - Оптимальное СН, рекомендованное MPC и принятое к использованию на объекте от k -1 до k

    • v (k) - Токовые измеренные нарушения порядка

    • ym (k) - Токовые выходы измеряемого объекта

    • Bu, Bv - Столбцы B параметра наблюдателя, соответствующих u (k) и v (k) входам

    • Cm - Строки параметра наблюдателя C, соответствующего измеренным выходам объекта

    • Dmv - Строки и столбцы D параметра наблюдателя, соответствующих измеренным выходам объекта и измеренным входам нарушения порядка

    • L, M - матрицы усиления Константа Калмана

    Входной и выходной сигналы объекта масштабируются, чтобы быть безразмерными перед использованием в вычислениях.

  2. Пересмотрите xc (k | k -1), когда uact(k -1) и uopt(k -1) отличаются.

    xcrev(k|k1)=xc(k|k1)+Bu[uact(k1)uopt(k1)]

  3. Вычислите нововведение.

    e(k)=ym(k)[Cmxcrev(k|k1)+Dmvv(k)]

  4. Обновите оценку состояния контроллера, чтобы принять во внимание последние измерения.

    xc(k|k)=xcrev(k|k1)+Me(k)

    Затем программное обеспечение использует xc оценки текущего состояния (k | k), чтобы решить квадратичную программу с интервалом k. Решение является uopt(k), рекомендуемое MPC значение переменной с манипуляциями, которое будет использоваться между контрольными интервалами k и k + 1.

    Наконец, программное обеспечение готовится к следующему интервалу управления, принимая, что неизвестные входы wid (k), wod (k) и wn (k) принимают их среднее значение (ноль) между временами k и k + 1. Программное обеспечение предсказывает влияние известных входов и инноваций следующим образом:

    xc(k+1|k)=Axcrev(k|k1)+Buuopt(k)+Bvv(k)+Le(k)

Встроенный статический расчет коэффициента усиления Калмана

Программное обеспечение Model Predictive Control Toolbox™ использует kalman команда для вычисления коэффициентов усиления Оценки состояния фильтра Калмана L и M. Применяются следующие допущения:

  • Параметры наблюдателя состояния A, B, C, D являются инвариантными по времени.

  • Состояния контроллера, xc, обнаруживаются. (Если нет, или если наблюдатель численно близок к неопределяемости, вычисление усиления Калмана прекращает работать, генерируя сообщение об ошибке.)

  • Стохастические входы wid (k), wod (k) и wn (k) являются независимыми белыми шумами, каждый с нулем среднего и единичной ковариации.

  • Дополнительные wu белого шума (k) и wv (k) с одинаковыми характеристиками складываются в безразмерные u (k) и v (k) входы соответственно. Это улучшает эффективность оценщика в некоторых случаях, например, когда модель объекта управления установки является нестабильной в разомкнутом контуре.

Без потери общности установите u (k) и v (k) входы в нуль. Эффект стохастических входов на состояниях контроллера и измеренных выходах объекта:

xc(k+1)=Axc(k)+Bw(k)ym(k)=Cmxc(k)+Dmw(k).

Вот,

wT(k)=[wuT(k)wvT(k)widT(k)wodT(k)wnT(k)].

Входы в kalman команда являются параметрами A, Cm и следующими ковариационными матрицами:

Q=E{BwwTBT}=BBTR=E{DmwwTDmT}=DmDmTN= E{BwwTDmT}=BDmT.

Здесь E {...} обозначает ожидание.

Выход переменных Предсказаний

Model Predictive Control требует предсказания выходов будущего объекта без шума, используемых в оптимизации. Это ключевое применение наблюдателя от государства (см. «Наблюдатель от государства»).

В k контрольного интервала требуемые данные следующие:

  • p - Горизонт предсказания (количество контрольных интервалов, которое больше или равно 1)

  • xc (k | k) - оценки состояния контроллера (см. Оценка состояния)

  • v (k) - Токовые измеренные входы нарушения порядка (MD )

  • v (k + i | k) - Проектируемые будущие MD, где i = 1: p -1. Если вы не используете предварительный просмотр MD, то v (k + i | k) = v (k).

  • A, Bu, Bv, C, Dv - Государственные константы наблюдателя, где Bu, Bv, и Dv обозначают столбцы B и D матрицы, соответствующие входам u и v. Du является нулевой матрицей из-за отсутствия прямого сквозного соединения

Предсказания предполагают, что неизвестные входы белого шума равны нулю (их ожидание). Кроме того, предсказанные выходы объекта должны быть свободными от шума. Таким образом, все члены, включающие состояния шума измерения, исчезают из уравнений наблюдателя состояния. Это эквивалентно обнулению последних nxn элементов xc (k | k).

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

xc(k+1|k)=Axc(k|k)+Buu(k|k)+Bvv(k).

Продолжая для последующих шагов, i = 2: p, наблюдатель состояния предсказывает:

xc(k+i|k)=Axc(k+i1|k)+Buu(k+i1|k)+Bvv(k+i1|k).

На любом шаге i = 1: p предсказанные выходы объекта без шума:

y(k+i|k)=Cxc(k+i|k)+Dvv(k+i|k).

Все эти уравнения используют безразмерные входные и выходные переменные объекта. См. «Задание масштабных коэффициентов». Уравнения также принимают смещения нуля. Включение ненулевых смещений просто.

Для более быстрых расчетов контроллер MPC использует альтернативную форму вышеописанных уравнений, в которой вычисляются и сохраняются постоянные члены во время инициализации контроллера. См. матрицы QP.

См. также

Похожие темы