Конфигурирование методов решения

Предупреждение

Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.

О механических и математических настройках

В этом разделе вы выбираете и конфигурируете настройки, необходимые, чтобы моделировать механическое движение с моделью Simscape Multibody.

Чтобы получить лучшее понимание того, как программное обеспечение Simscape Multibody решает для механического движения, смотрите Как работы Simscape Multibody Software и Улучшающая Производительность.

Определение силы тяжести

Самым основным аспектом среды машины является гравитационное ускорение, которое он испытывает. Вы управляете силой тяжести машины во вкладке Parameters его диалогового окна Среды Машины.

Установка постоянного гравитационного ускорения

Универсальное поле силы тяжести применяется к движению каждой машины. Значением по умолчанию является постоянный вектор [0 -9.81 0] с модулями meters/seconds2 и x - y - и z - компоненты, соответственно.

Можно изменить это значение на различный постоянный вектор путем изменения записи в поле Gravity vector вкладки Parameters. Можно изменить модули при помощи модульного выпадающего меню.

Представление силы тяжести как внешний Simulink Signal

В дополнение к постоянной силе тяжести можно применить изменяющийся во времени, пространственно универсальный, вектор силы тяжести через сигнал Simulink®. Вы включаете эту опцию путем установки флажка Input gravity as signal во вкладке Parameters.

Если вы делаете этот выбор, блок Machine Environment получает импорт Simulink, чтобы принять этот Сигнал Simulink. Сигнал должен быть трехкомпонентным вектором. Можно все еще изменить модули через выпадающее меню.

Выбор размерности машины

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

Можно заменить это значение по умолчанию путем требования симуляции в или трех или двух размерностях. Вы выбираете размерность симуляции машины в выпадающем меню Machine dimensionality вкладки Parameters диалогового окна Среды Машины. При попытке моделировать 3D машину в двух измерениях, симуляция останавливается с ошибкой.

Требования для двумерной симуляции

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

  • Призматические примитивы должны задать набор параллельных плоскостей.

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

Корпуса двумерной машины не должны все лежать в одной плоскости, но они должны скользить и вращаться только в параллельных плоскостях.

Код, сгенерированный из двумерных моделей

Код, сгенерированный от симуляций, ограниченных двумерным движением, также ограничивается двумерным движением. Смотрите Ограничения на Двумерную Симуляцию.

Блоки, которые требуют 3D симуляции

Библиотека Simscape Multibody содержит определенные блоки, которые, если вы используете их в машине, требуют, чтобы вы моделировали в трех измерениях.

  • Любой блок Joint больше чем с двумя призматическими примитивами, больше чем одним закрученным назад примитивом, или любыми сферическими примитивами

  • Демонтированные соединения

  • Невесомые коннекторы

Выбор аналитического режима

Можно анализировать движение в модели Simscape Multibody с этими аналитическими типами.

Результат анализаАналитический тип
Движение, которое следует из того, чтобы прикладывать силыПередайте динамику
Установившееся движениеОбрезка
Эффект небольшого беспокойства движенияЛинеаризация
Силы потребовали, чтобы произвести заданное движениеОбратная динамика

Вкладка Parameters диалогового окна Среды Машины позволяет вам выбирать аналитический режим, в котором вы хотите моделировать. Вы делаете этот выбор с помощью выпадающего меню Analysis mode. В случае линеаризации используйте вкладку Linearization, чтобы установить размер небольших возмущений.

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

Аналитический типАналитический режимОписание
Передайте динамикуПередайте динамикуВычисляет положения и скорости тел системы на каждом временном шаге, учитывая исходные положения и скорости его тел, и любые силы обратились к системе.
ЛинеаризацияПередайте динамикуВычисляет эффект небольших возмущений на системном движении посредством команды linmod Simulink.
ОбрезкаОбрезкаПозволяет команде trim Simulink вычислить установившиеся решения системного движения.
Обратная динамика (разомкнутый цикл)Обратная динамикаВычисляет силы, требуемые произвести заданную скорость для каждого тела системы разомкнутого цикла.
Обратная динамика (с обратной связью)КинематикаВычисляет силы, требуемые произвести заданную скорость для каждого корпуса машины с обратной связью.

