Часто более просто задать атрибуты нескольких простых твердых частиц, чем те из одного комплексного тела. Соединение является стратегией моделирования, посредством чего можно смоделировать тело как комбинацию более простых элементов тела. Можно использовать соединение, чтобы получить сложные геометрии и инерцию, что вы не можете в противном случае (или легко) задают. Тело RightWing
в модели sm_cam_flapping_wing
, например, является продуктом этой стратегии моделирования.
Пример составного тела
Объедините три формы General Extrusion
с помощью Твердых блоков Преобразования, чтобы задать фиксированные пространственные отношения, совместно использованные твердыми ссылочными кадрами. Результатом этого примера не является просто составная стереометрия — это - составное тело. Необходимо использовать сознательно неполную модель smdoc_compound_link
, которая по умолчанию идет установкой Simscape Multibody.
Запустите путем исследования модели smdoc_compound_link
и переменных геометрии, заданных в ее рабочей области:
В подсказке команды MATLAB введите имя модели в качестве примера, smdoc_compound_link
. Модель открывается. В нем шесть несвязанных блоков — три Тела, два Твердых Преобразования и одна Настройка Решателя.
Твердые блоки представляют элементарные разделы бинарной ссылки, и Твердое Преобразование блокирует пространственные отношения между твердыми ссылочными кадрами. Блок Configuration Решателя требуется только для визуализации в Mechanics Explorer.
В панели меню Simulink выберите Tools> Model Explorer. Model Explorer является инструментом Simulink, который можно использовать, чтобы исследовать рабочее пространство модели. Все соответствующие твердые размерности, включая поперечные сечения General Extrusion
, заданы там.
В панели Model Hierarchy, расположенной слева, расширяют узел, названный в честь вашей модели, и выбирают подузел Model Workspace. Панель Model Workspace открывается справа предварительно заполненный несколькими строками кода MATLAB.
% Body Geometry Parameters l = 20; % Hole-to-hole distance w = 2; % Link width d = 1.2; % Hole diameter t = 1; % Link thickness % Main Solid Cross-section: A = linspace(-pi/2,pi/2)'; B = linspace(pi/2,-pi/2)'; csRight = [l/2+w/2*cos(A) w/2*sin(A)]; csLeft = [-l/2 w/2; -l/2 + d/2*cos(B) d/2*sin(B); -l/2 -w/2]; csMain = [csRight; csLeft]; % Hole Solid Cross-section: C = linspace(pi/2,3*pi/2)'; D = linspace(3*pi/2,pi/2)'; csHole = [w/2*cos(C) w/2*sin(C); d/2*cos(D) d/2*sin(D)];
Этот код задает [x, y] координаты поперечных сечений General Extrusion
. Поперечные сечения параметризованы с точки зрения соответствующих твердых размерностей, а именно, длина, ширина и диаметр дыры. Отметьте размерности ссылки, заданные в коде. Расстояние между дырами ссылки (переменная l
), 20 в том, что позже будет модулями cm
. Ширина ссылки (w
) равняется 2 и диаметру дыры (d
) 1.2 в тех же модулях.
Откройте каждое диалоговое окно блока Solid. Панель визуализации показывает стереометрию, выведенную частично из кода в рабочем пространстве модели, соответствуя соответствующему блоку. В разделе параметров Geometry, не установке параметра Shape. Два твердых частиц имеют формы General Extrusion
и одну форма Cylinder
.
В панели инструментов визуализации нажмите кнопку Show Frames. Панель визуализации отображает твердый ссылочный кадр. Размещение ссылочного кадра относительно стереометрии становится важным при полагании, что твердое преобразовывает это, необходимо применяться между различными твердыми ссылочными кадрами.
Завершите модель путем твердого соединения твердых частиц и определения их пространственных отношений:
Соедините Твердые блоки как показано в фигуре. Твердые ссылочные кадры, в настоящий момент только, совпадающие друг с другом.
Пропустите Твердые блоки Преобразования на строки связи как показано в фигуре. Simulink автоматически соединяет порты кадра со строками связи.
Обратите особое внимание на расположения порта — порты B должны оба стоять перед блоком Solid под названием Main
. Зеркальное отражение подключений порта изменило бы относительное размещение твердых частиц в итоговом теле.
В диалоговом окне блока Rigid Transform под названием Main-to-Hole Transform
задайте описанные ниже параметры Translation. Эти параметры описывают перевод половины бинарной длины ссылки вдоль-x оси основы (B) кадр — в этой модели, сохраненной совпадающей ссылкой (B) кадр тела под названием Main
.
Method: Standard Axis
Ось: -X
Offset: l/2
, модули cm
В диалоговом окне блока Rigid Transform под названием Main-to-Peg Transform
задайте описанные ниже параметры Translation. Эти параметры описывают перевод половины бинарной длины ссылки вперед +x-axis и перевод, равный бинарной толщине ссылки вперед +z-axis основы (B) кадр.
Method: Cartesian
Offset: [l/2 0 t]
, модули m
В панели меню Simulink выберите Simulation> Update Diagram. Mechanics Explorer открывается визуализацией двоичного файла, соединяют модель. Тело является составным — оно включает несколько твердых частиц — и может поэтому визуализироваться в целом с помощью Mechanics Explorer только. Для акцента твердые частицы показывают в различных оттенках серого.
Для примера, показывающего, как задать поперечное сечение General Extrusion
, смотрите Попытку Оно: Задайте Простое Поперечное сечение. Поперечное сечение в том примере основано на подобном, хотя не идентичный, модель бинарной ссылки. Та ссылка обработана как простое тело — один смоделированный как одно тело — ни со штепселями, ни с дырами. Однако стратегия, продемонстрированная там, применяется к другим поперечным сечениям General Extrusion
также. Для расширения того примера, показывающего, как включать дыры в поперечное сечение, смотрите Попытку Оно: Задайте Поперечное сечение с Двумя Дырами.
В то время как это чаще всего используется, чтобы представлять сложные геометрии, соединяя подачи также, чтобы представлять комплексную инерцию. В частности, можно объединить инерцию положительной массы с инерцией отрицательной массы, эффективно вычтя один от другого.
Используйте эту стратегию вычесть инерцию, сопоставленную с калибром от цилиндрического тела, первоначально смоделированного без одного. Представляйте плотные и полые области с помощью Твердых блоков. Установите цилиндрическую длину на 1 м и радиус к 0,25 м:
В подсказке команды MATLAB введите smnew
. Новое основанное на модели на шаблоне Simscape Multibody открывается. Модель содержит обычно используемые блоки и сконфигурирована с подходящими настройками решателя для моделей мультитела.
Добавьте копию блока Solid и соедините его с существующими Блоками Configuration Тела и Решателя. Строка связи кадра между блоками делает их ссылочные кадры совпадающими на пробеле. Можно удалить остающиеся блоки.
В диалоговом окне крайнего левого блока Solid, набор Geometry> параметр Shape к Cylinder
, параметр Radius к 0.25 m
и параметр Length к 1 m
. Назовите этот блок Dense
.
В диалоговом окне самого правого блока Solid, набор Geometry> параметр Shape к Cylinder
, параметр Radius к 0.20 m
и параметр Length к 1 m
. Назовите этот блок Hollow
.
Установите Inertia> параметр Density блока Hollow
к отрицанию значения, используемого в блоке Dense
: -1000 kg/m^3
. Составное тело, представленное Твердыми блоками теперь, имеет инерцию полого цилиндра с калибром 0.2 m
в радиусе.
Расширьте Inertia> узел Derived Values и нажмите кнопку Update, чтобы отобразить параметры инерции тела Hollow
. Сделайте то же самое для тела Dense
. Масса и моменты инерции имеет противоположные знаки, как ожидалось от входных параметров плотности.