Свяжитесь прокси являются простыми формами, которые используются, чтобы представлять части контакта фактических тел. Например, в Обучать примере Гуманоида Уокера, красные сферы используются, чтобы представлять нижние части автоматизированных ног.
При помощи прокси контакта можно увеличить скорость и робастность симуляции контакта. Например, использование прокси контакта может ускорить модели, которые включают сложные геометрии и предотвращают прерывистый переход местоположений силы контакта в статических симуляциях контакта.
Свяжитесь прокси могут использоваться во многих случаях. Однако добавление прокси контакта требует большего усилия по моделированию, и трудно усилить прокси в нескольких случаях. Если взаимодействие контакта включает все функции фактических тел, то прокси не могут смочь полностью представлять каждый элемент тел. Если ваша модель проста, и только необходимо запустить ее однажды, можно использовать фактические тела для контакта модели.
Чтобы выбрать соответствующих прокси для проблемы контакта, необходимо указать на то, какие части фактических тел будут взаимодействовать и затем выбирать самых простых прокси для этих частей. Обратите внимание на то, что прокси должно быть достаточно, чтобы покрыть все области контакта.
Simscape™ Multibody™ поддерживает множество конфигураций и тел для моделирования контакта. На основе сложности эти конфигурации и тела могут быть категоризированы в три группы.
Конфигурации заданы Point, Infinite Plane и блоками Spherical Solid. Эти конфигурации являются лучшими кандидатами, чтобы действовать как прокси из-за их простых форм и высоко моделирования КПД.
Тела заданы Brick Solid, Cylindrical Solid и блоками Ellipsoidal Solid. Они являются более в вычислительном отношении дорогими, чем конфигурации первой группы. Если вы не можете использовать конфигурации в первой группе, попытайтесь использовать тела в этой группе как прокси.
Конфигурации создаются экструзиями, оборотами и импортом CAD. Как правило, эти конфигурации не подходят, чтобы использоваться в качестве прокси из-за их комплексных форм, высоких вычислительных затрат и упрощенных представлений. Обратите внимание на то, что Simscape Multibody представляет некоторые из этих конфигураций с выпуклыми оболочками вместо фактических тел при моделировании контактов.
Модели Simscape Multibody связываются между телами при помощи блока Spatial Contact Force. Каждой паре потенциального контакта с частями нужен один блок Spatial Contact Force. Следовательно, сложная модель, которая включает много прокси, могла привести ко множеству блоков Spatial Contact Force и линий геометрии. Используйте следующие методы, чтобы сохранить вашу блок-схему организованной. Смотрите первый пример для того, как использовать эти методы.
Поместите каждое фактическое тело и его прокси в одной подсистеме. Подсистема должна также включать все соответствующие блоки Rigid Transform, должен был правильно поместить прокси относительно фактического тела.
Скопируйте и вставьте подсистемы или используйте подсистемы, на которые ссылаются, чтобы создать идентичные подсистемы.
Используйте блок Simscape Bus, чтобы связать линии геометрии сложной модели.
Обычно, фактическое тело и его прокси занимают некоторые общие области в трехмерном пространстве. Необходимо представить только фактическое тело и скрыть прокси в окончательной версии симуляции. Однако во время моделирования или отладки шага, полезно просмотреть прокси проверить, моделируются ли все контакты как ожидалось. Полагайте, что определение двух переменных настраивает прозрачность фактического тела и прокси. Используйте массу фактического тела для симуляции и установите массу или плотность прокси контакта обнулить, чтобы избежать любых эффектов на динамике.
Моделирование контакта между телами с комплексными формами является в вычислительном отношении дорогим и трудоемким. Чтобы ускорить модель, можно разложить комплексные формы на более простые части и использовать прокси представлять части, вовлеченные в контакт, затем смоделировать контакты между этими прокси.
В примере Подъемника Храповика путешественник взбирается наверх вдоль имеющей зубы стойки, когда указатель путешественника подается вверх и вниз. Только горизонтальные и наклонные поверхности зубов стойки и цилиндров альпиниста вовлечены в контакт. Кроме того, путешественник только показывает плоское движение. Другими словами, только центральные части цилиндров альпиниста вовлечены во взаимодействия контакта. Поэтому пример использует прокси представлять только эти части и контакты моделей среди прокси.
Этот пример использует цилиндры, чтобы представлять горизонтальные и наклонные поверхности зубов стойки и сфер, чтобы представлять центральные части цилиндров альпиниста. Преимущество использования сферы вместо целого цилиндра альпиниста состоит в том, что сферы более просты, чем цилиндры и обеспечивают более эффективное моделирование контакта.
Имеющая зубы стойка симметрична и имеет 15 зубов на каждой стороне. Следовательно, этот пример использует 60 цилиндров, чтобы представлять зубы. Модель включает подсистему под названием Имеющая зубы Стойка, которая включает фактическое тело стойки, всех прокси зубов и соответствующие блоки Rigid Transform. Следующий рисунок показывает Имеющую зубы подсистему Стойки.
Поскольку имеющая зубы стойка симметрична, только прокси на одной стороне стойки были созданы вручную и сгруппировались в Левые Наклонные Цилиндры и Левые Цилиндрические подсистемы Horiz. Затем эти подсистемы были скопированы, вставлены, и затем вращали 180 градусов вокруг y
- ось, чтобы представлять зубы правой стороны.
Следующее изображение показывает Левую Цилиндрическую подсистему Horiz. Модель использует 15 идентичных цилиндров, чтобы представлять горизонтальные поверхности зубов левой стороны. Чтобы минимизировать количество блоков, которые были вручную созданы, одна параметрированная подсистема, на которую ссылаются, была создана к модели один из цилиндров. Затем параметрированная подсистема, на которую ссылаются, была скопирована 14 раз. Параметрированные подсистемы, на которые ссылаются, используют индексы цилиндров, чтобы задать местоположения цилиндров. Наконец, линии геометрии цилиндров связываются с помощью блока Simscape Bus. Тот же метод используется, чтобы смоделировать подсистему наклонных поверхностей зубов.
Блок Simscape Bus помогает избежать комплексной сети линий в модели. Следующее изображение показывает, что две Линии шины Simscape соединяют 60 прокси зубов стойки с прокси альпинистов через Оставленные Контакты и подсистемы Права Контактов.
Оставленные Контакты и подсистемы Права Контактов включают все блоки Spatial Contact Force для этой симуляции. Следующее изображение показывает схему контакта между горизонтальной поверхностью зубов левой стороны и цилиндром покинутого альпиниста.
Simscape Multibody использует основанный на точке метод штрафа для моделирования контакта между телами. Этот метод означает, что блок Spatial Contact Force применяет необходимые силы контакта к своим связанным телам в точках с максимальным проникновением между этими двумя телами. Каждый блок Spatial Contact Force только применяет одну силу контакта для каждого тела на каждом временном шаге.
Этот основанный на точке метод имеет проблемы при моделировании статического контакта между плоскими поверхностями тел. Например, рассмотрите моделирование контакта между двумя кирпичами. В целях простоты следующее изображение показывает 2D версию проблемы. Предположим, что Кирпич A уронен на Кирпич B, который имеет фиксированную позицию. Левое изображение показывает настройку кирпичей, когда контакт сначала обнаруживается. На данном этапе блок Spatial Contact Force применяет силу контакта к нижнему левому углу Кирпича, потому что это имеет максимальное проникновение. В зависимости от времени сила замедляет нисходящее движение Кирпича A и вращает его в направлении по часовой стрелке. Затем настройка появляется как правильное изображение, и сила прикладывается к правому нижнему углу Кирпича A. Как Кирпич A приспосабливается к статическому контакту с Кирпичом B, местоположением силы контакта быстро и с перерывами переходит среди углов Кирпича A. Это поведение сложно для решателя и может значительно уменьшить скорость симуляции.
Используя контакт прокси один эффективный способ избежать вышеупомянутых проблем моделирования. Восемь маленьких сфер могут твердо быть присоединены к углам Кирпича A. С этими прокси контакт моделируется как восемь пар кирпичной сферы вместо одной кирпично-кирпичной пары. Когда контакт стабилизировался, нормальная сила в каждом нижнем угле будет одной четвертью веса Кирпича A.
Spatial Contact Force | Brick Solid | Cylindrical Solid | Spherical Solid | Point | Infinite Plane | Ellipsoidal Solid | Simscape Bus | Extruded Solid | File Solid