Получите усиления Калмана и модель для проекта оценщика
[
также возвращает системные матрицы, используемые для вычисления коэффициентов усиления оценщика.L
,M
,A,Cm,Bu,Bv,Dvm
]
= getEstimator(MPCobj
)
Объект является стабильной, дискретной моделью пространства состояний LTI с четырьмя состояниями, тремя входами и тремя выходами. Манипулируемые переменные являются входами 1 и 2. Вход 3 является неизмеренным нарушением порядка. Выходы 1 и 3 измеряются. Вывод 2 не измерен.
Создайте модель объекта управления и задайте сигналы для MPC.
rng(1253) % For repeatable results Plant = drss(4,3,3); Plant.Ts = 0.25; Plant = setmpcsignals(Plant,'MV',[1,2],'UD',3,'MO',[1 3],'UO', 2); Plant.d(:,[1,2]) = 0;
Последняя команда заставляет объект удовлетворить предположение об отсутствии прямого сквозного соединения.
Вычислите прогнозирующий контроллер модели по умолчанию для этого объекта.
MPCobj = mpc(Plant);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10. -->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2. -->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000. -->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000. -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000. for output(s) y1 y3 and zero weight for output(s) y2
Получите параметры, которые будут использоваться при оценке состояния.
[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj);
-->The "Model.Disturbance" property of "mpc" object is empty: Assuming unmeasured input disturbance #3 is integrated white noise. -->Assuming output disturbance added to measured output channel #1 is integrated white noise. Assuming no disturbance added to measured output channel #3. -->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
На основе уравнения состояния оценщика полюсы оценщика задаются собственными значениями A - L*Cm
. Вычислите и отобразите полюса.
Poles = eig(A - L*Cm)
Poles = 6×1
-0.7467
-0.5019
0.0769
0.4850
0.8825
0.8291
Подтвердите, что оценка по умолчанию асимптотически стабильна.
max(abs(Poles))
ans = 0.8825
Это значение меньше 1, поэтому оценщик асимптотически стабилен.
Проверьте, что в этом случае L = A*M
.
L - A*M
ans = 6×2
10-15 ×
0.3608 0.1665
0.1527 -0.0555
-0.1388 -0.0139
-0.1110 -0.0486
-0.2151 0
-0.0971 -0.0555
MPCobj
- контроллер MPCMPC- контроллера, заданный как объект контроллера MPC. Используйте mpc
Команда для создания контроллера MPC.
L
- матрица усиления Калмана для обновления времениМатрица усиления Калмана для обновления времени, возвращенная как матрица. Размерности L
nx -by - nym, где nx - общее количество состояний контроллера, и nym - количество измеренных выходов.
M
- матрица усиления Калмана для обновления измеренияМатрица усиления Калмана для обновления измерения, возвращенная как матрица. Размерности L
nx -by - nym, где nx - общее количество состояний контроллера, и nym - количество измеренных выходов.
A,Cm,Bu,Bv,Dvm
- Системные матрицыСистемные матрицы, используемые для вычисления коэффициентов усиления оценщика, возвращаются как матрицы различных размерностей. Для определений этих системных матриц смотрите Уравнения оценки состояния.
model
- Система, используемая для оценки состояния проектаСистема, используемая для проекта оценщика состояния, возвращенная как пространство состояний (ss
) модель. Вход в model
- сигнал вектора, содержащий следующие компоненты, объединенные в следующем порядке:
Манипулированные переменные
Измеренные переменные нарушения порядка
1
Входы шума для моделей возмущения
Входы шума для модели шума измерения
Количество входных входов шума зависит от моделей нарушения порядка и измерения шума в MPCobj
. Для шума категории, входов для моделей возмущения, входов к модели возмущения входа (если она есть) предшествуют тем, кто входит в модель возмущения результата (если она есть). Постоянный вход 1 учитывает неравновесные номинальные значения (см. Моделирование MPC).
Чтобы выполнить расчет коэффициентов усиления L
и M
более устойчивые, аддитивные входы белого шума приняты, чтобы повлиять на манипулируемые переменные и измеренные нарушения порядка (см. Оценка состояния контроллера). Эти входные входы белого шума не включены в model
.
index
- Местоположения переменных в моделиМестоположения переменных во входах и выходах model
. Структура суммирует эти местоположения со следующими полями и значениями.
Имя поля | Значение |
---|---|
ManipulatedVariables | Индексы манипулируемых переменных в вход векторе model . |
MeasuredDisturbances | Индексы измеренных входов нарушений порядка в вход векторе model . |
Offset | Индекс константы входа 1 в векторе входа model . |
WhiteNoise | Индексы немеренных нарушений порядка входов в вход векторе model . |
MeasuredOutputs | Индексы измеренных выходов в выходном векторе model . |
UmeasuredOutputs | Индексы немеренных выходов в выходном векторе model . |
В целом состояния контроллера не измерены и должны быть оценены. По умолчанию контроллер использует установившийся фильтр Калмана, который выводится из наблюдателя состояния. Для получения дополнительной информации см. «Оценка состояния контроллера».
В начале k-го интервала управления состояние контроллера оценивается следующими шагами:
Получите следующие данные:
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 - матрицы усиления Константа Калмана
Входной и выходной сигналы объекта масштабируются, чтобы быть безразмерными перед использованием в вычислениях.
Пересмотрите xc (k | k -1), когда uact(k -1) и uopt(k -1) отличаются.
Вычислите нововведение.
Обновите оценку состояния контроллера, чтобы принять во внимание последние измерения.
Затем программное обеспечение использует xc оценки текущего состояния (k | k), чтобы решить квадратичную программу с интервалом k. Решение является uopt(k), рекомендуемое MPC значение переменной с манипуляциями, которое будет использоваться между контрольными интервалами k и k + 1.
Наконец, программное обеспечение готовится к следующему интервалу управления, принимая, что неизвестные входы wid (k), wod (k) и wn (k) принимают их среднее значение (ноль) между временами k и k + 1. Программное обеспечение предсказывает влияние известных входов и инноваций следующим образом:
getindist
| getoutdist
| mpc
| mpcstate
| setEstimator
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.