Проверка механических моделей

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

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

Проверка валидности модели

Simulink® может симулировать модель Simscape Multibody, только если это допустимо. Модель допустима, если она удовлетворяет следующим правилам:

Проверка топологии модели

Чтобы избежать отказов симуляции, необходимо гарантировать, что топология блок-схемы допустима. Блок-схема топологически допустима, если каждая машина, которую она содержит, допустима. Машина допустима, если ее дерево охвата допустимо. Таким образом, чтобы определить, допустима ли ваша модель, сначала определите дерево охвата каждой машины, которую это содержит и затем валидность каждого получившегося дерева.

Топология машины и подсистемы

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

Определение дерева охвата машины

Можно думать о машине как о графике с элементами (тела) и коннекторы (соединения, ограничения и драйверы). Дерево охвата является уменьшаемым графиком с телами, соединенными только соединениями и всем сокращением замкнутых циклов однажды.

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

Например, вот машина с двумя замкнутыми циклами.

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

Определение валидности дерева охвата

Чтобы быть допустимым, дерево охвата должно удовлетворить эти требования:

  • Дерево охвата должно иметь по крайней мере один блок Ground, чтобы служить ссылкой на Мир.

  • Каждый Блок соединений должен быть соединен точно с двумя блоками Тела.

  • Каждый неназемный блок Body должен иметь уникальный путь к блоку Ground. (Это не должно быть верным для целой машины.) Это гарантирует, что, в то время как каждое тело перемещаются через соединения относительно других тел, симуляция может разрешить движения всех тел друг относительно друга в абсолютные движения относительно Мира.

  • Каждый неназемный блок Body в конце цепи Тел должен иметь ненулевую инерцию (массовый или инерционный момент) сопоставленный со всеми объединенными примитивами, которые могут переместиться. Каждая поступательная степень свободы должна нести ненулевую массу и каждую вращательную степень свободы ненулевой инерционный момент. Это предотвращает бесконечные ускорения, когда силы и крутящие моменты применяются.

Примеры недопустимой топологии машины

Следующая топология машины недопустима:

  • Машины без блоков Ground

  • Машины с разъединенными объединенными портами

  • Машины с невесомыми телами в концах открытых кинематических цепей

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

Подсчет степеней свободы модели

Идентификация и подсчет независимых степеней свободы (число степеней свободы) машины важны для обрезки и линеаризации моделей Simscape Multibody (см. Обрезающие Механические Модели и Линеаризацию Механических Моделей), и для исправления ошибок симуляции (см. Ошибки Симуляции Поиска и устранения проблем).

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

Блок Simscape Multibody Body не имеет никакого числа степеней свободы. Соединение Соединений к Телу добавляет число степеней свободы в машину. Объединенные примитивы представляют число степеней свободы Тела относительно других связанных Тел или Территории. Соединение Ограничения и Блоков драйверов к Телам или приводящим в движение движение объединенным примитивам в Соединениях удаляет число степеней свободы из машины. Заблокированный Объединенный Привод Прилипания также удаляет степень свободы.

Степени свободы в подсистемах

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

Нахождение независимых степеней свободы

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

# из независимого числа степеней свободы = # числа степеней свободы тела + # примитивного числа степеней свободы -
                                         # из ограничений движения

Выполняющий трех шагов задает каждый термин на правой стороне:

  1. Вычислите количество числа степеней свободы тела от количества Тела и Блоков соединений в вашей модели:

    # из числа степеней свободы тела = 6 * (количество Тел - количество Соединений)

    Если вы ограничили машину, чтобы переместиться только в две размерности, замените 6 3. Если вы ограничили машину, чтобы переместиться только в одну размерность, замените 6 1.

  2. Вычислите количество примитивного числа степеней свободы сложением примитивного числа степеней свободы от диалоговых окон Joint:

    • Рассчитайте один для каждого призматический (P) или вращательный (R) примитивный.

    • Рассчитайте три для каждого сферический (S) примитивный.

    • Нуль количества для каждой сварки (W) примитивный.

    Не считайте примитивную степень свободы, которая приводится в движение движением Объединенным Приводом.

  3. Вычислите количество ограничений движения сложением ограничений движения каждого Ограничения и Блока драйверов и от каждого заблокированного Объединенного Привода Прилипания. Различные блоки из библиотеки Constraints & Drivers налагают различные количества ограничений движения. Приводы прилипания применяются к отдельным объединенным примитивам.

    Ограничительный блокОграниченияБлок драйверовОграничения
    МеханизмОдин\angleОдин
    ПараллельДваРасстояниеОдин
    Точечная криваяДваЛинейныйОдин
    СкоростьОдин

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

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

Роль объединенных приводов прилипания

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

Степень свободы пример: двойной маятник

mech_dpen модель представляет плоское двойное движение маятника, приводимое в движение Объединенным Приводом.

Двойной маятник имеет два твердых тела, такие как два стержня, ограниченные, чтобы переместиться в двух измерениях. При игнорировании Объединенного Привода временно, существует два тела, два соединения и два вращательных примитива, и таким образом 3 * (2 - 2) + 2 = 2 независимых числа степеней свободы. Существует много способов представлять эти два числа степеней свободы, но эти два вращательных примитива являются самым простым путем.

Включая Объединенный Привод в степени свободы количество удаляет вращательный примитив в блоке Revolute как независимая степень свободы. Таким образом, эта модель на самом деле только имеет одну независимую степень свободы, вращательный примитив в блоке Revolute1.

Степень свободы пример: четырехзвенный механизм

Модель и Симулирует пример Машины С обратной связью, имеет четыре шарнирных соединения. Каждое шарнирное соединение обеспечивает одну степень свободы, но не все число степеней свободы независимы. Можно установить, что этот механизм обеспечивает только одну независимую степень свободы (3 * (3 - 4) + 4), и прибудьте в тот же результат, полученный в примере.

Для просмотра документации необходимо авторизоваться на сайте