Моделирование степеней свободы

Предупреждение

Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.

О соединениях

Соединение Simscape Multibody представляет степени свободы (DoF), которые одно тело (последователь) имеет относительно другого тела (основа). Основное тело может быть подвижным твердым телом или землей. В отличие от физического соединения, соединение Simscape Multibody не имеет никакой массы, несмотря на то, что некоторые соединения имеют пространственное расширение (см. Моделирующие Невесомые Коннекторы).

Соединение Simscape Multibody не обязательно подразумевает физическое соединение между двумя телами. Например, Simscape Multibody соединение с шестью степенями свободы позволяет последователю, например, самолет, неограниченное перемещение относительно основы, например, земля, и не требует, чтобы последователь когда-либо входил в контакт с основой.

Simscape Multibody соединяется, только добавляют степени свободы в машину, потому что блоки Тела не несут степеней свободы. Контрастируйте это с физическими соединениями, которые оба добавляют DoFs (с осями движения) и удаляют DoFs (путем соединения тел). Для получения дополнительной информации смотрите Степени свободы Модели подсчета.

Библиотека Simscape Multibody Joints обеспечивает широкий выбор блоков для моделирования различных типов соединений. Этот раздел объясняет, как использовать эти блоки.

Примечание

Соединение Simscape Multibody представляет относительные степени свободы одного тела относительно другого тела. Только если соединение соединяется на одной стороне с землей, и на другом к телу делает соединение, представляют абсолютную степень свободы тела относительно Мира.

Моделирование соединений

Моделирование с Объединенными блоками требует понимания следующих ключевых концепций:

  • Объединенные примитивы

  • Объединенные типы

  • Объединенные оси

  • Объединенная направленность

  • Ограничения блока

Объединенные примитивы

Каждый блок Joint связывает вместе один или несколько объединенных примитивов, которые вместе задают степени свободы, которые тело последователя имеет относительно основного тела. Следующая таблица обобщает объединенные примитивы, найденные отдельно, или умножьтесь в Объединенных блоках.

Тип примитиваСимволСтепени свободы
ПризматическийPОдна степень переводной свободы вдоль призматической оси
Закрученный назадRОдна степень вращательной свободы о закрученной назад оси
СферическийSТри градуса вращательной свободы о точке опоры
СваркаWНулевые степени свободы

Объединенные типы

Блоки в библиотеке Simscape Multibody Joints попадают в следующие категории:

  • Примитивные соединения

    Каждый из этих блоков содержит один объединенный примитив. Например, блок Revolute содержит примитивное шарнирное соединение.

  • Составные соединения

    Эти блоки содержат комбинации объединенных примитивов, позволяя вам задать несколько вращательных и переводных степеней свободы одного тела относительно другого. Некоторая модель идеализировала действительные соединения, например, Карданов подвес и Переносящие соединения.

    Другие задают абстрактные комбинации степеней свободы. Например, блок Six-DoF задает неограниченное движение последователя относительно основы.

    Пользовательское Соединение позволяет вам создавать соединения с любой желаемой комбинацией вращательных и переводных степеней свободы в любом порядке. Сборные составные Соединения библиотеки Joints имеют тип и порядок их зафиксированных примитивов. Смотрите Порядок Оси.

  • Невесомые коннекторы

    Эти блоки представляют расширенные соединения с пространственно разделенными объединенными примитивными осями, например, Закрученным назад закрученным назад Невесомым Коннектором.

  • Демонтированные соединения

    Эти блоки представляют соединения, не собранные, пока симуляция не запускается — например, Демонтированное Призматическое.

    Смотрите ограничения блока и моделирование демонтированных соединений.

Объединенные оси

Объединенные блоки задают одну или несколько осей перевода или вращения, вдоль которого или вокруг который блок последователя может переместиться относительно основного блока. Оси блока Joint являются осями, заданными его примитивами компонентов:

  • Призматический примитив задает ось перевода.

  • Закрученный назад примитив задает ось оборота.

  • Сферический примитив задает точку опоры для вращения угла оси.

Например, блок Planar Joint комбинирует две призматических оси и следовательно задает две оси перевода.

Направление оси.  По умолчанию оси призматических и закрученных назад примитивов указывают в том же направлении как z - ось системы Мировой координаты (CS). Диалоговое окно блока Joint позволяет вам указывать свои призматические и закрученные назад оси в любом другом направлении (см. Направление Объединенных Осей).

Порядок оси.  Составные Соединения Simscape Multibody выполняют свое движение один объединенный примитив за один раз. Соединение, которое задает больше чем одну ось движения также, задает порядок, в котором тело последователя проходит каждая ось или о центре. Порядок, в котором оси и/или центр появляются в диалоговом окне блока Joint, является порядком, в который перемещается тело последователя.

