TuningGoal. Класс StepTracking

Пакет: TuningGoal

Требование переходного процесса для настройки системы управления

Описание

Используйте TuningGoal.StepTracking, чтобы задать целевой переходной процесс от заданных входных параметров до заданных выходных параметров системы управления. Используйте эту настраивающую цель с настраивающими командами системы управления, такими как systune или looptune.

Конструкция

Req = TuningGoal.StepTracking(inputname,outputname,refsys) создает настраивающуюся цель, которая ограничивает переходной процесс между заданными местоположениями сигнала совпадать с переходным процессом стабильной ссылочной системы, refsys. Ограничение удовлетворено, когда относительная разница между настроенными и целевыми ответами находится в пределах допуска, заданного свойством RelGap настраивающейся цели (см. Свойства). inputname и outputname могут описать SISO или ответ MIMO вашей системы управления. Для ответов MIMO количество входных параметров должно равняться количеству выходных параметров.

Req = TuningGoal.StepTracking(inputname,outputname,tau) задает желаемый переходной процесс как ответ первого порядка с временной константой tau:

Req. ReferenceModel=1/\taus+1/\tau.

Req = TuningGoal.StepTracking(inputname,outputname,tau,overshoot) задает желаемый переходной процесс как ответ второго порядка с естественным периодом tau, собственная частота 1/tau, и процент промахивается по overshoot:

Req. ReferenceModel=(1/\tau)2s2+2(\zeta/\tau)s+(1/\tau)2.

Затухание дано zeta = cos(atan2(pi,-log(overshoot/100))).

Входные параметры

inputname

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

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

    • Любой образцовый вход.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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:

Для получения дополнительной информации об аналитических точках в моделях системы управления, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления.

refsys

Ссылочная система для целевого переходного процесса, заданного как модель динамической системы, такая как tf, zpk или модель ss. refsys должен быть стабильным и должен иметь усиление DC 1 (обнулите установившуюся ошибку).

refsys может быть непрерывным или дискретным. Если refsys дискретен, он может включать задержки, которые обработаны как полюса в z = 0.

refsys может быть MIMO, при условии, что это является квадратным и что его сингулярное значение DC (sigma) равняется 1. Если refsys является моделью MIMO, то ее количество вводов и выводов должно совпадать с размерностями inputname и outputname.

Для лучших результатов refsys должен также включать внутренние характеристики системы, такие как нули (отклонение от номинала) "не минимальная фаза".

tau

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

Если вы используете синтаксис Req = TuningGoal.StepTracking(inputname,outputname,tau), чтобы задать целевой ответ первого порядка, то tau является временной константой затухания ответа. В этом случае цель является переходным процессом системы, данной:

Req. ReferenceModel=1/\taus+1/\tau.

Если вы используете синтаксис Req = TuningGoal.StepTracking(inputname,outputname,tau,overshoot), чтобы задать целевой ответ второго порядка, то tau является инверсией собственной частоты ответа. В этом случае цель является переходным процессом системы, данной:

Req. ReferenceModel=(1/\tau)2s2+2(\zeta/\tau)s+(1/\tau)2.

Затухание системы дано zeta = cos(atan2(pi,-log(overshoot/100))).

overshoot

Перерегулирование процента целевого переходного процесса, заданного как скалярное значение в области значений (0,100).

Свойства

ReferenceModel

Ссылочная система для целевого переходного процесса, заданного как SISO или модель (ss) пространства состояний MIMO. Когда вы используете настраивающуюся цель настроить систему управления, переходной процесс от inputname до outputname настраивается, чтобы совпадать с этим целевым ответом на в допуске, заданном свойством RelGap.

Если вы используете входной параметр refsys, чтобы создать настраивающуюся цель, то значением ReferenceModel является ss(refsys).

Если вы используете tau, или tau и входные параметры overshoot, thenReferenceModel является представлением пространства состояний соответствующей передаточной функции второго порядка или первого порядка.

ReferenceModel должен быть стабильным и иметь модульное усиление DC (обнулите установившуюся ошибку). Для лучших результатов ReferenceModel должен также включать внутренние характеристики системы, такие как нули (отклонение от номинала) "не минимальная фаза".

RelGap

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

разрыв=y(t)yref(t)21yref(t)2.

y (t) – yref (t) является несоответствием ответа, и 1 – yref (t) является ошибкой неродного отслеживания целевой модели. 2 обозначает энергию сигнала (2-норма).

Увеличьте значение RelGap, чтобы ослабить соответствующий допуск.

Значение по умолчанию: 0.1

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

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

Output

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

Models

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

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

Req.Models = 2:4;

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

Значение по умолчанию: NaN

Openings

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

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

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

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

Значение по умолчанию: {}

Name

Имя настраивающейся цели, заданной как вектор символов.

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

Req.Name = 'LoopReq';

Значение по умолчанию: []

Примеры

