TuningGoal.LQG class

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

J=limTE(1T0Tz(t)'QZz(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 определяется:

<reservedrangesplaceholder5>(<reservedrangesplaceholder4>(<reservedrangesplaceholder3>)<reservedrangesplaceholder2>(<reservedrangesplaceholder1>)′) = QW.

Когда вы настраиваете систему управления в дискретном времени, цель настройки LQG принимает:

<reservedrangesplaceholder6>(<reservedrangesplaceholder5>[<reservedrangesplaceholder4>]<reservedrangesplaceholder3>[<reservedrangesplaceholder2>]′) = QW / Ts.

Ts является шагом расчета модели. Это предположение гарантирует согласованные результаты с настройкой в области непрерывного времени. В этом предположении w [k] является шумом в дискретном времени, полученным путем дискретизации непрерывных w белого шума (t) с ковариацией QW. Если в Вашей системе <reservedrangesplaceholder4> [<reservedrangesplaceholder3>] действительно дискретный процесс с известной ковариацией QWd, используйте значение Ts*QWd для QW значение при создании цели LQG.

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

QZ

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

Веса эффективности способствуют функции затрат в соответствии с:

J = E (z (<reservedrangesplaceholder3>)  <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)).

Когда вы используете цель настройки 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) при передаче, которая ограничивается целью настройки. Нуль сквозного соединения накладывается, потому что 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 или минимизировать ее, приводя к эффективности.

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

расширить все

Поведение изменено в R2016a

Введенный в R2016a
Для просмотра документации необходимо авторизоваться на сайте