Различные примитивные порядки выполнения физически эквивалентны, если соединение не включает одно сферическое или три закрученных назад примитива. Чистые переводы и чистые двумерные вращения независимы от примитивного упорядоченного расположения.

Промежуток оси.  Промежуток примитивных осей является полным пробелом, заполненным их комбинацией. Например, одна примитивная ось задает строку, и две примитивных оси задают плоскость.

Объединенная направленность

Направленность является свойством соединения, которое определяет зависимость соединения на знаке сил или закручивает, применился к нему. Направленность соединения также определяет знак сигналов, выведенных датчиками, присоединенными к соединению. Каждое соединение Simscape Multibody в вашей модели имеет направленность. Необходимо смочь определить направленность соединения в порядке привести в действие его правильно и интерпретировать вывод датчиков, присоединенных к нему.

Последователь соединения перемещается относительно основы соединения. Направленность соединения учитывает объединенный тип и направление оси соединения, можно следующим образом.

Направленность Призматического Соединения.  Если соединение является призматическим, положительная сила применилась к совместным действиям последователь в положительном направлении вдоль оси перевода. Датчик присоединил к объединенным выходным параметрам положительный сигнал, если последователь перемещается в положительное направление вдоль оси соединения перевода относительно основы.

Направленность Шарнирного соединения.  Если соединение закручено назад, положительный крутящий момент применился к соединению, вращает последователя положительным углом вокруг оси соединения вращения, как определено правилом правой руки. Датчик, присоединенный к шарнирному соединению, выводит положительный сигнал, если последователь вращается положительным углом вокруг оси соединения оборота, как определено правилом правой руки.

Направленность Сферического Соединения.  Сферическая объединенная направленность означает положительное направление вращения трех вращательных DoFs. Выберите ось вращения, вращая использование правила правой руки от основных осей CS Тела. Затем вращайте Тело последователя о той оси в предназначенном для правой руки смысле.

Направленность и Упорядоченное расположение Составных Объединенных Примитивов.  Каждый объединенный примитив отдельно имеет свою собственную направленность, на основе типа примитива и направления его оси перевода или вращения. В каждом случае, теле последователя составных совместных действий вперед или вокруг оси объединенного примитива относительно основного тела.

Порядок примитивов в диалоговом окне составного Соединения определяет пространственную конструкцию соединения.

Первый перечисленный примитив присоединен к основе, второму к первому, и так далее, вниз последователю, который привязан к последнему примитиву.

  • Перемещение первых перечисленных примитивных перемещений последующие примитивы в списке, включая последователя, относительно основы.

  • Перемещение любых примитивных перемещений примитивы ниже его в списке (но не те выше его), а также последователь.

  • Перемещение последних перечисленных примитивных перемещений только последователь.

Изменение Направленности Соединения.  Можно изменить направленность соединения также

  • Инвертирование и повторное подключение блока Joint, чтобы инвертировать роли основы и тел последователя.

  • Инвертирование знака (направление) объединенной оси.

Ограничения блока

Много соединений вводят одно или несколько ограничений, названных ограничениями блока, на размещении тел, которые они соединяют. Соединенные тела должны удовлетворить эти ограничения в начале симуляции и после этого в допусках блока, которые можно задать (см. блок Машины Управления). Например, CSS Тела, присоединенный к закрученным назад и сферическим соединениям, должен совпасть в допусках блока; CSS Тела, присоединенный к Призматическому соединению, должен лечь на призматическую ось в допусках блока; CSS Тела, присоединенный к Плоскому соединению, должен быть компланарным с Плоскими примитивами и т.д. Составные соединения, например, соединение с шестью степенями свободы, вводят ограничения блока, равные самому строгому из его объединенных примитивов. Смотрите ссылку блока для каждого Соединения для получения информации об ограничениях блока, если таковые имеются, который это налагает.

Расположение тел так, чтобы они удовлетворили ограничения блока соединения, называется, собирая соединение.

Все Соединения Simscape Multibody кроме блоков в подбиблиотеке Disassembled Joints требуют ручной сборки. Ручной блок влечет за собой вашу установку исходных положений соединенных тел к допустимым местоположениям (см. Собирающиеся Соединения). Симуляция собирает демонтированные соединения во время образцовой фазы инициализации. Это принимает, что вы уже собрали все другие соединения перед запуском симуляции. Следовательно соединения, которые требуют ручной сборки, называются собранными соединениями. Во время образцовой инициализации и на каждом временном шаге, симуляция также проверяет, чтобы гарантировать, что тела вашей модели удовлетворяют все ограничения блока. Если какому-либо из ваших образцовых тел не удается удовлетворить ограничения блока, симуляция останавливает и отображает сообщение об ошибке.

