exponenta event banner

Класс TuningGoal.LQG

Пакет: 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 затрат также может быть записана как среднее значение по времени:

J=limT→∞E (1T∫0Tz (t) 'QZ z (t) dt).

После создания цели настройки ее можно настроить, задав свойства объекта.

Строительство

Req = TuningGoal.LQG(wname,zname,QW,QZ) создает требование LQG. wname и zname указать сигналы, составляющие w (t) и z (t). МатрицыQW и QZ укажите ковариацию шума и вес рабочих характеристик. Эти матрицы должны быть симметричными неотрицательными определенными. Использовать скалярные значения для QW и QZ для задания кратных единичной матрице.

Входные аргументы

wname

Входы шума, w (t), определенные как символьный вектор или массив ячеек символьных векторов, которые обозначают сигналы, составляющие w (t) по имени, например, 'w' или {'w','v'}. Сигналы, доступные для обозначения в качестве входов шума для цели настройки, являются следующими.

  • Если вы используете цель настройки для настройки модели системы управления Simulink ®, тоwname может включать в себя:

    • Любые входные данные модели

    • Любая входная точка линеаризации в модели

    • Любой сигнал, идентифицированный как Controls, Measurements, Switches, или IOs сигнал в slTuner интерфейс, связанный с моделью Simulink

  • При использовании цели настройки для настройки обобщенной модели состояния-пространства (genss) системы управления с использованием systune, то wname может включать в себя:

    • Любой вход модели системы управления

    • Любой канал AnalysisPoint блок в модели системы управления

    Например, при настройке модели системы управления T, то wname может быть входным именем, содержащимся в T.InputName. Также, если T содержит AnalysisPoint блок с расположением с именем X, то wname может включать X.

  • Если вы используете цель настройки для настройки модели контроллера, C0 для завода G0, использование looptune, то wname может включать в себя:

    • Любой ввод C0 или G0

    • Любой канал AnalysisPoint блок в C0 или G0

Если wname является каналом AnalysisPoint блок обобщенной модели, вход шума для цели настройки является подразумеваемым входом, связанным с переключателем:

zname

Выходные данные производительности, z (t), определенные как символьный вектор или массив ячеек символьных векторов, которые обозначают сигналы, составляющие z (t) по имени, например, 'y' или {'y','u'}. Сигналы, доступные для обозначения в качестве рабочих выходов для цели настройки, следующие.

  • Если вы используете цель настройки для настройки модели Simulink системы управления, то zname может включать в себя:

    • Любые выходные данные модели

    • Любая выходная точка линеаризации в модели

    • Любой сигнал, идентифицированный как Controls, Measurements, Switches, или IOs сигнал в slTuner интерфейс, связанный с моделью Simulink

  • При использовании цели настройки для настройки обобщенной модели состояния-пространства (genss) системы управления с использованием systune, то zname может включать в себя:

    • Любой выход модели системы управления

    • Любой канал AnalysisPoint блок в модели системы управления

    Например, при настройке модели системы управления T, то zname может быть выходным именем, содержащимся в T.OutputName. Также, если T содержит AnalysisPoint блок с каналом с именем X, то zname может включать X.

  • Если вы используете цель настройки для настройки модели контроллера, C0 для завода G0, использование looptune, то zname может включать в себя:

    • Любой ввод C0 или G0

    • Любой канал AnalysisPoint блок в C0 или G0

Если zname является каналом AnalysisPoint блок обобщенной модели, выводом производительности для цели настройки является подразумеваемый вывод, связанный с коммутатором:

QW

Ковариация входного вектора белого шума 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 дляQW значение при создании цели LQG.

По умолчанию: I

QZ

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

Веса производительности вносят вклад в функцию затрат в соответствии с:

J = E (z (t) QZ z (t)).

Когда вы используете цель настройки LQG как жесткую цель, программное обеспечение пытается управлять функцией затрат J < 1. Когда вы используете его в качестве мягкой цели, функция J затрат минимизируется в зависимости от любых жестких целей и ее значение вносится в общую целевую функцию. Поэтому выберите QZ значения для правильного масштабирования функции затрат таким образом, чтобы управление ею ниже 1 или ее минимизация приводили к требуемой производительности.

По умолчанию: I

Свойства

NoiseCovariance

Ковариационная матрица входов шума w (t), заданная как матрица. Значение NoiseCovariance задается входным аргументом WZ при создании цели настройки LQG.

PerformanceWeight

Весовые коэффициенты для сигналов производительности z (t), заданные в виде матрицы. Значение PerformanceWeight задается входным аргументом QZ при создании цели настройки LQG.

Input

Имена шумовых входных сигналов, заданные как массив ячеек символьных векторов. Имена входных сигналов определяют входы передаточной функции, которую ограничивает цель настройки. Начальное значение Input устанавливается свойством wname входной аргумент при построении цели настройки.

Output

Имена выходных сигналов производительности, заданные как массив ячеек символьных векторов. Имена выходных сигналов определяют выходные сигналы передаточной функции, которую ограничивает цель настройки. Начальное значение Output устанавливается свойством zname входной аргумент при построении цели настройки.

Models

Модели, к которым применяется цель настройки, заданная как вектор индексов.

Используйте Models свойство при настройке массива моделей системы управления с помощью systune, для реализации цели настройки для подмножества моделей в массиве. Например, предположим, что вы хотите применить цель настройки, Req, на вторую, третью и четвертую модели в массиве модели, переданном systune. Чтобы ограничить применение цели настройки, используйте следующую команду:

Req.Models = 2:4;

Когда Models = NaN, цель настройки применяется ко всем моделям.

По умолчанию: NaN

Openings

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

Если вы используете цель настройки для настройки модели Simulink системы управления, то Openings может включать любую точку линейного анализа, отмеченную в модели, или любую точку линейного анализа в slTuner Интерфейс (Simulink Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа и проемов контура в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в slTuner интерфейс с моделью.

При использовании цели настройки для настройки обобщенного состояния-пространства (genss) модель системы управления, то Openings может включать любое AnalysisPoint расположение в модели системы управления. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

Например, если Openings = {'u1','u2'}, то цель настройки оценивается с контурами, открытыми в точках анализа u1 и u2.

По умолчанию: {}

Name

Имя цели настройки, указанное как символьный вектор.

Например, если Req является целью настройки:

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 или ее минимизация приводили к требуемой производительности.

Вопросы совместимости

развернуть все

В R2016a изменилось поведение

Представлен в R2016a