systune

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

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

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

Синтаксис

[CL,fSoft] = systune(CL0,SoftReqs)
[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs)
[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs,options)
[CL,fSoft,gHard,info] = systune(___)

Описание

пример

[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(___) также возвращает подробную информацию о каждой запущенной оптимизации. Все входные параметры, описанные для предыдущих синтаксисов также, применяются здесь.

Примеры

свернуть все

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

Каскадная система управления следующим рисунком включает два настраиваемых контроллера, контроллер PI для внутреннего цикла, 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 = 108

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)

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

Каскадная система управления следующим рисунком включает два настраиваемых контроллера, контроллер PI для внутреннего цикла, 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.97757, Iterations = 103

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

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