Проектом является robust, когда его ответ не нарушает конструктивные требования при изменениях параметра модели. Ваша модель может содержать параметры, значения которых не точно известны. Такие параметры отличаются в данной области значений значений и заданы как uncertain parameters. Можно знать номинальную стоимость и область значений значений, по которым отличаются эти неопределенные параметры.
Можно использовать программное обеспечение Simulink® Design Optimization™, чтобы включить неуверенность параметра, чтобы протестировать робастность проекта. То, когда вы оптимизируете параметры для робастности, решатель оптимизации использует ответы, вычислило использование всех неопределенных значений параметров, чтобы настроить значения переменных проекта.
Можно задать тот же параметр и как проект и как неопределенная переменная. Однако вы не можете использовать параметр и в качестве проекта и в качестве неопределенной переменной в той же запущенной оптимизации. Кроме того, вы не можете добавить неуверенность в контроллер или параметры объекта во время основанной на оптимизации системы управления в Design Tool SISO.
Неопределенные переменные могут быть скаляром, вектором, матрицей или выражением.
Можно протестировать и оптимизировать параметры для образцовой робастности следующими способами:
Перед Оптимизацией. Задайте неуверенность параметра, прежде чем вы оптимизируете параметры, чтобы соответствовать конструктивным требованиям. В этом случае метод оптимизации оптимизирует сигналы на основе обоих номинальных значений параметров, а также неопределенных значений. Этот режим требует большего количества вычислительного времени.
После Оптимизации. Задайте неуверенность параметра после того, как вы оптимизируете параметры модели, чтобы соответствовать конструктивным требованиям. Можно затем протестировать эффект неопределенных параметров путем графического вывода ответа модели. Если ответ нарушает конструктивные требования, можно оптимизировать параметры снова включением неуверенности параметра во время оптимизации.
Демонстрационные значения для неопределенных параметров являются вектором численных значений. Можно задать вектор сами или сгенерировать вектор случайных чисел с помощью программного обеспечения. Демонстрационные значения, которые вы задаете, могут быть равномерно распределены или случайны. Например, четыре демонстрационных значения для двух неопределенных параметров a и b в области значений [0 3]
и [1 2.5]
могут быть похожими на следующую фигуру.
Существует два метода, чтобы определить количество демонстрационных значений, чтобы использовать во время оптимизации:
Только комбинация минимальных и (окруженных) максимальных значений
Комбинация целого множества значений (все тело отмечает точкой в предыдущей фигуре),
Только Используя минимальные и максимальные значения во время оптимизации увеличивает скорость вычисления когда по сравнению с использованием целого множества значений.
Для предыдущего примера существует 4 комбинации с помощью минимальных и максимальных значений и 16 комбинаций, если вы используете все демонстрационные значения.
В инструменте Response Optimization вы задаете метод выборки с помощью опций как показано в следующей фигуре.
Этот пример показывает, как оптимизировать параметры для образцовой робастности.
Загрузите сохраненный сеанс инструмента Response Optimization.
load sldo_model1_desreq_optim_sdosession; sdotool(SDOSessionData);
Команда sdotool
открывает следующую модель Simulink и сохраненный сеанс инструмента Response Optimization.
Параметры этой модели, Kp
, Ki
и Kd
, были уже оптимизированы, чтобы удовлетворить требования ответа следующего шага:
Максимальное перерегулирование 5%
Максимальное время нарастания 10 секунд
Максимальное время установления 30 секунд
Задайте неуверенность параметра.
В Uncertain Variables Set выпадающий список выберите New.
Окно открывается, где вы задаете неопределенные переменные.
Нажмите w0
и zeta
, чтобы выбрать их.
Щелкните, чтобы добавить выбранные параметры в неопределенный набор переменных.
Программное обеспечение отображает следующие установки параметров:
Variable — 'ParameterName'
Nominal Value — Номинальная стоимость параметров, как задано в модели Simulink
Uncertain Values — Значения, которые может принять неопределенный параметр. По умолчанию максимальные и минимальные значения отличаются 10% номинальной стоимости.
Общее количество демонстрационных значений, чтобы использовать во время оптимизации является комбинацией максимальных и минимальных значений неопределенных параметров.
Флажок указывает, что параметр включен в неопределенный переменный набор. Определенным именем неопределенной переменной по умолчанию является UncVars
.
Нажмите OK. Новая переменная UncVars
появляется в области Data инструмента Response Optimization.
Протестируйте образцовую робастность к неопределенным параметрам.
Нажмите Plot Model Response.
Переходный процесс, отображая требования, обновления.
Твердая кривая соответствует вычисленному использованию образцового ответа оптимизированных параметров и номинальной стоимости неопределенного параметра.
Четыре пунктирных кривые соответствуют образцовому ответу с минимальными и максимальными значениями неопределенных параметров.
Пунктирные сюжетные линии показывают, что ответ в период 10 - 20 секунд нарушает конструктивные требования.
Оптимизируйте параметры для образцовой робастности. Нажмите Optimize.
Окно Optimization Progress открывается который отображения итерации оптимизации.
После того, как оптимизация завершается, сообщение, Optimization converged
указывает, что итоговый образцовый ответ, вычисленный путем варьирования неопределенных параметров, соответствует заданным конструктивным требованиям.
Исследуйте ответы.
Чтобы просмотреть только итоговые ответы модели, щелкните правой кнопкой по белой области по графику и снимите флажок с Responses> Show Iteration Responses.
Итоговые ответы появляются как толстое тело и подчеркнутые штриховой линией кривые. Номинальные и неопределенные ответы с изменениями параметра теперь соответствуют конструктивным требованиям.
Если ваша модель содержит модели, на которые ссылаются, можно создать неопределенное переменное использование набора переменные в моделях, на которые ссылаются, с помощью диалогового окна Create Uncertain Variables Set. Например, первая переменная в диалоговом окне, Slew
, перечислена как sdoRateLimitedController:Slew
. sdoRateLimitedController
является именем модели, на которую ссылаются, с переменной Slew
. Переменная Slew
имеет то же значение для всех экземпляров модели sdoRateLimitedController
. Напротив, переменная Kd
может иметь различное значение для каждого экземпляра модели, на которую ссылаются, содержащей его. Например, вторая переменная в диалоговом окне перечислена как sdoMultipleMotors/Control_1:Kd
. Модель sdoMultipleMotors
верхнего уровня имеет, блокируют Control_1
, который является моделью, на которую ссылаются, которая имеет переменную Kd
. Значение этой переменной может отличаться, чем Kd
в блоке Control_2
, который является третьей переменной в диалоговом окне. Чтобы включить специфичные для экземпляра значения, Kd
задан в качестве образцового аргумента в рабочем пространстве модели, на которое ссылаются.