Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.
Библиотека Simscape Multibody Constraints & Drivers обеспечивает набор блоков к образцовым ограничениям на относительные движения двух тел. Вы моделируете ограничение путем соединения соответствующего Ограничения или Блока драйверов между этими двумя телами. Как с соединениями, блоки у каждого есть основа и порт коннектора последователя с телом, соединенным с портом последователя, просматриваемым как перемещающийся относительно тела, соединенного с основным портом. Например, следующая модель ограничивает Body2 проходить дорожка, которая параллельна дорожке Body1.
Ограничение и Блоки драйверов позволяют вам смоделировать независимые от времени ограничения или зависящие от времени драйверы.
Ограничение и неприводимая в действие модель Блоков драйверов scleronomic (независимые от времени) ограничения.
Приводимые в действие Блоки драйверов (см. Приведение в действие Драйвера), модель rheonomic (зависящие от времени) ограничения.
Ограничения Scleronomic испытывают недостаток в явной временной зависимости; то есть, их временная зависимость появляется только неявно через координаты x. Ограничения Rheonomic имеют явную временную зависимость также, в дополнение к неявной временной зависимости через x.
Голономные ограничительные функции зависят только от положений тела, не скоростей:
Ограничения формы
может иногда интегрироваться в зависимого формы только на положениях; но в противном случае они являются неголономными. Например,
Одномерная прокрутка колеса радиуса R вдоль строки (x - ось) налагает голономное ограничение, x = R θ.
Двумерная прокрутка сферы радиуса R на плоскости (xy - плоскость) налагает неголономное ограничение, ds = R · dθ, с ds2 = dx2 + dy2. Это ограничение является неголономным, потому что существует недостаточно информации, чтобы решить ограничение независимо от динамики.
Ограниченные и управляемые тела все еще свободны ответить внешне наложенным силам/крутящим моментам, но только в некотором роде сопоставимый с ограничениями.
Ограничения и драйверы могут только удалить степени свободы из машины. Ограничения и неприводимые в действие Драйверы препятствуют тому, чтобы машина переместилась определенными способами. Неприводимые в действие Драйверы содержат ограниченные степени свободы между связанной парой тел в их начальном состоянии. Приводимые в действие Драйверы внешне налагают относительное движение между парами тел, начиная с начального состояния тел. Смотрите Степени свободы Модели подсчета.
В этом разделе рассматриваются ограничения моделирования и драйверы общим способом.
Раздел заканчивается двумя примерами, Ограничительным Примером: Ограничение Механизма и Пример Драйвера: Угловой Драйвер.
Смотрите страницы с описанием для получения информации об определенном ограничении, которое налагают Ограничение или Блок драйверов.
Как соединения, ограничения и драйверы имеют направленность. Последовательность основы к телу последователя определяет направленность ограничения или драйвера. Направленность определяет, как знак сигналов Привода Драйвера влияет на движение последователя относительно основы и знака сигналов, выведенных датчиками драйвера и ограничением.
Симуляция Simscape Multibody использует ограничительный решатель, чтобы найти движение, учитывая Ограничение и Блоки драйверов модели. Можно задать и ограничительный тип решателя и допуски ограничения, используемые, чтобы найти ограничительное решение. Смотрите Ограничения Поддержания для получения дополнительной информации.
Некоторые ограничения, ли независимый от времени (Ограничения) или зависящий от времени (Драйверы), могут стать сингулярными, когда ограниченные тела берут определенные относительные настройки; например, если две оси тела выстраиваются в линию, когда Тела соединяются Угловым Драйвером. Симуляция замедляется, когда ограничение становится сингулярным.
Если вы медленно находите ограниченное образцовое выполнение, рассматриваете выбор опции Use robust singularity handling во вкладке Constraints диалогового окна блока Machine Environment вашей машины. Смотрите Особенности Движения Обработки.
Следующие ограничения применяются к использованию Ограничения и Блоков драйверов в модели:
Ограничение и Блоки драйверов могут появиться только в замкнутых циклах. Замкнутый цикл не может содержать больше чем одно Ограничение или Блок драйверов.
Ограничение или Драйвер должны соединить точно два Тела.
Модель mech_gears
иллюстрирует Ограничение Механизма. Откройте Ограничительные блоки Тела и Механизма.
Body1 и Body2 имеют их положения CG на расстоянии в 2 метра. CS1 и CS2 на Body1 расположены с Body1 CG, и точно так же CS1 и CS2 на Body2 расположены с Body2 CG.
Ограничение Механизма между ними имеет два круга подачи. Каждый сосредоточен на CS2 в основном Теле, которое является Body1 и имеет радиус 1,5 метра. Другой сосредоточен на CS1 в Теле последователя, которое является Body2 и имеет радиус 0,5 метра. Расстояние между CS2 на Body1 и CS1 на Body2 составляет 2 метра. Сумма радиусов круга подачи равняется этому расстоянию, как это должно.
Когда вы запускаете симуляцию, 3-D окно визуализации открывается автоматически, отображая вашу модель мультитела как систему выпуклых оболочек. Запустите симуляцию и см., что триады оси CS CG кружатся. Триада CG в Body2 вращается в три раза быстрее, чем триада CG в Body1, потому что круг подачи, сосредоточенный на Body2, в три раза меньше.
Вы видите то же поведение в Осциллографе. Верхний график показывает движению Revolute2 и более низкому графику движение Revolute1. Обратите внимание на то, что угловое движение сопоставлено с интервалом (-180o, +180o) степени.
Ограничение Механизма в замкнутом цикле, сформированном
Орган по ограничению механизма Ground_1 Revolute1 Body1 Revolute2 Ground_2
Несмотря на то, что Ground_1 и Ground_2 являются отличными блоками, они представляют различные точки на той же неподвижной земле в покое в Мире. Таким образом, блоки формируют цикл.
Следующие две модели иллюстрируют Угловой Драйвер, и без и с Приводом Драйвера.
Первым является mech_angle_unact
. Откройте блок Body2.
Тела формируют двойной маятник двух стержней. Датчик Тела соединяется с Body2 в CS3 = CS2 и измеряет все три компонента углового вектора скорости Body2 относительно земли.
Угловой Драйвер соединяется между Body2 и Ground_2. Поскольку Угловой Драйвер не приводится в действие в этой модели, он действует во время симуляции как независимое от времени ограничение, чтобы содержать угол между Body2 и константой Ground_2 в ее начальном значении.
Когда вы запускаете симуляцию, 3-D окно визуализации открывается, отображая вашу модель как систему выпуклых оболочек.
Запустите симуляцию. Колебание верхней части тела как маятник, но нижняя часть тела поддерживает ее горизонтальную ориентацию относительно горизонтальной земли. Осциллограф измеряет угловую скорость Body2 относительно земли, и это остается в нуле.
Второй моделью является mech_angle_act
. Откройте блок Driver Actuator.
Привод Драйвера управляет Угловым Блоком драйверов. Здесь, Привод принимает сигнал постоянной угловой скорости от блоков Simulink®. Привод также требует самого угла и углового ускорения, вместе с угловой скоростью, в векторном формате сигнала. Угловой угловой сигнал Драйвера добавляется к начальному значению угла.
Датчик Тела снова измеряет три компонента угловой скорости Body2 относительно земли. Constant1 управляет углом в 15o/second. В то время как симуляция запускается, этот угол изменения на постоянном уровне. В то же время блок и постоянная длина двух стержней маятника должны сохраняться Simulink, в то время как оба стержня подвергаются силе тяжести. Когда эти две оси выстраиваются в линию, взаимное ограничение между телами осуществило Драйвер, становится сингулярным. Симуляция замедляется.
Как в модели Gear Constraint, два Наземных блока в этих моделях представляют точки на той же неподвижной земле в покое в Мире, таким образом, Угловой Драйвер является частью замкнутого цикла.