exponenta event banner

Класс TuningGoal.Tracking

Пакет: TuningGoal

Требование к отслеживанию настройки системы управления

Описание

Использовать TuningGoal.Tracking задание требования к отслеживанию частотной области между указанными входами и выходами. Эта цель настройки определяет максимальную относительную ошибку (коэффициент усиления от опорного ввода до ошибки отслеживания) как функцию частоты. Используйте эту цель настройки для настройки системы управления с помощью таких команд настройки, как systune или looptune.

Максимальный профиль ошибок можно указать непосредственно, предоставив функцию переноса. Кроме того, можно указать целевую ошибку DC, пиковую ошибку и время отклика. Эти параметры преобразуются в следующую передаточную функцию, описывающую максимальную ошибку отслеживания частотной области:

MaxError = (PeakError) s +

В данном случае, startc равно 2/( время отклика). Следующий график иллюстрирует эти взаимосвязи для примерного набора значений.

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

Req = TuningGoal.Tracking(inputname,outputname,responsetime,dcerror,peakerror) создает цель настройки Req который ограничивает производительность отслеживания от inputname кому outputname в частотной области. Эта цель настройки определяет максимальный профиль ошибки как функцию частоты, задаваемой:

MaxError = (PeakError) s +

Пропускная способность трекинга startc = 2/responsetime. Максимальная относительная установившаяся ошибка задается dcerror, и peakerror дает пиковую относительную ошибку для всех частот.

Можно указать требование отслеживания MIMO, указав имена сигналов или массив ячеек из нескольких имен сигналов для inputname или outputname. Для отслеживания MIMO используйте InputScaling свойство, помогающее ограничить перекрестную связь. См. раздел Свойства.

Req = TuningGoal.Tracking(inputname,outputname,maxerror) определяет максимальную относительную ошибку как функцию частоты. Профиль ошибки цели (максимальный коэффициент усиления от опорного сигнала к сигналу ошибки отслеживания) можно задать как функцию плавной передачи. Также можно нарисовать кусочный профиль ошибки с помощью frd модель.

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

inputname

Входные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими входами, массив ячеек символьных векторов.

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

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

    • Любая точка линейного анализа, помеченная в модели.

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

    Например, предположим, что slTuner интерфейс содержит точки анализа u1 и u2. Использовать 'u1' чтобы обозначить эту точку как входной сигнал при создании целей настройки. Использовать {'u1','u2'} для обозначения двухканального входа.

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

    • Любой вход genss модель

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

    Например, при настройке модели системы управления T, то inputname может быть любым входным именем в T.InputName. Также, если T содержит AnalysisPoint блок с расположением с именем AP_u, то inputname может включать 'AP_u'. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

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

Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления.

outputname

Выходные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими выходами, массив ячеек символьных векторов.

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

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

    • Любая точка линейного анализа, помеченная в модели.

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

    Например, предположим, что slTuner интерфейс содержит точки анализа y1 и y2. Использовать 'y1' чтобы обозначить эту точку как выходной сигнал при создании целей настройки. Использовать {'y1','y2'} для обозначения двухканального выхода.

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

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

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

    Например, при настройке модели системы управления T, то outputname может быть любым выходным именем в T.OutputName. Также, если T содержит AnalysisPoint блок с расположением с именем AP_u, то outputname может включать 'AP_u'. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

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

Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления.

responsetime

Целевое время отклика, указанное как положительное скалярное значение. Пропускная способность трекинга задана в λ c = 2/responsetime.Выполните целевое время отклика во временных единицах настраиваемых моделей. Например, при настройке модели T, если T.TimeUnit является 'minutes', затем выразить целевое время отклика в минутах.

dcerror

Максимальная ошибка установившегося дробного отслеживания, заданная как положительное скалярное значение. Например, dcerror = 0.01 устанавливает максимальную погрешность установившегося состояния 1%.

Если inputname или outputname являются векторными, dcerror применяется ко всем парам ввода-вывода из inputname кому outputname.

По умолчанию: 0,001

peakerror

Максимальная ошибка дробного отслеживания на всех частотах, заданная как положительное скалярное значение больше 1.

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

