exponenta event banner

Исследование надежности конструкции с использованием выборки параметров (GUI)

В этом примере показано, как использовать анализатор чувствительности для изучения поведения PI-контроллера для двигателя постоянного тока. Контроллер подвержен изменениям, вызванным допусками на компоненты, и изучается влияние на надежность контроллера.

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

В этом примере требуется Toolbox™ статистики и машинного обучения.

Внедрение контроллера для двигателя постоянного тока

Контроллер позволяет угловому положению двигателя постоянного тока соответствовать требуемому опорному значению. Нагрузка на двигатель подвержена возмущениям, и контроллеру необходимо отказаться от этих возмущений. Модель Simulink может использоваться для определения того, насколько хорошо контроллер отклоняет помехи шага через 1 секунду.

open_system('sdoMotorPosition');

Коэффициенты усиления контроллера PI, Kp и Ki, устанавливаются с помощью резисторов в схеме ниже:

Сопротивления R1 через R4 47 кОм, 180 кОм, 10 кОм и 10 кОм соответственно. Они были выбраны для установки Kp и Ki к значениям, позволяющим контроллеру удовлетворять требованиям по отклонению возмущений. Однако на практике фактические значения резисторов будут отличаться от номинальных в пределах допуска. Это вызывает обеспокоенность по поводу того, будет ли фактический контроллер по-прежнему удовлетворять требованиям. Чтобы изучить влияние различных значений сопротивления, используйте анализатор чувствительности. В модели Simulink на вкладке Приложения щелкните Анализатор чувствительности в разделе Системы управления, чтобы открыть приложение.

Требования к конструкции

Контроллер должен поддерживать двигатель в исходном положении при наличии возмущений. Если возникает ступенчатое возмущение, двигатель должен отклоняться не более чем на 20 градусов и должен отстояться в пределах 5 градусов от исходного положения через 4 секунды после возмущения.

Загрузить ранее заданные расчетные требования по отклонению возмущений. В приложении щелкните Открыть сессию и выберите Открыть в рабочей области модели в раскрывающемся меню.

Можно распечатать требования и проверить их соответствие, если сопротивления имеют номинальные значения. В области «Результаты» в браузере данных щелкните правой кнопкой мыши LowerBound и выберите «Печать» и «Моделирование». Сделайте то же самое для UpperBound требование.

Отбор параметров

Положение двигателя удовлетворяет требованиям к отклонению возмущений, когда сопротивления находятся на номинальных значениях. Однако на практике фактические значения резисторов будут отличаться от номинальных, и нам нужно определить, будет ли контроллер по-прежнему соответствовать требованиям. Щелкните Выбрать параметры (Select Parameters) и создайте новый набор параметров. Это создает ParamSet в области «Наборы параметров» приложения укажите, что R1, R2, R3, и R4 находятся в наборе параметров и нажмите кнопку ОК.

Щелкните Создать значения (Generate Values) и создайте случайные значения. Для воспроизводимых результатов сбросьте состояние генератора случайных чисел в MATLAB ®.

rng('default')

В диалоговом окне «Создание случайных параметров» укажите 500 образцов для создания.

Укажите распределение вероятностей для каждого параметра. Стандартные прецизионные резисторы соответствуют номинальному значению компонента в пределах допуска 5%. Это может быть смоделировано с использованием равномерного распределения вероятностей. Однако, поскольку резисторы, которые измеряют в пределах 1% от номинального значения, отделяются и продаются как прецизионные резисторы более высокой цены, 5% резисторов могут быть более точно смоделированы с помощью распределения вероятностей с скважиной, которая исключает значения в пределах 1% от номинального. Это можно смоделировать с использованием кусочно-линейного распределения вероятностей, если доступны Toolbox™ статистики и машинного обучения.

Укажите распределение R1 кусочно-линейный с 4 точками. Задайте значения x как [0,95 0,99 1,01 1,05] умножить на 47 (номинальное значение резистора). Задайте значения Fx как [0 0,5 0,5 1]; это значения кумулятивной функции распределения, соответствующие каждому значению x. Аналогично, задайте распределения R2, R3 и R4 кусочно-линейные с 4 точками, значения x как [0,95 0,99 1,01 1,05] умножают на номинальные значения (180, 10 и 10 соответственно) и значения Fx как [0 0,5 0,5 1].

Нажмите кнопку ОК, чтобы создать значения параметров. Сгенерированные значения сохраняются в ParamSet переменная в области «Набор параметров» приложения. (Обратите внимание, что из-за генератора случайных чисел конкретные значения в таблице ниже могут отличаться от полученных при выполнении примера.)

