Кадры тел обеспечивают точки контакта для соединений и ограничений в вашей модели. Они определяют также относительные ориентации тех соединений и ограничения, и поэтому направления движения, которые позволены во время симуляции. Чтобы успешно соединить тела через соединения и ограничения, необходимо создать подходящие кадры связи, и это - задача, которая лучше всего сделана при моделировании самих тел.
Можно добавить кадры непосредственно в твердые частицы с помощью интерфейса создания кадра блока Solid. Этот интерфейс позволяет вам задать положение и ориентацию кадра в интерактивном режиме, с точки зрения ключевых функций геометрии, таких как вершины, ребра и поверхности, или с точки зрения ключевых функций инерции, таких как центр массы и основные оси инерции. Кадры, которые вы создаете, известны пользовательскими и появляются как порты кадра на блоке Solid, которому они принадлежат. Данные показывают, что блок Solid с двумя пользовательскими портами кадра маркировал F1 и F2.
Можно также создать кадры с помощью блока Rigid Transform. Этот блок позволяет вам задать положение и ориентацию кадра численно, с точки зрения вращения, и перевод преобразовывает. Можно использовать множество параметризации преобразования, включая матрицы вращения и последовательности вращения в случае вращения преобразовывает, и Декартовы и цилиндрические координаты смещения в случае перевода преобразовывают. Данные показывают новый кадр (F) созданное использование блока Rigid Transform от существующего твердого кадра.
Кадры, что вы создаете использующие Твердые блоки Преобразования, независимы от любых определенных твердых функций. Можно разместить их куда угодно относительно другого кадра, пока можно определить преобразование, требуемое получить то размещение. При размещении блока Rigid Transform между двумя портами кадра можно более точно думать о блоке как средние значения, чтобы сместить кадры, которые уже существуют. Данные показывают смещение, заданное через блок Rigid Transform, помещенный между двумя существующими кадрами.
Для получения дополнительной информации о кадрах и преобразовывает, смотрите Работу с Кадрами.
В подсказке команды MATLAB введите sm_cam_flapping_wing
. Модель колеблющегося механизма крыла открывается. Посмотрите в маске подсистемы тела под названием RightWing
. Обратите внимание на то, что два из Твердых блоков, Peg
и WingLink
, у каждого есть два порта кадра. Один из портов идентифицирует, что пользовательский кадр создал использование блока Solid. Исследуйте один из пользовательских кадров:
Откройте диалоговое окно блока Solid под названием Peg
.
В панели инструментов визуализации нажмите кнопку кадра. Панель визуализации обновляет, чтобы показать ссылочные и пользовательские кадры тела.
В разделе Properties диалогового окна расширьте узел Frames и нажмите кнопку Edit. Интерфейс создания кадра открывается текущим определением кадра:
Источник кадра был помещен в центр нижней поверхности цилиндра.
Оси кадра оставили в выравнивании с теми из кадра локальной ссылки.
Имя кадра совпадает с меткой соответствующего порта кадра (B).
Обратите внимание также, что строки связи кадра между некоторыми Твердыми блоками содержат Твердые блоки Преобразования, названные CPXform
и WingXForm
. Эти блоки задают вращательные и переводные смещения между твердыми кадрами, которые они соединяют. Исследуйте преобразования, заданные в одном из блоков:
Откройте диалоговое окно блока Rigid Transform под названием WingXForm
. Обратите внимание на то, что вращение преобразовывает, установлен путем выравнивания двух осей кадра последователя относительно двух осей опорной рамы.
Расширьте параметры Translation. Обратите внимание на то, что переводное смещение задано вдоль оси (опорной рамы). Переводное смещение параметризовано с точки зрения переменной MATLAB, Ow
, значение которого вы задаете в блоке подсистемы WingLink
.
Обновите блок-схему. Mechanics Explorer открывается статической визуализацией колеблющейся модели крыла. В области просмотра в виде дерева расширьте узел RightWing
и кликните по узлу WingXForm
, чтобы подсветить кадры, принадлежащие блоку Rigid Transform.
Необходимо рассмотреть цель кадра связи — определенного соединения или ограничения — при определении его размещения на теле. Соединения и ограничения часто налагают специальные требования блока к кадрам, чтобы они соединились. Эти требования влияют на соответствующее размещение кадра связи. Можно найти их на странице с описанием ограничительного блока или соединения.
Если цель является соединением, примите во внимание его степени свободы — типы движения, позволенного между объединенными кадрами связи — и осей кадра, которым они соответствуют. Например, блок Revolute Joint обеспечивает одну вращательную степень свободы об общем z - ось кадров связи на телах последователя и основе.
Чтобы соединить два тела через блок Revolute Joint, необходимо затем поместить их объединенные кадры связи так, чтобы их z - оси каждый выровнялся с желаемой осью вращения на соответствующем теле. Данные показывают пример: тела Housing
и RightWing
модели sm_cam_flapping_wing
со связью структурируют правильно расположенный для блока Revolute Joint.
Если цель кадра связи является ограничением, таким как та характеристика механизмов в mesh, примите во внимание размещения кадра связи, требуемые для блока. Например, блок Common Gear Constraint требует, чтобы кадры связи на основе и телах последователя были независимо расстоянием, равным сумме их радиусов подачи, когда запутывающий тип установлен в External
. Это требует также, чтобы z - оси были параллельны, и что x - и y - оси одной быть компланарными с теми из другого.
Требования блока ограничительных блоков задают, как остаток от модели должен содержать кадры связи, частично через определения тела и частично через другие соединения и ограничения, для ограничения, чтобы применяться без ошибки. Чтобы видеть, как поместить кадры связи в корпуса механизма для блока через ограничительные блоки механизма, смотрите, Собирают Модель Механизма.
Модели с обратной связью, такие как те с четырьмя панелями и механизмы ползунка заводной рукоятки, ограничиваются в положениях и ориентациях, которые могут взять их составляющие тела. Если размещение кадра связи представляет соединение или ограничение, несовместимое с кем-либо другим в цикле — то есть, успешно соединяясь каждый требует, чтобы другой пропуск — затем блок перестал работать.
Дело обстоит так в плоском механизме с четырьмя панелями, например, когда расстояние между кадрами связи на любой ссылке превышает сумму эквивалентных расстояний в остающихся ссылках — или когда ориентации кадров связи обеспечивают оси вращения соединений во что-либо кроме параллельного выравнивания.
Можно предотвратить много ошибок блока путем тщательного определения кадров связи на теле с его будущими связями в памяти. Считайте и требования блока характерными для соединения или ограничительного блока и кинематические ограничения наложенный остатком от модели. В целом, если вы сталкиваетесь с отказом блока, вы должны:
Идентифицируйте несобранное соединение или ограничение. Используйте Отчет Модели Simscape Multibody (Tools> Model Report в панели меню Mechanics Explorer) или Средство просмотра Переменной Simscape (Analysis> Simscape> Variable Viewer в панели меню Simulink).
Исследуйте соответствующие кадры связи. Используйте Mechanics Explorer, чтобы визуализировать эти кадры. Кликните по имени несобранного соединения или ограничения в области просмотра в виде дерева, чтобы подсветить ее кадры в панели визуализации. Сравните размещение тех кадров к требованиям блока соединения или ограничения.
Преобразуйте кадры связи, чтобы удовлетворить соединение или ограничительные требования блока. Можно использовать блок Rigid Transform, чтобы применить необходимое вращение, и перевод преобразовывает. Если кадр связи является пользовательским кадром, принадлежащим блоку Solid, можно использовать тот блок вместо этого, чтобы отредактировать определение кадра.
Для примера, показывающего, как разрешить отказ блока, вызванный неправильно помещенным кадром связи, смотрите Поиск и устранение неисправностей Ошибка блока.