Тела являются основными составляющими модели мультитела. Они являются твердыми компонентами, которые вы соединяете при сборке модели, и субъектами, на которых в конечном счете действуют все силы и крутящие моменты в этой модели. Планеты и Солнце служат телами в модели Солнечной системы, например, и крылья тоже делают в модели хлопающего механизма.
Механизм хлопания как сборка тел
Если вы знакомы с моделированием CAD, можно свободно рассматривать тела как эквиваленты CAD-деталей, каждый из которых является модульным компонентом с геометрией и материалом. Подход к моделированию может отличаться - например, нет нарисованных эскизов - но, концептуально, конечный результат тот же: то, что можно соединить, ограничить, воздействовать и визуализировать.
Тело является (обычно твёрдым) набором более простых элементов тела: твердых тел с геометрией и инерцией и, реже, простых инерций (без присвоенных геометрий) и простых геометрий (без связанных инерций). Элементы тела, которые вы моделируете, и способы, которыми вы соединяете их, определяют общие атрибуты тела.
Тела с простыми формами часто требуют единого твердого тела. Те, у кого сложные формы или инерция, могут потребовать нескольких твердых частиц и случайной инерции или простой геометрии. Как и кирпичи в модульном наборе сборки, свойства различных элементов корпуса могут отличаться друг от друга. Это зависит от вас, чтобы объединить их таким образом, который производит желаемое тело.
Тело крыла как набор твердых частиц
Каждый элемент корпуса содержит одну или несколько систем координат и набор атрибутов материала. Системы координат определяют размещение элементов тела относительно друг друга и обеспечивают точки крепления для соединений и ограничений. Фактор атрибутов в динамическом поведении элементов тела и, в случае с геометрией, помогает определить их визуальный внешний вид.
Системы координат на корпусе крыла
Атрибуты твердых частиц включают инерцию и цвет. Геометрия включает автоматическое вычисление параметров инерции и, в сочетании с цветом, визуализацией. Инерция определяет количество сопротивления изменениям в движении и факторе в вычисление сил и крутящие моменты, необходимые для ускорения.
Атрибуты других элементов тела более ограничены в возможности. Инерция обычной инерции включает только инерцию с параметрами, которые в общем случае охватывают массу, центр масс, моменты инерции и продуктов инерции.
Рисунок результирующей структуры типового тела (здесь крыло) в контексте типовой модели мультитела (здесь механизм наклонного крыла). Блоки (1) мультител содержат тела (2), тела содержат элементы (3) тела - часто все твердые тела - и элементы тела содержат системы координат и любые относящиеся к ним материальные атрибуты (4).
Можно смоделировать большинство тел, используя твердые блоки и Rigid Transform блок. Твердые блоки представляют свое тезку - твердый элемент массива определенного типа. Параметры блоков устанавливают атрибуты тела, а порт системы координат, маркированный R, обеспечивает опорную систему координат для соединения с моделью. Можно создать дополнительные, пользовательские, системы координат и расположить их с помощью различных твердотельных функций.
Блок Rigid Transform представляет фиксированное пространственное соотношение между двумя системами координат. Всякий раз, когда вы добавляете Rigid Transform блок к линии связи, вы заменяете отношение совпадения, первоначально установленное этой линией, вращательным и поступательным смещением, которое вы задаете в диалоговом окне блока.
Тела редко содержат другие блоки. Те, что остаются в библиотеке Элементы - Graphic, Inertia и все в сублибрарии Переменной массы - обслуживают специальные случаи. Используйте их, например, чтобы добавить графические маркеры, настроить инерцию через компаундирование или разрешить инерцию изменяться во время симуляции.
Можно визуализировать отдельные твердые тела и полные модели. Правильный инструмент визуализации для использования зависит от того, какой из двух вы хотите визуализировать. Можно визуализировать отдельные твердые тела непосредственно через соответствующие твердые блоки. В своем диалоговом окне Твердые блоки обеспечивают панель визуализации, которая показывает геометрию, системы координат и цвет тела, которое оно представляет. Визуализация работает, даже если блок неполная или недопустимая.
Типичная твердая визуализация
Визуализировать модель и все тела в ней можно с помощью утилиты визуализации Simscape Multibody, Mechanics Explorer. Модель должна быть свободной от кинематических конфликтов, таких как из-за взаимно несовместимых соединений и ограничений. Он должен также содержать один Solver Configuration блок для каждой топологически различимой сети мультитела - каждый из групп блоков Simscape Multibody, которые соединяются без пропусков в своих линиях связи.
Mechanics Explorer открывает статическую визуализацию модели в ее начальном строении каждый раз, когда вы делаете обновление схемы (на вкладке Debug, нажмите Update Model). Начальное строение является совокупным результатом всех начальных положений и углов соединений, значения которых можно задать с помощью положений шарниров. Визуализация становится динамической, когда вы запускаете симуляцию, хотя это задача, которую вы вряд ли будете выполнять, еще моделируя тела.
Типичная визуализация модели
Для получения дополнительной информации о визуализации см. «Визуализация модели и ее компонентов».
В командной строке MATLAB введите sm_cam_flapping_wing
. Откроется модель механизма наклонного крыла. Загляните внутрь маски блока подсистемы с именем RightWing
. Это можно сделать, щелкнув стреле вниз в левом нижнем углу блока. Блоки внутри подсистемы являются типичным представлением тела.
Твердые блоки каждый представляют сечение тела крыла. Линии связи между твердыми блоками и блоками Rigid Transform, которые содержат некоторые соединительные линии, определяют пространственные зависимости, существующие между твердыми сечениями. Откройте диалоговое окно блока Cylindrical Solid с именем CrossPin
и исследовать его атрибуты:
Параметры Geometry по умолчанию развернуты. Блок Cylindrical Solid использует фигуру с соответствующими размерностями (Radius, Length), параметризованными в терминах переменного MATLAB (Rp
, Lp
). Все переменные определены численно в маске подсистемы.
Разверните параметры Inertia. Блок сконфигурирован, чтобы вычислить большую часть параметров инерции из геометрии и параметра массы (Density). Этот параметр также параметризован в терминах переменного MATLAB (rho
).
Разверните параметры Graphic. Блок использует Simple
цветовая модель с визуальными свойствами твердого тела (Color, Opacity), параметризованными в терминах переменного MATLAB (lclr
) или указывается численно (1.0
).
На панели инструментов визуализации нажмите кнопку системы координат. На панели визуализации показаны системы координат, сопоставленные с твердым телом. Это твердое тело имеет одну систему координат, локальную систему координат, которую по умолчанию имеет каждый блок твердого тела. Размещение этой системы координат относительно геометрии влияет на размещение геометрии в контексте модели.
Обновите блок. В Mechanics Explorer откроется статическая визуализация модели наклонного крыла в ее начальном строении. На панели древовидного представления (расположенной в левой части Mechanics Explorer) щелкните правой кнопкой мыши узел RightWing и выберите Show Only This
. Визуализация панели обновляться, чтобы показать только элементы тела, которые составляют выбранный компонент.
Линии прямого соединения и блоки Rigid Transform объединяют элементы тела в одно тело. Такие связи рассматриваются как внутренние к телам, к которым они относятся. Блоки соединений и ограничений в свою очередь разделяют твердые тела на различные тела. Эти блоки идентифицируют контуры тел, которые они соединяют. Это различие имеет практические последствия в моделях с Gravitational Field блоками.
Рисунок показывает уплощённый фрагмент sm_cam_flapping_wing
блок. Объединенные блоки с именем RFJ
и RWJ
отделите блоки, составляющие тело справа от соседних тел, с которыми оно соединяется (не показано).
По проекту Gravitational Field блок оказывает силу на центр масс тела. Центр масс определяется из совокупности всех блоков Элементы, которые составляют тело. Если два твердых блока соединяются через Rigid Transform блок, они принадлежат одному и тому же телу. Одна сила тяготения затем действует в центре масс этого тела.
Если, однако, блоки Cylindrical Solid соединяются через блок Revolute Joint, они принадлежат отдельным телам. Затем две гравитационные силы прикладываются к отдельным центрам масс этих тел. То же самое верно, даже если вы заменяете Revolute Joint блок на Weld Joint блок. Независимо от его типа, каждый блок соединений разделяет элементы тела, которые он соединяет, на отдельные тела.
Рисунок показывает эффект добавления блока Weld Joint к блочной сети, которая первоначально состояла из одного тела. Этот блок соединений разделяет тело на два тела, одно из которых содержит только Cylindrical Solid блок с именем WingLink
другой, содержащий оставшиеся Cylindrical Solid и Rigid Transform блоки. Gravitational Field блоки в вашей модели, если таковые имеются, в этом случае приложат силу к вычисленному центру масс каждого тела.
Блоки, которые содержат корпус, соединяются жестко и, в идеальном случае, последовательно. Результатом является древовидная структура, в которой путь между любыми двумя системами координат является уникальным. Однако технически возможно жестко соединить блоки так, чтобы они образовывали жёсткий цикл, замкнутую структуру, образованную соединением открытых концов ветви или дерева.
Твердый цикл преобразования
Жёсткие циклы преобразования запрещены в модели. Они содержат избыточные (и ненужные) жесткие соединения, и они могут привести к предотвратимым числовым ошибкам, если они включены в модель. Если ваша модель содержит жёсткую кинематическую замкнутую цепь, вы должны разорвать этот цикл, удалив его избыточные жесткие соединения. Рисунок показывает пример.
Распространенной практикой является окружение блоков, которые принадлежат телу внутри блока Simulink Subsystem. Можно сохранить полученный блок Subsystem в библиотеке Simulink для дальнейшего использования в различных моделях. Маска блока Subsystem предоставляет место, чтобы задать переменные и параметры, которые являются общими для закрытых блоков - часто некоторую длину, плотность и цвет - без загромождения рабочей области модели.
Можно смоделировать тело и преобразовать его в подсистему Simulink в любое время до его использования в модели мультитела. Например, при моделировании поршневого двигателя можно отложить работу над корпусом поршня, пока вы не будете готовы соединить поршень с корпусом двигателя или с шатуном. Однако, учитывая, что форма и размер одного тела часто зависят от размеров другого, следует, по крайней мере, рассмотреть эти атрибуты перед фокусировкой на сборке.
В командной строке MATLAB введите sm_cam_flapping_wing_lib
. Библиотека Simulink открывается с блоками подсистем, представляющими два тела, используемые в sm_cam_flapping_wing
модель. Каждый из блоков имеет порты системы координат для соединения с моделью.
Дважды кликните блок подсистемы с именем Peg
. Откроется пользовательское диалоговое окно с ключевыми параметрами, необходимыми для полного определения этого тела. Значения, заданные здесь, используются в блоках Cylindrical Solid и Rigid Transform, которые составляют блок подсистемы.
Щелкните правой кнопкой мыши блок подсистемы и выберите Mask > View Mask. Откроется Редактор маски Simulink с параметрами и кодом, относящимися к телу крыла. Параметры и связанные с ними переменный MATLAB определены на вкладке Parameters & Dialog. Код, используемый для генерации профилей крыла и спара, задан на вкладке Initialization.
Щелкните правой кнопкой мыши блок подсистемы и выберите Mask > Look Under Mask. Откроется блок, соответствующая этой подсистеме. Откройте диалоговые окна некоторых блоков и отметьте переменный MATLAB, используемые для определения многих из их параметров. Это переменные, определенные в маске подсистемы и заданные в диалоговом окне блока подсистемы.