Создание соединения

Соединение должно соединить точно два тела. Создать соединение между двумя телами:

  1. Выберите Joint из библиотеки Simscape Multibody Joints, которая лучше всего представляет степени свободы тела последователя относительно основного тела.

  2. Соединитесь основной порт коннектора блока Joint (маркировал B) к источнику CS Тела на основном блоке, который служит ориентиром для определения степеней свободы блока последователя.

  3. Соединитесь порт коннектора последователя блока Joint (маркировал F) к источнику CS Тела на блоке последователя, который служит ориентиром для определения степеней свободы основного блока.

  4. Задайте направления осей соединения (см. Направление Объединенных Осей).

  5. Если вы планируете присоединить Датчики или Приводы к Соединению, создать дополнительный порт для каждого Датчика и Привода (см. Порты Привода и Датчика Создания на Соединении).

  6. Если соединение является собранным соединением, соберите тела, к которым соединяет соединение (см. Собирающиеся Соединения).

Направление объединенных осей

По умолчанию призматические и закрученные назад оси объединенной точки в том же направлении как z - ось системы Мировой координаты. Изменить направление оси объединенного примитива:

  1. Откройте диалоговое окно соединения и выберите систему координат привязки для определения направления оси из списка систем координат, сопоставленного с примитивной осью.

    Опции являются системой Мировой координаты или системами локальной координаты точки крепления последователя или основы. Выберите систему координат, которая является самой удобной.

  2. Введите в поле направления оси примитива вектор, который указывает в желаемом направлении оси в выбранной системе координат.

Создание портов привода и датчика на соединении

Чтобы создать дополнительные порты коннектора на Соединении для Приводов и Датчиков, откройте диалоговое окно Соединения и установите Number of sensor/actuator ports на количество Приводов и Датчиков, которые вы планируете присоединить к Соединению.

Примените установку путем нажатия на OK или Apply.

Сборка соединений

Необходимо вручную собрать все собранные соединения в модели. Сборка соединения требует установки исходных положений ее присоединенной основы и CSS Тела последователя, таким образом, что они удовлетворяют ограничения блока, введенные соединением (см. Ограничения блока). Рассмотрите, например, Модель и Моделируйте Машину С обратной связью.

Эта модель включает три панели, соединенные шарнирными соединениями друг с другом и с двумя наземными точками. Модель располагает источники CS портов Body CS, соединенных с каждым Соединением, таким образом, удовлетворяя ограничения блока, введенные шарнирными соединениями.

Собранное шарнирное соединение в четырех механизмах панели

Моделирование невесомых коннекторов

Невесомые коннекторы упрощают моделирование машин, которые используют относительно легкое тело, чтобы соединить два относительно крупных тела. Например, вы могли использовать блок Body, чтобы смоделировать такой коннектор. Но получившиеся уравнения движения могут быть плохо обусловлены, потому что та масса органа по соединению мала, и симуляция может быть медленной или подверженной отказу. Невесомый коннектор также избегает глобальных несоответствий, которые могут возникнуть, если вы используете блок Constraint, чтобы смоделировать коннектор.

Невесомый коннектор состоит из пары соединений, определил местоположение фиксированного расстояния независимо. Думайте о невесомом коннекторе как о невесомом стержне с объединенным примитивом, присоединенным в каждом конце.

Начальная ориентация и длина невесомого коннектора заданы вектором, чертившим от основной точки крепления до точки крепления последователя. Во время симуляции ориентация невесомого коннектора может измениться, но не его длина. Другими словами, невесомый коннектор сохраняет начальное разделение основы и тел последователя во время движения машины.

Примечание

Вы не можете привести в действие или обнаружить невесомый коннектор.

Подбиблиотека Simscape Multibody Joints / Massless Connectors содержит эти Невесомые Коннекторы:

  • Два закрученных назад (Закрученные назад закрученные назад) примитива

  • Закрученный назад примитив и сферический (Закрученный назад сферический) примитив

  • Два сферических (Сферически-сферические) примитива

Создание невесомого коннектора

Создать невесомый коннектор между двумя телами:

  1. Перетащите экземпляр блока Massless Connector от подбиблиотеки Massless Connectors в вашу модель и соедините его с блоками последователя и основой.

    Можно установить направление осей закрученных назад примитивов. При необходимости укажите оси шарнирных соединений коннектора в направлении, требуемом динамикой машины, которую вы моделируете.

  2. Соберите коннектор путем установки исходных положений основы и точек крепления тела последователя к исходным положениям, требуемым структурой машины.

Во время симуляции невесомый коннектор поддерживает начальное разделение между телами хотя не обязательно начальная относительная ориентация.