Требование переходного процесса с заданным допуском

Создайте требование для переходного процесса от сигнала под названием 'r' к сигналу под названием 'y'. Ограничьте переходной процесс совпадать с передаточной функцией H = 10 / (s+10), но позволять 20%-е относительное изменение между целью настроенные ответы.

H = tf(10,[1 10]);
Req = TuningGoal.StepResp('r','y',H);

По умолчанию это требование позволяет относительный разрыв 0,1 между целью и настроенными ответами. Чтобы изменить относительный разрыв на 20%, установите свойство RelGap требования.

Req.RelGap = 0.2;

Исследуйте требование.

viewGoal(Req);

Пунктирная линия показывает целевой переходной процесс, заданный этим требованием. Можно использовать это требование, чтобы настроить модель системы управления, T, который содержит допустимые местоположения ввода и вывода под названием 'r' и 'y'. Если вы делаете так, команда, viewGoal(Req,T) строит достигнутый переходной процесс от 'r' до 'y' для сравнения с целевым ответом.

Переходной процесс первого порядка с известной временной константой

Создайте требование, которое задает переходной процесс первого порядка с временной константой 5 секунд. Создайте требование для переходного процесса от сигнала под названием 'r' к сигналу под названием 'y'.

Req = TuningGoal.StepResp('r','y',5);

Когда вы используете это требование, чтобы настроить модель системы управления, T, временная константа 5 взята, чтобы быть выраженной в преобладающих модулях системы управления. Например, если T является моделью genss, и свойством T.TimeUnit является 'seconds', то это требование задает целевую временную константу 5 секунд для ответа от входа 'r' до вывода 'y' 'T'.

Постоянное требуемое время преобразовано в ссылочную модель в пространстве состояний, сохраненную в свойстве ReferenceModel требования.

refsys = tf(Req.ReferenceModel)
refsys =
 
    0.2
  -------
  s + 0.2
 
Continuous-time transfer function.

Как ожидалось refsys является моделью первого порядка.

Исследуйте требование. Команда viewGoal отображает целевой ответ, который является переходным процессом эталонной модели.

viewGoal(Req);

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

Переходной процесс второго порядка с известным естественным периодом и перерегулированием

Создайте требование, которое задает переходной процесс второго порядка с естественным периодом 5 секунд и 10%-е перерегулирование. Создайте требование для переходного процесса от сигнала под названием 'r' к сигналу под названием 'y'.

Req = TuningGoal.StepResp('r','y',5,10);

Когда вы используете это требование, чтобы настроить модель системы управления, T, естественный период 5 взят, чтобы быть выраженным в преобладающих модулях системы управления. Например, если T является моделью genss, и свойством T.TimeUnit является 'seconds', то это требование задает целевой естественный период 5 секунд для ответа от входа 'r' до вывода 'y' 'T'.

Заданные параметры ответа преобразованы в ссылочную модель в пространстве состояний, сохраненную в свойстве ReferenceModel требования.

refsys = tf(Req.ReferenceModel)
refsys =
 
          0.04
  ---------------------
  s^2 + 0.2365 s + 0.04
 
Continuous-time transfer function.

Как ожидалось refsys является моделью второго порядка.

Исследуйте требование. Команда viewGoal отображает целевой ответ, который является переходным процессом эталонной модели.

viewGoal(Req);

Пунктирная линия показывает целевой переходной процесс, заданный этим требованием, ответом второго порядка с 10%-м перерегулированием и естественным периодом пяти секунд.

Отслеживание цели с ограниченным образцовым приложением и дополнительными открытиями цикла

Создайте настраивающуюся цель, которая задает переходной процесс первого порядка с временной константой 5 секунд. Установите свойства Models и Openings далее сконфигурировать применимость настраивающейся цели.

Req = TuningGoal.StepTracking('r','y',5);
Req.Models = [2 3];
Req.Openings = 'OuterLoop'

При настройке системы управления, которая имеет вход 'r', вывод 'y' и местоположение аналитической точки 'OuterLoop', можно использовать Req в качестве входа к looptune или systune. Установка свойства Openings указывает, что переходной процесс от 'r' до 'y' измеряется с циклом, открытым в 'OuterLoop'. Когда настройка массива моделей системы управления, установка свойства Models ограничивают, как настраивающаяся цель применяется. В этом примере настраивающаяся цель применяется только к вторым и третьим моделям в массиве.

Советы

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

Алгоритмы

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

Для TuningGoal.StepTracking f (x) дают:

f(x)=1s(T(s,x)Tref(s))2RelGap1s(Tref(s)I)2.

T (s, x) является передаточной функцией с обратной связью от Input до Output со значениями параметров x, и Tref (s) является эталонной моделью, заданной в свойстве ReferenceModel. 2 обозначает H 2 нормы (см. norm).

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

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

Поведение изменяется в R2016a

Введенный в R2016a