systune

Настройте системы управления фиксированной структуры, смоделированные в MATLAB

Описание

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

Эта команда настраивает системы управления, смоделированные в MATLAB®. Для настройки моделей Simulink® используйте slTuner создать интерфейс к вашей модели Simulink. Можно затем настроить систему управления с systune для slTuner (требует Simulink Control Design™).

пример

[CL,fSoft] = systune(CL0,SoftReqs) настраивает свободные параметры модели системы управления, CL0, лучше всего удовлетворять мягкие настраивающие требования. Лучшие достигнутые мягкие ограничительные значения возвращены как fSoft. Для устойчивой настройки против действительной неопределенности параметра используйте модель системы управления неопределенными действительными параметрами. Для устойчивой настройки против набора моделей объекта управления используйте массив моделей CL0 системы управления. (См. входные параметры.)

пример

[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs) настраивает систему управления, чтобы лучше всего удовлетворить мягкие настраивающие требования, удовлетворяющие удовлетворению трудным настраивающим требованиям (ограничения). Это возвращает лучшие достигнутые значения для мягких и трудных ограничений.

[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs,options) задает опции для оптимизации.

[CL,fSoft,gHard,info] = systune(___) также возвращает подробную информацию о каждой запущенной оптимизации. Все входные параметры, описанные для предыдущих синтаксисов также, применяются здесь.

Примеры

свернуть все

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

Каскадная система управления следующим рисунком включает два настраиваемых контроллера, ПИ-контроллер для внутреннего цикла, C2, и ПИД-регулятор для внешнего цикла, C1.

Блоки x1 и x2 отметьте местоположения аналитической точки. Это местоположения, в которых могут быть открыты циклы, или сигналы введены в целях определения требований для настройки системы.

Настройте свободные параметры этой системы управления, чтобы удовлетворить следующие требования:

  • Выходной сигнал, y1, отслеживает ссылочный сигнал, r, со временем отклика в 10 секунд и установившейся ошибкой 1%.

  • Воздействие, введенное в x2 подавлен в y1 фактором 10.

Создайте настраиваемые Блоки Системы управления, чтобы представлять контроллеры и числовые модели LTI, чтобы представлять объекты. Кроме того, создайте AnalysisPoint блоки, чтобы отметить интересные места в каждой обратной связи.

G2 = zpk([],-2,3);
G1 = zpk([],[-1 -1 -1],10);

C20 = tunablePID('C2','pi');
C10 = tunablePID('C1','pid');

X1 = AnalysisPoint('X1');
X2 = AnalysisPoint('X2');

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

InnerLoop = feedback(X2*G2*C20,1);
CL0 = feedback(G1*InnerLoop*C10,X1);
CL0.InputName = 'r';
CL0.OutputName = 'y';

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

Задайте настраивающиеся требования для отслеживания уставки и подавления помех.

Rtrack = TuningGoal.Tracking('r','y',10,0.01);
Rreject = TuningGoal.Gain('X2','y',0.1);

TuningGoal.Tracking требование указывает что сигнал в 'y' отследите сигнал в 'r' со временем отклика в 10 секунд и ошибкой отслеживания 1%.

TuningGoal.Gain требование ограничивает усиление от неявного входа, сопоставленного с AnalysisPoint блок, X2, к 'y'. (См. AnalysisPoint.) Ограничивающий это усиление значением меньше чем 1 гарантирует, что воздействие ввело в X2 подавлен при выходе.

Настройте систему управления.

[CL,fSoft] = systune(CL0,[Rtrack,Rreject]);
Final: Soft = 1.24, Hard = -Inf, Iterations = 113

systune преобразует каждое настраивающее требование в нормированное скалярное значение, f. Команда настраивает настраиваемые параметры CL0 минимизировать f значения. Для каждого требования удовлетворяют требованию, нарушил ли f <1 и если f> 1. fSoft вектор минимизированных f значений. Самое большое из минимизированных f значений отображено как Soft.

Выходная модель CL настроенная версия CL0. CL содержит те же Блоки Системы управления как CL0, с текущими значениями равняются настроенным значениям параметров.

Подтвердите это, настроенная система управления удовлетворяет требование отслеживания путем исследования переходного процесса от 'r' к 'y'.

stepplot(CL)

График шага показывает это в настроенной системе управления, CL, выход отслеживает вход приблизительно с желаемым временем отклика.

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

CLdist = getIOTransfer(CL,'X2','y');
stepplot(CLdist);

getIOTransfer извлекает ответ с обратной связью от заданных входных параметров до выходных параметров. В общем случае getIOTransfer и getLoopTransfer полезны для проверки системы управления, настроенной с systune.