Передайте режим динамики

Используйте этот режим, чтобы моделировать модель, которая представляет исходные положения и скорости тел системы и сил на тех телах.

Запустите эти примеры в режиме Forward Dynamics:

Обрезка режима

Используйте этот режим, чтобы позволить вам запускать команду trim Simulink на своей модели. Команда trim позволяет вам находить установившиеся решения для своей модели.

Режим Trimming вставляет подсистему и выходной порт в верхнем уровне вашей модели. Эти выходные сигналы блоков, соответствующие ограничениям на систему, представлены вашей моделью. Сконфигурируйте команду trim, чтобы найти точки равновесия, где ограничительные сигналы являются нулем. Это гарантирует, что точки равновесия, найденные командой trim, удовлетворяют ограничения на смоделированную систему.

См. Обрезающие Механические Модели для примеров использования этого режима, чтобы найти точки равновесия механической системы.

Линеаризовать движение машины

Можно определить эффект небольших возмущений на системном движении путем линеаризации машины. Чтобы линеаризовать, установите аналитический режим Передавать Динамику и запускать команду linmod Simulink на вашей модели.

Можно зафиксировать размер возмущения или позволить симуляции найти оптимальное возмущение для вас. Введите эти настройки во вкладку Linearization диалогового окна Среды Машины.

См. Линеаризующие Механические Модели для примеров использования этого режима, чтобы найти эффект небольших возмущений на механическом движении.

Обратный режим динамики

Используйте этот режим, чтобы моделировать систему разомкнутого цикла, модель которой задает скорость каждой степени свободы каждого тела на каждом временном шаге.

Смотрите Обратный Режим Динамики с Двойным Маятником для примера использования этого режима, чтобы найти силы в системе разомкнутого цикла.

Режим кинематики

Используйте этот режим, чтобы моделировать машину с обратной связью, модель которой задает скорость каждой независимой степени свободы на каждом временном шаге. tolerancing ограничительный решатель рекомендуется в этом режиме. (См. Ограничения Поддержания.)

Смотрите Режим Кинематики с Четырьмя Машинами Панели для примера использования этого режима, чтобы найти силы на машине с обратной связью.

Иерархия решателей и допусков

Симуляция вашей модели Simscape Multibody является совместным усилием между программным обеспечением Simscape Multibody и Simulink. Симуляция Simscape Multibody интерпретирует чисто механические аспекты вашей машины посредством блока машины и ограничительного решателя. Simulink управляет чисто математическими аспектами симуляции через ваш выбранный решатель Simulink. Вместе, они пытаются согласовать ваш выбор допусков решателя и решателя Simulink, ограничительного решателя и допусков решателя и допусков блока в этой динамической иерархии:

Управление блоком машины

Линейные и угловые допуски блока задают точность с который

  • Модель должна задать начальные местоположения и углы соединений машины.

  • Симуляция должна решить исходные положения и углы несобранных соединений машины.

Вкладка Parameters диалогового окна Среды Машины машины позволяет вам изменять допуски блока по умолчанию в полях Linear assembly tolerance и Angular assembly tolerance. Можно также настроить линейные и угловые модули в соответствующих выпадающих меню.

Для больше о допусках блока и блока машины, смотрите, что разделы Моделируют Степени свободы и Моделируют Демонтированные Соединения.

Как работа допусков блока

Симуляция Simscape Multibody проверяет местоположения и углы собранных соединений машины, когда она инициализирует модель и позже в симуляции. Если какому-либо из объединенных местоположений или углов не удается соответствовать соответствующим допускам блока, Simulink останавливает симуляцию и отображает сообщение об ошибке. Если это происходит, необходимо проверять машину, чтобы гарантировать, что она задает местоположения и углы ее собранных соединений к точности, заданной во вкладке Parameters. В противном случае или измените местоположения и углы, которым не удается соответствовать допускам блока или увеличить сами допуски.

Допуски блока могут также быть нарушены в ходе симуляции недостаточно точным ограничением и решателями движения. Смотрите Ограничения Поддержания и Конфигурирование Решателя Simulink.

Поддержание ограничений

