Оптимизация параметров для робастности

Что такое робастность?

Проект robust, когда его реакция не нарушает требования проекта при изменениях параметра модели. Ваша модель может содержать параметры, значения которых точно не известны. Такие параметры варьируются в заданной области значений значений и определяются как uncertain parameters. Вы можете знать номинальное значение и область значений значений, в которых эти неопределенные параметры варьируются.

Вы можете использовать Simulink® Разработайте Optimization™ программное обеспечение, чтобы включить неопределенность параметра, чтобы проверить робастность вашего проекта. Когда вы оптимизируете параметры для робастности, решатель оптимизации использует отклики, вычисленные с помощью всех неопределенных значений параметров, чтобы настроить проектные значения переменных.

Можно задать один и тот же параметр как проект, так и неопределенную переменную. Однако вы не можете использовать параметр как в качестве проекта, так и неопределенную переменную в одном и том же запуске оптимизации. Кроме того, вы не можете добавить неопределенность к параметрам контроллера или объекта во время системы управления на основе оптимизации в Control System Designer.

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

Можно протестировать и оптимизировать параметры для робастности модели следующими способами:

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

  • После оптимизации. Задайте неопределенность параметра после того, как вы оптимизируете параметры модели, чтобы соответствовать проект требованиям. Затем можно протестировать эффект неопределенных параметров, построив график отклика модели. Если реакция нарушает требования проекта, можно снова оптимизировать параметры, включив неопределенность параметра во время оптимизации.

 Похожие примеры

 Подробнее о

Методы отбора проб для неопределенных параметров

Выборочные значения для неопределенных параметров являются вектором числовых значений. Можно задать вектор самостоятельно или сгенерировать вектор случайных чисел с помощью программного обеспечения. Заданные вами значения выборки могут быть равномерно распределены или случайны. Для примера четыре значения выборки для двух неопределенных параметров a и b в диапазоне [0 3] и [1 2.5] может выглядеть как следующий рисунок.

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

  • Только комбинация минимальных и максимальных значений (в окружности)

  • Комбинация всего множества значений (все твердые точки на предыдущем рисунке)

    Совет

    Использование только минимального и максимального значений во время оптимизации увеличивает скорость расчета по сравнению с использованием всего множества значений.

В предыдущем примере существует 4 комбинации с использованием минимального и максимального значений и 16 комбинаций, если вы используете все выборочные значения.

В Response Optimizer вы задаете метод дискретизации, используя опции, как показано на следующем рисунке.

 Похожие примеры

 Подробнее о

Оптимизируйте параметры для робастности (GUI)

Этот пример показывает, как оптимизировать параметры для робастности модели.

  1. Загрузка сохраненного сеанса Response Optimizer.

    load sldo_model1_desreq_optim_sdosession;
    sdotool(SDOSessionData);

    The sdotool команда открывает следующую модель Simulink и сохраненный сеанс Response Optimizer.

    Параметры этой модели, Kp, Ki и Kd, уже оптимизированы для удовлетворения следующих переходных характеристик требований:

    • Максимальное перерегулирование 5%

    • Максимальное время нарастания 10 секунд

    • Максимальное время урегулирования 30 секунд

  2. Задайте неопределенность параметра.

    1. В раскрывающемся списке Uncertain Variables Set выберите New.

      Откроется окно, где вы задаете неопределенные переменные.

    2. Нажмите w0 и zeta чтобы выбрать их.

    3. Щелкните, чтобы добавить выбранные параметры к набору неопределенных переменных.

      Программа отображает следующие настройки параметров:

      • Variable - Имя параметра

      • Nominal Value - Номинальное значение параметров, заданное в модели Simulink

      • Uncertain Values - Значения, которые может принять неопределенный параметр. По умолчанию максимальное и минимальное значения варьируются на 10% от номинального значения.

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

      Флажок указывает, что параметр включен в набор неопределенных переменных. Имя набора неопределенных переменных по умолчанию UncVars.

      Нажмите OK. Новая переменная UncVars появляется в Data области Response Optimizer.

       Задайте случайные значения

  3. Проверяйте робастность модели на неопределенные параметры.

    1. Нажмите Plot Model Response.

      Этот переходный процесс, отображающий требования, обновляется.

      • Твердая кривая соответствует характеристике модели, вычисленной с помощью оптимизированных параметров и номинальных значений неопределенного параметра.

      • Четыре штриховые кривые соответствуют модели с минимальным и максимальным значениями неопределенных параметров.

        Штриховые линии графика показывают, что реакция в течение периода от 10 до 20 секунд нарушает требования проекта.

  4. Оптимизируйте параметры для робастности модели. Нажмите Optimize.

    Откроется окно Прогресс оптимизации (Optimization Progress), в котором отображаются итерации оптимизации.

    После завершения оптимизации сообщение Optimization converged указывает, что конечная реакция модели, вычисленная путем изменения неопределенных параметров, соответствует заданным проектом требованиям.

  5. Исследуйте ответы.

    Совет

    Чтобы просмотреть только окончательные отклики модели, щелкните правой кнопкой по белой области на графике и снимите флажок Responses > Show Iteration Responses.

    Конечные отклики появляются как толстые твердые и штриховые кривые. Номинальные и неопределенные отклики с изменениями параметра теперь отвечают проект требованиям.

Если ваша модель содержит ссылочные модели, можно создать набор неопределенных переменных с помощью переменных в ссылочных моделях, используя диалоговое окно Create Uncertain Variables Set. Например, первая переменная в диалоговом окне, Slew, указывается как sdoRateLimitedController:Slew. sdoRateLimitedController - имя ссылочной модели с переменной Slew. The Slew переменная имеет то же значение для всех образцов sdoRateLimitedController модель. Напротив, переменная Kd может иметь разное значение для каждого образца ссылочной модели, содержащего его. Например, вторая переменная в диалоговом окне указана как sdoMultipleMotors/Control_1:Kd. Модель верхнего уровня sdoMultipleMotors имеет блок Control_1, которая является ссылочной моделью, которая имеет переменную Kd. Значение этой переменной может отличаться от Kd в блоке Control_2, которая является третьей переменной в диалоговом окне. Чтобы включить значения для конкретного экземпляра, Kd задается как аргумент модели в рабочем пространстве модели-ссылки.

 Подробнее о

Похожие темы