maxerror

Профиль ошибки отслеживания цели как функции частоты, определяемый как числовая модель LTI SISO.

maxerror - максимальный коэффициент усиления от опорного сигнала до сигнала ошибки отслеживания. Можно указать maxerror как плавная передаточная функция (tf, zpk, или ss модель). Также можно нарисовать кусочный профиль ошибки с помощью frd модель. При этом программа автоматически сопоставляет профиль ошибки zpk модель. Величина zpk модель аппроксимирует требуемый профиль ошибки. Использовать show(Req) для построения графика величины zpk модель.

maxerror должна быть моделью LTI SISO. Если inputname или outputname являются массивами ячеек, maxerror применяется ко всем парам ввода-вывода из inputname кому outputname.

Если вы настраиваетесь за дискретное время (то есть с помощью genss модель или slTuner интерфейс с ненулевым Ts), можно указать maxerror как дискретно-временная модель с тем же Ts. При указании maxerror через непрерывное время программа настройки дискретизирует его. Задание профиля ошибки в дискретное время дает вам больше контроля над профилем ошибки вблизи частоты Найквиста.

Свойства

MaxError

Максимальная ошибка как функция частоты, выраженная как SISO zpk модель. Это свойство сохраняет максимальную ошибку отслеживания как функцию частоты (максимальный коэффициент усиления от опорного сигнала к сигналу ошибки отслеживания).

При использовании синтаксиса Req = TuningGoal.Tracking(inputname,outputname,maxerror), то MaxError свойство является zpk эквивалент или аппроксимация модели LTI, предоставленной в качестве maxerror входной аргумент.

При использовании синтаксиса Req = TuningGoal.Tracking(inputname,outputname,resptime,dcerror,peakerror), то MaxError является zpk передаточная функция, задаваемая:

MaxError = (PeakError) s +

MaxError является моделью LTI SISO. Если inputname или outputname являются массивами ячеек, MaxError применяется ко всем парам ввода-вывода из inputname кому outputname.

Использовать show(Req) для построения графика величины MaxError.

Focus

Полоса частот, в которой принудительно применяется цель настройки, заданная как вектор строки формы [min,max].

Установите Focus свойство для ограничения применения цели настройки к определенной полосе частот. Выражайте это значение в частотных единицах настраиваемой модели системы управления (рад/TimeUnit). Например, предположим Req является целью настройки, которую требуется применить только в диапазоне от 1 до 100 рад/с. Чтобы ограничить цель настройки этой областью данных, используйте следующую команду:

Req.Focus = [1,100];

По умолчанию: [0,Inf] на непрерывное время; [0,pi/Ts] для дискретного времени, где Ts - время выборки модели.

InputScaling

Масштабирование опорного сигнала, определяемое как вектор положительных вещественных значений.

Для требования отслеживания MIMO, когда выбор единиц приводит к смешиванию малых и больших сигналов в различных каналах отклика, используйте это свойство, чтобы задать относительную амплитуду каждой записи на входе шага с векторными значениями. Эта информация используется для масштабирования внедиагональных терминов в передаточной функции от ссылки до ошибки отслеживания. Такое масштабирование обеспечивает измерение кросс-соединений относительно амплитуды каждого опорного сигнала.

Например, предположим, что Req является целью настройки, которая сигнализирует {'y1','y2'} опорные сигналы пути {'r1','r2'}. Предположим далее, что выходные данные необходимы для отслеживания привязок с перекрестной связью менее 10%. Если r1 и r2 иметь сопоставимые амплитуды, то достаточно сохранить коэффициенты усиления от r1 кому y2 и r2 и y1 ниже 0,1. Однако, если r1 в 100 раз больше, чем r2, выигрыш от r1 кому y2 должно быть меньше 0,001 для обеспечения того, чтобы r1 изменения y2 менее чем на 10% от r2 цель. Чтобы обеспечить этот результат, установите InputScaling следующим образом.

Req.InputScaling = [100,1];

Это предписывает программному обеспечению принимать во внимание, что первый опорный сигнал в 100 раз больше, чем второй опорный сигнал.