Для печати набора параметров нажмите кнопку ParamSet в области Наборы параметров браузера приложения. На вкладке «Графики» выберите «Точечный график» в галерее печати. График показывает гистограмму сгенерированных параметров по диагонали и парные графики рассеяния параметров по диагонали. Каждый маркер на графике представляет одну строку ParamSet с одновременным отображением каждой строки на всех графиках рассеяния. Можно использовать вкладку Вид (View), чтобы расположить макет таблицы и печать таким образом, чтобы они были видимыми.

Оценка требований с 5% компонентами

Оцените требования для каждой строки значений параметров в таблице, чтобы проверить, удовлетворяются ли требования. На вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Выбрать для оценки (Select for Evaluation). По умолчанию для оценки выбираются все требования. Щелкните Вычислить модель (Evaluate Model), чтобы оценить UpperBound и LowerBound требования для каждой строки значений параметров в ParamSet. Обратите внимание, что вы можете ускорить оценку с помощью параллельных вычислений, если у вас есть Toolbox™ Parallel Computing, или с помощью быстрого перезапуска. Дополнительные сведения см. в разделах «Использование параллельных вычислений для анализа чувствительности» и «Использование режима быстрого перезапуска при анализе чувствительности» в документации Simulink Design Optimization™.

График рассеяния результатов, показывающий каждое требование в сравнении с каждым параметром, обновляется во время оценки модели. В конце оценки показана таблица с результатами оценки. Каждая строка в таблице результатов анализа содержит значения для R1, R2, R3, R4 и результирующие значения требований UpperBound и LowerBound. Результаты оценки хранятся в EvalResult переменная в области Результаты приложения. Можно использовать вкладку Вид, чтобы расположить макет таблицы и график так, чтобы они были видны.

Таблицу результатов анализа можно отсортировать, щелкнув заголовки столбцов в таблице. LowerBound требование по-прежнему выполняется, о чем свидетельствует тот факт, что все результаты оценки для требования ограничения сигнала являются отрицательными. Это не так для UpperBound требование, которое имеет несколько положительных значений. Выбирая строки таблицы с этими положительными значениями, можно также увидеть соответствующие точки, выделенные на графике рассеяния.

Анализ результатов анализа

Использование 5% компонентов допуска привело к нарушению UpperBound требование. Прецизионные компоненты с допуском 1% удовлетворяли бы проектным требованиям, но они более дорогостоящие, поэтому желательно использовать только столько, сколько необходимо. Статистический анализ можно использовать для определения компонентов, которые в наибольшей степени влияют на требования к конструкции.

На вкладке Статистика выберите различные виды анализа, включая методы корреляции и стандартизированной регрессии, линейный и ранжированный типы обработки. Щелкните Вычислить статистику (Compute Statistics). Результат анализа сохраняется в StatsResult в области Результаты приложения, а график торнадо показывает результаты анализа. Для каждого требования график торнадо показывает наиболее влиятельные параметры вверху, а остальные - в порядке убывания величины их влияния на требование. Для UpperBound требование, R3 и R4 имеют наибольшее влияние, поэтому мы попытаемся заменить их на компоненты с более высокой точностью 1%.

Оценка требований со смешанными компонентами

Изучение возможности использования допусков компонентов 1% только для резисторов R3 и R4. На вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Создать значения (Generate Values) и создайте значения с сеткой. Для R1 и R2, указать, что номинальное значение должно возмущаться на плюс-минус 5%. Для R3 и R4, указать, что номинальное значение должно возмущаться на плюс-минус 1%.

Щелкните Перезаписать (Overwrite), чтобы создать новые значения параметров. Для печати набора параметров нажмите кнопку ParamSet в области Наборы параметров браузера приложения. На вкладке «Графики» выберите «Точечный график» в галерее печати.

На вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Вычислить модель (Evaluate Model). Требования оцениваются для каждой строки в таблице значений параметров, а результаты сохраняются в EvalResults_1 показано в области Результаты приложения. График разброса результатов оценки и таблица результатов оценки показывают, что оба требования выполнены для всех комбинаций значений компонентов.

Анализатор чувствительности использовался для изучения влияния стандартных прецизионных компонентов на проектные требования PI-контроллера. При использовании стандартных прецизионных компонентов некоторые требования были признаны нарушенными. Статистический анализ использовался для определения того, какие параметры в наибольшей степени влияют на требования. Анализ привел к замене только двух из четырех компонентов наиболее дорогостоящими высокоточными компонентами.

Закройте модель.

bdclose('sdoMotorPosition')

Связанные темы