Контактные прокси являются простыми формами, которые используются для представления контактных частей фактических тел. Например, в примере Train Humanoid Walker красные сферы используются, чтобы представлять днища роботизированных ног.
При помощи контактных прокси можно увеличить скорость и робастность симуляции контактов. Для примера использование прокси-серверов контактов может ускорить модели, которые включают сложные геометрии и предотвратить прерывистые скачки местоположений силы контакта в статических контактных симуляциях.
Во многих случаях могут использоваться контактные прокси. Однако добавление контактных прокси требует больших усилий по моделированию, и трудно использовать прокси в нескольких случаях. Если взаимодействие контактов включает все функции фактических тел, то прокси могут оказаться не в состоянии полностью представлять каждый элемент тел. Если ваша модель проста, и вам нужно запустить ее только один раз, вы можете использовать фактические тела для моделирования контакта.
Чтобы выбрать подходящие прокси для проблемы контакта, необходимо указать, какие части фактических тел будут взаимодействовать, а затем выбрать самые простые прокси для этих частей. Обратите внимание, что прокси должно быть достаточно, чтобы охватить все контактные области.
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 блок, чтобы связать геометрические линии сложной модели.
Обычно фактическое тело и его прокси занимают некоторые общие области в трехмерном пространстве. Необходимо отобразить только фактическое тело и скрыть прокси в окончательной версии симуляции. Однако во время шага моделирования или отладки полезно просмотреть прокси, чтобы проверить, все ли контакты смоделированы как ожидалось. Рассмотрите определение двух переменных, чтобы настроить прозрачность фактического тела и прокси. Используйте массу фактического тела для симуляции и установите нуль массу или плотность контактных прокси, чтобы избежать каких-либо эффектов по динамике.
Моделирование контакта между телами со сложными формами является в вычислительном отношении дорогим и длительным. Чтобы ускорить модель, можно разложить сложные формы на более простые детали и использовать прокси, чтобы представлять детали, вовлеченные в контакт, затем смоделировать контакты между этими прокси.
В примере с Ratchet Lifter, путешественник поднимается вдоль зубчатой стойки, когда указатель путешественника накачивается вверх и вниз. В контакте задействованы только горизонтальная и наклонная поверхности зубьев стойки и цилиндров альпиниста. Кроме того, путешественник проявляет только планарное движение. Другими словами, в контактных взаимодействиях участвуют только центральные части альпинистских цилиндров. Поэтому пример использует прокси, чтобы представлять только эти части и моделировать контакты среди прокси.
Этот пример использует цилиндры, чтобы представлять горизонтальные и наклонные поверхности зубьев и сфер стойки, чтобы представлять центральные части цилиндров альпиниста. Преимущество использования сферы вместо всего альпинистского цилиндра в том, что сферы проще цилиндров и обеспечивают более эффективное контактное моделирование.
Зубчатая рейка симметрична и имеет по 15 зубьев с каждой стороны. Следовательно, этот пример использует 60 цилиндров, чтобы представлять зубы. Модель включает подсистему «Зубчатая стойка», которая включает фактическое тело стойки, все прокси зубьев и соответствующие блоки Rigid Transform. Следующий рисунок показывает подсистему зубчатых стоек.
Поскольку зубчатая стойка симметрична, только прокси на одной стороне стойки были созданы вручную и сгруппированы в подсистемы Левые Наклонные Цилиндры и Левые Цилиндры. Затем эти подсистемы были скопированы, вставлены, а затем повернуты на 180 степени вокруг y
-ось для представления правых зубьев.
На следующем изображении показана подсистема Левые Цилиндры. Модель использует 15 одинаковых цилиндров, чтобы представлять горизонтальные поверхности левосторонних зубьев. Чтобы минимизировать количество блоков, которые были созданы вручную, была создана одна параметризованная подсистема-ссылка, чтобы смоделировать один из цилиндров. Затем параметризованная ссылочная подсистема копировалась 14 раз. Параметризованные подсистемы-ссылки используют индексы цилиндров, чтобы задать местоположение цилиндров. Наконец, геометрические линии цилиндров связываются с помощью блока Simscape Bus. Этот же метод используется для моделирования подсистемы наклонных поверхностей зубов.
Блок Simscape Bus помогает избежать сложной паутины линий по всей модели. На следующем изображении показано, что две линии Simscape Bus соединяют 60 прокси зубьев стойки с прокси альпинистов через подсистемы Contacts Left и Contacts Right.
Подсистемы Contacts Left и Contacts Right включают все блоки Spatial Contact Force для этой симуляции. На следующем изображении показана схема контакта между горизонтальной поверхностью левых зубьев и цилиндром левого альпиниста.
Simscape Multibody использует основанный на точках метод штрафа для моделирования контакта между телами. Этот метод означает, что блок Spatial Contact Force применяет необходимые силы контакта к своим связанным телам в точках с максимальным проникновением между двумя телами. Каждый Spatial Contact Force блок применяет только одну силу контакта для каждого тела на каждом временном шаге.
Этот точечный метод имеет проблемы при моделировании статического контакта между плоскими поверхностями тел. Например, рассмотрите моделирование контакта между двумя кирпичами. Для простоты на следующем изображении показана 2-D версия задачи. Предположим, что Brick A падает на Brick B, который имеет фиксированное положение. На левом изображении показано строение кирпичей при первом обнаружении контакта. На этой точке Spatial Contact Force блок применяет силу контакта к нижнему левому углу Brick A, потому что он имеет максимальное проникновение. Со временем сила замедляет движение Brick A вниз и вращает его в направлении по часовой стрелке. Затем строение выглядит как правое изображение, и сила прикладывается к нижнему правому углу Brick A. Когда Brick A устанавливается в статический контакт с Brick B, расположение силы контакта быстро и прерывисто скачет среди углов Brick A. Такое поведение является сложным для решателя и может значительно снизить скорость симуляции.
Использование контактных прокси является одним из эффективных способов избежать вышеуказанных проблем моделирования. Восемь малых сфер могут быть жестко прикреплены к углам Брика А. С этими прокси контакт моделируется как восемь кирпично-сферических пар вместо одной кирпично-кирпичной пары. Когда контакт стабилизируется, нормальная сила в каждом нижнем углу будет составлять одну четвертую от веса Brick A.
Brick Solid | Cylindrical Solid | Ellipsoidal Solid | Extruded Solid | File Solid | Infinite Plane | Point | Simscape Bus | Spatial Contact Force | Spherical Solid