Значение по умолчанию, [] , означает отсутствие масштабирования.

По умолчанию: []

Input

Имена эталонных сигналов, определяемые как символьный вектор или массив ячеек символьных векторов, задающих имена отслеживаемых сигналов, заполняемые inputname аргумент.

Output

Имена выходных сигналов, заданные как символьный вектор или массив ячеек символьных векторов, задающих имена сигналов, которые должны отслеживать эталонные сигналы, заполненные outputname аргумент.

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';

По умолчанию: []

Примеры

Отслеживание цели со временем отклика и максимальной постоянной ошибкой отслеживания

Создание цели отслеживания, указывающей, что сигнал 'theta' отслеживать сигнал 'theta_ref'. Требуемое время отклика - 2, в единицах времени настраиваемой системы управления. Максимальная погрешность установившегося состояния составляет 0,1%.

 Req = TuningGoal.Tracking('theta_ref','theta',2,0.001);

С тех пор peakerror не указан, в этой цели настройки используется значение по умолчанию, 1.

Цель отслеживания с максимальной ошибкой отслеживания как функция частоты

Создание цели отслеживания, указывающей, что сигнал 'theta' отслеживать сигнал 'theta_ref'. Максимальная относительная погрешность составляет 0,01 (1%) в диапазоне частот [0,1]. Относительная погрешность увеличивается до 1 (100%) на частоте 100.

Использовать frd для задания профиля ошибки как функции частоты.

err = frd([0.01 0.01 1],[0 1 100]);
Req = TuningGoal.Tracking('theta_ref','theta',err);

Программное обеспечение преобразует err в гладкую функцию частоты, которая аппроксимирует кусочно заданный профиль. Отобразить эту функцию с помощью viewGoal.

viewGoal(Req)

Figure contains an axes. The axes contains an object of type line. These objects represent Max error, Effective bound.

Пунктирная линия - это целевой профиль ошибок, сохраненный в MaxErrorи затененная область указывает, где нарушена цель настройки.

Совет

  • Эта цель настройки накладывает неявное ограничение стабильности на передаточную функцию с замкнутым контуром из Input кому Output, оценивается с помощью петель, открытых в точках, определенных в Openings. Динамика, на которую влияет это неявное ограничение, является стабилизированной динамикой для этой цели настройки. MinDecay и MaxRadius варианты systuneOptions управлять границами в этой неявно ограниченной динамике. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию противоречат другим требованиям, используйте systuneOptions для изменения этих значений по умолчанию.

Алгоритмы

При настройке системы управления с помощью TuningGoal, программное обеспечение преобразует цель настройки в нормализованное скалярное значение f (x), где x - вектор свободных (настраиваемых) параметров в системе управления. Затем программа корректирует значения параметров для минимизации f (x) или для приведения f (x) ниже 1, если цель настройки является жестким ограничением.

Для TuningGoal.Tracking, f (x) задается следующим образом:

f (x) =‖WF (s) (T (s, x) − I) ‖ ∞,

или его дискретный временной эквивалент. Здесь T (s, x) - функция передачи с обратной связью отInput кому Output, и ∞ обозначает H∞ норму ( см.getPeakGain). WF - функция частотного взвешивания, полученная из профиля ошибок, указанного в цели настройки. Выгоды от WF и 1/MaxError приблизительно соответствуют значениям усиления от -20 дБ до 60 дБ. По числовым причинам взвешивающая функция выравнивается за пределами этого диапазона, если не указана ссылочная модель, изменяющая наклон за пределами этого диапазона. Эта корректировка называется регуляризацией. Поскольку полюса WF близки к s = 0 или s = Inf может привести к плохому числовому кондиционированию systune задача оптимизации, не рекомендуется задавать профили ошибок с очень низкочастотной или очень высокочастотной динамикой.

Для получения WF используйте:

WF = getWeight(Req,Ts)

где Req является целью настройки, и Ts - время выборки, в которое выполняется настройка (Ts = 0 на непрерывное время). Дополнительные сведения о регуляризации и ее последствиях см. в разделе Визуализация целей настройки.

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

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

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

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