Проектом является robust, когда его ответ не нарушает конструктивные требования при изменениях параметра модели. Ваша модель может содержать параметры, значения которых не точно известны. Такие параметры варьируются в данной области значений значений и заданы как uncertain parameters. Можно знать номинальную стоимость и область значений значений, по которым варьируются эти неопределенные параметры.
Можно использовать Simulink® Программное обеспечение Design Optimization™, чтобы включить неопределенность параметра, чтобы протестировать робастность вашего проекта. То, когда вы оптимизируете параметры для робастности, решатель оптимизации использует ответы, вычислило использование всех неопределенных значений параметров, чтобы настроить значения переменных проекта.
Можно задать тот же параметр и как проект и как неопределенная переменная. Однако вы не можете использовать параметр и в качестве проекта и в качестве неопределенной переменной в той же запущенной оптимизации. Кроме того, вы не можете добавить неопределенность в контроллер или параметры объекта во время основанной на оптимизации системы управления в Control System Designer.
Неопределенные переменные могут быть скаляром, вектором, матрицей или выражением.
Можно протестировать и оптимизировать параметры для робастности модели следующими способами:
Перед Оптимизацией. Задайте неопределенность параметра, прежде чем вы оптимизируете параметры, чтобы соответствовать конструктивным требованиям. В этом случае метод оптимизации оптимизирует сигналы на основе обоих номинальных значений параметров, а также неопределенных значений. Этот режим требует большего количества вычислительного времени.
После Оптимизации. Задайте неопределенность параметра после того, как вы оптимизируете параметры модели, чтобы соответствовать конструктивным требованиям. Можно затем протестировать эффект неопределенных параметров путем графического вывода ответа модели. Если ответ нарушает конструктивные требования, можно оптимизировать параметры снова включением неопределенности параметра во время оптимизации.
Демонстрационные значения для неопределенных параметров являются вектором из численных значений. Можно задать вектор сами или сгенерировать вектор из случайных чисел с помощью программного обеспечения. Демонстрационные значения, которые вы задаете, могут быть равномерно распределены или случайны. Например, четыре демонстрационных значения для двух неопределенных параметров a и b в области значений [0 3]
и [1 2.5]
может быть похожим на следующую фигуру.
Существует два метода, чтобы определить количество демонстрационных значений, чтобы использовать во время оптимизации:
Только комбинация минимальных и (окруженных) максимальных значений
Комбинация целого множества значений (все тело отмечает точкой на предыдущем рисунке),
Совет
Только Используя минимальные и максимальные значения во время оптимизации увеличивает скорость расчета когда по сравнению с использованием целого множества значений.
Для предыдущего примера существует 4 комбинации с помощью минимальных и максимальных значений и 16 комбинаций, если вы используете все демонстрационные значения.
В Response Optimizer вы задаете метод выборки с помощью опций как показано в следующем рисунке.
В этом примере показано, как оптимизировать параметры для робастности модели.
Загрузите сохраненный сеанс Response Optimizer.
load sldo_model1_desreq_optim_sdosession; sdotool(SDOSessionData);
sdotool
команда открывает следующую модель Simulink и сохраненный сеанс Response Optimizer.
Параметры этой модели, 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 Optimizer.
Протестируйте робастность модели к неопределенным параметрам.
Нажмите 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
задан в качестве аргумента модели в рабочем пространстве модели, на которое ссылаются.