Пакет: TuningGoal
Линейно-квадратичная-Гауссова (LQG) цель настройки системы управления
Использование TuningGoal.LQG
чтобы задать цель настройки, которая количественно определяет эффективность управления как стоимость LQG. Он применим к любой структуре управления, а не только к классической структуре наблюдателя оптимального управления LQG. Можно использовать эту цель настройки для настройки системы управления с помощью команд настройки, таких как systune
или looptune
.
Стоимость LQG определяется:
J = E (z (<reservedrangesplaceholder3>) <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)).
z (t) - это системная реакция на входной вектор белого шума w (t). Ковариация w (t) определяется:
<reservedrangesplaceholder5>(<reservedrangesplaceholder4>(<reservedrangesplaceholder3>)<reservedrangesplaceholder2>(<reservedrangesplaceholder1>)′) = QW.
Векторный w (t) обычно состоит из внешних входов в систему, таких как шум, нарушения порядка или команда. Векторная z (t) включает все системные переменные, которые характеризуют эффективность, такие как сигналы управления, состояния системы и выходы. E (x) обозначает ожидаемое значение стохастической переменной x.
Функции J затрат также могут быть записаны как среднее значение с течением времени:
После того, как вы создаете цель настройки, можно дополнительно сконфигурировать ее, установив Свойства объекта.
создает требование LQG. Req
=
TuningGoal.LQG(wname
,zname
,QW
,QZ
)wname
и zname
задайте сигналы, составляющие w (t) и z (t). Матрицы QW
и QZ
задайте шумовую ковариацию и вес эффективности. Эти матрицы должны быть симметричными неотрицательными определенными. Используйте скалярные значения для QW
и QZ
для задания множителей из матрицы тождеств.
|
Шумовые входы, w (t), заданные в виде вектора символов или массива ячеек из векторов символов, которые обозначают сигналы, составляющие w (t) по имени, такие
Если |
|
Выходные параметры z (t), заданные как вектор символов или массив ячеек из символьных векторов, которые обозначают сигналы, составляющие z (t) по наименованию, такие
Если |
|
Ковариация входного вектора белого шума w (t), заданная как скаляр или матрица. Используйте скалярное значение, чтобы задать произведение матрицы тождеств. В противном случае задайте симметричную неотрицательную определенную матрицу с таким количеством строк, сколько записей в вектор w (t). Диагональная матрица означает, что записи w (t) являются некоррелированными. Ковариация w (t определяется: <reservedrangesplaceholder5>(<reservedrangesplaceholder4>(<reservedrangesplaceholder3>)<reservedrangesplaceholder2>(<reservedrangesplaceholder1>)′) = QW. Когда вы настраиваете систему управления в дискретном времени, цель настройки LQG принимает: <reservedrangesplaceholder6>(<reservedrangesplaceholder5>[<reservedrangesplaceholder4>]<reservedrangesplaceholder3>[<reservedrangesplaceholder2>]′) = QW / Ts. Ts является шагом расчета модели. Это предположение гарантирует согласованные результаты с настройкой в области непрерывного времени. В этом предположении w [k] является шумом в дискретном времени, полученным путем дискретизации непрерывных w белого шума (t) с ковариацией QW. Если в Вашей системе <reservedrangesplaceholder4> [<reservedrangesplaceholder3>] действительно дискретный процесс По умолчанию: I |
|
Веса эффективности, заданные как скаляр или матрица. Используйте скалярное значение, чтобы задать произведение матрицы тождеств. В противном случае задайте симметричную неотрицательную определенную матрицу. Используйте диагональную матрицу, чтобы независимо масштабировать или штрафовать вклад каждой переменной в z. Веса эффективности способствуют функции затрат в соответствии с: J = E (z (<reservedrangesplaceholder3>) <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)). Когда вы используете цель настройки LQG в качестве жесткой цели, программное обеспечение пытается управлять функцией затрат J < 1. Когда вы используете его как мягкую цель, J функции затрат минимизируется в соответствии с любыми жесткими целями, и ее значение способствует общей целевой функции. Поэтому выберите По умолчанию: I |
|
Ковариационная матрица шумовых входов w (t), заданная в виде матрицы. Значение |
|
Веса для z сигналов эффективности (t), заданные в виде матрицы. Значение |
|
Имена входного сигнала шума, заданные как массив ячеек из векторов символов. Имена входного сигнала задают входы передаточной функции, которые ограничивает цель настройки. Начальное значение |
|
Имена выходного сигнала эффективности, заданные как массив ячеек из векторов символов. Имена выходного сигнала задают выходы передаточной функции, которые ограничивает цель настройки. Начальное значение |
|
Модели, к которым применяется цель настройки, заданные как вектор индексов. Используйте Req.Models = 2:4; Когда По умолчанию: |
|
Циклы обратной связи для открытия при оценке цели настройки, заданные как массив ячеек из векторов символов, которые идентифицируют местоположения открытия цикла. Цель настройки оценивается относительно строения разомкнутого контура, созданной открытием циклов обратной связи в идентифицируемых вами местах. Если вы используете цель настройки, чтобы настроить модель Simulink системы управления, то Если вы используете цель настройки, чтобы настроить обобщенное пространство состояний ( Для примера, если По умолчанию: |
|
Имя цели настройки, заданное как вектор символов. Для примера, если Req.Name = 'LoopReq'; По умолчанию: |
Когда вы используете эту цель настройки, чтобы настроить систему управления в непрерывном времени, systune
пытается применить нулевое сквозное соединение (D = 0) при передаче, которая ограничивается целью настройки. Нуль сквозного соединения накладывается, потому что H 2 норма, и, следовательно, значение цели настройки, бесконечно для систем непрерывного времени с ненулевым сквозным соединением .
systune
обеспечивает нулевое сквозное соединение путем фиксации в нуле всех настраиваемых параметров, которые способствуют передаточному термину. systune
возвращает ошибку при исправлении этих настраиваемых параметров, которая недостаточна для обеспечения нулевого сквозного соединения. В таких случаях необходимо изменить цель настройки или структуру управления или вручную исправить некоторые настраиваемые параметры своей системы к значениям, которые устраняют срок подачи.
Когда ограниченная передаточная функция имеет несколько настраиваемых блоков последовательно, подход программного обеспечения к обнулению всех параметров, которые способствуют общему сквозному соединению, может быть консервативным. В этом случае достаточно обнулить срок подачи одного из блоков. Если вы хотите контролировать, какой блок имеет сквозное соединение, фиксированный к нулю, можно вручную исправить сквозное соединение настраиваемого блока по своему выбору.
Чтобы исправить параметры настраиваемых блоков к заданным значениям, используйте Value
и Free
свойства параметризации блока. Для примера рассмотрим настроенный блок пространства состояний:
C = tunableSS('C',1,2,3);
Чтобы применить нулевое сквозное соединение на этом блоке, задайте нулевое значение его D матрицы и исправьте параметр.
C.D.Value = 0; C.D.Free = false;
Для получения дополнительной информации об исправлении значений параметров смотрите страницы с описанием Система Управления Block, такие как tunableSS
.
Эта цель настройки накладывает неявное ограничение устойчивости на передаточную функцию с обратной связью от wname
на zname
, оцениваемый с циклами, открытыми в точках, идентифицированных в Openings
. Динамика, на которую влияет это неявное ограничение, является stabilized dynamics для этой цели настройки. The MinDecay
и MaxRadius
опции systuneOptions
управляйте границами этой неявно ограниченной динамики. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию конфликтуют с другими требованиями, используйте systuneOptions
для изменения этих значений по умолчанию.
Когда вы настраиваете систему управления, используя TuningGoal
программное обеспечение преобразует цель настройки в нормированное скалярное значение f (x). x - вектор свободных (настраиваемых) параметров в системе управления. Затем программа корректирует значения параметров, чтобы минимизировать f (x) или f (x) ниже 1, если цель настройки является жестким ограничением.
Для TuningGoal.LQG
, f (x) задается функцией затрат J :
J = E (z (<reservedrangesplaceholder3>) <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)).
Когда вы используете требование LQG в качестве жесткой цели, программное обеспечение пытается управлять функцией затрат J < 1. Когда вы используете его как мягкую цель, J функции затрат минимизируется в соответствии с любыми жесткими целями, и ее значение способствует общей целевой функции. Поэтому выберите QZ
значения для правильного масштабирования функции затрат так, чтобы приводить ее ниже 1 или минимизировать ее, приводя к эффективности.
evalGoal
| systune
| TuningGoal.Variance
| TuningGoal.WeightedVariance
| viewGoal
| slTuner
(Simulink Control Design) | systune (for slTuner)
(Simulink Control Design)