Получение прибылей и моделей Калмана для проектирования оценщика
[ также возвращает системные матрицы, используемые для вычисления коэффициентов усиления оценщика.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 - Контроллер ПДККонтроллер MPC, указанный как объект контроллера MPC. Используйте mpc для создания контроллера MPC.
L - матрица усиления Kalman для обновления времениМатрица усиления Калмана для обновления времени, возвращенная как матрица. Размеры L nx-by-nym, где nx - общее число состояний контроллера, а nym - количество измеренных выходов.
M - матрица усиления Калмана для обновления измеренийМатрица усиления Калмана для обновления измерения, возвращенная как матрица. Размеры L nx-by-nym, где nx - общее число состояний контроллера, а nym - количество измеренных выходов.
A,Cm,Bu,Bv,Dvm - Системные матрицыСистемные матрицы, используемые для вычисления коэффициентов усиления оценщика, возвращаемые как матрицы различных измерений. Определения этих системных матриц см. в разделе Уравнения оценщика состояния.
model - Система, используемая для проектирования государственного оценщикаСистема, используемая для проектирования state-estimator, возвращаемая как state-space (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) - оптимальный СН, рекомендованный ПДК и предполагаемый для использования на установке от k-1 до k
v (k) - Измеренные по току возмущения
ym (k) - Текущие измеренные выходы установки
Bu, Bv - столбцы параметра наблюдателя B, соответствующие входам u (k) и v (k)
См - Ряды параметра наблюдателя С, соответствующие измеренным выходам установки
Dmv - Строки и столбцы параметра наблюдателя D, соответствующие измеренным выходам установки и входам измеренных возмущений
L, M - матрицы усиления константы Калмана
Входные и выходные сигналы установки перед использованием в расчетах масштабируются таким образом, чтобы они были безразмерными.
Пересмотрите xc (k 'k-1), когда uact (k-1) и uopt (k-1) различны.
− 1) − uopt (k − 1)]
Вычислите инновации.
) + Dmvv (k)]
Обновление оценки состояния контроллера для учета последних измерений.
1) + Me (k)
Затем программное обеспечение использует текущую оценку состояния xc (k 'k) для решения квадратичной программы на интервале k. Решением является uopt (k), рекомендуемое MPC значение манипулируемой переменной для использования между контрольными интервалами k и k + 1.
Наконец, программное обеспечение готовится к следующему интервалу управления, предполагая, что неизвестные входы, wid (k), wod (k) и wn (k) принимают свое среднее значение (ноль) между временами k и k + 1. Программное обеспечение предсказывает влияние известных входных данных и инноваций следующим образом:
+ Bvv (k) + Le (k)
getindist | getoutdist | mpc | mpcstate | setEstimator
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.