Можно также использовать viewGoal сравнить ответы настроенной системы управления непосредственно против настраивающихся требований, Rtrack и Rreject.

viewGoal([Rtrack,Rreject],CL)

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

Каскадная система управления следующим рисунком включает два настраиваемых контроллера, ПИ-контроллер для внутреннего цикла, C2, и ПИД-регулятор для внешнего цикла, C1.

Блоки x1 и x2 отметьте местоположения аналитической точки. Это местоположения, в которых вы можете разомкнутые циклы или вводить сигналы в целях определения требований для настройки системы.

Настройте свободные параметры этой системы управления, чтобы удовлетворить следующие требования:

  • Выходной сигнал, y1, отслеживает ссылочный сигнал в r со временем отклика в 5 секунд и установившейся ошибкой 1%.

  • Воздействие, введенное в x2 подавлен при выходе, y1, фактором 10.

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

Создайте настраиваемые Блоки Системы управления, чтобы представлять контроллеры и числовые модели LTI, чтобы представлять объекты. Кроме того, создайте AnalysisPoint блоки, чтобы отметить интересные места в каждой обратной связи.

G2 = zpk([],-2,3);
G1 = zpk([],[-1 -1 -1],10);

C20 = tunablePID('C2','pi');
C10 = tunablePID('C1','pid');

X1 = AnalysisPoint('X1');
X2 = AnalysisPoint('X2');

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

InnerLoop = feedback(X2*G2*C20,1);
CL0 = feedback(G1*InnerLoop*C10,X1);
CL0.InputName = 'r';
CL0.OutputName = 'y';

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

Задайте настраивающиеся требования для отслеживания уставки и подавления помех.

Rtrack = TuningGoal.Tracking('r','y',5,0.01);
Rreject = TuningGoal.Gain('X2','y',0.1);

TuningGoal.Tracking требование указывает что сигнал в 'y' отслеживает сигнал в 'r' со временем отклика в 5 секунд и ошибкой отслеживания 1%.

TuningGoal.Gain требование ограничивает усиление от неявного входа, сопоставленного с AnalysisPoint блок X2 к выходу, 'y'. (См. AnalysisPoint.) Ограничивающий это усиление значением меньше чем 1 гарантирует, что воздействие ввело в X2 подавлен при выходе.

Задайте настраивающиеся требования для запасов по амплитуде и фазе.

RmargOut = TuningGoal.Margins('X1',18,60);
RmargIn = TuningGoal.Margins('X2',18,60);
RmargIn.Openings = 'X1';

RmargOut налагает минимальный запас по амплитуде 18 дБ и минимальный запас по фазе 60 градусов. Определение X1 налагает то требование к внешнему циклу. Точно так же RmargIn налагает те же требования к внутреннему циклу, идентифицированному X2. Чтобы гарантировать, что поля внутреннего цикла оценены с открытым внешним циклом, включайте местоположение аналитической точки внешнего цикла, X1, в RmargIn.Openings.

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

SoftReqs = [Rtrack,Rreject];
HardReqs = [RmargIn,RmargOut];
[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs);
Final: Soft = 1.13, Hard = 0.97708, Iterations = 114

systune преобразует каждое настраивающее требование в нормированное скалярное значение, f для мягких ограничений и g для трудных ограничений. Команда настраивает настраиваемые параметры CL0 минимизировать f значения согласно ограничению что каждый g <1.

Отображенное значение Hard является самым большим из минимизированных g значений в gHard. Это значение меньше 1, указывая, что обоим трудные ограничения удовлетворяют.

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

figure;
viewGoal(HardReqs,CL)

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

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

figure;
stepplot(CL,20)

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

figure;
viewGoal(Rtrack,CL)

Фактическая ошибка отслеживания пересекается в заштрихованную область между 1 и 10 рад/с, указывая, что требование не удовлетворяется в этом режиме. Таким образом настроенная система управления не может удовлетворить мягкое требование отслеживания, время, удовлетворяющее трудным ограничениям запасов устойчивости. Чтобы достигнуть желаемой производительности, вы, возможно, должны ослабить одно из своих требований или преобразовать одно или несколько трудных ограничений в мягкие ограничения.

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

свернуть все

Система управления, чтобы настроиться, заданный как обобщенное пространство состояний (genss) модель или массив моделей с настраиваемыми параметрами. Создать CL0:

  1. Параметризуйте настраиваемые элементы своей системы управления. Можно использовать предопределенные структуры, такие как tunablePID, tunableGain, и tunableTF. В качестве альтернативы можно создать собственную структуру из элементарных настраиваемых параметров (realp).

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

Для получения дополнительной информации о создании моделей, чтобы настроиться, смотрите Setup для Настройки Системы управления, Смоделированной в MATLAB.

