Часто проще задать атрибуты нескольких простых твердых частиц, чем атрибуты одного сложного тела. Компаундирование является стратегией моделирования, в которой можно смоделировать тело как комбинацию более простых элементов тела. Можно использовать компаундирование, чтобы получить сложные геометрии и инерцию, которые вы не можете иначе (или легко) задать. The RightWing
тело в sm_cam_flapping_wing
модель, для примера, является продуктом этой стратегии моделирования.
Пример составного тела
Объедините три общие формы Extruded Solid, используя блоки Rigid Transform, чтобы задать фиксированные пространственные отношения, общие для твердотельных систем координат. Результатом этого примера является не просто составная стереометрия - это составное тело. Необходимо использовать заведомо неполную модель smdoc_compound_link
по умолчанию поставляется с установкой Simscape Multibody.
Начните с исследования smdoc_compound_link
модель и переменные геометрии, заданные в ее рабочей области:
В командной строке MATLAB введите имя модели в качестве примера smdoc_compound_link
. Откроется модель. В нем находятся шесть несвязных блоков - три твердых блока, два Rigid Transform и один Solver Configuration.
Твердые блоки представляют элементарные разделы двоичной ссылки, а Rigid Transform блокирует пространственные отношения между твердыми опорными системами координат. Блок Solver Configuration необходим только для визуализации в Mechanics Explorer.
На вкладке Modeling нажмите Model Explorer. Model Explorer является инструментом Simulink, который можно использовать, чтобы исследовать рабочее пространство модели. Здесь заданы все соответствующие размеры твердого тела, включая общие Extruded Solid поперечные сечения.
На панели 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 Extruded Solid. Поперечные сечения параметризованы с точки зрения соответствующих размеров твердого тела, а именно длины, ширины и диаметра отверстия. Обратите внимание на размерности ссылки, указанные в коде. Расстояние между отверстиями ссылки (переменное l
), это 20 штук, которые позже будут модулями cm
. Ширина ссылки (w
) равен 2, и диаметр отверстия (d
) 1.2 в тех же модулях.
Откройте каждое твердое диалоговое окно блока. На панели визуализации показана стереометрия, частично выведенная из кода в рабочем пространстве модели, соответствующем аналогичному блоку. Два твердых тела являются блоками общего Extruded Solid, а один - блоком Cylindrical Solid.
На панели визуализации панели инструментов нажмите Toggle visibility of frames кнопка. На панели визуализации отображается твердотельная система координат. Размещение опорной системы координат относительно стереометрию становится важным при рассмотрении твердых преобразований, которые вы должны применить между различными твердыми системами координат.
Завершите модель, жестко соединяя твердые тела и задавая их пространственные зависимости:
Соедините твердые блоки как показано на рисунке. Твердые опорные системы координат, только в данный момент, совпадают друг с другом.
Перетащите блоки Rigid Transform на соединительные линии, как показано на рисунке. Simulink автоматически соединяет порты системы координат с соединительными линиями.
Обратите особое внимание на позиции портов - оба порта B должны быть обращены к блоку Extruded Solid с именем Main
. Разворот соединений портов изменит относительное размещение твердых частиц в конечном теле.
В диалоговом окне блока Rigid Transform с именем Main-to-Hole Transform
, задайте параметры Translation, перечисленные ниже. Эти параметры описывают перемещение половины длины двоичной ссылки вдоль оси - x базовой (B) системы координат - в этой модели совпадает с опорной (B) системой координат твердого тела с именем Main
.
Method: Standard Axis
Axis: -X
Offset: l/2
, модулей cm
В диалоговом окне блока Rigid Transform с именем Main-to-Peg Transform
, задайте параметры Translation, перечисленные ниже. Эти параметры описывают перемещение половины длины двоичной ссылки вдоль оси + x -и перемещение, равное толщине двоичной ссылки вдоль + z -оси базовой (B) системы координат.
Method: Cartesian
Offset: [l/2 0 t]
, модулей m
На вкладке Modeling выберите Update Model. Mechanics Explorer откроется визуализацией двухкомпонентной модели ссылки. Тело составное - оно состоит из нескольких твердых частиц - и поэтому может быть визуализировано полностью, используя только Mechanics Explorer. Для акцента твердые тела показаны в разных оттенках серого цвета.
Пример, показывающий, как задать сечение General Extruded Solid, см. в разделе «Попробовать: Задать простое сечение». Поперечное сечение в этом примере основано на аналогичной, хотя и не идентичной, модели двоичной ссылки. Эта ссылка рассматривается как простое тело - смоделированное как одно твердое тело - не имеющее ни колышков, ни отверстий. Однако показанная там стратегия применима и к другим сечениям Генеральной Extruded Solid. Продолжение этого примера, показывающее включение отверстий в сечение, см. в разделе «Попробуйте: задайте сечение с двумя отверстиями».
В то время как он чаще всего используется для представления сложных геометрий, компаундирование также служит для представления сложных инерций. В частности, можно объединить инерцию положительной массы с инерцией отрицательной массы, эффективно вычитая одно из другого.
Используйте эту стратегию, чтобы вычесть инерцию, связанную с отверстием, из цилиндрического твердого тела, первоначально смоделированного без него. Представьте плотные и пустые области, используя блоки Cylindrical Solid. Установите длину цилиндра равную 1 м, а радиус равным 0,25 м:
В командной строке MATLAB введите smnew
. Откроется новая модель, основанная на шаблоне Simscape Multibody. Модель содержит обычно используемые блоки и сконфигурирована с подходящими настройками решателя для моделей мультитела.
Добавьте два блока Cylindrical Solid и соедините их с блоками Solver Configuration. Линии связи между блоками делают их опорные системы координат совпадающими в пространстве. Можно удалить оставшиеся блоки.
В диалоговом окне крайнего левого Cylindrical Solid блока установите параметр Radius равным 0.25 m
, и параметр Length для 1 m
. Назовите этот блок Dense
.
В диалоговом окне крайнего правого Cylindrical Solid блока установите параметр Radius равным 0.20 m
, и параметр Length для 1 m
. Назовите этот блок Hollow
.
Установите параметр Inertia > Density Hollow
блок к отрицательному значению, используемому в Dense
блок: -1000 kg/m^3
. Составное тело, представленное блоками Cylindrical Solid, теперь имеет инерцию полого цилиндра с отверстием 0.2 m
в радиусе.
Разверните узел Inertia > Derived Values и нажмите кнопку Update, чтобы отобразить параметры инерции Hollow
твердое тело. Сделайте то же самое для Dense
твердое тело. Масса и моменты инерции имеют противоположные знаки, как и ожидалось с входы плотности.