10 Пример - Ограничитель положения поступательного движения

Об ограничителях движения

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

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

С математической точки зрения, такая модель является неудобной для численного интегрирования т.к. внезапно возникает существенное слагаемое в правой части уравнения.

Аналогичная модель реализована в ограничителе вращательного движения (блок "Ограничитель положения вращательного движения").

О системе координат

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

Например, рассмотрим что в примере с ведром, мы хотели бы ограничить его свободное падение глубиной колодца равной 10 м. Также, из колодца ведро не может "выскочить" (выше чем отметка 0 м). Но, скорее всего, у самого ведра тоже есть высота, которая не задается ни в одном из блоков (т.к. на результат динамического моделирования эта высота до сих пор не оказывала никакого влияния). Например, примем что координата ведра - это высотная отметка расположения его дна, а высота ведра равна 2 м (абстрактная величина, для примера). Тогда, если мы хотим ограничить движение ведра, нам нужно принять координату одного упора равную 10 м, а другого упора - равную 2 м, а не 0 м. Тогда дно ведра будет перемещаться в "разрешенном" диапазоне от 2 м до 10 м, а верх ведра - от 0 м до 8 м.

Примерная механическая схема движения приведена на рисунке:

Рисунок 1. Схема прямолинейного движения тела с ограничениями

Обратите внимание еще раз, что блок ограничения движения не накладывает жесткого ограничения на саму координату - в зависимости от настрое жесткости стенок (ограничивающих движение) тело может продавливать внутрь на некоторую величину стенку.

Реализация модели динамики

Дополните схему из предыдущего примера (с двумя приводами) еще одним блоком для ограничения движения ведра, как показано на риснуке:

Рисунок 2. Модель движения ведра с ограничением

Задайте свойства у этого блока следующими значениями:

Рисунок 3. Свойства ограничителя

Мы задали не очень жесткими упоры, и достаточно неупругими - для того чтобы ведро, разогнавшись при свободном падении, не сильно отскакивало вверх. Если задать небольшими коэффициенты демпфирования упоров, то ведро (модель ведра) может довольно долго "подскакивать", отталкиваясь от упора, что выглядт не очень физически правдоподобным.

Как правило, этот блок настраивается под конкретные особенности данной расчетной схемы, либо характеристика упоров задается по справочным данным материала упора.

Обратите внимание на начальное положение - его мы задаем уже не нулевым а равным 2м, чтобы в начале моделирования тело располагалось внутри разрешенной зоны и не было бы начального удара.

Моделирование и анализ результатов

Результат моделирования будет следующим - ведро свободно падает раскручивая ворот, затем ударяется о нижний упор и после пары подскакиваний, останавливается на нём (немного уйдя за 10 м). Если потом двигателем его начать поднимать, то будет примерно аналогичный процесс с верхним упором:

Рисунок 4. Пробное моделирование

По графику видно, что в моменты, когда координата достигает +10 м или +2 м, ведро резко меняет направление своего движения - результат внезапного действия "ударной" силы реакции упоров. Меняя настройки коэффициентов жесткости и демпфирования, можно добиться разной динамической реакции упоров на тело.

Если вам требуется смоделировать только 1 упор, то координату другого можно задать порядка 1000000 метров, или больше, тогда тело никогда не доберется до этого упора.