Если ваша модель содержит неявные или явные ограничения на движение машины, симуляция Simscape Multibody использует ограничительный решатель, чтобы найти решение для движения, которое удовлетворяет те ограничения.

В этом разделе описывается ограничительные решатели работают и что необходимо решить сделать надлежащим использованием из них. Этот ограничительный выбор и настройки для машины найдены на вкладке Constraints его диалогового окна Среды Машины.

Симуляция налагает ограничения, когда она инициализирует модель, затем более поздние проверки, если ограничения остаются удовлетворенными во время симуляции. Если какой-либо из степеней свободы (DoFs) не удается удовлетворить допуски ограничения, Simulink останавливает симуляцию и отображает сообщение об ошибке. Если это происходит, необходимо или переключиться на более свободный ограничительный решатель или увеличить допуски ограничения (если вы имеете ручной контроль над допуском ограничения).

Ограничения могут также быть нарушены в ходе симуляции недостаточно точным решателем Simulink. Смотрите Конфигурирование Решателя Simulink.

Источники механических ограничений

Потребность наложить ограничения на движение машины возникает двумя способами, явными или неявными. В любом случае движение ограничивается подпространством DoFs.

  • Наложение независимого от времени или зависящего от времени механического ограничения на DoFs системы. Это требует, чтобы вы вставили Ограничение или Блок драйверов, который ограничивает движение, представленное Соединением.

  • Сокращение замкнутых циклов в блок-схеме Simscape Multibody. Каждый замкнутый цикл сокращается в одном Соединении, Ограничении или Блоке драйверов. Симуляция внутренне заменяет блок сокращения на неявное ограничение, эквивалентное исходному замкнутому циклу.

Отмечание Автоматически Соединений Сокращения.  Установка флажка Mark automatically cut joints в узле Simscape Multibody 1G диалогового окна Параметров конфигурации вашей модели заставляет Simulink отмечать значки любых Объединенных блоков в замкнутых циклах, которые это сокращает во время симуляции модели. По умолчанию флажок не устанавливается.

Сократите соединение X Марк

Проектирование движения на ограничительном коллекторе

Пробел движения, позволенного DoFs ограничениями или разнообразному K ограничения, является подпространством полного пробела Q DoFs. (Q включает обе координаты и их скорости.) Симуляция Simscape Multibody инициализирует вашу модель путем проектирования начального состояния ее машин на K. Во время симуляции ограничения гарантируют, что движение остается на K, и Simulink решает для движения только в ограниченном подпространстве.

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

Ограничительный коллектор как подпространство DoFs

Идентификация и устранение избыточных ограничений

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

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

  • Можно включить предупреждению указать, изменяет ли небольшое возмущение к образцовому начальному состоянию количество ограничений.

  • Можно включить предупреждению указать, подвергается ли модель избыточным ограничениям, конфликтуют ли они или нет.

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

Смотрите Диагностику Симуляции Simscape Multibody Конфигурирования и вкладку Constraints блока Machine Environment.

Сравнение и выбор ограничительных решателей

Каждый ограничительный решатель имеет преимущества и недостатки относительно других согласно основному компромиссу точности и скорости.

Ограничительный решательДопускВычислительная стоимостьТочностьСкорость симуляции
СтабилизацияДинамический аттракторСамый низкийСамый низкийСамый быстрый
TolerancingОткрытый для вашего управленияПромежуточное звеноПромежуточное звеноПромежуточное звено
Точность машиныДопуск ~ epsСамый высокийСамый высокийСамый медленный

Стабилизация ограничительного решателя

Этот решатель добавляет самокорректирующийся термин в уравнения движения, которое стабилизирует решение, заставляя его развиться к, вместо того, чтобы дрейфовать далеко от, ограничение множат K. Это наименее точно из ограничительных решателей.

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

Ограничительный решатель Tolerancing

Этот решатель находит движение системы при наложении ограничений к допуску, который вы задаете. А именно, решатель прекращает совершенствовать решение, когда различие между двумя последовательными решениями удовлетворяет условие

|error | <макс. (|rtol * x |, atol)

где ошибка является различием между последовательными решениями, rtol является относительным допуском ограничения, x является движением, которое будет решено, и атолл является абсолютным допуском ограничения.

