В этом примере показано, как использовать Simulink® Design Optimization™, чтобы оценить несколько параметров модели по выполненным с помощью итераций оценкам.
Этот пример требует программного обеспечения Simscape™ Multibody™.
Модель Simulink® для инвертированного маятника, spe_mech_invpend
, показан ниже.
Система маятника имеет руку, которая качается в горизонтальной плоскости, управляемой двигателем постоянного тока. Цель руки состоит в том, чтобы предоставить балансирующийся крутящий момент качающемуся маятнику, чтобы сохранить маятник в вертикальном положении. Угол и руки и маятника проверяется и используется в качестве обратной связи, чтобы управлять движением системы. Для этого примера мы только сконцентрируемся на оценке параметров неконтролируемой системы, показанной ниже.
Система моделируется с помощью Simscape Multibody. Существует два тела, смоделированные в этой системе. Машина состоит из одного тела, представляющего вращательную руку и другое представление маятника. Тела соединяются шарнирными соединениями, которые ограничивают движение тел друг относительно друга. Входное напряжение поставляется двигателю постоянного тока, который предоставляет крутящий момент вращательной руке.
Двигатель моделируется как усиление крутящего момента Kt
. Рука маятника имеет массовый Ma
, инерция Jb
и длина r
. Маятник имеет длину lp
и массовый mp
. Для этого примера затухание моделируется в шарнирных соединениях с помощью усилений Kda
и Kdp
. Выходные параметры системы являются углами руки и маятника.
Для этого примера мы запустим две оценки с помощью различных наборов параметров для каждой оценки. Это позволяет нам настраивать нашу оценку и может привести к более эффективному решению.
Дважды кликните оранжевый блок в левом верхнем углу инвертированной модели маятника, чтобы запустить Parameter Estimator, предварительно загруженный с данными для этого проекта. Это сконфигурировано с измеренными данными об эксперименте Estimation
. Для другого использования можно импортировать наборы экспериментальных данных из различных источников включая переменные MATLAB®, файлы MAT, файлы Excel®, или файлы "запятая разделили значение". Это также сконфигурировано с данными о валидации Validation
который мы будем использовать позже после оценки. Результаты измерений в Estimation
показан в графике эксперимента. Существует только один набор данных, используемый для оценки этот пример.
График эксперимента также используется, чтобы видеть, как хорошо результаты измерений совпадают с текущей моделью. Нажмите Plot Model Response во вкладке Parameter Estimation, чтобы отобразить симулированные данные сигнала на графиках эксперимента. Симуляция не совпадает с результатами измерений, показывая, что параметры модели должны быть оценены.
Следующий шаг должен задать переменные для оценки. Это устанавливает, какие параметры симуляции могут быть настроены, и любые правила, управляющие их значениями. Нажмите Select Parameters во вкладке Parameter Estimation. Для нашего инвертированного примера маятника мы уже выбрали параметр усиления крутящего момента, Kt
, для оценки. Поскольку мы знаем от нашего физического понимания, что этот параметр не может быть отрицательным, мы обнуляем его нижний предел.
Параметрами для заданной оценки мы выбираем эксперименты, чтобы использовать для оценки. Нажмите Select Experiments во вкладке Parameter Estimation и выберите эксперимент под названием Estimation
для оценки.
Мы теперь готовы запустить нашу оценку. Нажмите Estimate во вкладке Parameter Estimation, чтобы запустить оценку. Оценка продолжит выполнять итерации значения параметров, пока оценка не будет сходиться и будет завершать работу.
График ниже показов экспериментальные данные наложен с симулированными данными. Симулированные данные прибывают из модели предполагаемым параметром Kt
. Результаты оценки показывают, что первый выход (положение руки) соответствия, однако мы видим, что второй выход (положение маятника) не показывает очень удовлетворительные результаты. Ясно, что дополнительная оценка необходима, чтобы получить лучшие результаты.
На этот раз мы оставим усиление крутящего момента, Kt
, постоянный и оценка другие параметры модели. Нажмите Select Parameters во вкладке Parameter Estimation. Снимите флажок с Kt
, и проверяйте другие параметры как показано ниже.
Нажмите Estimate, чтобы запустить новую оценку. Результаты второй оценки показывают ниже.
Это - ясно лучший результат. Это показывает что для того, чтобы выполнить задачу оценки, не необходимо оценить все параметры в модели одновременно. Мы можем запустить несколько оценок, сохраняющих некоторые параметры, постоянные в то время как различные другие.
Важно подтвердить результаты против других наборов данных. Успешная оценка будет не только совпадать с экспериментальными данными, который использовался для оценки, но также и других наборов данных, которые были собраны в экспериментах. Эксперимент под названием Validation
был уже создан для этого проекта. Нажмите Add Plot во вкладке Parameter Estimation и выберите Validation
просмотреть данные.
Нажмите Plot Model Response, чтобы видеть симуляцию выход, наложенный на данных. Рисунок ниже показывает, как инвертированная система маятника отвечает на входные данные валидации. Валидация показывает, что эта модель действительно обрабатывает более низкие частоты данных о контроле ввода хорошо, и параметры модели были успешно оценены.
Этот пример проявляет гибкость Оценки Параметра для сегментации задачи оценки в несколько оценок. Это позволяет, чтобы оценки были запущены на различных наборах параметров, которые могут помочь в скорости оценки данной модели.
Закройте модель.