Для устойчивой настройки системы управления против набора моделей объекта управления (требует Robust Control Toolbox™), задайте массив настраиваемого genss модели, которые имеют те же настраиваемые параметры. Чтобы сделать контроллер устойчивым против неопределенности параметра, используйте модель неопределенными действительными параметрами, заданными с ureal или uss. В этом случае, CL0 genss модель, которая содержит и настраиваемые и неопределенные блоки системы управления. Для получения дополнительной информации об устойчивой настройке, смотрите Устойчивые Настраивающие Подходы (Robust Control Toolbox).

Мягкие настраивающие цели (цели) для настройки системы управления, заданной как вектор TuningGoal объекты. Эти объекты получают ваши конструктивные требования, такие как TuningGoal.Tracking, TuningGoal.StepTracking, или TuningGoal.Margins.

systune настраивает настраиваемые параметры системы управления, чтобы минимизировать мягкие настраивающие цели. Эта настройка подвергается удовлетворению трудным настраивающим целям (если таковые имеются).

Для получения дополнительной информации о доступных настраивающих целях, смотрите Настраивающиеся Цели.

Трудно настраивающиеся цели (ограничения) для настройки системы управления, заданной как вектор TuningGoal объекты. Эти объекты получают ваши конструктивные требования, такие как TuningGoal.Tracking, TuningGoal.StepTracking, или TuningGoal.Margins.

systune преобразует каждую трудную настраивающую цель в нормированное скалярное значение. systune затем оптимизирует свободные параметры, чтобы минимизировать те нормированные значения. Трудной цели удовлетворяют, меньше ли нормированное значение 1.

Для получения дополнительной информации о доступных настраивающих целях, смотрите Настраивающиеся Цели.

Опции для настраивающегося алгоритма, заданного как, опции устанавливают вас, создают с systuneOptions. Доступные параметры включают:

  • Количество дополнительной оптимизации, чтобы запуститься. Каждая оптимизация начинает со случайных начальных значений свободных параметров.

  • Допуск к завершению оптимизации.

  • Отметьте для использования параллельной обработки.

Смотрите systuneOptions страница с описанием для получения дополнительной информации обо всех доступных параметрах.

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

свернуть все

Настроенная система управления, возвращенная как обобщенное пространство состояний (genss) модель. Эта модель имеет тот же номер и тип настраиваемых элементов (Блоки Системы управления) как CL0. Текущие значения этих элементов являются настроенными параметрами. Используйте getBlockValue или showTunable к значениям доступа настроенных элементов.

Если вы обеспечиваете массив моделей системы управления, чтобы настроиться как входной параметр, CL0, systune настраивает параметры всех моделей одновременно. В этом случае, CL массив настроенного genss модели. Для получения дополнительной информации смотрите Устойчивые Настраивающие Подходы (Robust Control Toolbox).

Лучше всего достигнутые мягкие ограничительные значения, возвращенные как вектор. systune преобразует мягкие требования в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать эту функцию, удовлетворяющую трудным ограничениям. (См. Алгоритмы.) fSoft содержит лучшее достигнутое значение для каждого из мягких ограничений. Эти значения появляются в fSoft в том же порядке, что ограничения заданы в SoftReqs. fSoft значения значимы только, когда трудным ограничениям удовлетворяют.

Лучше всего достигнутые трудные ограничительные значения, возвращенные как вектор. systune преобразует трудные требования в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы управлять теми значениями ниже 1. (См. Алгоритмы.) gHard содержит лучшее достигнутое значение для каждого из трудных ограничений. Эти значения появляются в gHard в том же порядке, что ограничения заданы в HardReqs. Если все значения меньше 1, то трудным ограничениям удовлетворяют.

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

Запустите номер, возвращенный как скаляр. Если вы используете RandomStart опция systuneOptions выполнять несколько запусков оптимизации, info массив структур и info.Run индекс.

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

Лучше всего полное мягкое ограничительное значение, возвращенное как скаляр. systune преобразует мягкие требования в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать эту функцию, удовлетворяющую трудным ограничениям. (См. Алгоритмы.) info.fBest максимальное мягкое ограничительное значение в итоговой итерации. Это значение значимо только, когда трудным ограничениям удовлетворяют.

Лучше всего в целом трудное ограничительное значение, возвращенное как скаляр. systune преобразует трудные требования в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы управлять теми значениями ниже 1. (См. Алгоритмы.) info.gBest максимальное трудное ограничительное значение в итоговой итерации. Это значение должно быть меньше 1 для трудных ограничений, которым удовлетворят.

