Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.
Simulink® может моделировать модель Simscape Multibody, только если это допустимо. Модель допустима, если она удовлетворяет следующие правила:
Каждая машина в модели содержит по крайней мере одну Землю, и точно одна Земля в каждой машине соединяется с блоком Machine Environment. Каждая подмашина, соединенная с полной машиной блоком Shared Environment, должна иметь по крайней мере одну Землю.
Смотрите машины представления с моделями.
Каждая машина в модели топологически допустима. Смотрите Топологию Модели Проверки.
Модель содержит по крайней мере одну степень свободы. Смотрите Степени свободы Модели подсчета.
Любая машина в модели, с которой соединяют интерфейсом к схемам механического устройства Simscape, удовлетворяет и Simscape Multibody и правила моделирования Simscape. Смотрите Объединение Одного - и 3D Механические Элементы.
Чтобы избежать отказов симуляции, необходимо гарантировать, что топология блок-схемы допустима. Блок-схема топологически допустима, если каждая машина, которую она содержит, допустима. Машина допустима, если ее дерево охвата допустимо. Таким образом, чтобы определить, допустима ли ваша модель, сначала определите дерево охвата каждой машины, которую это содержит и затем валидность каждого получившегося дерева.
При исследовании топологии модели, убедиться осмотреть все ее подсистемы, включая подсистемы маскированные, вниз к нижней части иерархии подсистемы модели.
Можно думать о машине как о графике с элементами (тела) и коннекторы (соединения, ограничения и драйверы). Дерево охвата является уменьшаемым графиком с телами, соединенными только соединениями и всем сокращением замкнутых циклов однажды.
Чтобы определить дерево охвата машины, удалите все блоки от машины кроме Тела и Объединенные блоки и откройте каждый замкнутый цикл в получившейся уменьшаемой машине. Чтобы открыть замкнутый цикл, следуйте сокращающим цикл правилам в Циклах Схемы Металлорежущего станка.
Например, вот машина с двумя замкнутыми циклами.
Сокращение главного цикла в Демонтированном Призматическом и удаление блока Parallel Constraint (таким образом одновременно сокращающий нижний цикл) приводят к дереву охвата машины, как показано здесь.
Чтобы быть допустимым, дерево охвата должно удовлетворить эти требования:
Дерево охвата должно иметь по крайней мере один блок Ground, чтобы служить ссылкой на Мир.
Каждый блок Joint должен быть соединен точно с двумя блоками Тела.
Каждый неназемный блок Body должен иметь уникальный путь к блоку Ground. (Это не должно быть верным для целой машины.) Это гарантирует, что, в то время как каждое тело перемещаются через соединения относительно других тел, симуляция может разрешить движения всех тел друг относительно друга в абсолютные движения относительно Мира.
Каждый неназемный блок Body в конце цепочки Тел должен иметь ненулевую инерцию (массовый или инерционный момент) сопоставленный со всеми объединенными примитивами, которые могут переместиться. Каждая переводная степень свободы должна нести ненулевую массу и каждую вращательную степень свободы ненулевой инерционный момент. Это предотвращает бесконечные ускорения, когда силы и крутящие моменты применяются.
Следующая топология машины недопустима:
Машины без Наземных блоков
Машины с разъединенными объединенными портами
Машины с невесомыми телами в концах открытых кинематических цепочек
Последние два недопустимых примера динамически (но не топологически) эквивалентны, потому что нулевое массовое тело не является динамически никаким телом вообще.
Идентификация и подсчет независимых степеней свободы (DoFs) машины важны для обрезки и линеаризации моделей Simscape Multibody (см. Обрезающие Механические Модели и Линеаризацию Механических Моделей), и для исправления ошибок симуляции (см. Ошибки Симуляции Поиска и устранения проблем).
Ваша модель Simscape Multibody должна иметь по крайней мере одну степень свободы, чтобы быть допустимой. Свободное физическое тело имеет шесть DoFs: три переводных и три вращательных. Но в машине, связи между телами соединениями, ограничениями, и драйверами и приведением в действие движения соединением и приводами тела уменьшают независимый DoFs машины до меньшего числа. Вы также уменьшаете DoFs тела, если вы ограничиваете движение машины одной или двумя пространственными размерностями.
Блок Simscape Multibody Body не имеет никакого DoFs. Соединение Соединений к Телу добавляет DoFs в машину. Объединенные примитивы представляют DoFs Тела относительно других связанных Тел или Территории. Соединение Ограничения и Блоков драйверов к Телам или приводящим в действие движение объединенным примитивам в Соединениях удаляет DoFs из машины. Заблокированный Объединенный Привод Прилипания также удаляет степень свободы.
Когда вы исследуете свою модель, чтобы идентифицировать и считать ее DoFs, убедиться открыть и осмотреть все ее подсистемы, включая подсистемы маскированные, к нижней части иерархии подсистемы модели.
Вот формула для определения количества независимого DoFs, который имеет ваша модель:
# из независимого DoFs = # тела DoFs + # примитивного DoFs -
# из ограничений движения
Выполняющий трех шагов задает каждый термин на правой стороне:
Вычислите количество тела DoFs от количества Тела и Объединенных блоков в вашей модели:
# из тела DoFs = 6 * (количество Тел - количество Соединений)
Если вы ограничили машину, чтобы переместиться только в две размерности, замените 6 3. Если вы ограничили машину, чтобы переместиться только в одну размерность, замените 6 1.
Вычислите количество примитивного DoFs сложением примитивного DoFs от диалоговых окон Joint:
Рассчитайте один для каждого призматического (P
) или закрученный назад (R
) примитивный.
Рассчитайте три для каждого сферического (S
) примитивный.
Нуль количества для каждой сварки примитивный (W
).
Не считайте примитивную степень свободы, которая приводится в действие движением Объединенным Приводом.
Вычислите количество ограничений движения сложением ограничений движения каждого Ограничения и Блока драйверов и от каждого заблокированного Объединенного Привода Прилипания. Различные блоки от библиотеки Constraints & Drivers налагают различные количества ограничений движения. Приводы прилипания применяются к отдельным объединенным примитивам.
Ограничительный блок | Ограничения | Блок драйверов | Ограничения |
---|---|---|---|
Механизм | Один | \angle | Один |
Параллель | Два | Расстояние | Один |
Точечная кривая | Два | Линейный | Один |
Скорость | Один |
Обязательно не считайте избыточные ограничения движения. Это ограничения, которые запрещают движение объединенных примитивов, которые не могли переместиться так или иначе, даже если бы ограничение было удалено, из-за того, как соединения сконфигурированы.
Пример: тело соединяется с землей призматическим синглом. Вы помещаете ограничение на тело, которое препятствует тому, чтобы оно переместилось перпендикулярно в призматическую ось. Тело не могло переместиться в то направление, даже если бы вы удалили ограничение. Таким образом, ограничение избыточно, и вы не считали бы его как ограничение движения.
Объединенный Привод Прилипания может удалить или восстановить степень свободы во время симуляции. Это - единственный блок, который может изменить количество независимого DoFs после того, как вы начинаете моделировать. Необходимо считать дополнительное ограничение движения в период, когда приводимый в действие прилипанием примитив заблокирован. Примитивные количества как другая степень свободы, если это разблокировано.
Модель mech_dpen
представляет плоское двойное движение маятника, приводимое в действие Объединенным Приводом.
Двойной маятник имеет два твердых тела, такие как два стержня, ограниченные, чтобы переместиться в двух измерениях. При игнорировании Объединенного Привода временно, существует два тела, два соединения и два закрученных назад примитива, и таким образом 3 * (2 - 2) + 2 = 2 независимых DoFs. Существует много способов представлять эти два DoFs, но два закрученных назад примитива являются самым простым путем.
Включая Объединенный Привод в степени свободы количество удаляет закрученный назад примитив в блоке Revolute как независимая степень свободы. Таким образом, эта модель на самом деле только имеет одну независимую степень свободы, закрученный назад примитив в блоке Revolute1.
Модель и Моделирует пример Машины С обратной связью, имеет четыре шарнирных соединения. Каждое шарнирное соединение обеспечивает одну степень свободы, но не весь DoFs независимы. Можно установить, что этот механизм обеспечивает только одну независимую степень свободы (3 * (3 - 4) + 4), и прибудьте в тот же результат, полученный в примере.