Используйте этот решатель, вы планируете запустить симуляцию в режиме Kinematics. Это более точно, чем стабилизировавшийся решатель, но менее точно, чем решатель точности машины с вычислительной стоимостью между двумя.

Установка Допусков ограничения.  Если вы используете tolerancing решатель, допуски ограничения, сохраняемые во время симуляции, находятся под вашим контролем. Можно просмотреть и изменить допуски ограничения во вкладке Constraints диалогового окна Среды Машины.

Ограничительный решатель машины точности

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

Конфигурирование решателя Simulink

Модель Simscape Multibody использует один из решателей для обыкновенных дифференциальных уравнений (ОДУ) Simulink, чтобы решить уравнения системы движения, обычно в тандеме с ограничительным решателем (см. Ограничения Поддержания).

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

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

  • Можно также использовать решатель фиксированного шага, точностью которого управляют путем установки временного шага.

Смотрите Улучшающую Производительность для получения дальнейшей информации на переменной - по сравнению с решателями фиксированного шага.

Установка допусков решателя Simulink

По умолчанию Simulink автоматически определяет абсолютный допуск, используемый решателями ОДУ. Получившийся допуск не может быть достаточно маленьким для механической системы, особенно нелинейная или хаотическая система. Попытайтесь запустить симуляцию с относительным набором допуска к 1e-3 (значение по умолчанию) и абсолютным набором допуска к 1e-4. Затем увеличьте допуски, если симуляция занимает слишком много времени, или уменьшите их, если решение не достаточно точно.

Допуски решателя и прилипание

Если ваша модель содержит один или несколько Объединенных блоков Привода Прилипания, необходимо также учесть скоростные пороги этих блоков при установке абсолютного допуска решателя ОДУ. Если абсолютный допуск решателя больше, чем скоростной порог соединения, симуляция никогда не может обнаруживать блокировку или разблокирование соединения. Чтобы предотвратить это, установите абсолютный допуск быть не больше, чем 10% размера самого маленького скоростного порога прилипания в вашей модели.

Предотвращение отказов симуляции

Можно ожидать и избежать многих типов отказа симуляции следующими корректировками. Вы делаете их в подузле Simscape Multibody 1G диалогового окна Параметров конфигурации вашей модели и вкладке Constraints диалогового окна Среды Машины машины.

Смотрите Как работы Simscape Multibody Software и Ошибки Симуляции Поиска и устранения проблем для получения дополнительной информации об идентификации и восстановлении с ошибок симуляции. Смотрите Ограничения Поддержания для больше об ограничениях.

Конфигурирование диагностики симуляции Simscape Multibody

Определенная диагностика Simscape Multibody помогает вам понять и, при необходимости, диагностировать проблемы симуляции. Можно настроить эту диагностику в области Diagnostics узла Simscape Multibody 1G.

Предупреждение на Избыточных Ограничениях.  Выбор флажка Warn if machine contains redundant constraints инициировал предупреждение, если существует больше ограничений, чем необходимый в вашей модели. Эта ситуация отдельно не вызывает ошибки симуляции. Но в определенных настройках, слишком много ограничений могут привести к конфликтам и таким образом к ошибкам в ходе симуляции.

По умолчанию флажок устанавливается.

Предупреждение на Нестабильных Ограничениях в начальном состоянии.  Выбор флажка Warn if number of initial constraints is unstable инициировал предупреждение, если небольшие изменения в начальном состоянии вашей модели приводят к изменениям в количестве ограничений. В определенных настройках эта нестабильность может привести к лишь немногим или слишком многим (конфликтным) ограничениям на вашу систему и препятствовать тому, чтобы симуляция нашла решение для движения.

По умолчанию флажок не устанавливается.

Обработка особенностей движения

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

Можно облегчить эти особенности движения путем выбора Use robust singularity handling на вкладке Constraints диалогового окна Среды Машины. Эта опция требует дополнительного вычисления, существуют ли особенности. Выберите его, только если вы не можете найти решатель Simulink, который решает вашу модель за разумное количество времени без него.

Смотрите Ограничения Поддержания и Конфигурирование Решателя Simulink для большего количества обсуждения особенностей движения и их отношения к решателям Simulink.