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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Эти блоки представляют расширенные соединения с пространственно разделенными объединенными примитивными осями, например, Вращательно-вращательным Невесомым Коннектором.

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

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

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

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

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

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

  • Вращательный примитив задает ось оборота.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Соединитесь порт коннектора последователя Блока соединений (пометил 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. Повторно выполните модель.

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