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