Отдельные мягкие ограничительные значения, возвращенные как вектор. systune преобразует каждое мягкое требование в нормированное значение, которое является функцией свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать то значение, удовлетворяющее трудным ограничениям. (См. Алгоритмы.) info.fSoft содержит отдельные значения мягких ограничений в конце каждого запуска. Эти значения появляются в fSoft в том же порядке, что ограничения заданы в SoftReqs.

Отдельные трудные ограничительные значения, возвращенные как вектор. systune преобразует каждое трудное требование в нормированное значение, которое является функцией свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать те значения. Трудному требованию удовлетворяют, меньше ли его значение 1. (См. Алгоритмы.) info.gHard содержит отдельные значения трудных ограничений в конце каждого запуска. Эти значения появляются в gHard в том же порядке, что ограничения заданы в HardReqs.

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

По умолчанию местоположения полюса с обратной связью настроенной системы ограничиваются удовлетворить Ре (p) <–10–7. Используйте MinDecay опция systuneOptions изменить это ограничение.

Настроенные значения настраиваемых блоков и параметров в настроенной системе управления, CL, возвращенный как структура. Можно также использовать getBlockValue или showBlockValue получить доступ к настроенным значениям параметров.

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

Когда применено многоконтурные системы управления, TuningGoal.LoopShape и TuningGoal.Margins может быть чувствительно к масштабированию передаточных функций цикла, к которым они применяются. Эта чувствительность может привести к плохим результатам оптимизации. systune автоматически корректирует масштабирующиеся проблемы и возвращает оптимальный диагональный масштабирующийся матричный d как модель в пространстве состояний в info.LoopScaling.

Каналы цикла сопоставлены с каждым диагональным элементом D перечислены в info.LoopScaling.InputName. Масштабированной передачей цикла является D\L*D, где L передача разомкнутого цикла, измеренная в местоположениях info.LoopScaling.InputName.

Худшие комбинации неопределенных параметров, возвращенных как массив структур. (Запрашивает устойчивую настройку систем управления с неопределенностью только.) Каждая структура содержит один набор неопределенных значений параметров. Возмущения с худшей производительностью перечислены сначала.

Самое большое мягкое целевое значение по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.)

Самое большое трудное целевое значение по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.)

Самый маленький уровень затухания с обратной связью по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.) Положительное значение указывает на устойчивую устойчивость. Смотрите MinDecay опция в systuneOptions для деталей.

Алгоритмы

x является вектором настраиваемых параметров в системе управления, чтобы настроиться. systune преобразует каждое мягкое и трудное настраивающее требование SoftReqs(i) и HardReqs(j) в нормированные значения fi (x) и gj (x), соответственно. systune затем решает ограниченную задачу минимизации:

Минимизировать max ifi(x) удовлетворяющий max jgj(x)<1для xmin<x<xmax .

xmin и xmax являются минимальными и максимальными значениями свободных параметров системы управления.

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

minxmax (αf(x),g(x)).

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

systune возвращает систему управления параметрами, настроенными на значения, которые лучше всего решают задачу минимизации. systune также возвращает лучшие достигнутые значения fi (x) и gj (x), как fSoft и gHard соответственно.

Для получения информации о функциях fi (x) и gj (x) для каждого типа ограничения, смотрите страницы с описанием для каждого TuningGoal объект требования.

systune использует несглаженные алгоритмы оптимизации, описанные в [1], [2], [3], [4]

systune вычисляет норму H∞ с помощью алгоритма [5] и сохранение структуры eigensolvers от библиотеки SLICOT. Для получения дополнительной информации о библиотеке SLICOT, см. http://slicot.org.

Альтернативная функциональность

Приложение

Приложение Control System Tuner обеспечивает графический интерфейс к настройке системы управления.

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

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

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

Ссылки

[1] Apkarian, P. и Д. Нолл, "Несглаженный Синтез H-бесконечности", Транзакции IEEE на Автоматическом управлении, Издании 51, № 1, (2006), стр 71–86.

[2] Apkarian, P. и Д. Нолл, "Несглаженная Оптимизация для Многополосной Системы управления Частотного диапазона", Automatica, 43 (2007), стр 724–731.

[3] Apkarian, P., П. Гэхинет и К. Бахр, "Мультимодель, многоцелевая настройка контроллеров фиксированной структуры", ECC Продолжений (2014), стр 856–861.

[4] Apkarian, P. m, n . Дао и Д. Нолл, "параметрическая устойчивая структурированная система управления", транзакции IEEE на автоматическом управлении, 2015.

[5] Bruisma, Н.Э. и М. Стейнбач, "Алгоритм FAST, чтобы Вычислить -норму H Матрицы Передаточной функции", Системные Буквы Управления, Издание 14, нет, 4 (1990), стр 287–293.

Расширенные возможности

Введенный в R2016a