Невесомый пример коннектора: тройной маятник

Рассмотрите тройной маятник, включающий крупные верхние и нижние части тела и среднее тело незначительной массы. Следующая модель использует Закрученный назад закрученный назад невесомый коннектор, чтобы смоделировать такой маятник.

В этой модели объединенные оси Закрученного назад закрученного назад коннектора имеют свою ориентацию по умолчанию вдоль Мира z - ось. В результате предплечье (Body1) вращается параллельный плоскости x-y В мире.

Невесомый пример коннектора: четыре механизма панели

Следующая модель заменяет одну из панелей (Bar2) в модели mech_four_bar с Закрученным назад закрученным назад невесомым коннектором.

Эта модель изменяет источники CS Тела Bar3 к следующим значениям.

ИмяРадиус-вектор источникаПереведенный из источника
CG[-0.027 -0.048 0]CS1
CS1[0.054 0.096 0]CS2
CS2[0 0 0]ADJOINING (Ground_2)

Это создает разделение между Bar3 и Bar1, равным длине Bar2 в исходной модели.

Моделируйте и оригинал и измененную модель. Заметьте, что невесомая версия коннектора перемещается по-другому, потому что вы устранили массу Bar2 из модели. Заметьте также, что невесомая панель не появляется в визуализации измененной модели, но это вызывается в этой фигуре для ясности.

Моделирование демонтированных соединений

Подбиблиотека Simscape Multibody Joints/Disassembled Joints содержит набор соединений, автоматически собранных в начале симуляции; то есть, симуляция располагает соединения, таким образом, что они удовлетворяют ограничения блока, введенные типом соединения, например, призматические или закрученные назад. Используя эти соединения избавляет от необходимости вас собирать соединения самих.

Демонтированные соединения отличаются от собранных соединений значительными способами. Собранный объединенный примитив имеет только одну ось перевода или оборота или одной сферической точки опоры. Демонтированный призматический или закрученный назад примитив имеет две оси перевода или вращения, один для основы и один для тела последователя. Демонтированный сферический примитив так же имеет две точки опоры.

Внимание

Демонтированные соединения могут появиться только в замкнутых циклах. Каждый замкнутый цикл может содержать самое большее одно демонтированное соединение.

Диалоговое окно для демонтированного соединения позволяет вам задавать направление каждой оси. Во время образцового блока симуляция определяет общую ось оборота или перевода, который удовлетворяет образцовые ограничения блока и выравнивает основу и оси последователя вдоль общей оси.

Управление автоматическим блоком и собранной настройкой

Если ваша машина содержит блоки Объединенного начального привода условия (JICA), машина перемещена от ее дома до ее начальной настройки путем применения начальной информации об условии к соединениям машины сначала. Затем любые демонтированные соединения собраны, ведя к собранной настройке.

Во время образцового блока симуляция может двигать телами, соединенными собранными соединениями от их исходных положений в порядке собрать демонтированные соединения. Решение для Simscape Multibody проблемы блока не может быть предсказано заранее, кроме простых случаев. Если вы не хотите, чтобы тела переместились во время образцового блока, используйте блоки JICA, чтобы задать исходные положения тел, положения которых вы хотите остаться зафиксированными во время процесса блока. Получившийся блок удовлетворит начальные условия, заданные блоками JICA.

Демонтированный объединенный пример: четыре механизма панели

Этот пример создает и запускает модель демонтированных четырех машин панели.

Обратитесь к примеру, Модели и Моделируйте Машину С обратной связью и пример mech_four_bar:

  1. Отключите блок Joint Sensor1 от блока Revolute3.

  2. Замените Revolute3 на блок Disassembled Revolute от подбиблиотеки Joints/Disassembled Joints.

  3. Откройте диалоговое окно Disassembled Revolute и, под Axis of Action и для Base и для осей Follower, введите [0 0 1]. Закройте диалоговое окно.

  4. Откройте диалоговое окно Bar2 и нарушьте соединение путем перемещения источника Bar2 CS2 от Панели 3 источник CS1.

    Сделайте это путем ввода ненулевого вектора под Origin Position Vector [x y z] для CS2, затем изменения Translated from Origin of раскрывает запись в ADJOINING. CS1 на Bar3 является Смежным CS CS2 Bar2. Закройте диалоговое окно.

  5. Чтобы избежать круговой ссылки CS, необходимо проверять диалоговую запись Bar3 на CS1 на Bar3. Убедитесь, что CS1 на Bar3 не ссылается на CS2 на Bar2. Сошлитесь на него вместо этого к CS2 на Bar3, который примыкает к Ground_2.

  6. Повторно выполните модель.

    Обратите внимание на то, что движение отличается от вручную собранного случая.